diff options
Diffstat (limited to 'src/xkb.xml')
-rw-r--r-- | src/xkb.xml | 615 |
1 files changed, 228 insertions, 387 deletions
diff --git a/src/xkb.xml b/src/xkb.xml index a6ef374..1df0771 100644 --- a/src/xkb.xml +++ b/src/xkb.xml @@ -130,29 +130,21 @@ authorization from the authors. <item name="ControlsEnabled"> <bit>31</bit> </item> </enum> - <enum name="AXFBOpt"> + <enum name="AXOption"> <item name="SKPressFB"> <bit>0</bit> </item> <item name="SKAcceptFB"> <bit>1</bit> </item> <item name="FeatureFB"> <bit>2</bit> </item> <item name="SlowWarnFB"> <bit>3</bit> </item> <item name="IndicatorFB"> <bit>4</bit> </item> <item name="StickyKeysFB"> <bit>5</bit> </item> - <item name="SKReleaseFB"> <bit>6</bit> </item> - <item name="SKRejectFB"> <bit>7</bit> </item> - <item name="BKRejectFB"> <bit>8</bit> </item> - <item name="DumbBell"> <bit>9</bit> </item> + <item name="TwoKeys"> <bit>6</bit> </item> + <item name="LatchToLock"> <bit>7</bit> </item> + <item name="SKReleaseFB"> <bit>8</bit> </item> + <item name="SKRejectFB"> <bit>9</bit> </item> + <item name="BKRejectFB"> <bit>10</bit> </item> + <item name="DumbBell"> <bit>11</bit> </item> </enum> - <enum name="AXSKOpt"> - <item name="TwoKeys"> <bit>6</bit> </item> - <item name="LatchToLock"> <bit>7</bit> </item> - </enum> - - <union name="AXOption"> - <field name="fbopt" type="CARD16" enum="AXFBOpt" /> - <field name="skopt" type="CARD16" enum="AXSKOpt" /> - </union> - <typedef oldname="CARD16" newname="DeviceSpec" /> <enum name="LedClassResult"> @@ -161,8 +153,10 @@ authorization from the authors. </enum> <enum name="LedClass"> - <item name="DfltXIClass"> <value>768</value> </item> <!--0x300--> - <item name="AllXIClasses"> <value>1280</value> </item> <!--0x500--> + <item name="KbdFeedbackClass"> <value>0</value> </item> + <item name="LedFeedbackClass"> <value>4</value> </item> + <item name="DfltXIClass"> <value>768</value> </item> <!--0x300--> + <item name="AllXIClasses"> <value>1280</value> </item> <!--0x500--> </enum> <typedef oldname="CARD16" newname="LedClassSpec" /> @@ -172,7 +166,9 @@ authorization from the authors. </enum> <enum name="BellClass"> - <item name="DfltXIClass"> <value>768</value> </item> <!--0x300--> + <item name="KbdFeedbackClass"> <value>0</value> </item> + <item name="BellFeedbackClass"> <value>5</value> </item> + <item name="DfltXIClass"> <value>768</value> </item> <!--0x300--> </enum> <typedef oldname="CARD16" newname="BellClassSpec" /> @@ -268,7 +264,7 @@ authorization from the authors. <item name="KeyType1"> <bit>0</bit> </item> </enum> - <enum name="SymInterpret"> + <enum name="SymInterpretMatch"> <item name="NoneOf"> <value>0</value> </item> <item name="AnyOfOrNone"> <value>1</value> </item> <item name="AnyOf"> <value>2</value> </item> @@ -311,7 +307,7 @@ authorization from the authors. <field name="mods" type="CARD8" mask="ModMask" /> <field name="realMods" type="CARD8" mask="ModMask" /> <field name="vmods" type="CARD16" mask="VMod" /> - <field name="ctrls" type="CARD32" enum="BoolCtrl" /> + <field name="ctrls" type="CARD32" mask="BoolCtrl" /> </struct> <enum name="CMDetail"> @@ -370,43 +366,48 @@ authorization from the authors. </struct> <struct name="KeyName"> - <list name="name" type="CARD8"> + <list name="name" type="char"> <value>4</value> </list> </struct> <struct name="KeyAlias"> - <list name="real" type="CARD8"> + <list name="real" type="char"> <value>4</value> </list> - <list name="alias" type="CARD8"> + <list name="alias" type="char"> <value>4</value> </list> </struct> - <struct name="CountedString8"> - <field name="length" type="CARD8" /> - <list name="string" type="CARD8"> - <fieldref>length</fieldref> - </list> - </struct> - <struct name="CountedString16"> <field name="length" type="CARD16" /> - <list name="string" type="CARD8"> + <list name="string" type="char"> <fieldref>length</fieldref> </list> - <pad bytes="1" /> + <list type="void" name="alignment_pad"> + <op op="-"> + <op op="&"> + <op op="+"> + <fieldref>length</fieldref> + <value>5</value> + </op> + <unop op="~"> + <value>3</value> + </unop> + </op> + <op op="+"> + <fieldref>length</fieldref> + <value>2</value> + </op> + </op> + </list> </struct> <struct name="KTMapEntry"> <field name="active" type="BOOL" /> - <!-- Xlib uses a different arrangement of fields <field name="mods_mask" type="CARD8" mask="ModMask" /> <field name="level" type="CARD8" /> - --> - <field name="level" type="CARD8" /> - <field name="mods_mask" type="CARD8" mask="ModMask" /> <field name="mods_mods" type="CARD8" mask="ModMask" /> <field name="mods_vmods" type="CARD16" mask="VMod" /> <pad bytes="2" /> @@ -462,32 +463,26 @@ authorization from the authors. <field name="group" type="CARD8" /> </struct> - <struct name="Overlay1Behavior"> + <struct name="OverlayBehavior"> <field name="type" type="CARD8" /> <field name="key" type="KEYCODE" /> </struct> - <struct name="Overlay2Behavior"> - <field name="type" type="CARD8" /> - <field name="key" type="CARD8" /> - </struct> - <typedef oldname="LockBehavior" newname="PermamentLockBehavior" /> <typedef oldname="RadioGroupBehavior" newname="PermamentRadioGroupBehavior" /> - <typedef oldname="Overlay1Behavior" newname="PermamentOverlay1Behavior" /> - <typedef oldname="Overlay2Behavior" newname="PermamentOverlay2Behavior" /> + <typedef oldname="OverlayBehavior" newname="PermamentOverlayBehavior" /> <union name="Behavior"> <field name="common" type="CommonBehavior" /> <field name="default" type="DefaultBehavior" /> <field name="lock" type="LockBehavior" /> <field name="radioGroup" type="RadioGroupBehavior" /> - <field name="overlay1" type="Overlay1Behavior" /> - <field name="overlay2" type="Overlay2Behavior" /> + <field name="overlay1" type="OverlayBehavior" /> + <field name="overlay2" type="OverlayBehavior" /> <field name="permamentLock" type="PermamentLockBehavior" /> <field name="permamentRadioGroup" type="PermamentRadioGroupBehavior" /> - <field name="permamentOverlay1" type="PermamentOverlay1Behavior" /> - <field name="permamentOverlay2" type="PermamentOverlay2Behavior" /> + <field name="permamentOverlay1" type="PermamentOverlayBehavior" /> + <field name="permamentOverlay2" type="PermamentOverlayBehavior" /> <field name="type" type="CARD8" /> </union> @@ -552,6 +547,7 @@ authorization from the authors. <typedef oldname="char" newname="STRING8" /> + <!-- XXX: Property is broken <struct name="Property"> <field name="nameLength" type="CARD16" /> <list name="name" type="STRING8"> @@ -562,6 +558,15 @@ authorization from the authors. <fieldref>valueLength</fieldref> </list> </struct> + --> + <!-- XXX: This would be the correct Property structure as per spec., + but it's broken atm. too. Add it anyway here, so we don't + loose that information. + <struct name="Property"> + <field name="name" type="CountedString16" /> + <field name="value" type="CountedString16" /> + </struct> + --> <struct name="Outline"> <field name="nPoints" type="CARD8" /> @@ -638,6 +643,7 @@ authorization from the authors. <item name="Logo"> <value>5</value> </item> </enum> + <!-- XXX: doodads are broken <struct name="CommonDoodad"> <field name="name" type="ATOM" /> <field name="type" type="CARD8" enum="DoodadType" /> @@ -645,6 +651,7 @@ authorization from the authors. <field name="top" type="INT16" /> <field name="left" type="INT16" /> <field name="angle" type="INT16" /> + <pad bytes="8" /> </struct> <struct name="ShapeDoodad"> @@ -730,6 +737,7 @@ authorization from the authors. <fieldref>nOverlays</fieldref> </list> </struct> + --> <struct name="Listing"> <field name="flags" type="CARD16" /> @@ -869,7 +877,8 @@ authorization from the authors. </struct> <enum name="SASetPtrDfltFlag"> - <item name="DfltBtnAbsolute"> <bit>1</bit> </item> + <!-- The spec says 0x02 but Xlib uses 0x04. --> + <item name="DfltBtnAbsolute"> <bit>2</bit> </item> <item name="AffectDfltButton"> <bit>0</bit> </item> </enum> @@ -998,6 +1007,7 @@ authorization from the authors. <pad bytes="1" /> <field name="button" type="CARD8" /> <field name="device" type="CARD8" /> + <pad bytes="3" /> </struct> <enum name="SAValWhat"> @@ -1020,6 +1030,23 @@ authorization from the authors. <field name="val2value" type="CARD8" /> </struct> + <struct name="SIAction"> + <field name="type" type="CARD8" enum="SAType" /> + <list name="data" type="CARD8"> + <value>7</value> + </list> + </struct> + + <struct name="SymInterpret"> + <field name="sym" type="KEYSYM" /> + <field name="mods" type="CARD8" mask="ModMask" /> + <!-- "match" may also have XkbSI_LevelOneOnly (0x80) or'd into it --> + <field name="match" type="CARD8" altenum="SymInterpretMatch" /> + <field name="virtualMod" type="CARD8" mask="VModsLow" /> + <field name="flags" type="CARD8" /> + <field name="action" type="SIAction" /> + </struct> + <union name="Action"> <field name="noaction" type="SANoAction" /> <field name="setmods" type="SASetMods" /> @@ -1060,11 +1087,11 @@ authorization from the authors. <request name="SelectEvents" opcode="1"> <field name="deviceSpec" type="DeviceSpec" /> - <field name="affectWhich" type="CARD16" enum="EventType" /> - <field name="clear" type="CARD16" enum="EventType" /> - <field name="selectAll" type="CARD16" enum="EventType" /> - <field name="affectMap" type="CARD16" enum="MapPart" /> - <field name="map" type="CARD16" enum="MapPart" /> + <field name="affectWhich" type="CARD16" mask="EventType" /> + <field name="clear" type="CARD16" mask="EventType" /> + <field name="selectAll" type="CARD16" mask="EventType" /> + <field name="affectMap" type="CARD16" mask="MapPart" /> + <field name="map" type="CARD16" mask="MapPart" /> <switch name="details"> <op op="&"> <fieldref>affectWhich</fieldref> @@ -1206,14 +1233,14 @@ authorization from the authors. <field name="mouseKeysTimeToMax" type="CARD16" /> <field name="mouseKeysMaxSpeed" type="CARD16" /> <field name="mouseKeysCurve" type="INT16" /> - <field name="accessXOption" type="AXOption" /> + <field name="accessXOption" type="CARD16" mask="AXOption" /> <field name="accessXTimeout" type="CARD16" /> - <field name="accessXTimeoutOptionsMask" type="AXOption" /> - <field name="accessXTimeoutOptionsValues" type="AXOption" /> + <field name="accessXTimeoutOptionsMask" type="CARD16" mask="AXOption" /> + <field name="accessXTimeoutOptionsValues" type="CARD16" mask="AXOption" /> <pad bytes="2" /> - <field name="accessXTimeoutMask" type="CARD32" enum="BoolCtrl" /> - <field name="accessXTimeoutValues" type="CARD32" enum="BoolCtrl" /> - <field name="enabledControls" type="CARD32" enum="BoolCtrl" /> + <field name="accessXTimeoutMask" type="CARD32" mask="BoolCtrl" /> + <field name="accessXTimeoutValues" type="CARD32" mask="BoolCtrl" /> + <field name="enabledControls" type="CARD32" mask="BoolCtrl" /> <list name="perKeyRepeat" type="CARD8"> <value>32</value> </list> @@ -1232,10 +1259,10 @@ authorization from the authors. <field name="ignoreLockVirtualMods" type="CARD16" mask="VMod" /> <field name="mouseKeysDfltBtn" type="CARD8" /> <field name="groupsWrap" type="CARD8" /> - <field name="accessXOptions" type="AXOption" /> + <field name="accessXOptions" type="CARD16" mask="AXOption" /> <pad bytes="2" /> - <field name="affectEnabledControls" type="CARD32" enum="BoolCtrl" /> - <field name="enabledControls" type="CARD32" enum="BoolCtrl" /> + <field name="affectEnabledControls" type="CARD32" mask="BoolCtrl" /> + <field name="enabledControls" type="CARD32" mask="BoolCtrl" /> <field name="changeControls" type="CARD32" mask="Control" /> <field name="repeatDelay" type="CARD16" /> <field name="repeatInterval" type="CARD16" /> @@ -1247,10 +1274,10 @@ authorization from the authors. <field name="mouseKeysMaxSpeed" type="CARD16" /> <field name="mouseKeysCurve" type="INT16" /> <field name="accessXTimeout" type="CARD16" /> - <field name="accessXTimeoutMask" type="CARD32" enum="BoolCtrl" /> - <field name="accessXTimeoutValues" type="CARD32" enum="BoolCtrl" /> - <field name="accessXTimeoutOptionsMask" type="AXOption" /> - <field name="accessXTimeoutOptionsValues" type="AXOption" /> + <field name="accessXTimeoutMask" type="CARD32" mask="BoolCtrl" /> + <field name="accessXTimeoutValues" type="CARD32" mask="BoolCtrl" /> + <field name="accessXTimeoutOptionsMask" type="CARD16" mask="AXOption" /> + <field name="accessXTimeoutOptionsValues" type="CARD16" mask="AXOption" /> <list name="perKeyRepeat" type="CARD8"> <value>32</value> </list> @@ -1258,8 +1285,8 @@ authorization from the authors. <request name="GetMap" opcode="8"> <field name="deviceSpec" type="DeviceSpec" /> - <field name="full" type="CARD16" enum="MapPart" /> - <field name="partial" type="CARD16" enum="MapPart" /> + <field name="full" type="CARD16" mask="MapPart" /> + <field name="partial" type="CARD16" mask="MapPart" /> <field name="firstType" type="CARD8" /> <field name="nTypes" type="CARD8" /> <field name="firstKeySym" type="KEYCODE" /> @@ -1281,7 +1308,7 @@ authorization from the authors. <pad bytes="2" /> <field name="minKeyCode" type="KEYCODE" /> <field name="maxKeyCode" type="KEYCODE" /> - <field name="present" type="CARD16" enum="MapPart" /> + <field name="present" type="CARD16" mask="MapPart" /> <field name="firstType" type="CARD8" /> <field name="nTypes" type="CARD8" /> <field name="totalTypes" type="CARD8" /> @@ -1324,6 +1351,20 @@ authorization from the authors. <list name="acts_rtrn_count" type="CARD8"> <fieldref>nKeyActions</fieldref> </list> + <list type="CARD8" name="alignment_pad"> + <op op="-"> + <op op="&"> + <op op="+"> + <fieldref>nKeyActions</fieldref> + <value>3</value> + </op> + <unop op="~"> + <value>3</value> + </unop> + </op> + <fieldref>nKeyActions</fieldref> + </op> + </list> <list name="acts_rtrn_acts" type="Action"> <fieldref>totalActions</fieldref> </list> @@ -1337,7 +1378,21 @@ authorization from the authors. <bitcase> <enumref ref="MapPart">VirtualMods</enumref> <list name="vmods_rtrn" type="CARD8" mask="ModMask"> - <fieldref>nVModMapKeys</fieldref> + <popcount><fieldref>virtualMods</fieldref></popcount> + </list> + <list type="CARD8" name="alignment_pad2"> + <op op="-"> + <op op="&"> + <op op="+"> + <popcount><fieldref>virtualMods</fieldref></popcount> + <value>3</value> + </op> + <unop op="~"> + <value>3</value> + </unop> + </op> + <popcount><fieldref>virtualMods</fieldref></popcount> + </op> </list> </bitcase> <bitcase> @@ -1345,12 +1400,40 @@ authorization from the authors. <list name="explicit_rtrn" type="SetExplicit"> <fieldref>totalKeyExplicit</fieldref> </list> + <list type="CARD16" name="alignment_pad3"> + <op op="-"> + <op op="&"> + <op op="+"> + <fieldref>totalKeyExplicit</fieldref> + <value>1</value> + </op> + <unop op="~"> + <value>1</value> + </unop> + </op> + <fieldref>totalKeyExplicit</fieldref> + </op> + </list> </bitcase> <bitcase> <enumref ref="MapPart">ModifierMap</enumref> <list name="modmap_rtrn" type="KeyModMap"> <fieldref>totalModMapKeys</fieldref> </list> + <list type="CARD16" name="alignment_pad4"> + <op op="-"> + <op op="&"> + <op op="+"> + <fieldref>totalModMapKeys</fieldref> + <value>1</value> + </op> + <unop op="~"> + <value>1</value> + </unop> + </op> + <fieldref>totalModMapKeys</fieldref> + </op> + </list> </bitcase> <bitcase> <enumref ref="MapPart">VirtualModMap</enumref> @@ -1364,7 +1447,7 @@ authorization from the authors. <request name="SetMap" opcode="9"> <field name="deviceSpec" type="DeviceSpec" /> - <field name="present" type="CARD16" enum="MapPart" /> + <field name="present" type="CARD16" mask="MapPart" /> <field name="flags" type="CARD16" mask="SetMapFlags" /> <field name="minKeyCode" type="KEYCODE" /> <field name="maxKeyCode" type="KEYCODE" /> @@ -1421,7 +1504,7 @@ authorization from the authors. <bitcase> <enumref ref="MapPart">VirtualMods</enumref> <list name="vmods" type="CARD8"> - <fieldref>nVModMapKeys</fieldref> + <popcount><fieldref>virtualMods</fieldref></popcount> </list> </bitcase> <bitcase> @@ -1459,11 +1542,8 @@ authorization from the authors. <field name="nSIRtrn" type="CARD16" /> <field name="nTotalSI" type="CARD16" /> <pad bytes="16" /> - <list name="si_rtrn" type="CARD8" mask="SymInterpret"> - <op op="*"> - <value>16</value> - <fieldref>nSIRtrn</fieldref> - </op> + <list name="si_rtrn" type="SymInterpret"> + <fieldref>nSIRtrn</fieldref> </list> <list name="group_rtrn" type="ModDef"> <popcount> @@ -1482,11 +1562,8 @@ authorization from the authors. <field name="firstSI" type="CARD16" /> <field name="nSI" type="CARD16" /> <pad bytes="2"/> - <list name="si" type="CARD8" mask="SymInterpret"> - <op op="*"> - <value>16</value> - <fieldref>nSI</fieldref> - </op> + <list name="si" type="SymInterpret"> + <fieldref>nSI</fieldref> </list> <list name="groupMaps" type="ModDef"> <popcount> @@ -1516,7 +1593,7 @@ authorization from the authors. <field name="nIndicators" type="CARD8" /> <pad bytes="15" /> <list name="maps" type="IndicatorMap"> - <fieldref>nIndicators</fieldref> + <popcount><fieldref>which</fieldref></popcount> </list> </reply> </request> @@ -1553,6 +1630,7 @@ authorization from the authors. <field name="map_realMods" type="CARD8" mask="ModMask" /> <field name="map_vmod" type="CARD16" mask="VMod" /> <field name="map_ctrls" type="CARD32" mask="BoolCtrl" /> + <field name="supported" type="BOOL" /> <pad bytes="3" /> </reply> </request> @@ -1637,6 +1715,20 @@ authorization from the authors. <fieldref>nKTLevels</fieldref> --> <fieldref>nTypes</fieldref> </list> + <list type="CARD8" name="alignment_pad"> + <op op="-"> + <op op="&"> + <op op="+"> + <fieldref>nTypes</fieldref> + <value>3</value> + </op> + <unop op="~"> + <value>3</value> + </unop> + </op> + <fieldref>nTypes</fieldref> + </op> + </list> <list name="ktLevelNames" type="ATOM"> <sumof ref="nLevelsPerType" /> </list> @@ -1789,6 +1881,7 @@ authorization from the authors. </switch> </request> + <!-- XXX: Property and doodads are broken, which renders GetGeometry useless <request name="GetGeometry" opcode="19"> <field name="deviceSpec" type="DeviceSpec" /> <pad bytes="2" /> @@ -1829,7 +1922,9 @@ authorization from the authors. </list> </reply> </request> + --> + <!-- XXX: Property and doodads are broken, which renders SetGeometry useless <request name="SetGeometry" opcode="20"> <field name="deviceSpec" type="DeviceSpec" /> <field name="nShapes" type="CARD8" /> @@ -1864,6 +1959,7 @@ authorization from the authors. <fieldref>nKeyAliases</fieldref> </list> </request> + --> <request name="PerClientFlags" opcode="21"> <field name="deviceSpec" type="DeviceSpec" /> @@ -1886,6 +1982,7 @@ authorization from the authors. <request name="ListComponents" opcode="22"> <field name="deviceSpec" type="DeviceSpec" /> <field name="maxNames" type="CARD16" /> + <!-- XXX: Intermixed fixed size fields and lists are broken <field name="keymapsSpecLen" type="CARD8" /> <list name="keymapsSpec" type="STRING8"> <fieldref>keymapsSpecLen</fieldref> @@ -1910,6 +2007,7 @@ authorization from the authors. <list name="geometrySpec" type="STRING8"> <fieldref>geometrySpecLen</fieldref> </list> + --> <reply> <field name="deviceID" type="CARD8" /> <field name="nKeymaps" type="CARD16" /> @@ -1947,6 +2045,7 @@ authorization from the authors. <field name="want" type="CARD16" mask="GBNDetail" /> <field name="load" type="BOOL" /> <pad bytes="1" /> + <!-- XXX: Intermixed fixed size fields and lists are broken <field name="keymapsSpecLen" type="CARD8" /> <list name="keymapsSpec" type="STRING8"> <fieldref>keymapsSpecLen</fieldref> @@ -1971,6 +2070,7 @@ authorization from the authors. <list name="geometrySpec" type="STRING8"> <fieldref>geometrySpecLen</fieldref> </list> + --> <reply> <field name="deviceID" type="CARD8" /> <field name="minKeyCode" type="KEYCODE" /> @@ -1984,6 +2084,8 @@ authorization from the authors. <fieldref>reported</fieldref> <bitcase name="types"> <enumref ref="GBNDetail">Types</enumref> + <enumref ref="GBNDetail">ClientSymbols</enumref> + <enumref ref="GBNDetail">ServerSymbols</enumref> <!-- from the spec, this has to be a GetMap reply --> <field name="getmap_type" type="CARD8" /> <!-- done 'emulating' GetMap reply header--> @@ -1995,7 +2097,7 @@ authorization from the authors. <pad bytes="2" /> <field name="typeMinKeyCode" type="KEYCODE" /> <field name="typeMaxKeyCode" type="KEYCODE" /> - <field name="present" type="CARD16" enum="MapPart" /> + <field name="present" type="CARD16" mask="MapPart" /> <field name="firstType" type="CARD8" /> <field name="nTypes" type="CARD8" /> <field name="totalTypes" type="CARD8" /> @@ -2051,7 +2153,7 @@ authorization from the authors. <bitcase> <enumref ref="MapPart">VirtualMods</enumref> <list name="vmods_rtrn" type="CARD8" mask="ModMask"> - <fieldref>nVModMapKeys</fieldref> + <popcount><fieldref>virtualMods</fieldref></popcount> </list> </bitcase> <bitcase> @@ -2076,18 +2178,20 @@ authorization from the authors. </bitcase> <bitcase name="compat_map"> <enumref ref="GBNDetail">CompatMap</enumref> + <!-- from the spec, this has to include a reply header --> + <field name="compatmap_type" type="CARD8" /> <field name="compatDeviceID" type="CARD8" /> + <field name="compatmap_sequence" type="CARD16" /> + <field name="compatmap_length" type="CARD32" /> + <!-- done 'emulating' reply header --> <field name="groupsRtrn" type="CARD8" mask="SetOfGroup" /> <pad bytes="1" /> <field name="firstSIRtrn" type="CARD16" /> <field name="nSIRtrn" type="CARD16" /> <field name="nTotalSI" type="CARD16" /> <pad bytes="16" /> - <list name="si_rtrn" type="CARD8" mask="SymInterpret"> - <op op="*"> - <value>16</value> - <fieldref>nSIRtrn</fieldref> - </op> + <list name="si_rtrn" type="SymInterpret"> + <fieldref>nSIRtrn</fieldref> </list> <list name="group_rtrn" type="ModDef"> <popcount> @@ -2095,179 +2199,14 @@ authorization from the authors. </popcount> </list> </bitcase> - <bitcase name="client_symbols"> - <enumref ref="GBNDetail">ClientSymbols</enumref> - <field name="clientDeviceID" type="CARD8" /> - <pad bytes="2" /> - <field name="clientMinKeyCode" type="KEYCODE" /> - <field name="clientMaxKeyCode" type="KEYCODE" /> - <field name="present" type="CARD16" enum="MapPart" /> - <field name="firstType" type="CARD8" /> - <field name="nTypes" type="CARD8" /> - <field name="totalTypes" type="CARD8" /> - <field name="firstKeySym" type="KEYCODE" /> - <field name="totalSyms" type="CARD16" /> - <field name="nKeySyms" type="CARD8" /> - <field name="firstKeyAction" type="KEYCODE" /> - <field name="totalActions" type="CARD16" /> - <field name="nKeyActions" type="CARD8" /> - <field name="firstKeyBehavior" type="KEYCODE" /> - <field name="nKeyBehaviors" type="CARD8" /> - <field name="totalKeyBehaviors" type="CARD8" /> - <field name="firstKeyExplicit" type="KEYCODE" /> - <field name="nKeyExplicit" type="CARD8" /> - <field name="totalKeyExplicit" type="CARD8" /> - <field name="firstModMapKey" type="KEYCODE" /> - <field name="nModMapKeys" type="CARD8" /> - <field name="totalModMapKeys" type="CARD8" /> - <field name="firstVModMapKey" type="KEYCODE" /> - <field name="nVModMapKeys" type="CARD8" /> - <field name="totalVModMapKeys" type="CARD8" /> - <pad bytes="1" /> - <field name="virtualMods" type="CARD16" mask="VMod" /> - <switch name="map"> - <fieldref>present</fieldref> - <bitcase> - <enumref ref="MapPart">KeyTypes</enumref> - <list name="types_rtrn" type="KeyType"> - <fieldref>nTypes</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">KeySyms</enumref> - <list name="syms_rtrn" type="KeySymMap"> - <fieldref>nKeySyms</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">KeyActions</enumref> - <list name="acts_rtrn_count" type="CARD8"> - <fieldref>nKeyActions</fieldref> - </list> - <list name="acts_rtrn_acts" type="Action"> - <fieldref>totalActions</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">KeyBehaviors</enumref> - <list name="behaviors_rtrn" type="SetBehavior"> - <fieldref>totalKeyBehaviors</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">VirtualMods</enumref> - <list name="vmods_rtrn" type="CARD8" mask="ModMask"> - <fieldref>nVModMapKeys</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">ExplicitComponents</enumref> - <list name="explicit_rtrn" type="SetExplicit"> - <fieldref>totalKeyExplicit</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">ModifierMap</enumref> - <list name="modmap_rtrn" type="KeyModMap"> - <fieldref>totalModMapKeys</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">VirtualModMap</enumref> - <list name="vmodmap_rtrn" type="KeyVModMap"> - <fieldref>totalVModMapKeys</fieldref> - </list> - </bitcase> - </switch> - </bitcase> - <bitcase name="server_symbols"> - <enumref ref="GBNDetail">ServerSymbols</enumref> - <field name="serverDeviceID" type="CARD8" /> - <pad bytes="2" /> - <field name="serverMinKeyCode" type="KEYCODE" /> - <field name="serverMaxKeyCode" type="KEYCODE" /> - <field name="present" type="CARD16" enum="MapPart" /> - <field name="firstType" type="CARD8" /> - <field name="nTypes" type="CARD8" /> - <field name="totalTypes" type="CARD8" /> - <field name="firstKeySym" type="KEYCODE" /> - <field name="totalSyms" type="CARD16" /> - <field name="nKeySyms" type="CARD8" /> - <field name="firstKeyAction" type="KEYCODE" /> - <field name="totalActions" type="CARD16" /> - <field name="nKeyActions" type="CARD8" /> - <field name="firstKeyBehavior" type="KEYCODE" /> - <field name="nKeyBehaviors" type="CARD8" /> - <field name="totalKeyBehaviors" type="CARD8" /> - <field name="firstKeyExplicit" type="KEYCODE" /> - <field name="nKeyExplicit" type="CARD8" /> - <field name="totalKeyExplicit" type="CARD8" /> - <field name="firstModMapKey" type="KEYCODE" /> - <field name="nModMapKeys" type="CARD8" /> - <field name="totalModMapKeys" type="CARD8" /> - <field name="firstVModMapKey" type="KEYCODE" /> - <field name="nVModMapKeys" type="CARD8" /> - <field name="totalVModMapKeys" type="CARD8" /> - <pad bytes="1" /> - <field name="virtualMods" type="CARD16" mask="VMod" /> - <switch name="map"> - <fieldref>present</fieldref> - <bitcase> - <enumref ref="MapPart">KeyTypes</enumref> - <list name="types_rtrn" type="KeyType"> - <fieldref>nTypes</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">KeySyms</enumref> - <list name="syms_rtrn" type="KeySymMap"> - <fieldref>nKeySyms</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">KeyActions</enumref> - <list name="acts_rtrn_count" type="CARD8"> - <fieldref>nKeyActions</fieldref> - </list> - <list name="acts_rtrn_acts" type="Action"> - <fieldref>totalActions</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">KeyBehaviors</enumref> - <list name="behaviors_rtrn" type="SetBehavior"> - <fieldref>totalKeyBehaviors</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">VirtualMods</enumref> - <list name="vmods_rtrn" type="CARD8" mask="ModMask"> - <fieldref>nVModMapKeys</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">ExplicitComponents</enumref> - <list name="explicit_rtrn" type="SetExplicit"> - <fieldref>totalKeyExplicit</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">ModifierMap</enumref> - <list name="modmap_rtrn" type="KeyModMap"> - <fieldref>totalModMapKeys</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="MapPart">VirtualModMap</enumref> - <list name="vmodmap_rtrn" type="KeyVModMap"> - <fieldref>totalVModMapKeys</fieldref> - </list> - </bitcase> - </switch> - </bitcase> <bitcase name="indicator_maps"> <enumref ref="GBNDetail">IndicatorMaps</enumref> + <!-- from the spec, this has to include a reply header --> + <field name="indicatormap_type" type="CARD8" /> <field name="indicatorDeviceID" type="CARD8" /> + <field name="indicatormap_sequence" type="CARD16" /> + <field name="indicatormap_length" type="CARD32" /> + <!-- done 'emulating' reply header --> <field name="which" type="CARD32" /> <field name="realIndicators" type="CARD32" /> <field name="nIndicators" type="CARD8" /> @@ -2278,7 +2217,13 @@ authorization from the authors. </bitcase> <bitcase name="key_names"> <enumref ref="GBNDetail">KeyNames</enumref> + <enumref ref="GBNDetail">OtherNames</enumref> + <!-- from the spec, this has to include a reply header --> + <field name="keyname_type" type="CARD8" /> <field name="keyDeviceID" type="CARD8" /> + <field name="keyname_sequence" type="CARD16" /> + <field name="keyname_length" type="CARD32" /> + <!-- done 'emulating' reply header --> <field name="which" type="CARD32" mask="NameDetail" /> <field name="keyMinKeyCode" type="KEYCODE" /> <field name="keyMaxKeyCode" type="KEYCODE" /> @@ -2377,110 +2322,14 @@ authorization from the authors. </bitcase> </switch> </bitcase> - <bitcase name="other_names"> - <enumref ref="GBNDetail">OtherNames</enumref> - <field name="otherDeviceID" type="CARD8" /> - <field name="which" type="CARD32" mask="NameDetail" /> - <field name="otherMinKeyCode" type="KEYCODE" /> - <field name="otherMaxKeyCode" type="KEYCODE" /> - <field name="nTypes" type="CARD8" /> - <field name="groupNames" type="CARD8" mask="SetOfGroup" /> - <field name="virtualMods" type="CARD16" mask="VMod" /> - <field name="firstKey" type="KEYCODE" /> - <field name="nKeys" type="CARD8" /> - <field name="indicators" type="CARD32" /> - <field name="nRadioGroups" type="CARD8" /> - <field name="nKeyAliases" type="CARD8" /> - <field name="nKTLevels" type="CARD16" /> - <pad bytes="4" /> - <switch name="valueList"> - <fieldref>which</fieldref> - <bitcase> - <enumref ref="NameDetail">Keycodes</enumref> - <field name="keycodesName" type="ATOM" /> - </bitcase> - <bitcase> - <enumref ref="NameDetail">Geometry</enumref> - <field name="geometryName" type="ATOM" /> - </bitcase> - <bitcase> - <enumref ref="NameDetail">Symbols</enumref> - <field name="symbolsName" type="ATOM" /> - </bitcase> - <bitcase> - <enumref ref="NameDetail">PhysSymbols</enumref> - <field name="physSymbolsName" type="ATOM" /> - </bitcase> - <bitcase> - <enumref ref="NameDetail">Types</enumref> - <field name="typesName" type="ATOM" /> - </bitcase> - <bitcase> - <enumref ref="NameDetail">Compat</enumref> - <field name="compatName" type="ATOM" /> - </bitcase> - <bitcase> - <enumref ref="NameDetail">KeyTypeNames</enumref> - <list name="typeNames" type="ATOM"> - <fieldref>nTypes</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">KTLevelNames</enumref> - <list name="nLevelsPerType" type="CARD8"> - <fieldref>nKTLevels</fieldref> - </list> - <list name="ktLevelNames" type="ATOM"> - <sumof ref="nLevelsPerType" /> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">IndicatorNames</enumref> - <list name="indicatorNames" type="ATOM"> - <popcount> - <fieldref>indicators</fieldref> - </popcount> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">VirtualModNames</enumref> - <list name="virtualModNames" type="ATOM"> - <popcount> - <fieldref>virtualMods</fieldref> - </popcount> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">GroupNames</enumref> - <list name="groups" type="ATOM"> - <popcount> - <fieldref>groupNames</fieldref> - </popcount> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">KeyNames</enumref> - <list name="keyNames" type="KeyName"> - <fieldref>nKeys</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">KeyAliases</enumref> - <list name="keyAliases" type="KeyAlias"> - <fieldref>nKeyAliases</fieldref> - </list> - </bitcase> - <bitcase> - <enumref ref="NameDetail">RGNames</enumref> - <list name="radioGroupNames" type="ATOM"> - <fieldref>nRadioGroups</fieldref> - </list> - </bitcase> - </switch> - </bitcase> <bitcase name="geometry"> <enumref ref="GBNDetail">Geometry</enumref> + <!-- from the spec, this has to include a reply header --> + <field name="geometry_type" type="CARD8" /> <field name="geometryDeviceID" type="CARD8" /> + <field name="geometry_sequence" type="CARD16" /> + <field name="geometry_length" type="CARD32" /> + <!-- done 'emulating' reply header --> <field name="name" type="ATOM" /> <field name="geometryFound" type="BOOL" /> <pad bytes="1" /> @@ -2495,6 +2344,7 @@ authorization from the authors. <field name="baseColorNdx" type="CARD8" /> <field name="labelColorNdx" type="CARD8" /> <field name="labelFont" type="CountedString16" /> + <!-- XXX: Property is broken <list name="properties" type="Property"> <fieldref>nProperties</fieldref> </list> @@ -2504,6 +2354,8 @@ authorization from the authors. <list name="shapes" type="Shape"> <fieldref>nShapes</fieldref> </list> + --> + <!-- XXX: doodads are broken <list name="sections" type="Section"> <fieldref>nSections</fieldref> </list> @@ -2513,6 +2365,7 @@ authorization from the authors. <list name="keyAliases" type="KeyAlias"> <fieldref>nKeyAliases</fieldref> </list> + --> </bitcase> </switch> </reply> @@ -2593,9 +2446,8 @@ authorization from the authors. <!-- Events --> - <event name="NewKeyboardNotify" number="0" no-sequence-number="true"> + <event name="NewKeyboardNotify" number="0"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="oldDeviceID" type="CARD8" /> @@ -2609,9 +2461,8 @@ authorization from the authors. <pad bytes="14" /> </event> - <event name="MapNotify" number="1" no-sequence-number="true"> + <event name="MapNotify" number="1"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="ptrBtnActions" type="CARD8" /> @@ -2636,9 +2487,8 @@ authorization from the authors. <pad bytes="2" /> </event> - <event name="StateNotify" number="2" no-sequence-number="true"> + <event name="StateNotify" number="2"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="mods" type="CARD8" mask="ModMask" /> @@ -2662,9 +2512,8 @@ authorization from the authors. <field name="requestMinor" type="CARD8" /> </event> - <event name="ControlsNotify" number="3" no-sequence-number="true"> + <event name="ControlsNotify" number="3"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="numGroups" type="CARD8" /> @@ -2679,9 +2528,8 @@ authorization from the authors. <pad bytes="4" /> </event> - <event name="IndicatorStateNotify" number="4" no-sequence-number="true"> + <event name="IndicatorStateNotify" number="4"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <pad bytes="3" /> @@ -2690,9 +2538,8 @@ authorization from the authors. <pad bytes="12" /> </event> - <event name="IndicatorMapNotify" number="5" no-sequence-number="true"> + <event name="IndicatorMapNotify" number="5"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <pad bytes="3" /> @@ -2701,9 +2548,8 @@ authorization from the authors. <pad bytes="12" /> </event> - <event name="NamesNotify" number="6" no-sequence-number="true"> + <event name="NamesNotify" number="6"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <pad bytes="1" /> @@ -2723,9 +2569,8 @@ authorization from the authors. <pad bytes="4" /> </event> - <event name="CompatMapNotify" number="7" no-sequence-number="true"> + <event name="CompatMapNotify" number="7"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="changedGroups" type="CARD8" mask="SetOfGroup" /> @@ -2735,9 +2580,8 @@ authorization from the authors. <pad bytes="16" /> </event> - <event name="BellNotify" number="8" no-sequence-number="true"> + <event name="BellNotify" number="8"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="bellClass" type="CARD8" enum="BellClassResult" /> @@ -2751,9 +2595,8 @@ authorization from the authors. <pad bytes="7" /> </event> - <event name="ActionMessage" number="9" no-sequence-number="true"> + <event name="ActionMessage" number="9"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="keycode" type="KEYCODE" /> @@ -2767,9 +2610,8 @@ authorization from the authors. <pad bytes="10" /> </event> - <event name="AccessXNotify" number="10" no-sequence-number="true"> + <event name="AccessXNotify" number="10"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <field name="keycode" type="KEYCODE" /> @@ -2779,15 +2621,14 @@ authorization from the authors. <pad bytes="16" /> </event> - <event name="ExtensionDeviceNotify" number="11" no-sequence-number="true"> + <event name="ExtensionDeviceNotify" number="11"> <field name="xkbType" type="CARD8" /> - <field name="sequence" type="CARD16" /> <field name="time" type="TIMESTAMP" /> <field name="deviceID" type="CARD8" /> <pad bytes="1" /> <field name="reason" type="CARD16" mask="XIFeature" /> <field name="ledClass" type="CARD16" enum="LedClassResult" /> - <field name="ledID" type="CARD8" /> + <field name="ledID" type="CARD16" /> <field name="ledsDefined" type="CARD32" /> <field name="ledState" type="CARD32" /> <field name="firstButton" type="CARD8" /> |