xkb.xml revision f591e195
1986c8b3dSmrg<?xml version="1.0" encoding="utf-8" ?> 2986c8b3dSmrg<!-- 3986c8b3dSmrgCopyright (C) 2009 Open Text Corporation. All Rights Reserved. 4986c8b3dSmrg 5986c8b3dSmrgPermission is hereby granted, free of charge, to any person obtaining a copy 6986c8b3dSmrgof this software and associated documentation files (the "Software"), to deal 7986c8b3dSmrgin the Software without restriction, including without limitation the rights 8986c8b3dSmrgto use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9986c8b3dSmrgcopies of the Software, and to permit persons to whom the Software is 10986c8b3dSmrgfurnished to do so, subject to the following conditions: 11986c8b3dSmrg 12986c8b3dSmrgThe above copyright notice and this permission notice shall be included in all 13986c8b3dSmrgcopies or substantial portions of the Software. 14986c8b3dSmrg 15986c8b3dSmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16986c8b3dSmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17986c8b3dSmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18986c8b3dSmrgAUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 19986c8b3dSmrgACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20986c8b3dSmrgWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21986c8b3dSmrg 22986c8b3dSmrgExcept as contained in this notice, the names of the authors or their 23986c8b3dSmrginstitutions shall not be used in advertising or otherwise to promote the 24986c8b3dSmrgsale, use or other dealings in this Software without prior written 25986c8b3dSmrgauthorization from the authors. 26986c8b3dSmrg--> 27986c8b3dSmrg<xcb header="xkb" extension-xname="XKEYBOARD" extension-name="xkb" 28986c8b3dSmrg major-version="1" minor-version="0"> 29986c8b3dSmrg 30986c8b3dSmrg <import>xproto</import> 31986c8b3dSmrg 32986c8b3dSmrg <!-- Common Types --> 33986c8b3dSmrg <enum name="Const"> 34986c8b3dSmrg <item name="MaxLegalKeyCode"> <value>255</value> </item> 35986c8b3dSmrg <item name="PerKeyBitArraySize"> 36986c8b3dSmrg <value>32</value> 37986c8b3dSmrg </item> 38986c8b3dSmrg <item name="KeyNameLength"> 39986c8b3dSmrg <value>4</value> 40986c8b3dSmrg </item> 41986c8b3dSmrg </enum> 42986c8b3dSmrg 43986c8b3dSmrg <enum name="EventType"> 44986c8b3dSmrg <item name="NewKeyboardNotify"> <bit>0</bit> </item> 45986c8b3dSmrg <item name="MapNotify"> <bit>1</bit> </item> 46986c8b3dSmrg <item name="StateNotify"> <bit>2</bit> </item> 47986c8b3dSmrg <item name="ControlsNotify"> <bit>3</bit> </item> 48986c8b3dSmrg <item name="IndicatorStateNotify"> <bit>4</bit> </item> 49986c8b3dSmrg <item name="IndicatorMapNotify"> <bit>5</bit> </item> 50986c8b3dSmrg <item name="NamesNotify"> <bit>6</bit> </item> 51986c8b3dSmrg <item name="CompatMapNotify"> <bit>7</bit> </item> 52986c8b3dSmrg <item name="BellNotify"> <bit>8</bit> </item> 53986c8b3dSmrg <item name="ActionMessage"> <bit>9</bit> </item> 54986c8b3dSmrg <item name="AccessXNotify"> <bit>10</bit> </item> 55986c8b3dSmrg <item name="ExtensionDeviceNotify"> <bit>11</bit> </item> 56986c8b3dSmrg </enum> 57986c8b3dSmrg 58986c8b3dSmrg <enum name="NKNDetail"> 59986c8b3dSmrg <item name="Keycodes"> <bit>0</bit> </item> 60986c8b3dSmrg <item name="Geometry"> <bit>1</bit> </item> 61986c8b3dSmrg <item name="DeviceID"> <bit>2</bit> </item> 62986c8b3dSmrg </enum> 63986c8b3dSmrg 64986c8b3dSmrg <enum name="AXNDetail"> 65986c8b3dSmrg <item name="SKPress"> <bit>0</bit> </item> 66986c8b3dSmrg <item name="SKAccept"> <bit>1</bit> </item> 67986c8b3dSmrg <item name="SKReject"> <bit>2</bit> </item> 68986c8b3dSmrg <item name="SKRelease"> <bit>3</bit> </item> 69986c8b3dSmrg <item name="BKAccept"> <bit>4</bit> </item> 70986c8b3dSmrg <item name="BKReject"> <bit>5</bit> </item> 71986c8b3dSmrg <item name="AXKWarning"> <bit>6</bit> </item> 72986c8b3dSmrg </enum> 73986c8b3dSmrg 74986c8b3dSmrg <enum name="MapPart"> 75986c8b3dSmrg <item name="KeyTypes"> <bit>0</bit> </item> 76986c8b3dSmrg <item name="KeySyms"> <bit>1</bit> </item> 77986c8b3dSmrg <item name="ModifierMap"> <bit>2</bit> </item> 78986c8b3dSmrg <item name="ExplicitComponents"> <bit>3</bit> </item> 79986c8b3dSmrg <item name="KeyActions"> <bit>4</bit> </item> 80986c8b3dSmrg <item name="KeyBehaviors"> <bit>5</bit> </item> 81986c8b3dSmrg <item name="VirtualMods"> <bit>6</bit> </item> 82986c8b3dSmrg <item name="VirtualModMap"> <bit>7</bit> </item> 83986c8b3dSmrg </enum> 84986c8b3dSmrg 85986c8b3dSmrg <enum name="SetMapFlags"> 86986c8b3dSmrg <item name="ResizeTypes"> <bit>0</bit> </item> 87986c8b3dSmrg <item name="RecomputeActions"> <bit>1</bit> </item> 88986c8b3dSmrg </enum> 89986c8b3dSmrg 90986c8b3dSmrg <enum name="StatePart"> 91986c8b3dSmrg <item name="ModifierState"> <bit>0</bit> </item> 92986c8b3dSmrg <item name="ModifierBase"> <bit>1</bit> </item> 93986c8b3dSmrg <item name="ModifierLatch"> <bit>2</bit> </item> 94986c8b3dSmrg <item name="ModifierLock"> <bit>3</bit> </item> 95986c8b3dSmrg <item name="GroupState"> <bit>4</bit> </item> 96986c8b3dSmrg <item name="GroupBase"> <bit>5</bit> </item> 97986c8b3dSmrg <item name="GroupLatch"> <bit>6</bit> </item> 98986c8b3dSmrg <item name="GroupLock"> <bit>7</bit> </item> 99986c8b3dSmrg <item name="CompatState"> <bit>8</bit> </item> 100986c8b3dSmrg <item name="GrabMods"> <bit>9</bit> </item> 101986c8b3dSmrg <item name="CompatGrabMods"> <bit>10</bit> </item> 102986c8b3dSmrg <item name="LookupMods"> <bit>11</bit> </item> 103986c8b3dSmrg <item name="CompatLookupMods"> <bit>12</bit> </item> 104986c8b3dSmrg <item name="PointerButtons"> <bit>13</bit> </item> 105986c8b3dSmrg </enum> 106986c8b3dSmrg 107986c8b3dSmrg <enum name="BoolCtrl"> 108986c8b3dSmrg <item name="RepeatKeys"> <bit>0</bit> </item> 109986c8b3dSmrg <item name="SlowKeys"> <bit>1</bit> </item> 110986c8b3dSmrg <item name="BounceKeys"> <bit>2</bit> </item> 111986c8b3dSmrg <item name="StickyKeys"> <bit>3</bit> </item> 112986c8b3dSmrg <item name="MouseKeys"> <bit>4</bit> </item> 113986c8b3dSmrg <item name="MouseKeysAccel"> <bit>5</bit> </item> 114986c8b3dSmrg <item name="AccessXKeys"> <bit>6</bit> </item> 115986c8b3dSmrg <item name="AccessXTimeoutMask"> <bit>7</bit> </item> 116986c8b3dSmrg <item name="AccessXFeedbackMask"> <bit>8</bit> </item> 117986c8b3dSmrg <item name="AudibleBellMask"> <bit>9</bit> </item> 118986c8b3dSmrg <item name="Overlay1Mask"> <bit>10</bit> </item> 119986c8b3dSmrg <item name="Overlay2Mask"> <bit>11</bit> </item> 120986c8b3dSmrg <item name="IgnoreGroupLockMask"> <bit>12</bit> </item> 121986c8b3dSmrg </enum> 122986c8b3dSmrg 123986c8b3dSmrg <!-- XXX: one zero less than XKB specification says, 124986c8b3dSmrg uses the same values as libX11 --> 125986c8b3dSmrg <enum name="Control" > 126986c8b3dSmrg <item name="GroupsWrap"> <bit>27</bit> </item> 127986c8b3dSmrg <item name="InternalMods"> <bit>28</bit> </item> 128986c8b3dSmrg <item name="IgnoreLockMods"> <bit>29</bit> </item> 129986c8b3dSmrg <item name="PerKeyRepeat"> <bit>30</bit> </item> 130986c8b3dSmrg <item name="ControlsEnabled"> <bit>31</bit> </item> 131986c8b3dSmrg </enum> 132986c8b3dSmrg 133f591e195Smrg <enum name="AXOption"> 134986c8b3dSmrg <item name="SKPressFB"> <bit>0</bit> </item> 135986c8b3dSmrg <item name="SKAcceptFB"> <bit>1</bit> </item> 136986c8b3dSmrg <item name="FeatureFB"> <bit>2</bit> </item> 137986c8b3dSmrg <item name="SlowWarnFB"> <bit>3</bit> </item> 138986c8b3dSmrg <item name="IndicatorFB"> <bit>4</bit> </item> 139986c8b3dSmrg <item name="StickyKeysFB"> <bit>5</bit> </item> 140f591e195Smrg <item name="TwoKeys"> <bit>6</bit> </item> 141f591e195Smrg <item name="LatchToLock"> <bit>7</bit> </item> 142f591e195Smrg <item name="SKReleaseFB"> <bit>8</bit> </item> 143f591e195Smrg <item name="SKRejectFB"> <bit>9</bit> </item> 144f591e195Smrg <item name="BKRejectFB"> <bit>10</bit> </item> 145f591e195Smrg <item name="DumbBell"> <bit>11</bit> </item> 146986c8b3dSmrg </enum> 147986c8b3dSmrg 148986c8b3dSmrg <typedef oldname="CARD16" newname="DeviceSpec" /> 149986c8b3dSmrg 150986c8b3dSmrg <enum name="LedClassResult"> 151986c8b3dSmrg <item name="KbdFeedbackClass"> <value>0</value> </item> 152986c8b3dSmrg <item name="LedFeedbackClass"> <value>4</value> </item> 153986c8b3dSmrg </enum> 154986c8b3dSmrg 155986c8b3dSmrg <enum name="LedClass"> 156f591e195Smrg <item name="KbdFeedbackClass"> <value>0</value> </item> 157f591e195Smrg <item name="LedFeedbackClass"> <value>4</value> </item> 158f591e195Smrg <item name="DfltXIClass"> <value>768</value> </item> <!--0x300--> 159f591e195Smrg <item name="AllXIClasses"> <value>1280</value> </item> <!--0x500--> 160986c8b3dSmrg </enum> 161986c8b3dSmrg <typedef oldname="CARD16" newname="LedClassSpec" /> 162986c8b3dSmrg 163986c8b3dSmrg <enum name="BellClassResult"> 164986c8b3dSmrg <item name="KbdFeedbackClass"> <value>0</value> </item> 165986c8b3dSmrg <item name="BellFeedbackClass"> <value>5</value> </item> 166986c8b3dSmrg </enum> 167986c8b3dSmrg 168986c8b3dSmrg <enum name="BellClass"> 169f591e195Smrg <item name="KbdFeedbackClass"> <value>0</value> </item> 170f591e195Smrg <item name="BellFeedbackClass"> <value>5</value> </item> 171f591e195Smrg <item name="DfltXIClass"> <value>768</value> </item> <!--0x300--> 172986c8b3dSmrg </enum> 173986c8b3dSmrg <typedef oldname="CARD16" newname="BellClassSpec" /> 174986c8b3dSmrg 175986c8b3dSmrg <enum name="ID"> 176986c8b3dSmrg <item name="UseCoreKbd"> <value>256</value> </item> <!-- 0x100 --> 177986c8b3dSmrg <item name="UseCorePtr"> <value>512</value> </item> <!-- 0x200 --> 178986c8b3dSmrg <item name="DfltXIClass"> <value>768</value> </item> <!-- 0x300 --> 179986c8b3dSmrg <item name="DfltXIId"> <value>1024</value> </item> <!-- 0x400 --> 180986c8b3dSmrg <item name="AllXIClass"> <value>1280</value> </item> <!-- 0x500 --> 181986c8b3dSmrg <item name="AllXIId"> <value>1536</value> </item> <!-- 0x600 --> 182986c8b3dSmrg <item name="XINone"> <value>65280</value> </item> <!--0xff00--> 183986c8b3dSmrg </enum> 184986c8b3dSmrg <typedef oldname="CARD16" newname="IDSpec" /> 185986c8b3dSmrg 186986c8b3dSmrg <enum name="Group"> 187986c8b3dSmrg <item name="1"> <value>0</value> </item> 188986c8b3dSmrg <item name="2"> <value>1</value> </item> 189986c8b3dSmrg <item name="3"> <value>2</value> </item> 190986c8b3dSmrg <item name="4"> <value>3</value> </item> 191986c8b3dSmrg </enum> 192986c8b3dSmrg 193986c8b3dSmrg <enum name="Groups"> 194986c8b3dSmrg <item name="Any"> <value>254</value> </item> 195986c8b3dSmrg <item name="All"> <value>255</value> </item> 196986c8b3dSmrg </enum> 197986c8b3dSmrg 198986c8b3dSmrg <enum name="SetOfGroup"> 199986c8b3dSmrg <item name="Group1"> <bit>0</bit> </item> 200986c8b3dSmrg <item name="Group2"> <bit>1</bit> </item> 201986c8b3dSmrg <item name="Group3"> <bit>2</bit> </item> 202986c8b3dSmrg <item name="Group4"> <bit>3</bit> </item> 203986c8b3dSmrg </enum> 204986c8b3dSmrg 205986c8b3dSmrg <enum name="SetOfGroups"> 206986c8b3dSmrg <item name="Any"> <bit>7</bit> </item> 207986c8b3dSmrg </enum> 208986c8b3dSmrg 209986c8b3dSmrg <enum name="GroupsWrap"> 210986c8b3dSmrg <item name="WrapIntoRange"> <value>0</value> </item> 211986c8b3dSmrg <item name="ClampIntoRange"> <bit>6</bit> </item> 212986c8b3dSmrg <item name="RedirectIntoRange"> <bit>7</bit> </item> 213986c8b3dSmrg </enum> 214986c8b3dSmrg 215986c8b3dSmrg <enum name="VModsHigh"> 216986c8b3dSmrg <item name="15"> <bit>7</bit> </item> 217986c8b3dSmrg <item name="14"> <bit>6</bit> </item> 218986c8b3dSmrg <item name="13"> <bit>5</bit> </item> 219986c8b3dSmrg <item name="12"> <bit>4</bit> </item> 220986c8b3dSmrg <item name="11"> <bit>3</bit> </item> 221986c8b3dSmrg <item name="10"> <bit>2</bit> </item> 222986c8b3dSmrg <item name="9"> <bit>1</bit> </item> 223986c8b3dSmrg <item name="8"> <bit>0</bit> </item> 224986c8b3dSmrg </enum> 225986c8b3dSmrg 226986c8b3dSmrg <enum name="VModsLow"> 227986c8b3dSmrg <item name="7"> <bit>7</bit> </item> 228986c8b3dSmrg <item name="6"> <bit>6</bit> </item> 229986c8b3dSmrg <item name="5"> <bit>5</bit> </item> 230986c8b3dSmrg <item name="4"> <bit>4</bit> </item> 231986c8b3dSmrg <item name="3"> <bit>3</bit> </item> 232986c8b3dSmrg <item name="2"> <bit>2</bit> </item> 233986c8b3dSmrg <item name="1"> <bit>1</bit> </item> 234986c8b3dSmrg <item name="0"> <bit>0</bit> </item> 235986c8b3dSmrg </enum> 236986c8b3dSmrg 237986c8b3dSmrg <enum name="VMod"> 238986c8b3dSmrg <item name="15"> <bit>15</bit> </item> 239986c8b3dSmrg <item name="14"> <bit>14</bit> </item> 240986c8b3dSmrg <item name="13"> <bit>13</bit> </item> 241986c8b3dSmrg <item name="12"> <bit>12</bit> </item> 242986c8b3dSmrg <item name="11"> <bit>11</bit> </item> 243986c8b3dSmrg <item name="10"> <bit>10</bit> </item> 244986c8b3dSmrg <item name="9"> <bit>9</bit> </item> 245986c8b3dSmrg <item name="8"> <bit>8</bit> </item> 246986c8b3dSmrg <item name="7"> <bit>7</bit> </item> 247986c8b3dSmrg <item name="6"> <bit>6</bit> </item> 248986c8b3dSmrg <item name="5"> <bit>5</bit> </item> 249986c8b3dSmrg <item name="4"> <bit>4</bit> </item> 250986c8b3dSmrg <item name="3"> <bit>3</bit> </item> 251986c8b3dSmrg <item name="2"> <bit>2</bit> </item> 252986c8b3dSmrg <item name="1"> <bit>1</bit> </item> 253986c8b3dSmrg <item name="0"> <bit>0</bit> </item> 254986c8b3dSmrg </enum> 255986c8b3dSmrg 256986c8b3dSmrg <enum name="Explicit"> 257986c8b3dSmrg <item name="VModMap"> <bit>7</bit> </item> 258986c8b3dSmrg <item name="Behavior"> <bit>6</bit> </item> 259986c8b3dSmrg <item name="AutoRepeat"> <bit>5</bit> </item> 260986c8b3dSmrg <item name="Interpret"> <bit>4</bit> </item> 261986c8b3dSmrg <item name="KeyType4"> <bit>3</bit> </item> 262986c8b3dSmrg <item name="KeyType3"> <bit>2</bit> </item> 263986c8b3dSmrg <item name="KeyType2"> <bit>1</bit> </item> 264986c8b3dSmrg <item name="KeyType1"> <bit>0</bit> </item> 265986c8b3dSmrg </enum> 266986c8b3dSmrg 267f591e195Smrg <enum name="SymInterpretMatch"> 268986c8b3dSmrg <item name="NoneOf"> <value>0</value> </item> 269986c8b3dSmrg <item name="AnyOfOrNone"> <value>1</value> </item> 270986c8b3dSmrg <item name="AnyOf"> <value>2</value> </item> 271986c8b3dSmrg <item name="AllOf"> <value>3</value> </item> 272986c8b3dSmrg <item name="Exactly"> <value>4</value> </item> 273986c8b3dSmrg </enum> 274986c8b3dSmrg 275986c8b3dSmrg <enum name="SymInterpMatch"> 276986c8b3dSmrg <item name="LevelOneOnly"> <bit>7</bit> </item> 277986c8b3dSmrg <item name="OpMask"> <value>127</value> </item> <!--0x7f--> 278986c8b3dSmrg </enum> 279986c8b3dSmrg 280986c8b3dSmrg <enum name="IMFlag"> 281986c8b3dSmrg <item name="NoExplicit"> <bit>7</bit> </item> 282986c8b3dSmrg <item name="NoAutomatic"> <bit>6</bit> </item> 283986c8b3dSmrg <item name="LEDDrivesKB"> <bit>5</bit> </item> 284986c8b3dSmrg </enum> 285986c8b3dSmrg 286986c8b3dSmrg <enum name="IMModsWhich"> 287986c8b3dSmrg <item name="UseCompat"> <bit>4</bit> </item> 288986c8b3dSmrg <item name="UseEffective"> <bit>3</bit> </item> 289986c8b3dSmrg <item name="UseLocked"> <bit>2</bit> </item> 290986c8b3dSmrg <item name="UseLatched"> <bit>1</bit> </item> 291986c8b3dSmrg <item name="UseBase"> <bit>0</bit> </item> 292986c8b3dSmrg </enum> 293986c8b3dSmrg 294986c8b3dSmrg <enum name="IMGroupsWhich"> 295986c8b3dSmrg <item name="UseCompat"> <bit>4</bit> </item> 296986c8b3dSmrg <item name="UseEffective"> <bit>3</bit> </item> 297986c8b3dSmrg <item name="UseLocked"> <bit>2</bit> </item> 298986c8b3dSmrg <item name="UseLatched"> <bit>1</bit> </item> 299986c8b3dSmrg <item name="UseBase"> <bit>0</bit> </item> 300986c8b3dSmrg </enum> 301986c8b3dSmrg 302986c8b3dSmrg <struct name="IndicatorMap"> 303986c8b3dSmrg <field name="flags" type="CARD8" enum="IMFlag" /> 304986c8b3dSmrg <field name="whichGroups" type="CARD8" enum="IMGroupsWhich" /> 305986c8b3dSmrg <field name="groups" type="CARD8" enum="SetOfGroup" /> 306986c8b3dSmrg <field name="whichMods" type="CARD8" enum="IMModsWhich" /> 307986c8b3dSmrg <field name="mods" type="CARD8" mask="ModMask" /> 308986c8b3dSmrg <field name="realMods" type="CARD8" mask="ModMask" /> 309986c8b3dSmrg <field name="vmods" type="CARD16" mask="VMod" /> 310f591e195Smrg <field name="ctrls" type="CARD32" mask="BoolCtrl" /> 311986c8b3dSmrg </struct> 312986c8b3dSmrg 313986c8b3dSmrg <enum name="CMDetail"> 314986c8b3dSmrg <item name="SymInterp"> <bit>0</bit> </item> 315986c8b3dSmrg <item name="GroupCompat"> <bit>1</bit> </item> 316986c8b3dSmrg </enum> 317986c8b3dSmrg 318986c8b3dSmrg <enum name="NameDetail"> 319986c8b3dSmrg <item name="Keycodes"> <bit>0</bit> </item> 320986c8b3dSmrg <item name="Geometry"> <bit>1</bit> </item> 321986c8b3dSmrg <item name="Symbols"> <bit>2</bit> </item> 322986c8b3dSmrg <item name="PhysSymbols"> <bit>3</bit> </item> 323986c8b3dSmrg <item name="Types"> <bit>4</bit> </item> 324986c8b3dSmrg <item name="Compat"> <bit>5</bit> </item> 325986c8b3dSmrg <item name="KeyTypeNames"> <bit>6</bit> </item> 326986c8b3dSmrg <item name="KTLevelNames"> <bit>7</bit> </item> 327986c8b3dSmrg <item name="IndicatorNames"> <bit>8</bit> </item> 328986c8b3dSmrg <item name="KeyNames"> <bit>9</bit> </item> 329986c8b3dSmrg <item name="KeyAliases"> <bit>10</bit> </item> 330986c8b3dSmrg <item name="VirtualModNames"> <bit>11</bit> </item> 331986c8b3dSmrg <item name="GroupNames"> <bit>12</bit> </item> 332986c8b3dSmrg <item name="RGNames"> <bit>13</bit> </item> 333986c8b3dSmrg </enum> 334986c8b3dSmrg 335986c8b3dSmrg <enum name="GBNDetail"> 336986c8b3dSmrg <item name="Types"> <bit>0</bit> </item> 337986c8b3dSmrg <item name="CompatMap"> <bit>1</bit> </item> 338986c8b3dSmrg <item name="ClientSymbols"> <bit>2</bit> </item> 339986c8b3dSmrg <item name="ServerSymbols"> <bit>3</bit> </item> 340986c8b3dSmrg <item name="IndicatorMaps"> <bit>4</bit> </item> 341986c8b3dSmrg <item name="KeyNames"> <bit>5</bit> </item> 342986c8b3dSmrg <item name="Geometry"> <bit>6</bit> </item> 343986c8b3dSmrg <item name="OtherNames"> <bit>7</bit> </item> 344986c8b3dSmrg </enum> 345986c8b3dSmrg 346986c8b3dSmrg <enum name="XIFeature"> 347986c8b3dSmrg <item name="Keyboards"> <bit>0</bit> </item> 348986c8b3dSmrg <item name="ButtonActions"> <bit>1</bit> </item> 349986c8b3dSmrg <item name="IndicatorNames"> <bit>2</bit> </item> 350986c8b3dSmrg <item name="IndicatorMaps"> <bit>3</bit> </item> 351986c8b3dSmrg <item name="IndicatorState"> <bit>4</bit> </item> 352986c8b3dSmrg </enum> 353986c8b3dSmrg 354986c8b3dSmrg <enum name="PerClientFlag"> 355986c8b3dSmrg <item name="DetectableAutoRepeat"> <bit>0</bit> </item> 356986c8b3dSmrg <item name="GrabsUseXKBState"> <bit>1</bit> </item> 357986c8b3dSmrg <item name="AutoResetControls"> <bit>2</bit> </item> 358986c8b3dSmrg <item name="LookupStateWhenGrabbed"> <bit>3</bit> </item> 359986c8b3dSmrg <item name="SendEventUsesXKBState"> <bit>4</bit> </item> 360986c8b3dSmrg </enum> 361986c8b3dSmrg 362986c8b3dSmrg <struct name="ModDef"> 363986c8b3dSmrg <field name="mask" type="CARD8" mask="ModMask" /> 364986c8b3dSmrg <field name="realMods" type="CARD8" mask="ModMask" /> 365986c8b3dSmrg <field name="vmods" type="CARD16" mask="VMod" /> 366986c8b3dSmrg </struct> 367986c8b3dSmrg 368986c8b3dSmrg <struct name="KeyName"> 369f591e195Smrg <list name="name" type="char"> 370986c8b3dSmrg <value>4</value> 371986c8b3dSmrg </list> 372986c8b3dSmrg </struct> 373986c8b3dSmrg 374986c8b3dSmrg <struct name="KeyAlias"> 375f591e195Smrg <list name="real" type="char"> 376986c8b3dSmrg <value>4</value> 377986c8b3dSmrg </list> 378f591e195Smrg <list name="alias" type="char"> 379986c8b3dSmrg <value>4</value> 380986c8b3dSmrg </list> 381986c8b3dSmrg </struct> 382986c8b3dSmrg 383986c8b3dSmrg <struct name="CountedString16"> 384986c8b3dSmrg <field name="length" type="CARD16" /> 385f591e195Smrg <list name="string" type="char"> 386986c8b3dSmrg <fieldref>length</fieldref> 387986c8b3dSmrg </list> 388f591e195Smrg <list type="void" name="alignment_pad"> 389f591e195Smrg <op op="-"> 390f591e195Smrg <op op="&"> 391f591e195Smrg <op op="+"> 392f591e195Smrg <fieldref>length</fieldref> 393f591e195Smrg <value>5</value> 394f591e195Smrg </op> 395f591e195Smrg <unop op="~"> 396f591e195Smrg <value>3</value> 397f591e195Smrg </unop> 398f591e195Smrg </op> 399f591e195Smrg <op op="+"> 400f591e195Smrg <fieldref>length</fieldref> 401f591e195Smrg <value>2</value> 402f591e195Smrg </op> 403f591e195Smrg </op> 404f591e195Smrg </list> 405986c8b3dSmrg </struct> 406986c8b3dSmrg 407986c8b3dSmrg <struct name="KTMapEntry"> 408986c8b3dSmrg <field name="active" type="BOOL" /> 409986c8b3dSmrg <field name="mods_mask" type="CARD8" mask="ModMask" /> 410986c8b3dSmrg <field name="level" type="CARD8" /> 411986c8b3dSmrg <field name="mods_mods" type="CARD8" mask="ModMask" /> 412986c8b3dSmrg <field name="mods_vmods" type="CARD16" mask="VMod" /> 413986c8b3dSmrg <pad bytes="2" /> 414986c8b3dSmrg </struct> 415986c8b3dSmrg 416986c8b3dSmrg <struct name="KeyType"> 417986c8b3dSmrg <field name="mods_mask" type="CARD8" mask="ModMask" /> 418986c8b3dSmrg <field name="mods_mods" type="CARD8" mask="ModMask" /> 419986c8b3dSmrg <field name="mods_vmods" type="CARD16" mask="VMod" /> 420986c8b3dSmrg <field name="numLevels" type="CARD8" /> 421986c8b3dSmrg <field name="nMapEntries" type="CARD8" /> 422986c8b3dSmrg <field name="hasPreserve" type="BOOL" /> 423986c8b3dSmrg <pad bytes="1" /> 424986c8b3dSmrg <list name="map" type="KTMapEntry"> 425986c8b3dSmrg <fieldref>nMapEntries</fieldref> 426986c8b3dSmrg </list> 427986c8b3dSmrg <list name="preserve" type="ModDef"> 428986c8b3dSmrg <op op="*"> 429986c8b3dSmrg <fieldref>hasPreserve</fieldref> 430986c8b3dSmrg <fieldref>nMapEntries</fieldref> 431986c8b3dSmrg </op> 432986c8b3dSmrg </list> 433986c8b3dSmrg </struct> 434986c8b3dSmrg 435986c8b3dSmrg <struct name="KeySymMap"> 436986c8b3dSmrg <list name="kt_index" type="CARD8"> 437986c8b3dSmrg <value>4</value> 438986c8b3dSmrg </list> 439986c8b3dSmrg <field name="groupInfo" type="CARD8" /> 440986c8b3dSmrg <field name="width" type="CARD8" /> 441986c8b3dSmrg <field name="nSyms" type="CARD16" /> 442986c8b3dSmrg <list name="syms" type="KEYSYM"> 443986c8b3dSmrg <fieldref>nSyms</fieldref> 444986c8b3dSmrg </list> 445986c8b3dSmrg </struct> 446986c8b3dSmrg 447986c8b3dSmrg <!-- Key Behaviors --> 448986c8b3dSmrg 449986c8b3dSmrg <struct name="CommonBehavior"> 450986c8b3dSmrg <field name="type" type="CARD8" /> 451986c8b3dSmrg <field name="data" type="CARD8" /> 452986c8b3dSmrg </struct> 453986c8b3dSmrg 454986c8b3dSmrg <struct name="DefaultBehavior"> 455986c8b3dSmrg <field name="type" type="CARD8" /> 456986c8b3dSmrg <pad bytes="1" /> 457986c8b3dSmrg </struct> 458986c8b3dSmrg 459986c8b3dSmrg <typedef oldname="DefaultBehavior" newname="LockBehavior" /> 460986c8b3dSmrg 461986c8b3dSmrg <struct name="RadioGroupBehavior"> 462986c8b3dSmrg <field name="type" type="CARD8" /> 463986c8b3dSmrg <field name="group" type="CARD8" /> 464986c8b3dSmrg </struct> 465986c8b3dSmrg 466f591e195Smrg <struct name="OverlayBehavior"> 467986c8b3dSmrg <field name="type" type="CARD8" /> 468986c8b3dSmrg <field name="key" type="KEYCODE" /> 469986c8b3dSmrg </struct> 470986c8b3dSmrg 471986c8b3dSmrg <typedef oldname="LockBehavior" newname="PermamentLockBehavior" /> 472986c8b3dSmrg <typedef oldname="RadioGroupBehavior" newname="PermamentRadioGroupBehavior" /> 473f591e195Smrg <typedef oldname="OverlayBehavior" newname="PermamentOverlayBehavior" /> 474986c8b3dSmrg 475986c8b3dSmrg <union name="Behavior"> 476986c8b3dSmrg <field name="common" type="CommonBehavior" /> 477986c8b3dSmrg <field name="default" type="DefaultBehavior" /> 478986c8b3dSmrg <field name="lock" type="LockBehavior" /> 479986c8b3dSmrg <field name="radioGroup" type="RadioGroupBehavior" /> 480f591e195Smrg <field name="overlay1" type="OverlayBehavior" /> 481f591e195Smrg <field name="overlay2" type="OverlayBehavior" /> 482986c8b3dSmrg <field name="permamentLock" type="PermamentLockBehavior" /> 483986c8b3dSmrg <field name="permamentRadioGroup" type="PermamentRadioGroupBehavior" /> 484f591e195Smrg <field name="permamentOverlay1" type="PermamentOverlayBehavior" /> 485f591e195Smrg <field name="permamentOverlay2" type="PermamentOverlayBehavior" /> 486986c8b3dSmrg <field name="type" type="CARD8" /> 487986c8b3dSmrg </union> 488986c8b3dSmrg 489986c8b3dSmrg <enum name="BehaviorType"> 490986c8b3dSmrg <item name="Default"> <value>0</value> </item> <!--0x00--> 491986c8b3dSmrg <item name="Lock"> <value>1</value> </item> <!--0x01--> 492986c8b3dSmrg <item name="RadioGroup"> <value>2</value> </item> <!--0x02--> 493986c8b3dSmrg <item name="Overlay1"> <value>3</value> </item> <!--0x03--> 494986c8b3dSmrg <item name="Overlay2"> <value>4</value> </item> <!--0x04--> 495986c8b3dSmrg <item name="PermamentLock"> <value>129</value> </item> <!--0x81--> 496986c8b3dSmrg <item name="PermamentRadioGroup"> <value>130</value> </item> <!--0x82--> 497986c8b3dSmrg <item name="PermamentOverlay1"> <value>131</value> </item> <!--0x83--> 498986c8b3dSmrg <item name="PermamentOverlay2"> <value>132</value> </item> <!--0x84--> 499986c8b3dSmrg </enum> 500986c8b3dSmrg 501986c8b3dSmrg <struct name="SetBehavior"> 502986c8b3dSmrg <field name="keycode" type="KEYCODE" /> 503986c8b3dSmrg <field name="behavior" type="Behavior" /> 504986c8b3dSmrg <pad bytes="1" /> 505986c8b3dSmrg </struct> 506986c8b3dSmrg 507986c8b3dSmrg <struct name="SetExplicit"> 508986c8b3dSmrg <field name="keycode" type="KEYCODE" /> 509986c8b3dSmrg <field name="explicit" type="CARD8" mask="Explicit" /> 510986c8b3dSmrg </struct> 511986c8b3dSmrg 512986c8b3dSmrg <struct name="KeyModMap"> 513986c8b3dSmrg <field name="keycode" type="KEYCODE" /> 514986c8b3dSmrg <field name="mods" type="CARD8" mask="ModMask" /> 515986c8b3dSmrg </struct> 516986c8b3dSmrg 517986c8b3dSmrg <struct name="KeyVModMap"> 518986c8b3dSmrg <field name="keycode" type="KEYCODE" /> 519986c8b3dSmrg <pad bytes="1" /> 520986c8b3dSmrg <field name="vmods" type="CARD16" mask="VMod" /> 521986c8b3dSmrg </struct> 522986c8b3dSmrg 523986c8b3dSmrg <struct name="KTSetMapEntry"> 524986c8b3dSmrg <field name="level" type="CARD8" /> 525986c8b3dSmrg <field name="realMods" type="CARD8" mask="ModMask" /> 526986c8b3dSmrg <field name="virtualMods" type="CARD16" mask="VMod" /> 527986c8b3dSmrg </struct> 528986c8b3dSmrg 529986c8b3dSmrg <struct name="SetKeyType"> 530986c8b3dSmrg <field name="mask" type="CARD8" mask="ModMask" /> 531986c8b3dSmrg <field name="realMods" type="CARD8" mask="ModMask" /> 532986c8b3dSmrg <field name="virtualMods" type="CARD16" mask="VMod" /> 533986c8b3dSmrg <field name="numLevels" type="CARD8" /> 534986c8b3dSmrg <field name="nMapEntries" type="CARD8" /> 535986c8b3dSmrg <field name="preserve" type="BOOL" /> 536986c8b3dSmrg <pad bytes="1" /> 537986c8b3dSmrg <list name="entries" type="KTSetMapEntry"> 538986c8b3dSmrg <fieldref>nMapEntries</fieldref> 539986c8b3dSmrg </list> 540986c8b3dSmrg <list name="preserve_entries" type="KTSetMapEntry"> 541986c8b3dSmrg <op op = "*"> 542986c8b3dSmrg <fieldref>preserve</fieldref> 543986c8b3dSmrg <fieldref>nMapEntries</fieldref> 544986c8b3dSmrg </op> 545986c8b3dSmrg </list> 546986c8b3dSmrg </struct> 547986c8b3dSmrg 548986c8b3dSmrg <typedef oldname="char" newname="STRING8" /> 549986c8b3dSmrg 550f591e195Smrg <!-- XXX: Property is broken 551986c8b3dSmrg <struct name="Property"> 552986c8b3dSmrg <field name="nameLength" type="CARD16" /> 553986c8b3dSmrg <list name="name" type="STRING8"> 554986c8b3dSmrg <fieldref>nameLength</fieldref> 555986c8b3dSmrg </list> 556986c8b3dSmrg <field name="valueLength" type="CARD16" /> 557986c8b3dSmrg <list name="value" type="STRING8"> 558986c8b3dSmrg <fieldref>valueLength</fieldref> 559986c8b3dSmrg </list> 560986c8b3dSmrg </struct> 561f591e195Smrg --> 562f591e195Smrg <!-- XXX: This would be the correct Property structure as per spec., 563f591e195Smrg but it's broken atm. too. Add it anyway here, so we don't 564f591e195Smrg loose that information. 565f591e195Smrg <struct name="Property"> 566f591e195Smrg <field name="name" type="CountedString16" /> 567f591e195Smrg <field name="value" type="CountedString16" /> 568f591e195Smrg </struct> 569f591e195Smrg --> 570986c8b3dSmrg 571986c8b3dSmrg <struct name="Outline"> 572986c8b3dSmrg <field name="nPoints" type="CARD8" /> 573986c8b3dSmrg <field name="cornerRadius" type="CARD8" /> 574986c8b3dSmrg <pad bytes="2" /> 575986c8b3dSmrg <list name="points" type="POINT"> 576986c8b3dSmrg <fieldref>nPoints</fieldref> 577986c8b3dSmrg </list> 578986c8b3dSmrg </struct> 579986c8b3dSmrg 580986c8b3dSmrg <struct name="Shape"> 581986c8b3dSmrg <field name="name" type="ATOM" /> 582986c8b3dSmrg <field name="nOutlines" type="CARD8" /> 583986c8b3dSmrg <field name="primaryNdx" type="CARD8" /> 584986c8b3dSmrg <field name="approxNdx" type="CARD8" /> 585986c8b3dSmrg <pad bytes="1" /> 586986c8b3dSmrg <list name="outlines" type="Outline"> 587986c8b3dSmrg <fieldref>nOutlines</fieldref> 588986c8b3dSmrg </list> 589986c8b3dSmrg </struct> 590986c8b3dSmrg 591986c8b3dSmrg <struct name="Key"> 592986c8b3dSmrg <list name="name" type="STRING8"> 593986c8b3dSmrg <value>4</value> 594986c8b3dSmrg </list> 595986c8b3dSmrg <field name="gap" type="INT16" /> 596986c8b3dSmrg <field name="shapeNdx" type="CARD8" /> 597986c8b3dSmrg <field name="colorNdx" type="CARD8" /> 598986c8b3dSmrg </struct> 599986c8b3dSmrg 600986c8b3dSmrg <struct name="OverlayKey"> 601986c8b3dSmrg <list name="over" type="STRING8"> 602986c8b3dSmrg <value>4</value> 603986c8b3dSmrg </list> 604986c8b3dSmrg <list name="under" type="STRING8"> 605986c8b3dSmrg <value>4</value> 606986c8b3dSmrg </list> 607986c8b3dSmrg </struct> 608986c8b3dSmrg 609986c8b3dSmrg <struct name="OverlayRow"> 610986c8b3dSmrg <field name="rowUnder" type="CARD8" /> 611986c8b3dSmrg <field name="nKeys" type="CARD8" /> 612986c8b3dSmrg <pad bytes="2" /> 613986c8b3dSmrg <list name="keys" type="OverlayKey"> 614986c8b3dSmrg <fieldref>nKeys</fieldref> 615986c8b3dSmrg </list> 616986c8b3dSmrg </struct> 617986c8b3dSmrg 618986c8b3dSmrg <struct name="Overlay"> 619986c8b3dSmrg <field name="name" type="ATOM" /> 620986c8b3dSmrg <field name="nRows" type="CARD8" /> 621986c8b3dSmrg <pad bytes="3" /> 622986c8b3dSmrg <list name="rows" type="OverlayRow"> 623986c8b3dSmrg <fieldref>nRows</fieldref> 624986c8b3dSmrg </list> 625986c8b3dSmrg </struct> 626986c8b3dSmrg 627986c8b3dSmrg <struct name="Row"> 628986c8b3dSmrg <field name="top" type="INT16" /> 629986c8b3dSmrg <field name="left" type="INT16" /> 630986c8b3dSmrg <field name="nKeys" type="CARD8" /> 631986c8b3dSmrg <field name="vertical" type="BOOL" /> 632986c8b3dSmrg <pad bytes="2" /> 633986c8b3dSmrg <list name="keys" type="Key"> 634986c8b3dSmrg <fieldref>nKeys</fieldref> 635986c8b3dSmrg </list> 636986c8b3dSmrg </struct> 637986c8b3dSmrg 638986c8b3dSmrg <enum name="DoodadType"> 639986c8b3dSmrg <item name="Outline"> <value>1</value> </item> 640986c8b3dSmrg <item name="Solid"> <value>2</value> </item> 641986c8b3dSmrg <item name="Text"> <value>3</value> </item> 642986c8b3dSmrg <item name="Indicator"> <value>4</value> </item> 643986c8b3dSmrg <item name="Logo"> <value>5</value> </item> 644986c8b3dSmrg </enum> 645986c8b3dSmrg 646f591e195Smrg <!-- XXX: doodads are broken 647986c8b3dSmrg <struct name="CommonDoodad"> 648986c8b3dSmrg <field name="name" type="ATOM" /> 649986c8b3dSmrg <field name="type" type="CARD8" enum="DoodadType" /> 650986c8b3dSmrg <field name="priority" type="CARD8" /> 651986c8b3dSmrg <field name="top" type="INT16" /> 652986c8b3dSmrg <field name="left" type="INT16" /> 653986c8b3dSmrg <field name="angle" type="INT16" /> 654f591e195Smrg <pad bytes="8" /> 655986c8b3dSmrg </struct> 656986c8b3dSmrg 657986c8b3dSmrg <struct name="ShapeDoodad"> 658986c8b3dSmrg <field name="name" type="ATOM" /> 659986c8b3dSmrg <field name="type" type="CARD8" enum="DoodadType" /> 660986c8b3dSmrg <field name="priority" type="CARD8" /> 661986c8b3dSmrg <field name="top" type="INT16" /> 662986c8b3dSmrg <field name="left" type="INT16" /> 663986c8b3dSmrg <field name="angle" type="INT16" /> 664986c8b3dSmrg <field name="colorNdx" type="CARD8" /> 665986c8b3dSmrg <field name="shapeNdx" type="CARD8" /> 666986c8b3dSmrg <pad bytes="6" /> 667986c8b3dSmrg </struct> 668986c8b3dSmrg 669986c8b3dSmrg <struct name="TextDoodad"> 670986c8b3dSmrg <field name="name" type="ATOM" /> 671986c8b3dSmrg <field name="type" type="CARD8" enum="DoodadType" /> 672986c8b3dSmrg <field name="priority" type="CARD8" /> 673986c8b3dSmrg <field name="top" type="INT16" /> 674986c8b3dSmrg <field name="left" type="INT16" /> 675986c8b3dSmrg <field name="angle" type="INT16" /> 676986c8b3dSmrg <field name="width" type="CARD16" /> 677986c8b3dSmrg <field name="height" type="CARD16" /> 678986c8b3dSmrg <field name="colorNdx" type="CARD8" /> 679986c8b3dSmrg <pad bytes="3" /> 680986c8b3dSmrg <field name="text" type="CountedString16" /> 681986c8b3dSmrg <field name="font" type="CountedString16" /> 682986c8b3dSmrg </struct> 683986c8b3dSmrg 684986c8b3dSmrg <struct name="IndicatorDoodad"> 685986c8b3dSmrg <field name="name" type="ATOM" /> 686986c8b3dSmrg <field name="type" type="CARD8" enum="DoodadType" /> 687986c8b3dSmrg <field name="priority" type="CARD8" /> 688986c8b3dSmrg <field name="top" type="INT16" /> 689986c8b3dSmrg <field name="left" type="INT16" /> 690986c8b3dSmrg <field name="angle" type="INT16" /> 691986c8b3dSmrg <field name="shapeNdx" type="CARD8" /> 692986c8b3dSmrg <field name="onColorNdx" type="CARD8" /> 693986c8b3dSmrg <field name="offColorNdx" type="CARD8" /> 694986c8b3dSmrg <pad bytes="5" /> 695986c8b3dSmrg </struct> 696986c8b3dSmrg 697986c8b3dSmrg <struct name="LogoDoodad"> 698986c8b3dSmrg <field name="name" type="ATOM" /> 699986c8b3dSmrg <field name="type" type="CARD8" enum="DoodadType" /> 700986c8b3dSmrg <field name="priority" type="CARD8" /> 701986c8b3dSmrg <field name="top" type="INT16" /> 702986c8b3dSmrg <field name="left" type="INT16" /> 703986c8b3dSmrg <field name="angle" type="INT16" /> 704986c8b3dSmrg <field name="colorNdx" type="CARD8" /> 705986c8b3dSmrg <field name="shapeNdx" type="CARD8" /> 706986c8b3dSmrg <pad bytes="6" /> 707986c8b3dSmrg <field name="logoName" type="CountedString16" /> 708986c8b3dSmrg </struct> 709986c8b3dSmrg 710986c8b3dSmrg <union name="Doodad"> 711986c8b3dSmrg <field name="common" type="CommonDoodad" /> 712986c8b3dSmrg <field name="shape" type="ShapeDoodad" /> 713986c8b3dSmrg <field name="text" type="TextDoodad" /> 714986c8b3dSmrg <field name="indicator" type="IndicatorDoodad" /> 715986c8b3dSmrg <field name="logo" type="LogoDoodad" /> 716986c8b3dSmrg </union> 717986c8b3dSmrg 718986c8b3dSmrg <struct name="Section"> 719986c8b3dSmrg <field name="name" type="ATOM" /> 720986c8b3dSmrg <field name="top" type="INT16" /> 721986c8b3dSmrg <field name="left" type="INT16" /> 722986c8b3dSmrg <field name="width" type="CARD16" /> 723986c8b3dSmrg <field name="height" type="CARD16" /> 724986c8b3dSmrg <field name="angle" type="INT16" /> 725986c8b3dSmrg <field name="priority" type="CARD8" /> 726986c8b3dSmrg <field name="nRows" type="CARD8" /> 727986c8b3dSmrg <field name="nDoodads" type="CARD8" /> 728986c8b3dSmrg <field name="nOverlays" type="CARD8" /> 729986c8b3dSmrg <pad bytes="2" /> 730986c8b3dSmrg <list name="rows" type="Row"> 731986c8b3dSmrg <fieldref>nRows</fieldref> 732986c8b3dSmrg </list> 733986c8b3dSmrg <list name="doodads" type="Doodad"> 734986c8b3dSmrg <fieldref>nDoodads</fieldref> 735986c8b3dSmrg </list> 736986c8b3dSmrg <list name="overlays" type="Overlay"> 737986c8b3dSmrg <fieldref>nOverlays</fieldref> 738986c8b3dSmrg </list> 739986c8b3dSmrg </struct> 740f591e195Smrg --> 741986c8b3dSmrg 742986c8b3dSmrg <struct name="Listing"> 743986c8b3dSmrg <field name="flags" type="CARD16" /> 744986c8b3dSmrg <field name="length" type="CARD16" /> 745986c8b3dSmrg <list name="string" type="STRING8"> 746986c8b3dSmrg <fieldref>length</fieldref> 747986c8b3dSmrg </list> 748986c8b3dSmrg </struct> 749986c8b3dSmrg 750986c8b3dSmrg <struct name="DeviceLedInfo"> 751986c8b3dSmrg <field name="ledClass" type="LedClassSpec" enum="LedClass" /> 752986c8b3dSmrg <field name="ledID" type="IDSpec" altenum="ID" /> 753986c8b3dSmrg <field name="namesPresent" type="CARD32" /> 754986c8b3dSmrg <field name="mapsPresent" type="CARD32" /> 755986c8b3dSmrg <field name="physIndicators" type="CARD32" /> 756986c8b3dSmrg <field name="state" type="CARD32" /> 757986c8b3dSmrg <list name="names" type="ATOM"> 758986c8b3dSmrg <popcount> 759986c8b3dSmrg <fieldref>namesPresent</fieldref> 760986c8b3dSmrg </popcount> 761986c8b3dSmrg </list> 762986c8b3dSmrg <list name="maps" type="IndicatorMap"> 763986c8b3dSmrg <popcount> 764986c8b3dSmrg <fieldref>mapsPresent</fieldref> 765986c8b3dSmrg </popcount> 766986c8b3dSmrg </list> 767986c8b3dSmrg </struct> 768986c8b3dSmrg 769986c8b3dSmrg <!-- Errors --> 770986c8b3dSmrg 771986c8b3dSmrg <enum name="Error"> 772986c8b3dSmrg <item name="BadDevice"> <value>255</value> </item> <!--0xff--> 773986c8b3dSmrg <item name="BadClass"> <value>254</value> </item> <!--0xfe--> 774986c8b3dSmrg <item name="BadId"> <value>253</value> </item> <!--0xfd--> 775986c8b3dSmrg </enum> 776986c8b3dSmrg 777986c8b3dSmrg <error name="Keyboard" number="0"> 778986c8b3dSmrg <field name="value" type="CARD32" /> 779986c8b3dSmrg <field name="minorOpcode" type="CARD16" /> 780986c8b3dSmrg <field name="majorOpcode" type="CARD8" /> 781986c8b3dSmrg <pad bytes="21" /> 782986c8b3dSmrg </error> 783986c8b3dSmrg 784986c8b3dSmrg <!-- Key Actions --> 785986c8b3dSmrg 786986c8b3dSmrg <enum name="SA"> 787986c8b3dSmrg <item name="ClearLocks"> <bit>0</bit> </item> 788986c8b3dSmrg <item name="LatchToLock"> <bit>1</bit> </item> 789986c8b3dSmrg <item name="UseModMapMods"> <bit>2</bit> </item> 790986c8b3dSmrg <item name="GroupAbsolute"> <bit>2</bit> </item> 791986c8b3dSmrg </enum> 792986c8b3dSmrg 793986c8b3dSmrg <enum name="SAType"> 794986c8b3dSmrg <item name="NoAction"> <value>0</value> </item> 795986c8b3dSmrg <item name="SetMods"> <value>1</value> </item> 796986c8b3dSmrg <item name="LatchMods"> <value>2</value> </item> 797986c8b3dSmrg <item name="LockMods"> <value>3</value> </item> 798986c8b3dSmrg <item name="SetGroup"> <value>4</value> </item> 799986c8b3dSmrg <item name="LatchGroup"> <value>5</value> </item> 800986c8b3dSmrg <item name="LockGroup"> <value>6</value> </item> 801986c8b3dSmrg <item name="MovePtr"> <value>7</value> </item> 802986c8b3dSmrg <item name="PtrBtn"> <value>8</value> </item> 803986c8b3dSmrg <item name="LockPtrBtn"> <value>9</value> </item> 804986c8b3dSmrg <item name="SetPtrDflt"> <value>10</value> </item> 805986c8b3dSmrg <item name="ISOLock"> <value>11</value> </item> 806986c8b3dSmrg <item name="Terminate"> <value>12</value> </item> 807986c8b3dSmrg <item name="SwitchScreen"> <value>13</value> </item> 808986c8b3dSmrg <item name="SetControls"> <value>14</value> </item> 809986c8b3dSmrg <item name="LockControls"> <value>15</value> </item> 810986c8b3dSmrg <item name="ActionMessage"> <value>16</value> </item> 811986c8b3dSmrg <item name="RedirectKey"> <value>17</value> </item> 812986c8b3dSmrg <item name="DeviceBtn"> <value>18</value> </item> 813986c8b3dSmrg <item name="LockDeviceBtn"> <value>19</value> </item> 814986c8b3dSmrg <item name="DeviceValuator"> <value>20</value> </item> 815986c8b3dSmrg </enum> 816986c8b3dSmrg 817986c8b3dSmrg <struct name="SANoAction"> 818986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 819986c8b3dSmrg <pad bytes="7" /> 820986c8b3dSmrg </struct> 821986c8b3dSmrg 822986c8b3dSmrg <struct name="SASetMods"> 823986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 824986c8b3dSmrg <field name="flags" type="CARD8" mask="SA" /> 825986c8b3dSmrg <field name="mask" type="CARD8" mask="ModMask" /> 826986c8b3dSmrg <field name="realMods" type="CARD8" mask="ModMask" /> 827986c8b3dSmrg <field name="vmodsHigh" type="CARD8" mask="VModsHigh" /> 828986c8b3dSmrg <field name="vmodsLow" type="CARD8" mask="VModsLow" /> 829986c8b3dSmrg <pad bytes="2" /> 830986c8b3dSmrg </struct> 831986c8b3dSmrg 832986c8b3dSmrg <typedef oldname="SASetMods" newname="SALatchMods" /> 833986c8b3dSmrg 834986c8b3dSmrg <typedef oldname="SASetMods" newname="SALockMods" /> 835986c8b3dSmrg 836986c8b3dSmrg <struct name="SASetGroup"> 837986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 838986c8b3dSmrg <field name="flags" type="CARD8" mask="SA" /> 839986c8b3dSmrg <field name="group" type="INT8" /> 840986c8b3dSmrg <pad bytes="5" /> 841986c8b3dSmrg </struct> 842986c8b3dSmrg 843986c8b3dSmrg <typedef oldname="SASetGroup" newname="SALatchGroup" /> 844986c8b3dSmrg 845986c8b3dSmrg <typedef oldname="SASetGroup" newname="SALockGroup" /> 846986c8b3dSmrg 847986c8b3dSmrg <enum name="SAMovePtrFlag"> 848986c8b3dSmrg <item name="NoAcceleration"> <bit>0</bit> </item> 849986c8b3dSmrg <item name="MoveAbsoluteX"> <bit>1</bit> </item> 850986c8b3dSmrg <item name="MoveAbsoluteY"> <bit>2</bit> </item> 851986c8b3dSmrg </enum> 852986c8b3dSmrg 853986c8b3dSmrg <struct name="SAMovePtr"> 854986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 855986c8b3dSmrg <field name="flags" type="CARD8" mask="SAMovePtrFlag" /> 856986c8b3dSmrg <field name="xHigh" type="INT8" /> 857986c8b3dSmrg <field name="xLow" type="CARD8" /> 858986c8b3dSmrg <field name="yHigh" type="INT8" /> 859986c8b3dSmrg <field name="yLow" type="CARD8" /> 860986c8b3dSmrg <pad bytes="2" /> 861986c8b3dSmrg </struct> 862986c8b3dSmrg 863986c8b3dSmrg <struct name="SAPtrBtn"> 864986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 865986c8b3dSmrg <field name="flags" type="CARD8" /> 866986c8b3dSmrg <field name="count" type="CARD8" /> 867986c8b3dSmrg <field name="button" type="CARD8" /> 868986c8b3dSmrg <pad bytes="4" /> 869986c8b3dSmrg </struct> 870986c8b3dSmrg 871986c8b3dSmrg <struct name="SALockPtrBtn"> 872986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 873986c8b3dSmrg <field name="flags" type="CARD8" /> 874986c8b3dSmrg <pad bytes="1" /> 875986c8b3dSmrg <field name="button" type="CARD8" /> 876986c8b3dSmrg <pad bytes="4" /> 877986c8b3dSmrg </struct> 878986c8b3dSmrg 879986c8b3dSmrg <enum name="SASetPtrDfltFlag"> 880f591e195Smrg <!-- The spec says 0x02 but Xlib uses 0x04. --> 881f591e195Smrg <item name="DfltBtnAbsolute"> <bit>2</bit> </item> 882986c8b3dSmrg <item name="AffectDfltButton"> <bit>0</bit> </item> 883986c8b3dSmrg </enum> 884986c8b3dSmrg 885986c8b3dSmrg <struct name="SASetPtrDflt"> 886986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 887986c8b3dSmrg <field name="flags" type="CARD8" mask="SASetPtrDfltFlag" /> 888986c8b3dSmrg <field name="affect" type="CARD8" mask="SASetPtrDfltFlag" /> 889986c8b3dSmrg <field name="value" type="INT8" /> 890986c8b3dSmrg <pad bytes="4" /> 891986c8b3dSmrg </struct> 892986c8b3dSmrg 893986c8b3dSmrg <enum name="SAIsoLockFlag"> 894986c8b3dSmrg <item name="NoLock"> <bit>0</bit> </item> 895986c8b3dSmrg <item name="NoUnlock"> <bit>1</bit> </item> 896986c8b3dSmrg <item name="UseModMapMods"> <bit>2</bit> </item> 897986c8b3dSmrg <item name="GroupAbsolute"> <bit>2</bit> </item> 898986c8b3dSmrg <item name="ISODfltIsGroup"> <bit>3</bit> </item> 899986c8b3dSmrg </enum> 900986c8b3dSmrg 901986c8b3dSmrg <enum name="SAIsoLockNoAffect"> 902986c8b3dSmrg <item name="Ctrls"> <bit>3</bit> </item> 903986c8b3dSmrg <item name="Ptr"> <bit>4</bit> </item> 904986c8b3dSmrg <item name="Group"> <bit>5</bit> </item> 905986c8b3dSmrg <item name="Mods"> <bit>6</bit> </item> 906986c8b3dSmrg </enum> 907986c8b3dSmrg 908986c8b3dSmrg <struct name="SAIsoLock"> 909986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 910986c8b3dSmrg <field name="flags" type="CARD8" mask="SAIsoLockFlag" /> 911986c8b3dSmrg <field name="mask" type="CARD8" mask="ModMask" /> 912986c8b3dSmrg <field name="realMods" type="CARD8" mask="ModMask" /> 913986c8b3dSmrg <field name="group" type="INT8" /> 914986c8b3dSmrg <field name="affect" type="CARD8" mask="SAIsoLockNoAffect" /> 915986c8b3dSmrg <field name="vmodsHigh" type="CARD8" mask="VModsHigh" /> 916986c8b3dSmrg <field name="vmodsLow" type="CARD8" mask="VModsLow" /> 917986c8b3dSmrg </struct> 918986c8b3dSmrg 919986c8b3dSmrg <struct name="SATerminate"> 920986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 921986c8b3dSmrg <pad bytes="7" /> 922986c8b3dSmrg </struct> 923986c8b3dSmrg 924986c8b3dSmrg <enum name="SwitchScreenFlag"> 925986c8b3dSmrg <item name="Application"> <bit>0</bit> </item> 926986c8b3dSmrg <item name="Absolute" > <bit>2</bit> </item> 927986c8b3dSmrg </enum> 928986c8b3dSmrg 929986c8b3dSmrg <struct name="SASwitchScreen"> 930986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 931986c8b3dSmrg <field name="flags" type="CARD8" /> 932986c8b3dSmrg <field name="newScreen" type="INT8" /> 933986c8b3dSmrg <pad bytes="5" /> 934986c8b3dSmrg </struct> 935986c8b3dSmrg 936986c8b3dSmrg <enum name="BoolCtrlsHigh"> 937986c8b3dSmrg <item name="AccessXFeedback"> <bit>0</bit> </item> 938986c8b3dSmrg <item name="AudibleBell"> <bit>1</bit> </item> 939986c8b3dSmrg <item name="Overlay1"> <bit>2</bit> </item> 940986c8b3dSmrg <item name="Overlay2"> <bit>3</bit> </item> 941986c8b3dSmrg <item name="IgnoreGroupLock"> <bit>4</bit> </item> 942986c8b3dSmrg </enum> 943986c8b3dSmrg 944986c8b3dSmrg <enum name="BoolCtrlsLow"> 945986c8b3dSmrg <item name="RepeatKeys"> <bit>0</bit> </item> 946986c8b3dSmrg <item name="SlowKeys"> <bit>1</bit> </item> 947986c8b3dSmrg <item name="BounceKeys"> <bit>2</bit> </item> 948986c8b3dSmrg <item name="StickyKeys"> <bit>3</bit> </item> 949986c8b3dSmrg <item name="MouseKeys"> <bit>4</bit> </item> 950986c8b3dSmrg <item name="MouseKeysAccel"> <bit>5</bit> </item> 951986c8b3dSmrg <item name="AccessXKeys"> <bit>6</bit> </item> 952986c8b3dSmrg <item name="AccessXTimeout"> <bit>7</bit> </item> 953986c8b3dSmrg </enum> 954986c8b3dSmrg 955986c8b3dSmrg <struct name="SASetControls"> 956986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 957986c8b3dSmrg <pad bytes="3" /> 958986c8b3dSmrg <field name="boolCtrlsHigh" type="CARD8" mask="BoolCtrlsHigh" /> 959986c8b3dSmrg <field name="boolCtrlsLow" type="CARD8" mask="BoolCtrlsLow" /> 960986c8b3dSmrg <pad bytes="2" /> 961986c8b3dSmrg </struct> 962986c8b3dSmrg 963986c8b3dSmrg <typedef oldname="SASetControls" newname="SALockControls" /> 964986c8b3dSmrg 965986c8b3dSmrg <enum name="ActionMessageFlag"> 966986c8b3dSmrg <item name="OnPress"> <bit>0</bit> </item> 967986c8b3dSmrg <item name="OnRelease"> <bit>1</bit> </item> 968986c8b3dSmrg <item name="GenKeyEvent"> <bit>2</bit> </item> 969986c8b3dSmrg </enum> 970986c8b3dSmrg 971986c8b3dSmrg <struct name="SAActionMessage"> 972986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 973986c8b3dSmrg <field name="flags" type="CARD8" mask="ActionMessageFlag" /> 974986c8b3dSmrg <list name="message" type="CARD8"> 975986c8b3dSmrg <value>6</value> 976986c8b3dSmrg </list> 977986c8b3dSmrg </struct> 978986c8b3dSmrg 979986c8b3dSmrg <struct name="SARedirectKey"> 980986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 981986c8b3dSmrg <field name="newkey" type="KEYCODE" /> 982986c8b3dSmrg <field name="mask" type="CARD8" mask="ModMask" /> 983986c8b3dSmrg <field name="realModifiers" type="CARD8" mask="ModMask" /> 984986c8b3dSmrg <field name="vmodsMaskHigh" type="CARD8" mask="VModsHigh"/> 985986c8b3dSmrg <field name="vmodsMaskLow" type="CARD8" mask="VModsLow"/> 986986c8b3dSmrg <field name="vmodsHigh" type="CARD8" mask="VModsHigh"/> 987986c8b3dSmrg <field name="vmodsLow" type="CARD8" mask="VModsLow"/> 988986c8b3dSmrg </struct> 989986c8b3dSmrg 990986c8b3dSmrg <struct name="SADeviceBtn"> 991986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 992986c8b3dSmrg <field name="flags" type="CARD8" /> 993986c8b3dSmrg <field name="count" type="CARD8" /> 994986c8b3dSmrg <field name="button" type="CARD8" /> 995986c8b3dSmrg <field name="device" type="CARD8" /> 996986c8b3dSmrg <pad bytes="3" /> 997986c8b3dSmrg </struct> 998986c8b3dSmrg 999986c8b3dSmrg <enum name="LockDeviceFlags"> 1000986c8b3dSmrg <item name="NoLock"> <bit>0</bit> </item> 1001986c8b3dSmrg <item name="NoUnlock"> <bit>1</bit> </item> 1002986c8b3dSmrg </enum> 1003986c8b3dSmrg 1004986c8b3dSmrg <struct name="SALockDeviceBtn"> 1005986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 1006986c8b3dSmrg <field name="flags" type="CARD8" mask="LockDeviceFlags" /> 1007986c8b3dSmrg <pad bytes="1" /> 1008986c8b3dSmrg <field name="button" type="CARD8" /> 1009986c8b3dSmrg <field name="device" type="CARD8" /> 1010f591e195Smrg <pad bytes="3" /> 1011986c8b3dSmrg </struct> 1012986c8b3dSmrg 1013986c8b3dSmrg <enum name="SAValWhat"> 1014986c8b3dSmrg <item name="IgnoreVal"> <value>0</value> </item> 1015986c8b3dSmrg <item name="SetValMin"> <value>1</value> </item> 1016986c8b3dSmrg <item name="SetValCenter"> <value>2</value> </item> 1017986c8b3dSmrg <item name="SetValMax"> <value>3</value> </item> 1018986c8b3dSmrg <item name="SetValRelative"> <value>4</value> </item> 1019986c8b3dSmrg <item name="SetValAbsolute"> <value>5</value> </item> 1020986c8b3dSmrg </enum> 1021986c8b3dSmrg 1022986c8b3dSmrg <struct name="SADeviceValuator"> 1023986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 1024986c8b3dSmrg <field name="device" type="CARD8" /> 1025986c8b3dSmrg <field name="val1what" type="CARD8" enum="SAValWhat" /> 1026986c8b3dSmrg <field name="val1index" type="CARD8" /> 1027986c8b3dSmrg <field name="val1value" type="CARD8" /> 1028986c8b3dSmrg <field name="val2what" type="CARD8" enum="SAValWhat" /> 1029986c8b3dSmrg <field name="val2index" type="CARD8" /> 1030986c8b3dSmrg <field name="val2value" type="CARD8" /> 1031986c8b3dSmrg </struct> 1032986c8b3dSmrg 1033f591e195Smrg <struct name="SIAction"> 1034f591e195Smrg <field name="type" type="CARD8" enum="SAType" /> 1035f591e195Smrg <list name="data" type="CARD8"> 1036f591e195Smrg <value>7</value> 1037f591e195Smrg </list> 1038f591e195Smrg </struct> 1039f591e195Smrg 1040f591e195Smrg <struct name="SymInterpret"> 1041f591e195Smrg <field name="sym" type="KEYSYM" /> 1042f591e195Smrg <field name="mods" type="CARD8" mask="ModMask" /> 1043f591e195Smrg <!-- "match" may also have XkbSI_LevelOneOnly (0x80) or'd into it --> 1044f591e195Smrg <field name="match" type="CARD8" altenum="SymInterpretMatch" /> 1045f591e195Smrg <field name="virtualMod" type="CARD8" mask="VModsLow" /> 1046f591e195Smrg <field name="flags" type="CARD8" /> 1047f591e195Smrg <field name="action" type="SIAction" /> 1048f591e195Smrg </struct> 1049f591e195Smrg 1050986c8b3dSmrg <union name="Action"> 1051986c8b3dSmrg <field name="noaction" type="SANoAction" /> 1052986c8b3dSmrg <field name="setmods" type="SASetMods" /> 1053986c8b3dSmrg <field name="latchmods" type="SALatchMods" /> 1054986c8b3dSmrg <field name="lockmods" type="SALockMods" /> 1055986c8b3dSmrg <field name="setgroup" type="SASetGroup" /> 1056986c8b3dSmrg <field name="latchgroup" type="SALatchGroup" /> 1057986c8b3dSmrg <field name="lockgroup" type="SALockGroup" /> 1058986c8b3dSmrg <field name="moveptr" type="SAMovePtr" /> 1059986c8b3dSmrg <field name="ptrbtn" type="SAPtrBtn" /> 1060986c8b3dSmrg <field name="lockptrbtn" type="SALockPtrBtn" /> 1061986c8b3dSmrg <field name="setptrdflt" type="SASetPtrDflt" /> 1062986c8b3dSmrg <field name="isolock" type="SAIsoLock" /> 1063986c8b3dSmrg <field name="terminate" type="SATerminate" /> 1064986c8b3dSmrg <field name="switchscreen" type="SASwitchScreen" /> 1065986c8b3dSmrg <field name="setcontrols" type="SASetControls" /> 1066986c8b3dSmrg <field name="lockcontrols" type="SALockControls" /> 1067986c8b3dSmrg <field name="message" type="SAActionMessage" /> 1068986c8b3dSmrg <field name="redirect" type="SARedirectKey" /> 1069986c8b3dSmrg <field name="devbtn" type="SADeviceBtn" /> 1070986c8b3dSmrg <field name="lockdevbtn" type="SALockDeviceBtn" /> 1071986c8b3dSmrg <field name="devval" type="SADeviceValuator" /> 1072986c8b3dSmrg <field name="type" type="CARD8" enum="SAType" /> 1073986c8b3dSmrg </union> 1074986c8b3dSmrg 1075986c8b3dSmrg <!-- Requests --> 1076986c8b3dSmrg 1077986c8b3dSmrg <request name="UseExtension" opcode="0"> 1078986c8b3dSmrg <field name="wantedMajor" type="CARD16" /> 1079986c8b3dSmrg <field name="wantedMinor" type="CARD16" /> 1080986c8b3dSmrg <reply> 1081986c8b3dSmrg <field name="supported" type="BOOL" /> 1082986c8b3dSmrg <field name="serverMajor" type="CARD16" /> 1083986c8b3dSmrg <field name="serverMinor" type="CARD16" /> 1084986c8b3dSmrg <pad bytes="20" /> 1085986c8b3dSmrg </reply> 1086986c8b3dSmrg </request> 1087986c8b3dSmrg 1088986c8b3dSmrg <request name="SelectEvents" opcode="1"> 1089986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1090f591e195Smrg <field name="affectWhich" type="CARD16" mask="EventType" /> 1091f591e195Smrg <field name="clear" type="CARD16" mask="EventType" /> 1092f591e195Smrg <field name="selectAll" type="CARD16" mask="EventType" /> 1093f591e195Smrg <field name="affectMap" type="CARD16" mask="MapPart" /> 1094f591e195Smrg <field name="map" type="CARD16" mask="MapPart" /> 1095986c8b3dSmrg <switch name="details"> 1096986c8b3dSmrg <op op="&"> 1097986c8b3dSmrg <fieldref>affectWhich</fieldref> 1098986c8b3dSmrg <op op="&"> 1099986c8b3dSmrg <unop op="~"><fieldref>clear</fieldref></unop> 1100986c8b3dSmrg <unop op="~"><fieldref>selectAll</fieldref></unop> 1101986c8b3dSmrg </op> 1102986c8b3dSmrg </op> 1103986c8b3dSmrg <bitcase> 1104986c8b3dSmrg <enumref ref="EventType">NewKeyboardNotify</enumref> 1105986c8b3dSmrg <field name="affectNewKeyboard" type="CARD16" mask="NKNDetail" /> 1106986c8b3dSmrg <field name="newKeyboardDetails" type="CARD16" mask="NKNDetail" /> 1107986c8b3dSmrg </bitcase> 1108986c8b3dSmrg <bitcase> 1109986c8b3dSmrg <enumref ref="EventType">StateNotify</enumref> 1110986c8b3dSmrg <field name="affectState" type="CARD16" mask="StatePart" /> 1111986c8b3dSmrg <field name="stateDetails" type="CARD16" mask="StatePart" /> 1112986c8b3dSmrg </bitcase> 1113986c8b3dSmrg <bitcase> 1114986c8b3dSmrg <enumref ref="EventType">ControlsNotify</enumref> 1115986c8b3dSmrg <field name="affectCtrls" type="CARD32" mask="Control" /> 1116986c8b3dSmrg <field name="ctrlDetails" type="CARD32" mask="Control" /> 1117986c8b3dSmrg </bitcase> 1118986c8b3dSmrg <bitcase> 1119986c8b3dSmrg <enumref ref="EventType">IndicatorStateNotify</enumref> 1120986c8b3dSmrg <field name="affectIndicatorState" type="CARD32" /> 1121986c8b3dSmrg <field name="indicatorStateDetails" type="CARD32" /> 1122986c8b3dSmrg </bitcase> 1123986c8b3dSmrg <bitcase> 1124986c8b3dSmrg <enumref ref="EventType">IndicatorMapNotify</enumref> 1125986c8b3dSmrg <field name="affectIndicatorMap" type="CARD32" /> 1126986c8b3dSmrg <field name="indicatorMapDetails" type="CARD32" /> 1127986c8b3dSmrg </bitcase> 1128986c8b3dSmrg <bitcase> 1129986c8b3dSmrg <enumref ref="EventType">NamesNotify</enumref> 1130986c8b3dSmrg <field name="affectNames" type="CARD16" mask="NameDetail" /> 1131986c8b3dSmrg <field name="namesDetails" type="CARD16" mask="NameDetail" /> 1132986c8b3dSmrg </bitcase> 1133986c8b3dSmrg <bitcase> 1134986c8b3dSmrg <enumref ref="EventType">CompatMapNotify</enumref> 1135986c8b3dSmrg <field name="affectCompat" type="CARD8" mask="CMDetail" /> 1136986c8b3dSmrg <field name="compatDetails" type="CARD8" mask="CMDetail" /> 1137986c8b3dSmrg </bitcase> 1138986c8b3dSmrg <bitcase> 1139986c8b3dSmrg <enumref ref="EventType">BellNotify</enumref> 1140986c8b3dSmrg <field name="affectBell" type="CARD8" /> 1141986c8b3dSmrg <field name="bellDetails" type="CARD8" /> 1142986c8b3dSmrg </bitcase> 1143986c8b3dSmrg <bitcase> 1144986c8b3dSmrg <enumref ref="EventType">ActionMessage</enumref> 1145986c8b3dSmrg <field name="affectMsgDetails" type="CARD8" /> 1146986c8b3dSmrg <field name="msgDetails" type="CARD8" /> 1147986c8b3dSmrg </bitcase> 1148986c8b3dSmrg <bitcase> 1149986c8b3dSmrg <enumref ref="EventType">AccessXNotify</enumref> 1150986c8b3dSmrg <field name="affectAccessX" type="CARD16" mask="AXNDetail" /> 1151986c8b3dSmrg <field name="accessXDetails" type="CARD16" mask="AXNDetail" /> 1152986c8b3dSmrg </bitcase> 1153986c8b3dSmrg <bitcase> 1154986c8b3dSmrg <enumref ref="EventType">ExtensionDeviceNotify</enumref> 1155986c8b3dSmrg <field name="affectExtDev" type="CARD16" mask="XIFeature" /> 1156986c8b3dSmrg <field name="extdevDetails" type="CARD16" mask="XIFeature" /> 1157986c8b3dSmrg </bitcase> 1158986c8b3dSmrg </switch> 1159986c8b3dSmrg </request> 1160986c8b3dSmrg 1161986c8b3dSmrg <request name="Bell" opcode="3"> 1162986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1163986c8b3dSmrg <field name="bellClass" type="BellClassSpec" /> 1164986c8b3dSmrg <field name="bellID" type="IDSpec" /> 1165986c8b3dSmrg <field name="percent" type="INT8" /> 1166986c8b3dSmrg <field name="forceSound" type="BOOL" /> 1167986c8b3dSmrg <field name="eventOnly" type="BOOL" /> 1168986c8b3dSmrg <pad bytes="1" /> 1169986c8b3dSmrg <field name="pitch" type="INT16" /> 1170986c8b3dSmrg <field name="duration" type="INT16" /> 1171986c8b3dSmrg <pad bytes="2" /> 1172986c8b3dSmrg <field name="name" type="ATOM" /> 1173986c8b3dSmrg <field name="window" type="WINDOW" /> 1174986c8b3dSmrg </request> 1175986c8b3dSmrg 1176986c8b3dSmrg <request name="GetState" opcode="4"> 1177986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1178986c8b3dSmrg <pad bytes="2" /> 1179986c8b3dSmrg <reply> 1180986c8b3dSmrg <field name="deviceID" type="CARD8" /> 1181986c8b3dSmrg <field name="mods" type="CARD8" mask="ModMask" /> 1182986c8b3dSmrg <field name="baseMods" type="CARD8" mask="ModMask" /> 1183986c8b3dSmrg <field name="latchedMods" type="CARD8" mask="ModMask" /> 1184986c8b3dSmrg <field name="lockedMods" type="CARD8" mask="ModMask" /> 1185986c8b3dSmrg <field name="group" type="CARD8" enum="Group" /> 1186986c8b3dSmrg <field name="lockedGroup" type="CARD8" enum="Group" /> 1187986c8b3dSmrg <field name="baseGroup" type="INT16" /> 1188986c8b3dSmrg <field name="latchedGroup" type="INT16" /> 1189986c8b3dSmrg <field name="compatState" type="CARD8" mask="ModMask" /> 1190986c8b3dSmrg <field name="grabMods" type="CARD8" mask="ModMask" /> 1191986c8b3dSmrg <field name="compatGrabMods" type="CARD8" mask="ModMask" /> 1192986c8b3dSmrg <field name="lookupMods" type="CARD8" mask="ModMask" /> 1193986c8b3dSmrg <field name="compatLookupMods" type="CARD8" mask="ModMask" /> 1194986c8b3dSmrg <pad bytes="1" /> 1195986c8b3dSmrg <field name="ptrBtnState" type="CARD16" mask="KeyButMask" /> 1196986c8b3dSmrg <pad bytes="6" /> 1197986c8b3dSmrg </reply> 1198986c8b3dSmrg </request> 1199986c8b3dSmrg 1200986c8b3dSmrg <request name="LatchLockState" opcode="5"> 1201986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1202986c8b3dSmrg <field name="affectModLocks" type="CARD8" mask="ModMask" /> 1203986c8b3dSmrg <field name="modLocks" type="CARD8" mask="ModMask" /> 1204986c8b3dSmrg <field name="lockGroup" type="BOOL" /> 1205986c8b3dSmrg <field name="groupLock" type="CARD8" enum="Group" /> 1206986c8b3dSmrg <field name="affectModLatches" type="CARD8" mask="ModMask" /> 1207986c8b3dSmrg <pad bytes="1" /> 1208986c8b3dSmrg <field name="latchGroup" type="BOOL" /> 1209986c8b3dSmrg <field name="groupLatch" type="CARD16" /> 1210986c8b3dSmrg </request> 1211986c8b3dSmrg 1212986c8b3dSmrg <request name="GetControls" opcode="6"> 1213986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1214986c8b3dSmrg <pad bytes="2" /> 1215986c8b3dSmrg <reply> 1216986c8b3dSmrg <field name="deviceID" type="CARD8" /> 1217986c8b3dSmrg <field name="mouseKeysDfltBtn" type="CARD8" /> 1218986c8b3dSmrg <field name="numGroups" type="CARD8" /> 1219986c8b3dSmrg <field name="groupsWrap" type="CARD8" /> 1220986c8b3dSmrg <field name="internalModsMask" type="CARD8" mask="ModMask" /> 1221986c8b3dSmrg <field name="ignoreLockModsMask" type="CARD8" mask="ModMask" /> 1222986c8b3dSmrg <field name="internalModsRealMods" type="CARD8" mask="ModMask" /> 1223986c8b3dSmrg <field name="ignoreLockModsRealMods" type="CARD8" mask="ModMask" /> 1224986c8b3dSmrg <pad bytes="1" /> 1225986c8b3dSmrg <field name="internalModsVmods" type="CARD16" mask="VMod" /> 1226986c8b3dSmrg <field name="ignoreLockModsVmods" type="CARD16" mask="VMod" /> 1227986c8b3dSmrg <field name="repeatDelay" type="CARD16" /> 1228986c8b3dSmrg <field name="repeatInterval" type="CARD16" /> 1229986c8b3dSmrg <field name="slowKeysDelay" type="CARD16" /> 1230986c8b3dSmrg <field name="debounceDelay" type="CARD16" /> 1231986c8b3dSmrg <field name="mouseKeysDelay" type="CARD16" /> 1232986c8b3dSmrg <field name="mouseKeysInterval" type="CARD16" /> 1233986c8b3dSmrg <field name="mouseKeysTimeToMax" type="CARD16" /> 1234986c8b3dSmrg <field name="mouseKeysMaxSpeed" type="CARD16" /> 1235986c8b3dSmrg <field name="mouseKeysCurve" type="INT16" /> 1236f591e195Smrg <field name="accessXOption" type="CARD16" mask="AXOption" /> 1237986c8b3dSmrg <field name="accessXTimeout" type="CARD16" /> 1238f591e195Smrg <field name="accessXTimeoutOptionsMask" type="CARD16" mask="AXOption" /> 1239f591e195Smrg <field name="accessXTimeoutOptionsValues" type="CARD16" mask="AXOption" /> 1240986c8b3dSmrg <pad bytes="2" /> 1241f591e195Smrg <field name="accessXTimeoutMask" type="CARD32" mask="BoolCtrl" /> 1242f591e195Smrg <field name="accessXTimeoutValues" type="CARD32" mask="BoolCtrl" /> 1243f591e195Smrg <field name="enabledControls" type="CARD32" mask="BoolCtrl" /> 1244986c8b3dSmrg <list name="perKeyRepeat" type="CARD8"> 1245986c8b3dSmrg <value>32</value> 1246986c8b3dSmrg </list> 1247986c8b3dSmrg </reply> 1248986c8b3dSmrg </request> 1249986c8b3dSmrg 1250986c8b3dSmrg <request name="SetControls" opcode="7"> 1251986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1252986c8b3dSmrg <field name="affectInternalRealMods" type="CARD8" mask="ModMask" /> 1253986c8b3dSmrg <field name="internalRealMods" type="CARD8" mask="ModMask" /> 1254986c8b3dSmrg <field name="affectIgnoreLockRealMods" type="CARD8" mask="ModMask" /> 1255986c8b3dSmrg <field name="ignoreLockRealMods" type="CARD8" mask="ModMask" /> 1256986c8b3dSmrg <field name="affectInternalVirtualMods" type="CARD16" mask="VMod" /> 1257986c8b3dSmrg <field name="internalVirtualMods" type="CARD16" mask="VMod" /> 1258986c8b3dSmrg <field name="affectIgnoreLockVirtualMods" type="CARD16" mask="VMod" /> 1259986c8b3dSmrg <field name="ignoreLockVirtualMods" type="CARD16" mask="VMod" /> 1260986c8b3dSmrg <field name="mouseKeysDfltBtn" type="CARD8" /> 1261986c8b3dSmrg <field name="groupsWrap" type="CARD8" /> 1262f591e195Smrg <field name="accessXOptions" type="CARD16" mask="AXOption" /> 1263986c8b3dSmrg <pad bytes="2" /> 1264f591e195Smrg <field name="affectEnabledControls" type="CARD32" mask="BoolCtrl" /> 1265f591e195Smrg <field name="enabledControls" type="CARD32" mask="BoolCtrl" /> 1266986c8b3dSmrg <field name="changeControls" type="CARD32" mask="Control" /> 1267986c8b3dSmrg <field name="repeatDelay" type="CARD16" /> 1268986c8b3dSmrg <field name="repeatInterval" type="CARD16" /> 1269986c8b3dSmrg <field name="slowKeysDelay" type="CARD16" /> 1270986c8b3dSmrg <field name="debounceDelay" type="CARD16" /> 1271986c8b3dSmrg <field name="mouseKeysDelay" type="CARD16" /> 1272986c8b3dSmrg <field name="mouseKeysInterval" type="CARD16" /> 1273986c8b3dSmrg <field name="mouseKeysTimeToMax" type="CARD16" /> 1274986c8b3dSmrg <field name="mouseKeysMaxSpeed" type="CARD16" /> 1275986c8b3dSmrg <field name="mouseKeysCurve" type="INT16" /> 1276986c8b3dSmrg <field name="accessXTimeout" type="CARD16" /> 1277f591e195Smrg <field name="accessXTimeoutMask" type="CARD32" mask="BoolCtrl" /> 1278f591e195Smrg <field name="accessXTimeoutValues" type="CARD32" mask="BoolCtrl" /> 1279f591e195Smrg <field name="accessXTimeoutOptionsMask" type="CARD16" mask="AXOption" /> 1280f591e195Smrg <field name="accessXTimeoutOptionsValues" type="CARD16" mask="AXOption" /> 1281986c8b3dSmrg <list name="perKeyRepeat" type="CARD8"> 1282986c8b3dSmrg <value>32</value> 1283986c8b3dSmrg </list> 1284986c8b3dSmrg </request> 1285986c8b3dSmrg 1286986c8b3dSmrg <request name="GetMap" opcode="8"> 1287986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1288f591e195Smrg <field name="full" type="CARD16" mask="MapPart" /> 1289f591e195Smrg <field name="partial" type="CARD16" mask="MapPart" /> 1290986c8b3dSmrg <field name="firstType" type="CARD8" /> 1291986c8b3dSmrg <field name="nTypes" type="CARD8" /> 1292986c8b3dSmrg <field name="firstKeySym" type="KEYCODE" /> 1293986c8b3dSmrg <field name="nKeySyms" type="CARD8" /> 1294986c8b3dSmrg <field name="firstKeyAction" type="KEYCODE" /> 1295986c8b3dSmrg <field name="nKeyActions" type="CARD8" /> 1296986c8b3dSmrg <field name="firstKeyBehavior" type="KEYCODE" /> 1297986c8b3dSmrg <field name="nKeyBehaviors" type="CARD8" /> 1298986c8b3dSmrg <field name="virtualMods" type="CARD16" mask="VMod" /> 1299986c8b3dSmrg <field name="firstKeyExplicit" type="KEYCODE" /> 1300986c8b3dSmrg <field name="nKeyExplicit" type="CARD8" /> 1301986c8b3dSmrg <field name="firstModMapKey" type="KEYCODE" /> 1302986c8b3dSmrg <field name="nModMapKeys" type="CARD8" /> 1303986c8b3dSmrg <field name="firstVModMapKey" type="KEYCODE" /> 1304986c8b3dSmrg <field name="nVModMapKeys" type="CARD8" /> 1305986c8b3dSmrg <pad bytes="2" /> 1306986c8b3dSmrg <reply> 1307986c8b3dSmrg <field name="deviceID" type="CARD8" /> 1308986c8b3dSmrg <pad bytes="2" /> 1309986c8b3dSmrg <field name="minKeyCode" type="KEYCODE" /> 1310986c8b3dSmrg <field name="maxKeyCode" type="KEYCODE" /> 1311f591e195Smrg <field name="present" type="CARD16" mask="MapPart" /> 1312986c8b3dSmrg <field name="firstType" type="CARD8" /> 1313986c8b3dSmrg <field name="nTypes" type="CARD8" /> 1314986c8b3dSmrg <field name="totalTypes" type="CARD8" /> 1315986c8b3dSmrg <field name="firstKeySym" type="KEYCODE" /> 1316986c8b3dSmrg <field name="totalSyms" type="CARD16" /> 1317986c8b3dSmrg <field name="nKeySyms" type="CARD8" /> 1318986c8b3dSmrg <field name="firstKeyAction" type="KEYCODE" /> 1319986c8b3dSmrg <field name="totalActions" type="CARD16" /> 1320986c8b3dSmrg <field name="nKeyActions" type="CARD8" /> 1321986c8b3dSmrg <field name="firstKeyBehavior" type="KEYCODE" /> 1322986c8b3dSmrg <field name="nKeyBehaviors" type="CARD8" /> 1323986c8b3dSmrg <field name="totalKeyBehaviors" type="CARD8" /> 1324986c8b3dSmrg <field name="firstKeyExplicit" type="KEYCODE" /> 1325986c8b3dSmrg <field name="nKeyExplicit" type="CARD8" /> 1326986c8b3dSmrg <field name="totalKeyExplicit" type="CARD8" /> 1327986c8b3dSmrg <field name="firstModMapKey" type="KEYCODE" /> 1328986c8b3dSmrg <field name="nModMapKeys" type="CARD8" /> 1329986c8b3dSmrg <field name="totalModMapKeys" type="CARD8" /> 1330986c8b3dSmrg <field name="firstVModMapKey" type="KEYCODE" /> 1331986c8b3dSmrg <field name="nVModMapKeys" type="CARD8" /> 1332986c8b3dSmrg <field name="totalVModMapKeys" type="CARD8" /> 1333986c8b3dSmrg <pad bytes="1" /> 1334986c8b3dSmrg <field name="virtualMods" type="CARD16" mask="VMod" /> 1335986c8b3dSmrg <switch name="map"> 1336986c8b3dSmrg <fieldref>present</fieldref> 1337986c8b3dSmrg <bitcase> 1338986c8b3dSmrg <enumref ref="MapPart">KeyTypes</enumref> 1339986c8b3dSmrg <list name="types_rtrn" type="KeyType"> 1340986c8b3dSmrg <fieldref>nTypes</fieldref> 1341986c8b3dSmrg </list> 1342986c8b3dSmrg </bitcase> 1343986c8b3dSmrg <bitcase> 1344986c8b3dSmrg <enumref ref="MapPart">KeySyms</enumref> 1345986c8b3dSmrg <list name="syms_rtrn" type="KeySymMap"> 1346986c8b3dSmrg <fieldref>nKeySyms</fieldref> 1347986c8b3dSmrg </list> 1348986c8b3dSmrg </bitcase> 1349986c8b3dSmrg <bitcase> 1350986c8b3dSmrg <enumref ref="MapPart">KeyActions</enumref> 1351986c8b3dSmrg <list name="acts_rtrn_count" type="CARD8"> 1352986c8b3dSmrg <fieldref>nKeyActions</fieldref> 1353986c8b3dSmrg </list> 1354f591e195Smrg <list type="CARD8" name="alignment_pad"> 1355f591e195Smrg <op op="-"> 1356f591e195Smrg <op op="&"> 1357f591e195Smrg <op op="+"> 1358f591e195Smrg <fieldref>nKeyActions</fieldref> 1359f591e195Smrg <value>3</value> 1360f591e195Smrg </op> 1361f591e195Smrg <unop op="~"> 1362f591e195Smrg <value>3</value> 1363f591e195Smrg </unop> 1364f591e195Smrg </op> 1365f591e195Smrg <fieldref>nKeyActions</fieldref> 1366f591e195Smrg </op> 1367f591e195Smrg </list> 1368986c8b3dSmrg <list name="acts_rtrn_acts" type="Action"> 1369986c8b3dSmrg <fieldref>totalActions</fieldref> 1370986c8b3dSmrg </list> 1371986c8b3dSmrg </bitcase> 1372986c8b3dSmrg <bitcase> 1373986c8b3dSmrg <enumref ref="MapPart">KeyBehaviors</enumref> 1374986c8b3dSmrg <list name="behaviors_rtrn" type="SetBehavior"> 1375986c8b3dSmrg <fieldref>totalKeyBehaviors</fieldref> 1376986c8b3dSmrg </list> 1377986c8b3dSmrg </bitcase> 1378986c8b3dSmrg <bitcase> 1379986c8b3dSmrg <enumref ref="MapPart">VirtualMods</enumref> 1380986c8b3dSmrg <list name="vmods_rtrn" type="CARD8" mask="ModMask"> 1381f591e195Smrg <popcount><fieldref>virtualMods</fieldref></popcount> 1382f591e195Smrg </list> 1383f591e195Smrg <list type="CARD8" name="alignment_pad2"> 1384f591e195Smrg <op op="-"> 1385f591e195Smrg <op op="&"> 1386f591e195Smrg <op op="+"> 1387f591e195Smrg <popcount><fieldref>virtualMods</fieldref></popcount> 1388f591e195Smrg <value>3</value> 1389f591e195Smrg </op> 1390f591e195Smrg <unop op="~"> 1391f591e195Smrg <value>3</value> 1392f591e195Smrg </unop> 1393f591e195Smrg </op> 1394f591e195Smrg <popcount><fieldref>virtualMods</fieldref></popcount> 1395f591e195Smrg </op> 1396986c8b3dSmrg </list> 1397986c8b3dSmrg </bitcase> 1398986c8b3dSmrg <bitcase> 1399986c8b3dSmrg <enumref ref="MapPart">ExplicitComponents</enumref> 1400986c8b3dSmrg <list name="explicit_rtrn" type="SetExplicit"> 1401986c8b3dSmrg <fieldref>totalKeyExplicit</fieldref> 1402986c8b3dSmrg </list> 1403f591e195Smrg <list type="CARD16" name="alignment_pad3"> 1404f591e195Smrg <op op="-"> 1405f591e195Smrg <op op="&"> 1406f591e195Smrg <op op="+"> 1407f591e195Smrg <fieldref>totalKeyExplicit</fieldref> 1408f591e195Smrg <value>1</value> 1409f591e195Smrg </op> 1410f591e195Smrg <unop op="~"> 1411f591e195Smrg <value>1</value> 1412f591e195Smrg </unop> 1413f591e195Smrg </op> 1414f591e195Smrg <fieldref>totalKeyExplicit</fieldref> 1415f591e195Smrg </op> 1416f591e195Smrg </list> 1417986c8b3dSmrg </bitcase> 1418986c8b3dSmrg <bitcase> 1419986c8b3dSmrg <enumref ref="MapPart">ModifierMap</enumref> 1420986c8b3dSmrg <list name="modmap_rtrn" type="KeyModMap"> 1421986c8b3dSmrg <fieldref>totalModMapKeys</fieldref> 1422986c8b3dSmrg </list> 1423f591e195Smrg <list type="CARD16" name="alignment_pad4"> 1424f591e195Smrg <op op="-"> 1425f591e195Smrg <op op="&"> 1426f591e195Smrg <op op="+"> 1427f591e195Smrg <fieldref>totalModMapKeys</fieldref> 1428f591e195Smrg <value>1</value> 1429f591e195Smrg </op> 1430f591e195Smrg <unop op="~"> 1431f591e195Smrg <value>1</value> 1432f591e195Smrg </unop> 1433f591e195Smrg </op> 1434f591e195Smrg <fieldref>totalModMapKeys</fieldref> 1435f591e195Smrg </op> 1436f591e195Smrg </list> 1437986c8b3dSmrg </bitcase> 1438986c8b3dSmrg <bitcase> 1439986c8b3dSmrg <enumref ref="MapPart">VirtualModMap</enumref> 1440986c8b3dSmrg <list name="vmodmap_rtrn" type="KeyVModMap"> 1441986c8b3dSmrg <fieldref>totalVModMapKeys</fieldref> 1442986c8b3dSmrg </list> 1443986c8b3dSmrg </bitcase> 1444986c8b3dSmrg </switch> 1445986c8b3dSmrg </reply> 1446986c8b3dSmrg </request> 1447986c8b3dSmrg 1448986c8b3dSmrg <request name="SetMap" opcode="9"> 1449986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1450f591e195Smrg <field name="present" type="CARD16" mask="MapPart" /> 1451986c8b3dSmrg <field name="flags" type="CARD16" mask="SetMapFlags" /> 1452986c8b3dSmrg <field name="minKeyCode" type="KEYCODE" /> 1453986c8b3dSmrg <field name="maxKeyCode" type="KEYCODE" /> 1454986c8b3dSmrg <field name="firstType" type="CARD8" /> 1455986c8b3dSmrg <field name="nTypes" type="CARD8" /> 1456986c8b3dSmrg <field name="firstKeySym" type="KEYCODE" /> 1457986c8b3dSmrg <field name="nKeySyms" type="CARD8" /> 1458986c8b3dSmrg <field name="totalSyms" type="CARD16" /> 1459986c8b3dSmrg <field name="firstKeyAction" type="KEYCODE" /> 1460986c8b3dSmrg <field name="nKeyActions" type="CARD8" /> 1461986c8b3dSmrg <field name="totalActions" type="CARD16" /> 1462986c8b3dSmrg <field name="firstKeyBehavior" type="KEYCODE" /> 1463986c8b3dSmrg <field name="nKeyBehaviors" type="CARD8" /> 1464986c8b3dSmrg <field name="totalKeyBehaviors" type="CARD8" /> 1465986c8b3dSmrg <field name="firstKeyExplicit" type="KEYCODE" /> 1466986c8b3dSmrg <field name="nKeyExplicit" type="CARD8" /> 1467986c8b3dSmrg <field name="totalKeyExplicit" type="CARD8" /> 1468986c8b3dSmrg <field name="firstModMapKey" type="KEYCODE" /> 1469986c8b3dSmrg <field name="nModMapKeys" type="CARD8" /> 1470986c8b3dSmrg <field name="totalModMapKeys" type="CARD8" /> 1471986c8b3dSmrg <field name="firstVModMapKey" type="KEYCODE" /> 1472986c8b3dSmrg <field name="nVModMapKeys" type="CARD8" /> 1473986c8b3dSmrg <field name="totalVModMapKeys" type="CARD8" /> 1474986c8b3dSmrg <field name="virtualMods" type="CARD16" mask="VMod" /> 1475986c8b3dSmrg <switch name="values"> 1476986c8b3dSmrg <fieldref>present</fieldref> 1477986c8b3dSmrg <bitcase> 1478986c8b3dSmrg <enumref ref="MapPart">KeyTypes</enumref> 1479986c8b3dSmrg <list name="types" type="SetKeyType"> 1480986c8b3dSmrg <fieldref>nTypes</fieldref> 1481986c8b3dSmrg </list> 1482986c8b3dSmrg </bitcase> 1483986c8b3dSmrg <bitcase> 1484986c8b3dSmrg <enumref ref="MapPart">KeySyms</enumref> 1485986c8b3dSmrg <list name="syms" type="KeySymMap"> 1486986c8b3dSmrg <fieldref>nKeySyms</fieldref> 1487986c8b3dSmrg </list> 1488986c8b3dSmrg </bitcase> 1489986c8b3dSmrg <bitcase> 1490986c8b3dSmrg <enumref ref="MapPart">KeyActions</enumref> 1491986c8b3dSmrg <list name="actionsCount" type="CARD8"> 1492986c8b3dSmrg <fieldref>nKeyActions</fieldref> 1493986c8b3dSmrg </list> 1494986c8b3dSmrg <list name="actions" type="Action"> 1495986c8b3dSmrg <fieldref>totalActions</fieldref> 1496986c8b3dSmrg </list> 1497986c8b3dSmrg </bitcase> 1498986c8b3dSmrg <bitcase> 1499986c8b3dSmrg <enumref ref="MapPart">KeyBehaviors</enumref> 1500986c8b3dSmrg <list name="behaviors" type="SetBehavior"> 1501986c8b3dSmrg <fieldref>totalKeyBehaviors</fieldref> 1502986c8b3dSmrg </list> 1503986c8b3dSmrg </bitcase> 1504986c8b3dSmrg <bitcase> 1505986c8b3dSmrg <enumref ref="MapPart">VirtualMods</enumref> 1506986c8b3dSmrg <list name="vmods" type="CARD8"> 1507f591e195Smrg <popcount><fieldref>virtualMods</fieldref></popcount> 1508986c8b3dSmrg </list> 1509986c8b3dSmrg </bitcase> 1510986c8b3dSmrg <bitcase> 1511986c8b3dSmrg <enumref ref="MapPart">ExplicitComponents</enumref> 1512986c8b3dSmrg <list name="explicit" type="SetExplicit"> 1513986c8b3dSmrg <fieldref>totalKeyExplicit</fieldref> 1514986c8b3dSmrg </list> 1515986c8b3dSmrg </bitcase> 1516986c8b3dSmrg <bitcase> 1517986c8b3dSmrg <enumref ref="MapPart">ModifierMap</enumref> 1518986c8b3dSmrg <list name="modmap" type="KeyModMap"> 1519986c8b3dSmrg <fieldref>totalModMapKeys</fieldref> 1520986c8b3dSmrg </list> 1521986c8b3dSmrg </bitcase> 1522986c8b3dSmrg <bitcase> 1523986c8b3dSmrg <enumref ref="MapPart">VirtualModMap</enumref> 1524986c8b3dSmrg <list name="vmodmap" type="KeyVModMap"> 1525986c8b3dSmrg <fieldref>totalVModMapKeys</fieldref> 1526986c8b3dSmrg </list> 1527986c8b3dSmrg </bitcase> 1528986c8b3dSmrg </switch> 1529986c8b3dSmrg </request> 1530986c8b3dSmrg 1531986c8b3dSmrg <request name="GetCompatMap" opcode="10"> 1532986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1533986c8b3dSmrg <field name="groups" type="CARD8" mask="SetOfGroup" /> 1534986c8b3dSmrg <field name="getAllSI" type="BOOL" /> 1535986c8b3dSmrg <field name="firstSI" type="CARD16" /> 1536986c8b3dSmrg <field name="nSI" type="CARD16" /> 1537986c8b3dSmrg <reply> 1538986c8b3dSmrg <field name="deviceID" type="CARD8" /> 1539986c8b3dSmrg <field name="groupsRtrn" type="CARD8" mask="SetOfGroup" /> 1540986c8b3dSmrg <pad bytes="1" /> 1541986c8b3dSmrg <field name="firstSIRtrn" type="CARD16" /> 1542986c8b3dSmrg <field name="nSIRtrn" type="CARD16" /> 1543986c8b3dSmrg <field name="nTotalSI" type="CARD16" /> 1544986c8b3dSmrg <pad bytes="16" /> 1545f591e195Smrg <list name="si_rtrn" type="SymInterpret"> 1546f591e195Smrg <fieldref>nSIRtrn</fieldref> 1547986c8b3dSmrg </list> 1548986c8b3dSmrg <list name="group_rtrn" type="ModDef"> 1549986c8b3dSmrg <popcount> 1550986c8b3dSmrg <fieldref>groupsRtrn</fieldref> 1551986c8b3dSmrg </popcount> 1552986c8b3dSmrg </list> 1553986c8b3dSmrg </reply> 1554986c8b3dSmrg </request> 1555986c8b3dSmrg 1556986c8b3dSmrg <request name="SetCompatMap" opcode="11"> 1557986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1558986c8b3dSmrg <pad bytes="1" /> 1559986c8b3dSmrg <field name="recomputeActions" type="BOOL" /> 1560986c8b3dSmrg <field name="truncateSI" type="BOOL" /> 1561986c8b3dSmrg <field name="groups" type="CARD8" mask="SetOfGroup" /> 1562986c8b3dSmrg <field name="firstSI" type="CARD16" /> 1563986c8b3dSmrg <field name="nSI" type="CARD16" /> 1564986c8b3dSmrg <pad bytes="2"/> 1565f591e195Smrg <list name="si" type="SymInterpret"> 1566f591e195Smrg <fieldref>nSI</fieldref> 1567986c8b3dSmrg </list> 1568986c8b3dSmrg <list name="groupMaps" type="ModDef"> 1569986c8b3dSmrg <popcount> 1570986c8b3dSmrg <fieldref>groups</fieldref> 1571986c8b3dSmrg </popcount> 1572986c8b3dSmrg </list> 1573986c8b3dSmrg </request> 1574986c8b3dSmrg 1575986c8b3dSmrg <request name="GetIndicatorState" opcode="12"> 1576986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1577986c8b3dSmrg <pad bytes="2" /> 1578986c8b3dSmrg <reply> 1579986c8b3dSmrg <field name="deviceID" type="CARD8" /> 1580986c8b3dSmrg <field name="state" type="CARD32" /> 1581986c8b3dSmrg <pad bytes="20" /> 1582986c8b3dSmrg </reply> 1583986c8b3dSmrg </request> 1584986c8b3dSmrg 1585986c8b3dSmrg <request name="GetIndicatorMap" opcode="13"> 1586986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1587986c8b3dSmrg <pad bytes="2" /> 1588986c8b3dSmrg <field name="which" type="CARD32" /> 1589986c8b3dSmrg <reply> 1590986c8b3dSmrg <field name="deviceID" type="CARD8" /> 1591986c8b3dSmrg <field name="which" type="CARD32" /> 1592986c8b3dSmrg <field name="realIndicators" type="CARD32" /> 1593986c8b3dSmrg <field name="nIndicators" type="CARD8" /> 1594986c8b3dSmrg <pad bytes="15" /> 1595986c8b3dSmrg <list name="maps" type="IndicatorMap"> 1596f591e195Smrg <popcount><fieldref>which</fieldref></popcount> 1597986c8b3dSmrg </list> 1598986c8b3dSmrg </reply> 1599986c8b3dSmrg </request> 1600986c8b3dSmrg 1601986c8b3dSmrg <request name="SetIndicatorMap" opcode="14"> 1602986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1603986c8b3dSmrg <pad bytes="2" /> 1604986c8b3dSmrg <field name="which" type="CARD32" /> 1605986c8b3dSmrg <list name="maps" type="IndicatorMap"> 1606986c8b3dSmrg <popcount> 1607986c8b3dSmrg <fieldref>which</fieldref> 1608986c8b3dSmrg </popcount> 1609986c8b3dSmrg </list> 1610986c8b3dSmrg </request> 1611986c8b3dSmrg 1612986c8b3dSmrg <request name="GetNamedIndicator" opcode="15"> 1613986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1614986c8b3dSmrg <field name="ledClass" type="LedClassSpec" enum="LedClass" /> 1615986c8b3dSmrg <field name="ledID" type="IDSpec" altenum="ID" /> 1616986c8b3dSmrg <pad bytes="2" /> 1617986c8b3dSmrg <field name="indicator" type="ATOM" /> 1618986c8b3dSmrg <reply> 1619986c8b3dSmrg <field name="deviceID" type="CARD8" /> 1620986c8b3dSmrg <field name="indicator" type="ATOM" /> 1621986c8b3dSmrg <field name="found" type="BOOL" /> 1622986c8b3dSmrg <field name="on" type="BOOL" /> 1623986c8b3dSmrg <field name="realIndicator" type="BOOL" /> 1624986c8b3dSmrg <field name="ndx" type="CARD8" /> 1625986c8b3dSmrg <field name="map_flags" type="CARD8" mask="IMFlag" /> 1626986c8b3dSmrg <field name="map_whichGroups" type="CARD8" mask="IMGroupsWhich" /> 1627986c8b3dSmrg <field name="map_groups" type="CARD8" mask="SetOfGroups" /> 1628986c8b3dSmrg <field name="map_whichMods" type="CARD8" mask="IMModsWhich" /> 1629986c8b3dSmrg <field name="map_mods" type="CARD8" mask="ModMask" /> 1630986c8b3dSmrg <field name="map_realMods" type="CARD8" mask="ModMask" /> 1631986c8b3dSmrg <field name="map_vmod" type="CARD16" mask="VMod" /> 1632986c8b3dSmrg <field name="map_ctrls" type="CARD32" mask="BoolCtrl" /> 1633f591e195Smrg <field name="supported" type="BOOL" /> 1634986c8b3dSmrg <pad bytes="3" /> 1635986c8b3dSmrg </reply> 1636986c8b3dSmrg </request> 1637986c8b3dSmrg 1638986c8b3dSmrg <request name="SetNamedIndicator" opcode="16" > 1639986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1640986c8b3dSmrg <field name="ledClass" type="LedClassSpec" enum="LedClass" /> 1641986c8b3dSmrg <field name="ledID" type="IDSpec" altenum="ID" /> 1642986c8b3dSmrg <pad bytes="2" /> 1643986c8b3dSmrg <field name="indicator" type="ATOM" /> 1644986c8b3dSmrg <field name="setState" type="BOOL" /> 1645986c8b3dSmrg <field name="on" type="BOOL" /> 1646986c8b3dSmrg <field name="setMap" type="BOOL" /> 1647986c8b3dSmrg <field name="createMap" type="BOOL" /> 1648986c8b3dSmrg <pad bytes="1" /> 1649986c8b3dSmrg <field name="map_flags" type="CARD8" mask="IMFlag" /> 1650986c8b3dSmrg <field name="map_whichGroups" type="CARD8" mask="IMGroupsWhich" /> 1651986c8b3dSmrg <field name="map_groups" type="CARD8" mask="SetOfGroups" /> 1652986c8b3dSmrg <field name="map_whichMods" type="CARD8" mask="IMModsWhich" /> 1653986c8b3dSmrg <field name="map_realMods" type="CARD8" mask="ModMask" /> 1654986c8b3dSmrg <field name="map_vmods" type="CARD16" mask="VMod" /> 1655986c8b3dSmrg <field name="map_ctrls" type="CARD32" mask="BoolCtrl" /> 1656986c8b3dSmrg </request> 1657986c8b3dSmrg 1658986c8b3dSmrg <request name="GetNames" opcode="17"> 1659986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1660986c8b3dSmrg <pad bytes="2" /> 1661986c8b3dSmrg <field name="which" type="CARD32" mask="NameDetail" /> 1662986c8b3dSmrg <reply> 1663986c8b3dSmrg <field name="deviceID" type="CARD8" /> 1664986c8b3dSmrg <field name="which" type="CARD32" mask="NameDetail" /> 1665986c8b3dSmrg <field name="minKeyCode" type="KEYCODE" /> 1666986c8b3dSmrg <field name="maxKeyCode" type="KEYCODE" /> 1667986c8b3dSmrg <field name="nTypes" type="CARD8" /> 1668986c8b3dSmrg <field name="groupNames" type="CARD8" mask="SetOfGroup" /> 1669986c8b3dSmrg <field name="virtualMods" type="CARD16" mask="VMod" /> 1670986c8b3dSmrg <field name="firstKey" type="KEYCODE" /> 1671986c8b3dSmrg <field name="nKeys" type="CARD8" /> 1672986c8b3dSmrg <field name="indicators" type="CARD32" /> 1673986c8b3dSmrg <field name="nRadioGroups" type="CARD8" /> 1674986c8b3dSmrg <field name="nKeyAliases" type="CARD8" /> 1675986c8b3dSmrg <field name="nKTLevels" type="CARD16" /> 1676986c8b3dSmrg <pad bytes="4" /> 1677986c8b3dSmrg <switch name="valueList"> 1678986c8b3dSmrg <fieldref>which</fieldref> 1679986c8b3dSmrg <bitcase> 1680986c8b3dSmrg <enumref ref="NameDetail">Keycodes</enumref> 1681986c8b3dSmrg <field name="keycodesName" type="ATOM" /> 1682986c8b3dSmrg </bitcase> 1683986c8b3dSmrg <bitcase> 1684986c8b3dSmrg <enumref ref="NameDetail">Geometry</enumref> 1685986c8b3dSmrg <field name="geometryName" type="ATOM" /> 1686986c8b3dSmrg </bitcase> 1687986c8b3dSmrg <bitcase> 1688986c8b3dSmrg <enumref ref="NameDetail">Symbols</enumref> 1689986c8b3dSmrg <field name="symbolsName" type="ATOM" /> 1690986c8b3dSmrg </bitcase> 1691986c8b3dSmrg <bitcase> 1692986c8b3dSmrg <enumref ref="NameDetail">PhysSymbols</enumref> 1693986c8b3dSmrg <field name="physSymbolsName" type="ATOM" /> 1694986c8b3dSmrg </bitcase> 1695986c8b3dSmrg <bitcase> 1696986c8b3dSmrg <enumref ref="NameDetail">Types</enumref> 1697986c8b3dSmrg <field name="typesName" type="ATOM" /> 1698986c8b3dSmrg </bitcase> 1699986c8b3dSmrg <bitcase> 1700986c8b3dSmrg <enumref ref="NameDetail">Compat</enumref> 1701986c8b3dSmrg <field name="compatName" type="ATOM" /> 1702986c8b3dSmrg </bitcase> 1703986c8b3dSmrg <bitcase> 1704986c8b3dSmrg <enumref ref="NameDetail">KeyTypeNames</enumref> 1705986c8b3dSmrg <list name="typeNames" type="ATOM"> 1706986c8b3dSmrg <fieldref>nTypes</fieldref> 1707986c8b3dSmrg </list> 1708986c8b3dSmrg </bitcase> 1709986c8b3dSmrg <bitcase> 1710986c8b3dSmrg <enumref ref="NameDetail">KTLevelNames</enumref> 1711986c8b3dSmrg <list name="nLevelsPerType" type="CARD8"> 1712986c8b3dSmrg <!-- Xlib uses NTypes here - 1713986c8b3dSmrg the spec says nKTLevels is correct, but 1714986c8b3dSmrg it does not work in reality 1715986c8b3dSmrg <fieldref>nKTLevels</fieldref> --> 1716986c8b3dSmrg <fieldref>nTypes</fieldref> 1717986c8b3dSmrg </list> 1718f591e195Smrg <list type="CARD8" name="alignment_pad"> 1719f591e195Smrg <op op="-"> 1720f591e195Smrg <op op="&"> 1721f591e195Smrg <op op="+"> 1722f591e195Smrg <fieldref>nTypes</fieldref> 1723f591e195Smrg <value>3</value> 1724f591e195Smrg </op> 1725f591e195Smrg <unop op="~"> 1726f591e195Smrg <value>3</value> 1727f591e195Smrg </unop> 1728f591e195Smrg </op> 1729f591e195Smrg <fieldref>nTypes</fieldref> 1730f591e195Smrg </op> 1731f591e195Smrg </list> 1732986c8b3dSmrg <list name="ktLevelNames" type="ATOM"> 1733986c8b3dSmrg <sumof ref="nLevelsPerType" /> 1734986c8b3dSmrg </list> 1735986c8b3dSmrg </bitcase> 1736986c8b3dSmrg <bitcase> 1737986c8b3dSmrg <enumref ref="NameDetail">IndicatorNames</enumref> 1738986c8b3dSmrg <list name="indicatorNames" type="ATOM"> 1739986c8b3dSmrg <popcount> 1740986c8b3dSmrg <fieldref>indicators</fieldref> 1741986c8b3dSmrg </popcount> 1742986c8b3dSmrg </list> 1743986c8b3dSmrg </bitcase> 1744986c8b3dSmrg <bitcase> 1745986c8b3dSmrg <enumref ref="NameDetail">VirtualModNames</enumref> 1746986c8b3dSmrg <list name="virtualModNames" type="ATOM"> 1747986c8b3dSmrg <popcount> 1748986c8b3dSmrg <fieldref>virtualMods</fieldref> 1749986c8b3dSmrg </popcount> 1750986c8b3dSmrg </list> 1751986c8b3dSmrg </bitcase> 1752986c8b3dSmrg <bitcase> 1753986c8b3dSmrg <enumref ref="NameDetail">GroupNames</enumref> 1754986c8b3dSmrg <list name="groups" type="ATOM"> 1755986c8b3dSmrg <popcount> 1756986c8b3dSmrg <fieldref>groupNames</fieldref> 1757986c8b3dSmrg </popcount> 1758986c8b3dSmrg </list> 1759986c8b3dSmrg </bitcase> 1760986c8b3dSmrg <bitcase> 1761986c8b3dSmrg <enumref ref="NameDetail">KeyNames</enumref> 1762986c8b3dSmrg <list name="keyNames" type="KeyName"> 1763986c8b3dSmrg <fieldref>nKeys</fieldref> 1764986c8b3dSmrg </list> 1765986c8b3dSmrg </bitcase> 1766986c8b3dSmrg <bitcase> 1767986c8b3dSmrg <enumref ref="NameDetail">KeyAliases</enumref> 1768986c8b3dSmrg <list name="keyAliases" type="KeyAlias"> 1769986c8b3dSmrg <fieldref>nKeyAliases</fieldref> 1770986c8b3dSmrg </list> 1771986c8b3dSmrg </bitcase> 1772986c8b3dSmrg <bitcase> 1773986c8b3dSmrg <enumref ref="NameDetail">RGNames</enumref> 1774986c8b3dSmrg <list name="radioGroupNames" type="ATOM"> 1775986c8b3dSmrg <fieldref>nRadioGroups</fieldref> 1776986c8b3dSmrg </list> 1777986c8b3dSmrg </bitcase> 1778986c8b3dSmrg </switch> 1779986c8b3dSmrg </reply> 1780986c8b3dSmrg </request> 1781986c8b3dSmrg 1782986c8b3dSmrg <request name="SetNames" opcode="18"> 1783986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1784986c8b3dSmrg <field name="virtualMods" type="CARD16" mask="VMod" /> 1785986c8b3dSmrg <field name="which" type="CARD32" mask="NameDetail" /> 1786986c8b3dSmrg <field name="firstType" type="CARD8" /> 1787986c8b3dSmrg <field name="nTypes" type="CARD8" /> 1788986c8b3dSmrg <field name="firstKTLevelt" type="CARD8" /> 1789986c8b3dSmrg <field name="nKTLevels" type="CARD8" /> 1790986c8b3dSmrg <field name="indicators" type="CARD32" /> 1791986c8b3dSmrg <field name="groupNames" type="CARD8" mask="SetOfGroup" /> 1792986c8b3dSmrg <field name="nRadioGroups" type="CARD8" /> 1793986c8b3dSmrg <field name="firstKey" type="KEYCODE" /> 1794986c8b3dSmrg <field name="nKeys" type="CARD8" /> 1795986c8b3dSmrg <field name="nKeyAliases" type="CARD8"/> 1796986c8b3dSmrg <pad bytes="1" /> 1797986c8b3dSmrg <field name="totalKTLevelNames" type="CARD16" /> 1798986c8b3dSmrg <switch name="values"> 1799986c8b3dSmrg <fieldref>which</fieldref> 1800986c8b3dSmrg <bitcase> 1801986c8b3dSmrg <enumref ref="NameDetail">Keycodes</enumref> 1802986c8b3dSmrg <field name="keycodesName" type="ATOM" /> 1803986c8b3dSmrg </bitcase> 1804986c8b3dSmrg <bitcase> 1805986c8b3dSmrg <enumref ref="NameDetail">Geometry</enumref> 1806986c8b3dSmrg <field name="geometryName" type="ATOM" /> 1807986c8b3dSmrg </bitcase> 1808986c8b3dSmrg <bitcase> 1809986c8b3dSmrg <enumref ref="NameDetail">Symbols</enumref> 1810986c8b3dSmrg <field name="symbolsName" type="ATOM" /> 1811986c8b3dSmrg </bitcase> 1812986c8b3dSmrg <bitcase> 1813986c8b3dSmrg <enumref ref="NameDetail">PhysSymbols</enumref> 1814986c8b3dSmrg <field name="physSymbolsName" type="ATOM" /> 1815986c8b3dSmrg </bitcase> 1816986c8b3dSmrg <bitcase> 1817986c8b3dSmrg <enumref ref="NameDetail">Types</enumref> 1818986c8b3dSmrg <field name="typesName" type="ATOM" /> 1819986c8b3dSmrg </bitcase> 1820986c8b3dSmrg <bitcase> 1821986c8b3dSmrg <enumref ref="NameDetail">Compat</enumref> 1822986c8b3dSmrg <field name="compatName" type="ATOM" /> 1823986c8b3dSmrg </bitcase> 1824986c8b3dSmrg <bitcase> 1825986c8b3dSmrg <enumref ref="NameDetail">KeyTypeNames</enumref> 1826986c8b3dSmrg <list name="typeNames" type="ATOM"> 1827986c8b3dSmrg <fieldref>nTypes</fieldref> 1828986c8b3dSmrg </list> 1829986c8b3dSmrg </bitcase> 1830986c8b3dSmrg <bitcase> 1831986c8b3dSmrg <enumref ref="NameDetail">KTLevelNames</enumref> 1832986c8b3dSmrg <list name="nLevelsPerType" type="CARD8"> 1833986c8b3dSmrg <fieldref>nKTLevels</fieldref> 1834986c8b3dSmrg </list> 1835986c8b3dSmrg <list name="ktLevelNames" type="ATOM"> 1836986c8b3dSmrg <sumof ref="nLevelsPerType" /> 1837986c8b3dSmrg </list> 1838986c8b3dSmrg </bitcase> 1839986c8b3dSmrg <bitcase> 1840986c8b3dSmrg <enumref ref="NameDetail">IndicatorNames</enumref> 1841986c8b3dSmrg <list name="indicatorNames" type="ATOM"> 1842986c8b3dSmrg <popcount> 1843986c8b3dSmrg <fieldref>indicators</fieldref> 1844986c8b3dSmrg </popcount> 1845986c8b3dSmrg </list> 1846986c8b3dSmrg </bitcase> 1847986c8b3dSmrg <bitcase> 1848986c8b3dSmrg <enumref ref="NameDetail">VirtualModNames</enumref> 1849986c8b3dSmrg <list name="virtualModNames" type="ATOM"> 1850986c8b3dSmrg <popcount> 1851986c8b3dSmrg <fieldref>virtualMods</fieldref> 1852986c8b3dSmrg </popcount> 1853986c8b3dSmrg </list> 1854986c8b3dSmrg </bitcase> 1855986c8b3dSmrg <bitcase> 1856986c8b3dSmrg <enumref ref="NameDetail">GroupNames</enumref> 1857986c8b3dSmrg <list name="groups" type="ATOM"> 1858986c8b3dSmrg <popcount> 1859986c8b3dSmrg <fieldref>groupNames</fieldref> 1860986c8b3dSmrg </popcount> 1861986c8b3dSmrg </list> 1862986c8b3dSmrg </bitcase> 1863986c8b3dSmrg <bitcase> 1864986c8b3dSmrg <enumref ref="NameDetail">KeyNames</enumref> 1865986c8b3dSmrg <list name="keyNames" type="KeyName"> 1866986c8b3dSmrg <fieldref>nKeys</fieldref> 1867986c8b3dSmrg </list> 1868986c8b3dSmrg </bitcase> 1869986c8b3dSmrg <bitcase> 1870986c8b3dSmrg <enumref ref="NameDetail">KeyAliases</enumref> 1871986c8b3dSmrg <list name="keyAliases" type="KeyAlias"> 1872986c8b3dSmrg <fieldref>nKeyAliases</fieldref> 1873986c8b3dSmrg </list> 1874986c8b3dSmrg </bitcase> 1875986c8b3dSmrg <bitcase> 1876986c8b3dSmrg <enumref ref="NameDetail">RGNames</enumref> 1877986c8b3dSmrg <list name="radioGroupNames" type="ATOM"> 1878986c8b3dSmrg <fieldref>nRadioGroups</fieldref> 1879986c8b3dSmrg </list> 1880986c8b3dSmrg </bitcase> 1881986c8b3dSmrg </switch> 1882986c8b3dSmrg </request> 1883986c8b3dSmrg 1884f591e195Smrg <!-- XXX: Property and doodads are broken, which renders GetGeometry useless 1885986c8b3dSmrg <request name="GetGeometry" opcode="19"> 1886986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1887986c8b3dSmrg <pad bytes="2" /> 1888986c8b3dSmrg <field name="name" type="ATOM" /> 1889986c8b3dSmrg <reply> 1890986c8b3dSmrg <field name="deviceID" type="CARD8" /> 1891986c8b3dSmrg <field name="name" type="ATOM" /> 1892986c8b3dSmrg <field name="found" type="BOOL" /> 1893986c8b3dSmrg <pad bytes="1" /> 1894986c8b3dSmrg <field name="widthMM" type="CARD16" /> 1895986c8b3dSmrg <field name="heightMM" type="CARD16" /> 1896986c8b3dSmrg <field name="nProperties" type="CARD16" /> 1897986c8b3dSmrg <field name="nColors" type="CARD16" /> 1898986c8b3dSmrg <field name="nShapes" type="CARD16" /> 1899986c8b3dSmrg <field name="nSections" type="CARD16" /> 1900986c8b3dSmrg <field name="nDoodads" type="CARD16" /> 1901986c8b3dSmrg <field name="nKeyAliases" type="CARD16" /> 1902986c8b3dSmrg <field name="baseColorNdx" type="CARD8" /> 1903986c8b3dSmrg <field name="labelColorNdx" type="CARD8" /> 1904986c8b3dSmrg <field name="labelFont" type="CountedString16" /> 1905986c8b3dSmrg <list name="properties" type="Property"> 1906986c8b3dSmrg <fieldref>nProperties</fieldref> 1907986c8b3dSmrg </list> 1908986c8b3dSmrg <list name="colors" type="CountedString16"> 1909986c8b3dSmrg <fieldref>nColors</fieldref> 1910986c8b3dSmrg </list> 1911986c8b3dSmrg <list name="shapes" type="Shape"> 1912986c8b3dSmrg <fieldref>nShapes</fieldref> 1913986c8b3dSmrg </list> 1914986c8b3dSmrg <list name="sections" type="Section"> 1915986c8b3dSmrg <fieldref>nSections</fieldref> 1916986c8b3dSmrg </list> 1917986c8b3dSmrg <list name="doodads" type="Doodad"> 1918986c8b3dSmrg <fieldref>nDoodads</fieldref> 1919986c8b3dSmrg </list> 1920986c8b3dSmrg <list name="keyAliases" type="KeyAlias"> 1921986c8b3dSmrg <fieldref>nKeyAliases</fieldref> 1922986c8b3dSmrg </list> 1923986c8b3dSmrg </reply> 1924986c8b3dSmrg </request> 1925f591e195Smrg --> 1926986c8b3dSmrg 1927f591e195Smrg <!-- XXX: Property and doodads are broken, which renders SetGeometry useless 1928986c8b3dSmrg <request name="SetGeometry" opcode="20"> 1929986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1930986c8b3dSmrg <field name="nShapes" type="CARD8" /> 1931986c8b3dSmrg <field name="nSections" type="CARD8" /> 1932986c8b3dSmrg <field name="name" type="ATOM" /> 1933986c8b3dSmrg <field name="widthMM" type="CARD16" /> 1934986c8b3dSmrg <field name="heightMM" type="CARD16" /> 1935986c8b3dSmrg <field name="nProperties" type="CARD16" /> 1936986c8b3dSmrg <field name="nColors" type="CARD16" /> 1937986c8b3dSmrg <field name="nDoodads" type="CARD16" /> 1938986c8b3dSmrg <field name="nKeyAliases" type="CARD16" /> 1939986c8b3dSmrg <field name="baseColorNdx" type="CARD8" /> 1940986c8b3dSmrg <field name="labelColorNdx" type="CARD8" /> 1941986c8b3dSmrg <pad bytes="2" /> 1942986c8b3dSmrg <field name="labelFont" type="CountedString16" /> 1943986c8b3dSmrg <list name="properties" type="Property"> 1944986c8b3dSmrg <fieldref>nProperties</fieldref> 1945986c8b3dSmrg </list> 1946986c8b3dSmrg <list name="colors" type="CountedString16"> 1947986c8b3dSmrg <fieldref>nColors</fieldref> 1948986c8b3dSmrg </list> 1949986c8b3dSmrg <list name="shapes" type="Shape"> 1950986c8b3dSmrg <fieldref>nShapes</fieldref> 1951986c8b3dSmrg </list> 1952986c8b3dSmrg <list name="sections" type="Section"> 1953986c8b3dSmrg <fieldref>nSections</fieldref> 1954986c8b3dSmrg </list> 1955986c8b3dSmrg <list name="doodads" type="Doodad"> 1956986c8b3dSmrg <fieldref>nDoodads</fieldref> 1957986c8b3dSmrg </list> 1958986c8b3dSmrg <list name="keyAliases" type="KeyAlias"> 1959986c8b3dSmrg <fieldref>nKeyAliases</fieldref> 1960986c8b3dSmrg </list> 1961986c8b3dSmrg </request> 1962f591e195Smrg --> 1963986c8b3dSmrg 1964986c8b3dSmrg <request name="PerClientFlags" opcode="21"> 1965986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1966986c8b3dSmrg <pad bytes="2" /> 1967986c8b3dSmrg <field name="change" type="CARD32" mask="PerClientFlag" /> 1968986c8b3dSmrg <field name="value" type="CARD32" mask="PerClientFlag" /> 1969986c8b3dSmrg <field name="ctrlsToChange" type="CARD32" mask="BoolCtrl" /> 1970986c8b3dSmrg <field name="autoCtrls" type="CARD32" mask="BoolCtrl" /> 1971986c8b3dSmrg <field name="autoCtrlsValues" type="CARD32" mask="BoolCtrl" /> 1972986c8b3dSmrg <reply> 1973986c8b3dSmrg <field name="deviceID" type="CARD8"/> 1974986c8b3dSmrg <field name="supported" type="CARD32" mask="PerClientFlag" /> 1975986c8b3dSmrg <field name="value" type="CARD32" mask="PerClientFlag" /> 1976986c8b3dSmrg <field name="autoCtrls" type="CARD32" mask="BoolCtrl" /> 1977986c8b3dSmrg <field name="autoCtrlsValues" type="CARD32" mask="BoolCtrl" /> 1978986c8b3dSmrg <pad bytes="8" /> 1979986c8b3dSmrg </reply> 1980986c8b3dSmrg </request> 1981986c8b3dSmrg 1982986c8b3dSmrg <request name="ListComponents" opcode="22"> 1983986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 1984986c8b3dSmrg <field name="maxNames" type="CARD16" /> 1985f591e195Smrg <!-- XXX: Intermixed fixed size fields and lists are broken 1986986c8b3dSmrg <field name="keymapsSpecLen" type="CARD8" /> 1987986c8b3dSmrg <list name="keymapsSpec" type="STRING8"> 1988986c8b3dSmrg <fieldref>keymapsSpecLen</fieldref> 1989986c8b3dSmrg </list> 1990986c8b3dSmrg <field name="keycodesSpecLen" type="CARD8" /> 1991986c8b3dSmrg <list name="keycodesSpec" type="STRING8"> 1992986c8b3dSmrg <fieldref>keycodesSpecLen</fieldref> 1993986c8b3dSmrg </list> 1994986c8b3dSmrg <field name="typesSpecLen" type="CARD8" /> 1995986c8b3dSmrg <list name="typesSpec" type="STRING8"> 1996986c8b3dSmrg <fieldref>typesSpecLen</fieldref> 1997986c8b3dSmrg </list> 1998986c8b3dSmrg <field name="compatMapSpecLen" type="CARD8" /> 1999986c8b3dSmrg <list name="compatMapSpec" type="STRING8"> 2000986c8b3dSmrg <fieldref>compatMapSpecLen</fieldref> 2001986c8b3dSmrg </list> 2002986c8b3dSmrg <field name="symbolsSpecLen" type="CARD8" /> 2003986c8b3dSmrg <list name="symbolsSpec" type="STRING8"> 2004986c8b3dSmrg <fieldref>symbolsSpecLen</fieldref> 2005986c8b3dSmrg </list> 2006986c8b3dSmrg <field name="geometrySpecLen" type="CARD8" /> 2007986c8b3dSmrg <list name="geometrySpec" type="STRING8"> 2008986c8b3dSmrg <fieldref>geometrySpecLen</fieldref> 2009986c8b3dSmrg </list> 2010f591e195Smrg --> 2011986c8b3dSmrg <reply> 2012986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2013986c8b3dSmrg <field name="nKeymaps" type="CARD16" /> 2014986c8b3dSmrg <field name="nKeycodes" type="CARD16" /> 2015986c8b3dSmrg <field name="nTypes" type="CARD16" /> 2016986c8b3dSmrg <field name="nCompatMaps" type="CARD16" /> 2017986c8b3dSmrg <field name="nSymbols" type="CARD16" /> 2018986c8b3dSmrg <field name="nGeometries" type="CARD16" /> 2019986c8b3dSmrg <field name="extra" type="CARD16" /> 2020986c8b3dSmrg <pad bytes="10" /> 2021986c8b3dSmrg <list name="keymaps" type="Listing"> 2022986c8b3dSmrg <fieldref>nKeymaps</fieldref> 2023986c8b3dSmrg </list> 2024986c8b3dSmrg <list name="keycodes" type="Listing"> 2025986c8b3dSmrg <fieldref>nKeycodes</fieldref> 2026986c8b3dSmrg </list> 2027986c8b3dSmrg <list name="types" type="Listing"> 2028986c8b3dSmrg <fieldref>nTypes</fieldref> 2029986c8b3dSmrg </list> 2030986c8b3dSmrg <list name="compatMaps" type="Listing"> 2031986c8b3dSmrg <fieldref>nCompatMaps</fieldref> 2032986c8b3dSmrg </list> 2033986c8b3dSmrg <list name="symbols" type="Listing"> 2034986c8b3dSmrg <fieldref>nSymbols</fieldref> 2035986c8b3dSmrg </list> 2036986c8b3dSmrg <list name="geometries" type="Listing"> 2037986c8b3dSmrg <fieldref>nGeometries</fieldref> 2038986c8b3dSmrg </list> 2039986c8b3dSmrg </reply> 2040986c8b3dSmrg </request> 2041986c8b3dSmrg 2042986c8b3dSmrg <request name="GetKbdByName" opcode="23"> 2043986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 2044986c8b3dSmrg <field name="need" type="CARD16" mask="GBNDetail" /> 2045986c8b3dSmrg <field name="want" type="CARD16" mask="GBNDetail" /> 2046986c8b3dSmrg <field name="load" type="BOOL" /> 2047986c8b3dSmrg <pad bytes="1" /> 2048f591e195Smrg <!-- XXX: Intermixed fixed size fields and lists are broken 2049986c8b3dSmrg <field name="keymapsSpecLen" type="CARD8" /> 2050986c8b3dSmrg <list name="keymapsSpec" type="STRING8"> 2051986c8b3dSmrg <fieldref>keymapsSpecLen</fieldref> 2052986c8b3dSmrg </list> 2053986c8b3dSmrg <field name="keycodesSpecLen" type="CARD8" /> 2054986c8b3dSmrg <list name="keycodesSpec" type="STRING8"> 2055986c8b3dSmrg <fieldref>keycodesSpecLen</fieldref> 2056986c8b3dSmrg </list> 2057986c8b3dSmrg <field name="typesSpecLen" type="CARD8" /> 2058986c8b3dSmrg <list name="typesSpec" type="STRING8"> 2059986c8b3dSmrg <fieldref>typesSpecLen</fieldref> 2060986c8b3dSmrg </list> 2061986c8b3dSmrg <field name="compatMapSpecLen" type="CARD8" /> 2062986c8b3dSmrg <list name="compatMapSpec" type="STRING8"> 2063986c8b3dSmrg <fieldref>compatMapSpecLen</fieldref> 2064986c8b3dSmrg </list> 2065986c8b3dSmrg <field name="symbolsSpecLen" type="CARD8" /> 2066986c8b3dSmrg <list name="symbolsSpec" type="STRING8"> 2067986c8b3dSmrg <fieldref>symbolsSpecLen</fieldref> 2068986c8b3dSmrg </list> 2069986c8b3dSmrg <field name="geometrySpecLen" type="CARD8" /> 2070986c8b3dSmrg <list name="geometrySpec" type="STRING8"> 2071986c8b3dSmrg <fieldref>geometrySpecLen</fieldref> 2072986c8b3dSmrg </list> 2073f591e195Smrg --> 2074986c8b3dSmrg <reply> 2075986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2076986c8b3dSmrg <field name="minKeyCode" type="KEYCODE" /> 2077986c8b3dSmrg <field name="maxKeyCode" type="KEYCODE" /> 2078986c8b3dSmrg <field name="loaded" type="BOOL" /> 2079986c8b3dSmrg <field name="newKeyboard" type="BOOL" /> 2080986c8b3dSmrg <field name="found" type="CARD16" mask="GBNDetail" /> 2081986c8b3dSmrg <field name="reported" type="CARD16" mask="GBNDetail" /> 2082986c8b3dSmrg <pad bytes="16" /> 2083986c8b3dSmrg <switch name="replies"> 2084986c8b3dSmrg <fieldref>reported</fieldref> 2085986c8b3dSmrg <bitcase name="types"> 2086986c8b3dSmrg <enumref ref="GBNDetail">Types</enumref> 2087f591e195Smrg <enumref ref="GBNDetail">ClientSymbols</enumref> 2088f591e195Smrg <enumref ref="GBNDetail">ServerSymbols</enumref> 2089986c8b3dSmrg <!-- from the spec, this has to be a GetMap reply --> 2090986c8b3dSmrg <field name="getmap_type" type="CARD8" /> 2091986c8b3dSmrg <!-- done 'emulating' GetMap reply header--> 2092986c8b3dSmrg <field name="typeDeviceID" type="CARD8" /> 2093986c8b3dSmrg <!-- from the spec, this has to be a GetMap reply --> 2094986c8b3dSmrg <field name="getmap_sequence" type="CARD16" /> 2095986c8b3dSmrg <field name="getmap_length" type="CARD32" /> 2096986c8b3dSmrg <!-- done 'emulating' GetMap reply header--> 2097986c8b3dSmrg <pad bytes="2" /> 2098986c8b3dSmrg <field name="typeMinKeyCode" type="KEYCODE" /> 2099986c8b3dSmrg <field name="typeMaxKeyCode" type="KEYCODE" /> 2100f591e195Smrg <field name="present" type="CARD16" mask="MapPart" /> 2101986c8b3dSmrg <field name="firstType" type="CARD8" /> 2102986c8b3dSmrg <field name="nTypes" type="CARD8" /> 2103986c8b3dSmrg <field name="totalTypes" type="CARD8" /> 2104986c8b3dSmrg <field name="firstKeySym" type="KEYCODE" /> 2105986c8b3dSmrg <field name="totalSyms" type="CARD16" /> 2106986c8b3dSmrg <field name="nKeySyms" type="CARD8" /> 2107986c8b3dSmrg <field name="firstKeyAction" type="KEYCODE" /> 2108986c8b3dSmrg <field name="totalActions" type="CARD16" /> 2109986c8b3dSmrg <field name="nKeyActions" type="CARD8" /> 2110986c8b3dSmrg <field name="firstKeyBehavior" type="KEYCODE" /> 2111986c8b3dSmrg <field name="nKeyBehaviors" type="CARD8" /> 2112986c8b3dSmrg <field name="totalKeyBehaviors" type="CARD8" /> 2113986c8b3dSmrg <field name="firstKeyExplicit" type="KEYCODE" /> 2114986c8b3dSmrg <field name="nKeyExplicit" type="CARD8" /> 2115986c8b3dSmrg <field name="totalKeyExplicit" type="CARD8" /> 2116986c8b3dSmrg <field name="firstModMapKey" type="KEYCODE" /> 2117986c8b3dSmrg <field name="nModMapKeys" type="CARD8" /> 2118986c8b3dSmrg <field name="totalModMapKeys" type="CARD8" /> 2119986c8b3dSmrg <field name="firstVModMapKey" type="KEYCODE" /> 2120986c8b3dSmrg <field name="nVModMapKeys" type="CARD8" /> 2121986c8b3dSmrg <field name="totalVModMapKeys" type="CARD8" /> 2122986c8b3dSmrg <pad bytes="1" /> 2123986c8b3dSmrg <field name="virtualMods" type="CARD16" mask="VMod" /> 2124986c8b3dSmrg <switch name="map"> 2125986c8b3dSmrg <fieldref>present</fieldref> 2126986c8b3dSmrg <bitcase> 2127986c8b3dSmrg <enumref ref="MapPart">KeyTypes</enumref> 2128986c8b3dSmrg <list name="types_rtrn" type="KeyType"> 2129986c8b3dSmrg <fieldref>nTypes</fieldref> 2130986c8b3dSmrg </list> 2131986c8b3dSmrg </bitcase> 2132986c8b3dSmrg <bitcase> 2133986c8b3dSmrg <enumref ref="MapPart">KeySyms</enumref> 2134986c8b3dSmrg <list name="syms_rtrn" type="KeySymMap"> 2135986c8b3dSmrg <fieldref>nKeySyms</fieldref> 2136986c8b3dSmrg </list> 2137986c8b3dSmrg </bitcase> 2138986c8b3dSmrg <bitcase> 2139986c8b3dSmrg <enumref ref="MapPart">KeyActions</enumref> 2140986c8b3dSmrg <list name="acts_rtrn_count" type="CARD8"> 2141986c8b3dSmrg <fieldref>nKeyActions</fieldref> 2142986c8b3dSmrg </list> 2143986c8b3dSmrg <list name="acts_rtrn_acts" type="Action"> 2144986c8b3dSmrg <fieldref>totalActions</fieldref> 2145986c8b3dSmrg </list> 2146986c8b3dSmrg </bitcase> 2147986c8b3dSmrg <bitcase> 2148986c8b3dSmrg <enumref ref="MapPart">KeyBehaviors</enumref> 2149986c8b3dSmrg <list name="behaviors_rtrn" type="SetBehavior"> 2150986c8b3dSmrg <fieldref>totalKeyBehaviors</fieldref> 2151986c8b3dSmrg </list> 2152986c8b3dSmrg </bitcase> 2153986c8b3dSmrg <bitcase> 2154986c8b3dSmrg <enumref ref="MapPart">VirtualMods</enumref> 2155986c8b3dSmrg <list name="vmods_rtrn" type="CARD8" mask="ModMask"> 2156f591e195Smrg <popcount><fieldref>virtualMods</fieldref></popcount> 2157986c8b3dSmrg </list> 2158986c8b3dSmrg </bitcase> 2159986c8b3dSmrg <bitcase> 2160986c8b3dSmrg <enumref ref="MapPart">ExplicitComponents</enumref> 2161986c8b3dSmrg <list name="explicit_rtrn" type="SetExplicit"> 2162986c8b3dSmrg <fieldref>totalKeyExplicit</fieldref> 2163986c8b3dSmrg </list> 2164986c8b3dSmrg </bitcase> 2165986c8b3dSmrg <bitcase> 2166986c8b3dSmrg <enumref ref="MapPart">ModifierMap</enumref> 2167986c8b3dSmrg <list name="modmap_rtrn" type="KeyModMap"> 2168986c8b3dSmrg <fieldref>totalModMapKeys</fieldref> 2169986c8b3dSmrg </list> 2170986c8b3dSmrg </bitcase> 2171986c8b3dSmrg <bitcase> 2172986c8b3dSmrg <enumref ref="MapPart">VirtualModMap</enumref> 2173986c8b3dSmrg <list name="vmodmap_rtrn" type="KeyVModMap"> 2174986c8b3dSmrg <fieldref>totalVModMapKeys</fieldref> 2175986c8b3dSmrg </list> 2176986c8b3dSmrg </bitcase> 2177986c8b3dSmrg </switch> 2178986c8b3dSmrg </bitcase> 2179986c8b3dSmrg <bitcase name="compat_map"> 2180986c8b3dSmrg <enumref ref="GBNDetail">CompatMap</enumref> 2181f591e195Smrg <!-- from the spec, this has to include a reply header --> 2182f591e195Smrg <field name="compatmap_type" type="CARD8" /> 2183986c8b3dSmrg <field name="compatDeviceID" type="CARD8" /> 2184f591e195Smrg <field name="compatmap_sequence" type="CARD16" /> 2185f591e195Smrg <field name="compatmap_length" type="CARD32" /> 2186f591e195Smrg <!-- done 'emulating' reply header --> 2187986c8b3dSmrg <field name="groupsRtrn" type="CARD8" mask="SetOfGroup" /> 2188986c8b3dSmrg <pad bytes="1" /> 2189986c8b3dSmrg <field name="firstSIRtrn" type="CARD16" /> 2190986c8b3dSmrg <field name="nSIRtrn" type="CARD16" /> 2191986c8b3dSmrg <field name="nTotalSI" type="CARD16" /> 2192986c8b3dSmrg <pad bytes="16" /> 2193f591e195Smrg <list name="si_rtrn" type="SymInterpret"> 2194f591e195Smrg <fieldref>nSIRtrn</fieldref> 2195986c8b3dSmrg </list> 2196986c8b3dSmrg <list name="group_rtrn" type="ModDef"> 2197986c8b3dSmrg <popcount> 2198986c8b3dSmrg <fieldref>groupsRtrn</fieldref> 2199986c8b3dSmrg </popcount> 2200986c8b3dSmrg </list> 2201986c8b3dSmrg </bitcase> 2202986c8b3dSmrg <bitcase name="indicator_maps"> 2203986c8b3dSmrg <enumref ref="GBNDetail">IndicatorMaps</enumref> 2204f591e195Smrg <!-- from the spec, this has to include a reply header --> 2205f591e195Smrg <field name="indicatormap_type" type="CARD8" /> 2206986c8b3dSmrg <field name="indicatorDeviceID" type="CARD8" /> 2207f591e195Smrg <field name="indicatormap_sequence" type="CARD16" /> 2208f591e195Smrg <field name="indicatormap_length" type="CARD32" /> 2209f591e195Smrg <!-- done 'emulating' reply header --> 2210986c8b3dSmrg <field name="which" type="CARD32" /> 2211986c8b3dSmrg <field name="realIndicators" type="CARD32" /> 2212986c8b3dSmrg <field name="nIndicators" type="CARD8" /> 2213986c8b3dSmrg <pad bytes="15" /> 2214986c8b3dSmrg <list name="maps" type="IndicatorMap"> 2215986c8b3dSmrg <fieldref>nIndicators</fieldref> 2216986c8b3dSmrg </list> 2217986c8b3dSmrg </bitcase> 2218986c8b3dSmrg <bitcase name="key_names"> 2219986c8b3dSmrg <enumref ref="GBNDetail">KeyNames</enumref> 2220f591e195Smrg <enumref ref="GBNDetail">OtherNames</enumref> 2221f591e195Smrg <!-- from the spec, this has to include a reply header --> 2222f591e195Smrg <field name="keyname_type" type="CARD8" /> 2223986c8b3dSmrg <field name="keyDeviceID" type="CARD8" /> 2224f591e195Smrg <field name="keyname_sequence" type="CARD16" /> 2225f591e195Smrg <field name="keyname_length" type="CARD32" /> 2226f591e195Smrg <!-- done 'emulating' reply header --> 2227986c8b3dSmrg <field name="which" type="CARD32" mask="NameDetail" /> 2228986c8b3dSmrg <field name="keyMinKeyCode" type="KEYCODE" /> 2229986c8b3dSmrg <field name="keyMaxKeyCode" type="KEYCODE" /> 2230986c8b3dSmrg <field name="nTypes" type="CARD8" /> 2231986c8b3dSmrg <field name="groupNames" type="CARD8" mask="SetOfGroup" /> 2232986c8b3dSmrg <field name="virtualMods" type="CARD16" mask="VMod" /> 2233986c8b3dSmrg <field name="firstKey" type="KEYCODE" /> 2234986c8b3dSmrg <field name="nKeys" type="CARD8" /> 2235986c8b3dSmrg <field name="indicators" type="CARD32" /> 2236986c8b3dSmrg <field name="nRadioGroups" type="CARD8" /> 2237986c8b3dSmrg <field name="nKeyAliases" type="CARD8" /> 2238986c8b3dSmrg <field name="nKTLevels" type="CARD16" /> 2239986c8b3dSmrg <pad bytes="4" /> 2240986c8b3dSmrg <switch name="valueList"> 2241986c8b3dSmrg <fieldref>which</fieldref> 2242986c8b3dSmrg <bitcase> 2243986c8b3dSmrg <enumref ref="NameDetail">Keycodes</enumref> 2244986c8b3dSmrg <field name="keycodesName" type="ATOM" /> 2245986c8b3dSmrg </bitcase> 2246986c8b3dSmrg <bitcase> 2247986c8b3dSmrg <enumref ref="NameDetail">Geometry</enumref> 2248986c8b3dSmrg <field name="geometryName" type="ATOM" /> 2249986c8b3dSmrg </bitcase> 2250986c8b3dSmrg <bitcase> 2251986c8b3dSmrg <enumref ref="NameDetail">Symbols</enumref> 2252986c8b3dSmrg <field name="symbolsName" type="ATOM" /> 2253986c8b3dSmrg </bitcase> 2254986c8b3dSmrg <bitcase> 2255986c8b3dSmrg <enumref ref="NameDetail">PhysSymbols</enumref> 2256986c8b3dSmrg <field name="physSymbolsName" type="ATOM" /> 2257986c8b3dSmrg </bitcase> 2258986c8b3dSmrg <bitcase> 2259986c8b3dSmrg <enumref ref="NameDetail">Types</enumref> 2260986c8b3dSmrg <field name="typesName" type="ATOM" /> 2261986c8b3dSmrg </bitcase> 2262986c8b3dSmrg <bitcase> 2263986c8b3dSmrg <enumref ref="NameDetail">Compat</enumref> 2264986c8b3dSmrg <field name="compatName" type="ATOM" /> 2265986c8b3dSmrg </bitcase> 2266986c8b3dSmrg <bitcase> 2267986c8b3dSmrg <enumref ref="NameDetail">KeyTypeNames</enumref> 2268986c8b3dSmrg <list name="typeNames" type="ATOM"> 2269986c8b3dSmrg <fieldref>nTypes</fieldref> 2270986c8b3dSmrg </list> 2271986c8b3dSmrg </bitcase> 2272986c8b3dSmrg <bitcase> 2273986c8b3dSmrg <enumref ref="NameDetail">KTLevelNames</enumref> 2274986c8b3dSmrg <list name="nLevelsPerType" type="CARD8"> 2275986c8b3dSmrg <fieldref>nKTLevels</fieldref> 2276986c8b3dSmrg </list> 2277986c8b3dSmrg <list name="ktLevelNames" type="ATOM"> 2278986c8b3dSmrg <sumof ref="nLevelsPerType" /> 2279986c8b3dSmrg </list> 2280986c8b3dSmrg </bitcase> 2281986c8b3dSmrg <bitcase> 2282986c8b3dSmrg <enumref ref="NameDetail">IndicatorNames</enumref> 2283986c8b3dSmrg <list name="indicatorNames" type="ATOM"> 2284986c8b3dSmrg <popcount> 2285986c8b3dSmrg <fieldref>indicators</fieldref> 2286986c8b3dSmrg </popcount> 2287986c8b3dSmrg </list> 2288986c8b3dSmrg </bitcase> 2289986c8b3dSmrg <bitcase> 2290986c8b3dSmrg <enumref ref="NameDetail">VirtualModNames</enumref> 2291986c8b3dSmrg <list name="virtualModNames" type="ATOM"> 2292986c8b3dSmrg <popcount> 2293986c8b3dSmrg <fieldref>virtualMods</fieldref> 2294986c8b3dSmrg </popcount> 2295986c8b3dSmrg </list> 2296986c8b3dSmrg </bitcase> 2297986c8b3dSmrg <bitcase> 2298986c8b3dSmrg <enumref ref="NameDetail">GroupNames</enumref> 2299986c8b3dSmrg <list name="groups" type="ATOM"> 2300986c8b3dSmrg <popcount> 2301986c8b3dSmrg <fieldref>groupNames</fieldref> 2302986c8b3dSmrg </popcount> 2303986c8b3dSmrg </list> 2304986c8b3dSmrg </bitcase> 2305986c8b3dSmrg <bitcase> 2306986c8b3dSmrg <enumref ref="NameDetail">KeyNames</enumref> 2307986c8b3dSmrg <list name="keyNames" type="KeyName"> 2308986c8b3dSmrg <fieldref>nKeys</fieldref> 2309986c8b3dSmrg </list> 2310986c8b3dSmrg </bitcase> 2311986c8b3dSmrg <bitcase> 2312986c8b3dSmrg <enumref ref="NameDetail">KeyAliases</enumref> 2313986c8b3dSmrg <list name="keyAliases" type="KeyAlias"> 2314986c8b3dSmrg <fieldref>nKeyAliases</fieldref> 2315986c8b3dSmrg </list> 2316986c8b3dSmrg </bitcase> 2317986c8b3dSmrg <bitcase> 2318986c8b3dSmrg <enumref ref="NameDetail">RGNames</enumref> 2319986c8b3dSmrg <list name="radioGroupNames" type="ATOM"> 2320986c8b3dSmrg <fieldref>nRadioGroups</fieldref> 2321986c8b3dSmrg </list> 2322986c8b3dSmrg </bitcase> 2323986c8b3dSmrg </switch> 2324986c8b3dSmrg </bitcase> 2325986c8b3dSmrg <bitcase name="geometry"> 2326986c8b3dSmrg <enumref ref="GBNDetail">Geometry</enumref> 2327f591e195Smrg <!-- from the spec, this has to include a reply header --> 2328f591e195Smrg <field name="geometry_type" type="CARD8" /> 2329986c8b3dSmrg <field name="geometryDeviceID" type="CARD8" /> 2330f591e195Smrg <field name="geometry_sequence" type="CARD16" /> 2331f591e195Smrg <field name="geometry_length" type="CARD32" /> 2332f591e195Smrg <!-- done 'emulating' reply header --> 2333986c8b3dSmrg <field name="name" type="ATOM" /> 2334986c8b3dSmrg <field name="geometryFound" type="BOOL" /> 2335986c8b3dSmrg <pad bytes="1" /> 2336986c8b3dSmrg <field name="widthMM" type="CARD16" /> 2337986c8b3dSmrg <field name="heightMM" type="CARD16" /> 2338986c8b3dSmrg <field name="nProperties" type="CARD16" /> 2339986c8b3dSmrg <field name="nColors" type="CARD16" /> 2340986c8b3dSmrg <field name="nShapes" type="CARD16" /> 2341986c8b3dSmrg <field name="nSections" type="CARD16" /> 2342986c8b3dSmrg <field name="nDoodads" type="CARD16" /> 2343986c8b3dSmrg <field name="nKeyAliases" type="CARD16" /> 2344986c8b3dSmrg <field name="baseColorNdx" type="CARD8" /> 2345986c8b3dSmrg <field name="labelColorNdx" type="CARD8" /> 2346986c8b3dSmrg <field name="labelFont" type="CountedString16" /> 2347f591e195Smrg <!-- XXX: Property is broken 2348986c8b3dSmrg <list name="properties" type="Property"> 2349986c8b3dSmrg <fieldref>nProperties</fieldref> 2350986c8b3dSmrg </list> 2351986c8b3dSmrg <list name="colors" type="CountedString16"> 2352986c8b3dSmrg <fieldref>nColors</fieldref> 2353986c8b3dSmrg </list> 2354986c8b3dSmrg <list name="shapes" type="Shape"> 2355986c8b3dSmrg <fieldref>nShapes</fieldref> 2356986c8b3dSmrg </list> 2357f591e195Smrg --> 2358f591e195Smrg <!-- XXX: doodads are broken 2359986c8b3dSmrg <list name="sections" type="Section"> 2360986c8b3dSmrg <fieldref>nSections</fieldref> 2361986c8b3dSmrg </list> 2362986c8b3dSmrg <list name="doodads" type="Doodad"> 2363986c8b3dSmrg <fieldref>nDoodads</fieldref> 2364986c8b3dSmrg </list> 2365986c8b3dSmrg <list name="keyAliases" type="KeyAlias"> 2366986c8b3dSmrg <fieldref>nKeyAliases</fieldref> 2367986c8b3dSmrg </list> 2368f591e195Smrg --> 2369986c8b3dSmrg </bitcase> 2370986c8b3dSmrg </switch> 2371986c8b3dSmrg </reply> 2372986c8b3dSmrg </request> 2373986c8b3dSmrg 2374986c8b3dSmrg <request name="GetDeviceInfo" opcode="24"> 2375986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 2376986c8b3dSmrg <field name="wanted" type="CARD16" mask="XIFeature" /> 2377986c8b3dSmrg <field name="allButtons" type="BOOL" /> 2378986c8b3dSmrg <field name="firstButton" type="CARD8" /> 2379986c8b3dSmrg <field name="nButtons" type="CARD8" /> 2380986c8b3dSmrg <pad bytes="1" /> 2381986c8b3dSmrg <field name="ledClass" type="LedClassSpec" enum="LedClass" /> 2382986c8b3dSmrg <field name="ledID" type="IDSpec" altenum="ID" /> 2383986c8b3dSmrg <reply> 2384986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2385986c8b3dSmrg <field name="present" type="CARD16" mask="XIFeature" /> 2386986c8b3dSmrg <field name="supported" type="CARD16" mask="XIFeature" /> 2387986c8b3dSmrg <field name="unsupported" type="CARD16" mask="XIFeature" /> 2388986c8b3dSmrg <field name="nDeviceLedFBs" type="CARD16" /> 2389986c8b3dSmrg <field name="firstBtnWanted" type="CARD8" /> 2390986c8b3dSmrg <field name="nBtnsWanted" type="CARD8" /> 2391986c8b3dSmrg <field name="firstBtnRtrn" type="CARD8" /> 2392986c8b3dSmrg <field name="nBtnsRtrn" type="CARD8" /> 2393986c8b3dSmrg <field name="totalBtns" type="CARD8" /> 2394986c8b3dSmrg <field name="hasOwnState" type="BOOL" /> 2395986c8b3dSmrg <field name="dfltKbdFB" type="CARD16" altenum="ID" /> 2396986c8b3dSmrg <field name="dfltLedFB" type="CARD16" altenum="ID" /> 2397986c8b3dSmrg <pad bytes="2" /> 2398986c8b3dSmrg <field name="devType" type="ATOM" /> 2399986c8b3dSmrg <field name="nameLen" type="CARD16" /> 2400986c8b3dSmrg <list name="name" type="STRING8"> 2401986c8b3dSmrg <fieldref>nameLen</fieldref> 2402986c8b3dSmrg </list> 2403986c8b3dSmrg <list name="btnActions" type="Action"> 2404986c8b3dSmrg <fieldref>nBtnsRtrn</fieldref> 2405986c8b3dSmrg </list> 2406986c8b3dSmrg <list name="leds" type="DeviceLedInfo"> 2407986c8b3dSmrg <fieldref>nDeviceLedFBs</fieldref> 2408986c8b3dSmrg </list> 2409986c8b3dSmrg </reply> 2410986c8b3dSmrg </request> 2411986c8b3dSmrg 2412986c8b3dSmrg 2413986c8b3dSmrg <request name="SetDeviceInfo" opcode="25"> 2414986c8b3dSmrg <field name="deviceSpec" type="DeviceSpec" /> 2415986c8b3dSmrg <field name="firstBtn" type="CARD8" /> 2416986c8b3dSmrg <field name="nBtns" type="CARD8" /> 2417986c8b3dSmrg <field name="change" type="CARD16" mask="XIFeature" /> 2418986c8b3dSmrg <field name="nDeviceLedFBs" type="CARD16" /> 2419986c8b3dSmrg <list name="btnActions" type="Action"> 2420986c8b3dSmrg <fieldref>nBtns</fieldref> 2421986c8b3dSmrg </list> 2422986c8b3dSmrg <list name="leds" type="DeviceLedInfo"> 2423986c8b3dSmrg <fieldref>nDeviceLedFBs</fieldref> 2424986c8b3dSmrg </list> 2425986c8b3dSmrg </request> 2426986c8b3dSmrg 2427986c8b3dSmrg <request name="SetDebuggingFlags" opcode="101"> 2428986c8b3dSmrg <field name="msgLength" type="CARD16" /> 2429986c8b3dSmrg <pad bytes="2" /> 2430986c8b3dSmrg <field name="affectFlags" type="CARD32" /> 2431986c8b3dSmrg <field name="flags" type="CARD32" /> 2432986c8b3dSmrg <field name="affectCtrls" type="CARD32" /> 2433986c8b3dSmrg <field name="ctrls" type="CARD32" /> 2434986c8b3dSmrg <list name="message" type="STRING8"> 2435986c8b3dSmrg <fieldref>msgLength</fieldref> 2436986c8b3dSmrg </list> 2437986c8b3dSmrg <reply> 2438986c8b3dSmrg <pad bytes="1" /> 2439986c8b3dSmrg <field name="currentFlags" type="CARD32" /> 2440986c8b3dSmrg <field name="currentCtrls" type="CARD32" /> 2441986c8b3dSmrg <field name="supportedFlags" type="CARD32" /> 2442986c8b3dSmrg <field name="supportedCtrls" type="CARD32" /> 2443986c8b3dSmrg <pad bytes="8" /> 2444986c8b3dSmrg </reply> 2445986c8b3dSmrg </request> 2446986c8b3dSmrg 2447986c8b3dSmrg <!-- Events --> 2448986c8b3dSmrg 2449f591e195Smrg <event name="NewKeyboardNotify" number="0"> 2450986c8b3dSmrg <field name="xkbType" type="CARD8" /> 2451986c8b3dSmrg <field name="time" type="TIMESTAMP" /> 2452986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2453986c8b3dSmrg <field name="oldDeviceID" type="CARD8" /> 2454986c8b3dSmrg <field name="minKeyCode" type="KEYCODE" /> 2455986c8b3dSmrg <field name="maxKeyCode" type="KEYCODE" /> 2456986c8b3dSmrg <field name="oldMinKeyCode" type="KEYCODE" /> 2457986c8b3dSmrg <field name="oldMaxKeyCode" type="KEYCODE" /> 2458986c8b3dSmrg <field name="requestMajor" type="CARD8" /> 2459986c8b3dSmrg <field name="requestMinor" type="CARD8" /> 2460986c8b3dSmrg <field name="changed" type="CARD16" mask="NKNDetail" /> 2461986c8b3dSmrg <pad bytes="14" /> 2462986c8b3dSmrg </event> 2463986c8b3dSmrg 2464f591e195Smrg <event name="MapNotify" number="1"> 2465986c8b3dSmrg <field name="xkbType" type="CARD8" /> 2466986c8b3dSmrg <field name="time" type="TIMESTAMP" /> 2467986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2468986c8b3dSmrg <field name="ptrBtnActions" type="CARD8" /> 2469986c8b3dSmrg <field name="changed" type="CARD16" mask="MapPart" /> 2470986c8b3dSmrg <field name="minKeyCode" type="KEYCODE" /> 2471986c8b3dSmrg <field name="maxKeyCode" type="KEYCODE" /> 2472986c8b3dSmrg <field name="firstType" type="CARD8" /> 2473986c8b3dSmrg <field name="nTypes" type="CARD8" /> 2474986c8b3dSmrg <field name="firstKeySym" type="KEYCODE" /> 2475986c8b3dSmrg <field name="nKeySyms" type="CARD8" /> 2476986c8b3dSmrg <field name="firstKeyAct" type="KEYCODE" /> 2477986c8b3dSmrg <field name="nKeyActs" type="CARD8" /> 2478986c8b3dSmrg <field name="firstKeyBehavior" type="KEYCODE" /> 2479986c8b3dSmrg <field name="nKeyBehavior" type="CARD8" /> 2480986c8b3dSmrg <field name="firstKeyExplicit" type="KEYCODE" /> 2481986c8b3dSmrg <field name="nKeyExplicit" type="CARD8" /> 2482986c8b3dSmrg <field name="firstModMapKey" type="KEYCODE" /> 2483986c8b3dSmrg <field name="nModMapKeys" type="CARD8" /> 2484986c8b3dSmrg <field name="firstVModMapKey" type="KEYCODE" /> 2485986c8b3dSmrg <field name="nVModMapKeys" type="CARD8" /> 2486986c8b3dSmrg <field name="virtualMods" type="CARD16" mask="VMod" /> 2487986c8b3dSmrg <pad bytes="2" /> 2488986c8b3dSmrg </event> 2489986c8b3dSmrg 2490f591e195Smrg <event name="StateNotify" number="2"> 2491986c8b3dSmrg <field name="xkbType" type="CARD8" /> 2492986c8b3dSmrg <field name="time" type="TIMESTAMP" /> 2493986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2494986c8b3dSmrg <field name="mods" type="CARD8" mask="ModMask" /> 2495986c8b3dSmrg <field name="baseMods" type="CARD8" mask="ModMask" /> 2496986c8b3dSmrg <field name="latchedMods" type="CARD8" mask="ModMask" /> 2497986c8b3dSmrg <field name="lockedMods" type="CARD8" mask="ModMask" /> 2498986c8b3dSmrg <field name="group" type="CARD8" enum="Group" /> 2499986c8b3dSmrg <field name="baseGroup" type="INT16" /> 2500986c8b3dSmrg <field name="latchedGroup" type="INT16" /> 2501986c8b3dSmrg <field name="lockedGroup" type="CARD8" enum="Group" /> 2502986c8b3dSmrg <field name="compatState" type="CARD8" mask="ModMask" /> 2503986c8b3dSmrg <field name="grabMods" type="CARD8" mask="ModMask" /> 2504986c8b3dSmrg <field name="compatGrabMods" type="CARD8" mask="ModMask" /> 2505986c8b3dSmrg <field name="lookupMods" type="CARD8" mask="ModMask" /> 2506986c8b3dSmrg <field name="compatLoockupMods" type="CARD8" mask="ModMask" /> 2507986c8b3dSmrg <field name="ptrBtnState" type="CARD16" mask="KeyButMask" /> 2508986c8b3dSmrg <field name="changed" type="CARD16" mask="StatePart" /> 2509986c8b3dSmrg <field name="keycode" type="KEYCODE" /> 2510986c8b3dSmrg <field name="eventType" type="CARD8" /> 2511986c8b3dSmrg <field name="requestMajor" type="CARD8" /> 2512986c8b3dSmrg <field name="requestMinor" type="CARD8" /> 2513986c8b3dSmrg </event> 2514986c8b3dSmrg 2515f591e195Smrg <event name="ControlsNotify" number="3"> 2516986c8b3dSmrg <field name="xkbType" type="CARD8" /> 2517986c8b3dSmrg <field name="time" type="TIMESTAMP" /> 2518986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2519986c8b3dSmrg <field name="numGroups" type="CARD8" /> 2520986c8b3dSmrg <pad bytes="2" /> 2521986c8b3dSmrg <field name="changedControls" type="CARD32" mask="Control" /> 2522986c8b3dSmrg <field name="enabledControls" type="CARD32" mask="BoolCtrl" /> 2523986c8b3dSmrg <field name="enabledControlChanges" type="CARD32" mask="BoolCtrl" /> 2524986c8b3dSmrg <field name="keycode" type="KEYCODE" /> 2525986c8b3dSmrg <field name="eventType" type="CARD8" /> 2526986c8b3dSmrg <field name="requestMajor" type="CARD8" /> 2527986c8b3dSmrg <field name="requestMinor" type="CARD8" /> 2528986c8b3dSmrg <pad bytes="4" /> 2529986c8b3dSmrg </event> 2530986c8b3dSmrg 2531f591e195Smrg <event name="IndicatorStateNotify" number="4"> 2532986c8b3dSmrg <field name="xkbType" type="CARD8" /> 2533986c8b3dSmrg <field name="time" type="TIMESTAMP" /> 2534986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2535986c8b3dSmrg <pad bytes="3" /> 2536986c8b3dSmrg <field name="state" type="CARD32" /> 2537986c8b3dSmrg <field name="stateChanged" type="CARD32" /> 2538986c8b3dSmrg <pad bytes="12" /> 2539986c8b3dSmrg </event> 2540986c8b3dSmrg 2541f591e195Smrg <event name="IndicatorMapNotify" number="5"> 2542986c8b3dSmrg <field name="xkbType" type="CARD8" /> 2543986c8b3dSmrg <field name="time" type="TIMESTAMP" /> 2544986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2545986c8b3dSmrg <pad bytes="3" /> 2546986c8b3dSmrg <field name="state" type="CARD32" /> 2547986c8b3dSmrg <field name="mapChanged" type="CARD32" /> 2548986c8b3dSmrg <pad bytes="12" /> 2549986c8b3dSmrg </event> 2550986c8b3dSmrg 2551f591e195Smrg <event name="NamesNotify" number="6"> 2552986c8b3dSmrg <field name="xkbType" type="CARD8" /> 2553986c8b3dSmrg <field name="time" type="TIMESTAMP" /> 2554986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2555986c8b3dSmrg <pad bytes="1" /> 2556986c8b3dSmrg <field name="changed" type="CARD16" mask="NameDetail" /> 2557986c8b3dSmrg <field name="firstType" type="CARD8" /> 2558986c8b3dSmrg <field name="nTypes" type="CARD8" /> 2559986c8b3dSmrg <field name="firstLevelName" type="CARD8" /> 2560986c8b3dSmrg <field name="nLevelNames" type="CARD8" /> 2561986c8b3dSmrg <pad bytes="1" /> 2562986c8b3dSmrg <field name="nRadioGroups" type="CARD8" /> 2563986c8b3dSmrg <field name="nKeyAliases" type="CARD8" /> 2564986c8b3dSmrg <field name="changedGroupNames" type="CARD8" mask="SetOfGroup" /> 2565986c8b3dSmrg <field name="changedVirtualMods" type="CARD16" mask="VMod" /> 2566986c8b3dSmrg <field name="firstKey" type="KEYCODE" /> 2567986c8b3dSmrg <field name="nKeys" type="CARD8" /> 2568986c8b3dSmrg <field name="changedIndicators" type="CARD32" /> 2569986c8b3dSmrg <pad bytes="4" /> 2570986c8b3dSmrg </event> 2571986c8b3dSmrg 2572f591e195Smrg <event name="CompatMapNotify" number="7"> 2573986c8b3dSmrg <field name="xkbType" type="CARD8" /> 2574986c8b3dSmrg <field name="time" type="TIMESTAMP" /> 2575986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2576986c8b3dSmrg <field name="changedGroups" type="CARD8" mask="SetOfGroup" /> 2577986c8b3dSmrg <field name="firstSI" type="CARD16" /> 2578986c8b3dSmrg <field name="nSI" type="CARD16" /> 2579986c8b3dSmrg <field name="nTotalSI" type="CARD16" /> 2580986c8b3dSmrg <pad bytes="16" /> 2581986c8b3dSmrg </event> 2582986c8b3dSmrg 2583f591e195Smrg <event name="BellNotify" number="8"> 2584986c8b3dSmrg <field name="xkbType" type="CARD8" /> 2585986c8b3dSmrg <field name="time" type="TIMESTAMP" /> 2586986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2587986c8b3dSmrg <field name="bellClass" type="CARD8" enum="BellClassResult" /> 2588986c8b3dSmrg <field name="bellID" type="CARD8" /> 2589986c8b3dSmrg <field name="percent" type="CARD8" /> 2590986c8b3dSmrg <field name="pitch" type="CARD16" /> 2591986c8b3dSmrg <field name="duration" type="CARD16" /> 2592986c8b3dSmrg <field name="name" type="ATOM" /> 2593986c8b3dSmrg <field name="window" type="WINDOW" /> 2594986c8b3dSmrg <field name="eventOnly" type="BOOL" /> 2595986c8b3dSmrg <pad bytes="7" /> 2596986c8b3dSmrg </event> 2597986c8b3dSmrg 2598f591e195Smrg <event name="ActionMessage" number="9"> 2599986c8b3dSmrg <field name="xkbType" type="CARD8" /> 2600986c8b3dSmrg <field name="time" type="TIMESTAMP" /> 2601986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2602986c8b3dSmrg <field name="keycode" type="KEYCODE" /> 2603986c8b3dSmrg <field name="press" type="BOOL" /> 2604986c8b3dSmrg <field name="keyEventFollows" type="BOOL" /> 2605986c8b3dSmrg <field name="mods" type="CARD8" mask="ModMask" /> 2606986c8b3dSmrg <field name="group" type="CARD8" enum="Group" /> 2607986c8b3dSmrg <list name="message" type="STRING8"> 2608986c8b3dSmrg <value>8</value> 2609986c8b3dSmrg </list> 2610986c8b3dSmrg <pad bytes="10" /> 2611986c8b3dSmrg </event> 2612986c8b3dSmrg 2613f591e195Smrg <event name="AccessXNotify" number="10"> 2614986c8b3dSmrg <field name="xkbType" type="CARD8" /> 2615986c8b3dSmrg <field name="time" type="TIMESTAMP" /> 2616986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2617986c8b3dSmrg <field name="keycode" type="KEYCODE" /> 2618986c8b3dSmrg <field name="detailt" type="CARD16" mask="AXNDetail" /> 2619986c8b3dSmrg <field name="slowKeysDelay" type="CARD16" /> 2620986c8b3dSmrg <field name="debounceDelay" type="CARD16" /> 2621986c8b3dSmrg <pad bytes="16" /> 2622986c8b3dSmrg </event> 2623986c8b3dSmrg 2624f591e195Smrg <event name="ExtensionDeviceNotify" number="11"> 2625986c8b3dSmrg <field name="xkbType" type="CARD8" /> 2626986c8b3dSmrg <field name="time" type="TIMESTAMP" /> 2627986c8b3dSmrg <field name="deviceID" type="CARD8" /> 2628986c8b3dSmrg <pad bytes="1" /> 2629986c8b3dSmrg <field name="reason" type="CARD16" mask="XIFeature" /> 2630986c8b3dSmrg <field name="ledClass" type="CARD16" enum="LedClassResult" /> 2631f591e195Smrg <field name="ledID" type="CARD16" /> 2632986c8b3dSmrg <field name="ledsDefined" type="CARD32" /> 2633986c8b3dSmrg <field name="ledState" type="CARD32" /> 2634986c8b3dSmrg <field name="firstButton" type="CARD8" /> 2635986c8b3dSmrg <field name="nButtons" type="CARD8" /> 2636986c8b3dSmrg <field name="supported" type="CARD16" mask="XIFeature" /> 2637986c8b3dSmrg <field name="unsupported" type="CARD16" mask="XIFeature" /> 2638986c8b3dSmrg <pad bytes="2" /> 2639986c8b3dSmrg </event> 2640986c8b3dSmrg</xcb> 2641