x11proto-input: Changes to 'upstream-experimental'
XI.h | 11 ++++++++++
XI2proto.h | 2 -
configure.ac | 10 ---------
specs/XI2proto.txt | 55 +++++++++++++++++++++++------------------------------
4 files changed, 37 insertions(+), 41 deletions(-)
New commits:
commit b9f1b26f076cdba373e8b7a0b73384b35e8d799c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Dec 21 15:30:22 2011 +1000
inputproto 2.1.99.4
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/configure.ac b/configure.ac
index d6c5904..efc5242 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.60])
-AC_INIT([InputProto], [2.1.99.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([InputProto], [2.1.99.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
commit c508e9360414f9724cc875a4731a5fd8a3969d2b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Dec 21 15:27:47 2011 +1000
specs: add XI 2.1 release to history section
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index dfcbde9..05d7801 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -16,6 +16,8 @@ History
-------
- v2.2, ??: Multitouch support added
+- v2.1, December 2011: new raw event behaviour, smooth scrolling support
+ added
- v2.0, October 2009: Initial release of XI2 protocol
[[intro-xi20]]
commit 5c9a6569e5182a4c4c6ec052bcd76a9ca3b8f645
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Dec 21 15:24:44 2011 +1000
Remove --enable-unstable-protocol configure option
Protocol is reasonably stable and about to be merged onto the master
branch. People should be used to stuff on master being a tad unstable, don't
require any specific configure flags.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/configure.ac b/configure.ac
index d2b1c3c..d6c5904 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,14 +11,6 @@ XORG_DEFAULT_OPTIONS
XORG_ENABLE_SPECS
XORG_WITH_ASCIIDOC(8.4.5)
-AC_ARG_ENABLE(unstable-protocol,
- AS_HELP_STRING([--enable-unstable-protocol],
- [Enables compilation of yet-to-be-finalised protocol (default: disabled)]),
- [UNSTABLE_PROTO=$enableval], [UNSTABLE_PROTO=no])
-if ! test "x$UNSTABLE_PROTO" = xyes; then
- AC_MSG_ERROR([This branch contains protocol elements which have not yet been finalised. When this branch is updated, you will probably need to recompile both the server, libXi, and input-using clients, and may experience crashes or undefined behaviour if you do not.])
-fi
-
AC_OUTPUT([Makefile
specs/Makefile
inputproto.pc])
commit aef700dbac09d3c8a576387be47e5693460f1393
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Dec 21 15:23:23 2011 +1000
specs: remove parts of the "Work in progress" warning
The protocol is stable enough now that a simple warning should be enough.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index 46895d8..dfcbde9 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -4,18 +4,6 @@ The X Input Extension 2.x
:numbered:
.This is a work in progress!
-*****************************************************************************
-While XI 2.0 is final and widely deployed, XI 2.1 is still a work in progress;
-the protocol is not final and is subject to change at any time. While testing
-and feedback is strongly encouraged and very much welcome, please be aware that
-any part of the XI 2.1 additions may change from underneath you. We strongly
-recommend against deploying it in production for this reason.
-
-Developing against XI 2.1 requires passing the --enable-unstable-protocol
-argument when building inputproto, and additionally defining
-XINPUT2_1_USE_UNSTABLE_PROTOCOL when building your applications. I'm sure you
-get the point by now, so I promise not to mention it again.
-*****************************************************************************
Authors:
commit 9a9746b95f3585bba9730105769e9c74520f6bc4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Dec 20 08:23:55 2011 +1000
Reinstate libXi's version defines
Realistically, we can't remove these from the protocol without breaking
older libraries.
Introduced in a02566ca7fd37d279b957037e1251a3b3419866d
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
diff --git a/XI.h b/XI.h
index 378b34a..7b44399 100644
--- a/XI.h
+++ b/XI.h
@@ -135,6 +135,17 @@ SOFTWARE.
#define XI_FOOTMOUSE "FOOTMOUSE"
#define XI_JOYSTICK "JOYSTICK"
+/* Indices into the versions[] array (XExtInt.c). Used as a index to
+ * retrieve the minimum version of XI from _XiCheckExtInit */
+#define Dont_Check 0
+#define XInput_Initial_Release 1
+#define XInput_Add_XDeviceBell 2
+#define XInput_Add_XSetDeviceValuators 3
+#define XInput_Add_XChangeDeviceControl 4
+#define XInput_Add_DevicePresenceNotify 5
+#define XInput_Add_DeviceProperties 6
+/* DO NOT ADD TO HERE -> XI2 */
+
#define XI_Absent 0
#define XI_Present 1
commit ee0bc61ee3fd775127f8cd222d83314f66255f2b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Dec 20 08:22:52 2011 +1000
Drop wrong comment for sourceid in TouchOwnershipEvents
Copy/paste error from DeviceChangedEvent
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
diff --git a/XI2proto.h b/XI2proto.h
index 56df401..93d7e32 100644
--- a/XI2proto.h
+++ b/XI2proto.h
@@ -901,7 +901,7 @@ typedef struct
Window event;
Window child;
/* └──────── 32 byte boundary ────────┘ */
- uint16_t sourceid; /**< Source of the new classes */
+ uint16_t sourceid;
uint16_t pad0;
uint32_t flags;
uint32_t pad1;
commit 8640944f4ff193027ce0f21622918b88da910e72
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Dec 16 11:06:13 2011 +1000
inputproto 2.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/configure.ac b/configure.ac
index c755917..8e2bb0d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.60])
-AC_INIT([InputProto], [2.0.99.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([InputProto], [2.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
commit b701750ee99e1e227ad8baa994b6fd3398949a3a
Author: Cyril Brulebois <kibi@debian.org>
Date: Thu Dec 15 17:07:54 2011 +0100
specs: Fix tiny typo.
Signed-off-by: Cyril Brulebois <kibi@debian.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index 8b79210..46895d8 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -2390,7 +2390,7 @@ require the client to announce XI 2.2 support in the XIQueryVersion request.
considered the owner of the event. C receives a TouchBegin event, but does
not receive a TouchOwnership event.
** When the touchpoint moves, C will receive a TouchUpdate event. Event
- delivery to I is be subject to the synchronous delivery mechanism. The
+ delivery to I is subject to the synchronous delivery mechanism. The
emulated motion notify event is queued in the server while the device is
frozen.
** I may assert ownership by calling XIAllowEvents on Y with any mode other
commit 8687f155d8072763c2c7d52cb48eb5f46bfaf705
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Dec 14 08:56:59 2011 +1000
specs: clarify button state in touch events
Emulated pointer events will have button 1 logically down, but touch events
only represent the actual button state, irrespective of the touches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index dcc2bc9..8b79210 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -467,10 +467,12 @@ Pointer events are emulated as follows:
touch with the same axis values of the touch event, followed by a button press
event for button 1.
- A TouchUpdate event generates a pointer motion event to the location of the
- touch and/or to update axis values of the pointer device.
+ touch and/or to update axis values of the pointer device. The button state
+ as seen from the protocol includes button 1 set.
- A TouchEnd event generates a pointer motion event to the location of the touch
and/or to update the axis values if either have changed, followed by a button
- release event for button 1.
+ release event for button 1. The button state as seen from the protocol
+ includes button 1 set.
If a touch sequence emulates pointer events and an emulated pointer event
triggers the activation of a passive grab, the grabbing client becomes the
@@ -2150,6 +2152,9 @@ of IDs. The increment between two touch IDs is indeterminate. Clients may not
assume that any future touches will have specific touch IDs. IDs are globally
unique.
+The button state in touch events represents the state of the device's
+physical buttons only, even if that sequence is emulating pointer events.
+
Touch events do not generate enter/leave events.
[[events-rawevent]]
commit b1d71fe4cd3871a78e442159443c141193e79a7f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Dec 14 08:56:09 2011 +1000
specs: drop leftover from active_touches removal
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index 6082166..dcc2bc9 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -2112,11 +2112,6 @@ KeyRelease, ButtonPress, ButtonRelease, Motion.
further TouchUpdate events once an event with TouchPendingEnd has been
received.
-The active_touches value denotes the number of touches in contact with
-the source touch device surface when the event occurred. The value
-includes the new touch for a TouchBegin event, and does not include the
-ending touch for a TouchEnd event.
-
Modifier state in mods is detailed as follows:
base_mods
commit 019a252a59c1d076b07a0162cb3ee6af42ceea14
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Dec 2 15:03:46 2011 +1000
specs: typo fix
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index 6c1ccbe..f220557 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -218,7 +218,7 @@ event processing stops.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Many core protocol and some extension requests are ambiguous when multiple
-master devices are available (e.g. QueryPointer does not specfy which pointer).
+master devices are available (e.g. QueryPointer does not specify which pointer).
The X server does not have the knowledge to chose the contextually correct
master device. For each client, one master pointer is designated as this
clients's "ClientPointer". Whenever a client sends an ambiguous request (e.g.
commit a9fcea66eb18fab330f3b27b3daedef2b5c9210a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Nov 11 14:33:34 2011 +1000
specs: smooth scrolling was added in 2.1, say so
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index 2a25c4e..6c1ccbe 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -40,6 +40,7 @@ device information in each event (with the exception of core events).
Changes introduced by version 2.1
- RawEvents are sent regardless of the grab state.
+- Addition of the ScrollClass for smooth scrolling
// ❧❧❧❧❧❧❧❧❧❧❧
commit 279524b089c7b42871ee072cfc03a1fad7421b7b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Nov 8 15:36:02 2011 +1000
specs: scroll events have no specific event type, state so.
This wasn't clear enough in the current spec.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index b6707b3..2a25c4e 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -128,13 +128,14 @@ simply dragging your finger along a designated strip along the side of the
touchpad.
Newer X servers may provide scrolling information through valuators to
-provide scroll events with more precision than the button events. Valuators
-for axes sending scrolling information must have one ScrollClass for each
-scrolling axis.
-
-If scrolling valuators are present on a device, the server must provide
-two-way emulation between these valuators and the legacy button events for
-each delta unit of scrolling.
+provide clients with more precision than the legacy button events. This
+scrolling information is part of the valuator data in device events.
+Scrolling events do not have a specific event type.
+
+Valuators for axes sending scrolling information must have one
+ScrollClass for each scrolling axis. If scrolling valuators are present on a
+device, the server must provide two-way emulation between these valuators
+and the legacy button events for each delta unit of scrolling.
One unit of scrolling in either direction is considered to be equivalent to
one button event, e.g. for a unit size of 1.0, -2.0 on an valuator type
commit 9f2b1a33063b139756e08951affe802e8af39a76
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Nov 8 15:29:24 2011 +1000
specs: We're up to version 2.1 now, say so
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index 1a93c8d..b6707b3 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -2,6 +2,7 @@ The X Input Extension
=====================
Version 2.0
+ Version 2.1
Peter Hutterer
peter.hutterer@redhat.com
commit 463ffaabab506ad6ddb3b55c5781ae91fcccfd04
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri Sep 23 08:41:18 2011 +1000
specs: clarify that Preferred scroll valuators are per scroll direction
Reported-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index 2b13845..1a93c8d 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -147,10 +147,11 @@ with the XIPointerEmulated flag for DeviceEvents, and the XIRawEmulated flag
for raw events, to hint at applications which event is a hardware event.
If more than one scroll valuator of the same type is present on a device,
-the valuator marked with Preferred is used to convert legacy button events
-into scroll valuator events. If no valuator is marked Preferred or more than
-one valuator is marked with Preferred, this should be considered a driver
-bug and the behaviour is implementation-dependent.
+the valuator marked with Preferred for the same scroll direction is used to
+convert legacy button events into scroll valuator events. If no valuator is
+marked Preferred or more than one valuator is marked with Preferred for this
+scroll direction, this should be considered a driver bug and the behaviour
+is implementation-dependent.
4. The Master/Slave device hierarchy
------------------------------------
Reply to: