[Xcb] [PATCH proto 12/22] xinput: struct XIDeviceInfo.type: altenum to enum
Ran Benita
ran234 at gmail.com
Fri Aug 22 00:24:11 PDT 2014
On Thu, Aug 21, 2014 at 11:27:10PM +0200, Christian Linhart wrote:
> On 08/21/14 13:34, Ran Benita wrote:
> > On Mon, Aug 18, 2014 at 02:59:52PM +0200, Christian Linhart wrote:
> >> field "type": replace altenum by enum because
> >> only the values of DeviceType are permitted
> >>
> >> spec:
> >> http://cgit.freedesktop.org/xorg/proto/inputproto/tree/specs/XI2proto.txt#n669
> >> http://cgit.freedesktop.org/xorg/proto/inputproto/tree/specs/XI2proto.txt#n763
> >>
> >> notes to the spec:
> >> * the field is called "use" in the spec, instead of "type"
> >> * the enum is called "DEVICEUSE" in the spec, instead of "DeviceType"
> >
> > There is also a DeviceUse enum defined, which is used in some places,
> > and has different values (offset of 1) from DeviceType. I think there
> > might be some pre-existing confusion here. Are both enums needed? If so,
> > are they used correctly?
> >
>
> I have looked at the specs and headerfiles and found out the following:
> Both XI and XI2 have different enums for the same purpose in their spec,
> and these enums have different values.
>
> Here is the relation between xcb-xinput and XI/XI2:
> * xcb-enum "DeviceUse" is for the values the field "use" of DEVICEINFO of XI
> * xcb-enum "DeviceType" is DEVICEUSE of XI2
>
> On closer inspection, the xml looks semantically OK to me.
> ( but the naming is somehow confusing. )
Yes, looks good to me too. Thanks for looking into it.
Perhaps a better name for DeviceType would have been XIDeviceUse or so
(or even add the XI prefix to all XI2 types), but DeviceType is OK as
well.
Ran
> Here are the references to the spec and the code:
>
> XI:
> * the enum in the specs:
> http://cgit.freedesktop.org/xorg/proto/inputproto/tree/specs/XIproto.txt?id=inputproto-2.3.1#n315
> http://cgit.freedesktop.org/xorg/lib/libXi/tree/specs/encoding.xml?id=libXi-1.7.4#n743
>
> * the enum-values in the headers:
>
> - list of values in comment of field "use" of struct XDeviceInfo:
> http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XIproto.h?id=inputproto-2.3.1#n243
>
> - definition of the values:
> http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XI.h?id=inputproto-2.3.1#n189
>
>
> XI2:
> * The enum in the spec:
> http://cgit.freedesktop.org/xorg/proto/inputproto/tree/specs/XI2proto.txt?id=inputproto-2.3.1#n669
>
> * The enum-values in the headers:
>
> - list of valid values in the comment of field "use" of struct xXIDeviceInfo:
> http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XI2proto.h?id=inputproto-2.3.1#n128
>
> - definition of the values:
> http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XI2.h?id=inputproto-2.3.1#n132
>
>
>
>
More information about the Xcb
mailing list