[Xcb] [RFC v0 proto] Add XInput2 protocol description

Peter Hutterer peter.hutterer at who-t.net
Mon Dec 3 14:08:10 PST 2012

On Mon, Dec 03, 2012 at 10:05:37PM +0100, Daniel Martin wrote:
> (In the following I'll write "XI2" when I mean the XInput extension
> starting with version 2.0 and "XI" for the version up to 1.5.)
> On Mon, Dec 03, 2012 at 09:56:26AM -0500, Peter Harris wrote:
> > On 2012-12-02 16:05, Daniel Martin wrote:
> > > Add the XInput2 protocol description for reviewing and feedback.
> > 
> > I haven't had time to review the meat of this, but this stuck out on an
> > initial glance:
> > 
> > > +	xinput2.xml \
> > 
> > > +<xcb header="xinput2" extension-name="Input2"
> > > +     extension-xname="XInputExtension" major-version="2" minor-version="2">
> > 
> > That's the same extension-xname as xinput.xml. I suspect the new
> > definitions should be in xinput.xml, not in their own file.
> I've choosen to make it in a seperate file, cause the extension name is
> nearly the only thing both versions have in common and XI2 superseeds
> the functionallity provided by XI.
> Supporting both versions is not necessary as the XI specification
> states:
>     "... New clients are discouraged from using this protocol
>          specification. Instead, the use of XI 2.x is recommended. ..."
> Mixing both versions in one file would cause to much confusions on the
> (library) user side, as he wouldn't know which request is for which
> version without having a look at the specification.
> Due to that, the fact that the protocol description for XI is not
> complete and XI is disabled by default in libXCB, I would rather mark it
> as deprecated when this XI2 protocol description becomes usable. But, I
> wouldn't like to merge them.

you can't really deprecate XI1 yet, there's still quite a few clients using
it, and, more importantly, some information is not available in XI2. Clients
are discouraged from using XI1 because mixing it with XI2 (especially
regarding grabs, etc.) has some interesting effects and tbh not all
code-paths in the server are tested for mixing. 

XI2 also uses BadDevice as error, which is defined in XI1.


More information about the Xcb mailing list