I am sponsoring this case for myself and closing it as approved automatic
as it simply tracks the community addition of new protocol requests & events
to the existing Input extension to the X protocol, and the corresponding
API additions to the libXi library.
This case requests a Micro/Patch binding.
-Alan Coopersmith- alan.coopersmith at sun.com
Sun Microsystems, Inc. - X Window System Engineering
Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
X Input Extension version 2.0 (XI2)
1.2. Name of Document Author/Supplier:
Author: Alan Coopersmith
1.3 Date of This Document:
14 December, 2009
4. Technical Description
This case updates the definition of the X Input Extension (XI)
protocol used in Solaris & OpenSolaris from version 1.5 to version 2.0
of the spec from the X.Org Foundation.
The introduction to the XI2 spec describes the changes as:
The X Input Extension version 2.0 (XI2) is the second major
release of the X Input Extension.
XI2 provides a number of enhancements over version 1.5, including:
- use of XGE and GenericEvents. GenericEvents are of flexible length with a
minimum length of 32 bytes.
- explicit device hierarchy of master and slave devices. See Section 4.
- use of multiple independent master devices (Multi-Poiner X or MPX).
- the ability for devices to change capabilities at runtime.
- raw device events
XI2's intent is to replace both core input processing and prior
versions of the X Input Extension. Historically, the majority of
applications employed the core protocol requests and events to
handle user input. The core protocol does not provide information
about which device generated the event. The X Input Extension
version up to 1.5 requires the differentiation between core and
extended devices. Extended devices may not be core devices and
thus cannot be used on applications employing the core protocol.
XI2 addresses both of these issues by enabling devices to be both
extended and core devices and providing device information in each
event (with the exception of core events).
The full protocol spec is provided in the case materials as XI2proto.txt,
and is available online at:
http://www.x.org/releases/X11R7.5/doc/inputproto/XI2proto.txt
It additionally updates the libXi client API from version 1.2 (reviewed
in PSARC 2009/303) to version 1.3 to provide the matching support for the
new protocol.
The new API functions mirror these new requests - they are defined in the
header file <X11/extensions/XInput2.h> and the man pages provided in the
case materials.
Support for Input version 2.0 in the Xorg server will be handled by
the Xorg server 1.7 case to follow.
Imported Interfaces:
--------------------
libXi.so.5 Standard PSARC 1992/172
<X11/extensions/XInput.h> Standard and
Xinput extension protocol Standard PSARC 2009/303
Exported Interfaces:
--------------------
libXi.so.5 version SUNW_1.4 Committed [1]
including all API's listed above
<X11/extensions/XInput2.h> Committed [1]
Xinput extension protocol version 2.0 Committed [2]
References in case materials directory:
[1] API man pages
[2] XI2proto.txt
6. Resources and Schedule
6.4. Steering Committee requested information
6.4.1. Consolidation C-team Name:
X Consolidation / Desktop C-Team
6.5. ARC review type: Automatic
6.6. ARC Exposure: open