[Xcb] xinput: make ListInputDevices work, sumof with nested expr, ...

Ran Benita ran234 at gmail.com
Tue Oct 21 14:15:05 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>

The proto patches as in ListInputDevices-V4 [1], all look good to me. The
fact that ref/lenfield_name can now also point to a list depending on if
there's an expression is a bit confusing. But summing over an expression
is inevitable, and this solves the problem nicely (as far as the xml
goes), so no bikeshedding from me (/me resists suggesting unwarranted
generalizations of this - or we'll end up with map/reduce :).

I'll look at the implementation in the generator next.

Ran

[1] http://infra-srv1.demorecorder.com/gitweb/?p=free-sw/xcb/proto;a=shortlog;h=refs/heads/ListInputDevices-V4

> 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.
> 
> 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 )


More information about the Xcb mailing list