[RFC] Preliminary XI 2 feature list

Jim Gettys jg at laptop.org
Mon Sep 15 08:06:57 PDT 2008

IIRC, XI 1 uses a byte for device number (the API is an int, the wire
protocol a byte).

This could become an issue for a large shared display wall environment
someday; seems like if there is a binary protocol break, making that
larger would be good.

The other question in my mind is should the wire protocol have provision
for multiple users, so that a device is a user/device # tuple?  In which
case a byte on the wire is fine, as it seems unlikely an individual will
sprout more that 256 input devices.
                               - Jim

On Tue, 2008-09-09 at 05:45 +0930, Peter Hutterer wrote:
> Following XDS, various notes, the discussions and preliminary executive
> decisions by me, here's a first draft of XI2 features. If you have anything to
> add, please speak up.
> Time-line: I'd like to get it into server 1.6 but it doesn't look particularly
> likely. 7.5 is more likely.
> - Compatibility with XI 1.x, although some requests will be deactivated or of
>   limited functionality.
> - 16 bit device IDs
> - All events available as XGE events.
> - Event selection through event masks (instead or in addition to the event
>   classes).  i.e.  the common cases of "select from all devices" and "select
>   from all master devices" will be simplified.
> - Devices may have relative + absolute axes simultaneously, and change the
>   mode on any of these axes at runtime.
> - Relative coordinates as a separate event.
> - 32 bit keycodes (reliant on XKB2)
> - ListInputDevices will include the currently attached Slave
> - Axis and button labelling through device properties.
> - subpixel resolution (from relative devices) available to clients.
>   i.e. you get the data in screen coordinates, but with subpixel resolution
>   available as fixed floating point.
> - no window access protocol, this will be thrown out.
> - dynamic device classes - device may add/remove classes at runtime.
> - aspect-ratio scaling of valuators.
> Probable implementation details:
> - libXi: "namespacing": i.e. X<dosomething> will be XI<dosomething>
> - server-internal use of XGE events, XI 1.x events emulated when needed.
> - some standardisation on axis label Atom names.
> - Clients have to announce XI2 support, otherwise they will be treated as XI
>   1.x clients. 
> Once the feature discussion is complete, I'll get a protocol spec out.
> Cheers,
>   Peter
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg
Jim Gettys <jg at laptop.org>
One Laptop Per Child

More information about the xorg mailing list