[Xcb] xinput: make ListInputDevices work, sumof with nested expr, ...
Ran Benita
ran234 at gmail.com
Sun Oct 12 11:39:06 PDT 2014
On Wed, Sep 03, 2014 at 01:14:23PM +0200, Christian Linhart wrote:
> Hi all,
>
> In this thread I'll post patches which make the ListInputDevice reply work.
>
> This has also required some changes in the generator:
> * generate calls to accessor function or iterator function instead of
> a struct-member access for fields which can only be accessed with
> accessor function or iterator respectively.
>
> * make sumof more flexible. Especially support a nested expression which is evaluated
> in the scope of each list-element which is iterated to compute sumof.
> Example:
> <sumof ref="devices">
> <fieldref>num_class_info</fieldref>
> </sumof>
xcb_sumof() is this:
int xcb_sumof(uint8_t *list, int len)
{
int i, s = 0;
for(i=0; i<len; i++) {
s += *list;
list++;
}
return s;
}
So it assumes the list is of CARD8's - it is not polymorphic in any
way. It looks OK for the added sumof in this series, but I'm not sure it
matches the changes in the generator?
>
> Due to using switch-case, some structs have became obsolete.
> (and due to using struct STR from xproto instead of DeviceName because these
> are the same and the spec uses STR)
>
> This patchset contains two patches to remove these obsolete structs.
> You may reject these patches due to API-compatibility concerns.
> On the other hand, probably nobody has used the structs for request ListInputDevice
> anyways before because this request/reply didn't work anyways in the previous form.
I think we can break xinput, it is not declared stable yet and is
disabled by default. However, it appears like some projects already use
it:
http://git.enlightenment.org/legacy/ecore.git/tree/src/lib/ecore_x/xcb/ecore_xcb_input.c
So I'm not sure...
>
> You can also get these patches at the following git-repo:
> http://infra-srv1.demorecorder.com/git/free-sw/xcb/listinputdevices-sumof-20140903-2/proto
> http://infra-srv1.demorecorder.com/git/free-sw/xcb/listinputdevices-sumof-20140903-2/libxcb
>
> Chris
>
>
> P.S.: The patches are based on the following patches which are not
> yet in the official repo:
> * my patches from the the Thread
> "[Xcb] xinput:QueryDeviceState: full-support: generator and xml-changes"
> * my patch in the email
> "[Xcb] [PATCH libxcb] no typename for nested structs"
>
> ( you can get those also at
> http://infra-srv1.demorecorder.com/git/free-sw/xcb/20140903-1/proto
> http://infra-srv1.demorecorder.com/git/free-sw/xcb/20140903-1/libxcb )
>
>
> _______________________________________________
> Xcb mailing list
> Xcb at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xcb
More information about the Xcb
mailing list