[Xcb] [PATCH proto 05/22] xinput: req GrabDeviceKey.modifier_device: altenum
Ran Benita
ran234 at gmail.com
Thu Aug 21 04:14:11 PDT 2014
On Thu, Aug 21, 2014 at 02:10:42PM +0300, Ran Benita wrote:
> On Mon, Aug 18, 2014 at 02:59:45PM +0200, Christian Linhart wrote:
> > add altenum ModifierDevice to field modifier_device for value UseXKeyboard
> >
> > spec and code:
> > http://cgit.freedesktop.org/xorg/lib/libXi/tree/specs/encoding.xml#n1147
> > http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XI.h#n187
> > http://cgit.freedesktop.org/xorg/xserver/tree/Xi/grabdevk.c#n116
> >
> > the following spec uses "NULL" instead of "UseXKeyboard":
> > http://cgit.freedesktop.org/xorg/proto/inputproto/tree/specs/XIproto.txt#n1213
> > Questions:
> > * is this spec wrong?
> > * or does "NULL" have the unusual value of 0xff in this context?
>
> Yea, it seems NULL means UseXKeyboard here. So this looks good to me.
Or a bit more info: in the libXi function XUngrabDeviceKey, the
modifier_device arg is an XDevice pointer, and NULL means to use the
core X keyboard. But on the wire it is an integer, with 255 as a special
value.
> Ran
>
> > ---
> > src/xinput.xml | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/src/xinput.xml b/src/xinput.xml
> > index 1bfa257..91fcecf 100644
> > --- a/src/xinput.xml
> > +++ b/src/xinput.xml
> > @@ -364,15 +364,15 @@ <enum name="ModifierDevice">
> > <item name="UseXKeyboard"><value>255</value></item> <!-- 0xff -->
> > </enum>
> >
> > <request name="GrabDeviceKey" opcode="15">
> > <field type="WINDOW" name="grab_window" />
> > <field type="CARD16" name="num_classes" />
> > <field type="CARD16" name="modifiers" mask="ModMask" />
> > - <field type="CARD8" name="modifier_device" />
> > + <field type="CARD8" name="modifier_device" altenum="ModifierDevice" />
> > <field type="CARD8" name="grabbed_device" />
> > <field type="CARD8" name="key" altenum="Grab" />
> > <field type="CARD8" name="this_device_mode" enum="GrabMode" />
> > <field type="CARD8" name="other_device_mode" enum="GrabMode" />
> > <field type="BOOL" name="owner_events" />
> > <pad bytes="2" />
> > <list type="EventClass" name="classes">
> > --
> > 2.0.1
> >
> > _______________________________________________
> > Xcb mailing list
> > Xcb at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/xcb
More information about the Xcb
mailing list