From alanc@sac.sfbay.sun.com Mon Dec 14 15:33:57 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nBENXuF4012355
	for <psarc-ext@sac.sfbay.sun.com>; Mon, 14 Dec 2009 15:33:56 -0800 (PST)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.4) with ESMTP id nBENXtEu014668;
	Mon, 14 Dec 2009 16:33:56 -0700 (MST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KUO00A071GJP200@nwk-avmta-2.sfbay.sun.com>; Mon,
 14 Dec 2009 15:33:55 -0800 (PST)
Received: from dm-sfbay-01.sfbay.sun.com ([129.145.155.118])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KUO006OU1GJONB0@nwk-avmta-2.sfbay.sun.com>; Mon,
 14 Dec 2009 15:33:55 -0800 (PST)
Received: from sac.sfbay.sun.com (sac.SFBay.Sun.COM [129.146.226.132])
	by dm-sfbay-01.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.4)
 with ESMTP id nBENXsBi018280; Mon, 14 Dec 2009 15:33:54 -0800 (PST)
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id nBENXrLG012350; Mon,
 14 Dec 2009 15:33:53 -0800 (PST)
Received: (from alanc@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id nBENXrdS012346; Mon,
 14 Dec 2009 15:33:53 -0800 (PST)
Date: Mon, 14 Dec 2009 15:33:53 -0800 (PST)
From: Alan Coopersmith <alan.coopersmith@sun.com>
Subject: X Input Extension version 2.0 (XI2) [PSARC/2009/678 Self Review]
To: PSARC-ext@sun.com
Cc: xwin-discuss@opensolaris.org
Message-id: <200912142333.nBENXrdS012346@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 3555

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@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


