diff options
Diffstat (limited to 'libxcb')
-rw-r--r-- | libxcb/xcb-proto/HACKING | 20 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/.gitattributes | 1 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/xinput.xml | 34 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/xkb.xml | 24 | ||||
-rw-r--r-- | libxcb/xcb-proto/src/xv.xml | 8 | ||||
-rw-r--r-- | libxcb/xcb-proto/xcbgen/xtypes.py | 2 |
6 files changed, 79 insertions, 10 deletions
diff --git a/libxcb/xcb-proto/HACKING b/libxcb/xcb-proto/HACKING new file mode 100644 index 000000000..e954a766a --- /dev/null +++ b/libxcb/xcb-proto/HACKING @@ -0,0 +1,20 @@ +Make patches more descriptive +============================= + +By default hunk headers of a patch will look like this: + + @@ -1227,6 +1227,8 @@ authorization from the authors. + +Which is not very usefull as it doesn't give a hint where the change +happened (except for the line number). To make those hunk headers more +descriptive, i.e.: + + @@ -1227,6 +1227,8 @@ <struct name="HierarchyChange"> + +Add these 2 lines to your .git/config file: + + [diff "xcb"] + xfuncname = "(<\\b(xcb|enum|event|request|struct|union)\\b.*>)" + +For more background on this magic have a look at src/.gitattributes and +the man page gitattributes(5) chapter "Defining a custom hunk-header". diff --git a/libxcb/xcb-proto/src/.gitattributes b/libxcb/xcb-proto/src/.gitattributes new file mode 100644 index 000000000..8d345b069 --- /dev/null +++ b/libxcb/xcb-proto/src/.gitattributes @@ -0,0 +1 @@ +*.xml diff=xcb diff --git a/libxcb/xcb-proto/src/xinput.xml b/libxcb/xcb-proto/src/xinput.xml index e62b7cb74..dd3f18438 100644 --- a/libxcb/xcb-proto/src/xinput.xml +++ b/libxcb/xcb-proto/src/xinput.xml @@ -1257,10 +1257,42 @@ authorization from the authors. <!-- XISelectEvents --> + <enum name="XIEventMask"> + <item name="DeviceChanged"> <bit>1</bit> </item> + <item name="KeyPress"> <bit>2</bit> </item> + <item name="KeyRelease"> <bit>3</bit> </item> + <item name="ButtonPress"> <bit>4</bit> </item> + <item name="ButtonRelease"> <bit>5</bit> </item> + <item name="Motion"> <bit>6</bit> </item> + <item name="Enter"> <bit>7</bit> </item> + <item name="Leave"> <bit>8</bit> </item> + <item name="FocusIn"> <bit>9</bit> </item> + <item name="FocusOut"> <bit>10</bit> </item> + <item name="Hierarchy"> <bit>11</bit> </item> + <item name="Property"> <bit>12</bit> </item> + <!-- ⋅⋅⋅ Events (v2.1) ⋅⋅⋅ --> + <item name="RawKeyPress"> <bit>13</bit> </item> + <item name="RawKeyRelease"> <bit>14</bit> </item> + <item name="RawButtonPress"> <bit>15</bit> </item> + <item name="RawButtonRelease"> <bit>16</bit> </item> + <item name="RawMotion"> <bit>17</bit> </item> + <!-- ⋅⋅⋅ Events (v2.2) ⋅⋅⋅ --> + <item name="TouchBegin"> <bit>18</bit> </item> + <item name="TouchUpdate"> <bit>19</bit> </item> + <item name="TouchEnd"> <bit>20</bit> </item> + <item name="TouchOwnership"> <bit>21</bit> </item> + <item name="RawTouchBegin"> <bit>22</bit> </item> + <item name="RawTouchUpdate"> <bit>23</bit> </item> + <item name="RawTouchEnd"> <bit>24</bit> </item> + <!-- ⋅⋅⋅ Events (v2.3) ⋅⋅⋅ --> + <item name="BarrierHit"> <bit>25</bit> </item> + <item name="BarrierLeave"> <bit>26</bit> </item> + </enum> + <struct name="EventMask"> <field type="DeviceId" name="deviceid" altenum="Device" /> <field type="CARD16" name="mask_len" /> - <list type="CARD32" name="mask"> <!-- set of EventMaskBit --> + <list type="CARD32" name="mask" mask="XIEventMask"> <fieldref>mask_len</fieldref> </list> </struct> diff --git a/libxcb/xcb-proto/src/xkb.xml b/libxcb/xcb-proto/src/xkb.xml index 2ea659c29..1df0771e1 100644 --- a/libxcb/xcb-proto/src/xkb.xml +++ b/libxcb/xcb-proto/src/xkb.xml @@ -547,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"> @@ -557,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" /> @@ -633,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" /> @@ -726,6 +737,7 @@ authorization from the authors. <fieldref>nOverlays</fieldref> </list> </struct> + --> <struct name="Listing"> <field name="flags" type="CARD16" /> @@ -1869,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" /> @@ -1909,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" /> @@ -1944,6 +1959,7 @@ authorization from the authors. <fieldref>nKeyAliases</fieldref> </list> </request> + --> <request name="PerClientFlags" opcode="21"> <field name="deviceSpec" type="DeviceSpec" /> @@ -1966,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> @@ -1990,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" /> @@ -2027,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> @@ -2051,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" /> @@ -2324,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> @@ -2333,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> @@ -2342,6 +2365,7 @@ authorization from the authors. <list name="keyAliases" type="KeyAlias"> <fieldref>nKeyAliases</fieldref> </list> + --> </bitcase> </switch> </reply> diff --git a/libxcb/xcb-proto/src/xv.xml b/libxcb/xcb-proto/src/xv.xml index a05767c53..0b55d3633 100644 --- a/libxcb/xcb-proto/src/xv.xml +++ b/libxcb/xcb-proto/src/xv.xml @@ -112,10 +112,6 @@ authorization from the authors. <field type="CARD16" name="name_size" /> <field type="CARD16" name="width" /> <field type="CARD16" name="height" /> - <!-- - Some versions of Xvproto.h incorrectly have - this padding after "rate". - --> <pad bytes="2" /> <field type="Rational" name="rate" /> <list type="char" name="name"> @@ -234,10 +230,6 @@ authorization from the authors. <reply> <pad bytes="1" /> <field type="CARD16" name="num_encodings" /> - <!-- - In Xvproto.h this padding is 24 bytes - in actuality it is 22 bytes - --> <pad bytes="22" /> <list type="EncodingInfo" name="info"> <fieldref>num_encodings</fieldref> diff --git a/libxcb/xcb-proto/xcbgen/xtypes.py b/libxcb/xcb-proto/xcbgen/xtypes.py index 951731afc..5f45723ce 100644 --- a/libxcb/xcb-proto/xcbgen/xtypes.py +++ b/libxcb/xcb-proto/xcbgen/xtypes.py @@ -76,7 +76,7 @@ class Type(object): complex_type.fields.append(new_field) def make_fd_of(self, module, complex_type, fd_name): - ''' + ''' Method for making a fd member of a structure. ''' new_fd = Field(self, module.get_type_name('INT32'), fd_name, True, False, False, None, True) |