Peter Hutterer [Mon, 13 Jul 2009 06:05:07 +0000 (16:05 +1000)]
inputproto 1.9.99.14
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 14 Jul 2009 06:15:19 +0000 (16:15 +1000)]
Add the enter/leave detail defines, same as the core protocol ones.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 14 Jul 2009 06:15:06 +0000 (16:15 +1000)]
Formatting fix, s/tabs/spaces/
Daniel Stone [Mon, 13 Jul 2009 06:49:33 +0000 (16:49 +1000)]
Device{,Raw}Event: Add flags field.
Add a flags member to DeviceEvent and DeviceKeyEvent; the only currently
defined flag is KeyRepeat, indicating a repeat event (a la XKB detectable
autorepeat), which is only valid for key events.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 13 Jul 2009 05:30:50 +0000 (15:30 +1000)]
XI2: Split up raw events into multiple event types.
Instead of a single XI_RawEvent type with subtypes to represent the actual
event, split up the event into XI_RawButtonPress, XI_RawButtonRelease, etc.
This way clients can select for specific raw events only instead of all of
them at once.
Note that raw events may be selected on master devices too, the server will
route them through master devices.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 13 Jul 2009 04:37:13 +0000 (14:37 +1000)]
Fix XIMaskLen macro.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sun, 12 Jul 2009 06:19:19 +0000 (16:19 +1000)]
inputproto 1.9.99.13
Peter Hutterer [Tue, 23 Jun 2009 11:01:27 +0000 (21:01 +1000)]
Add effective group and modifiers to XIGroupInfo/XIModifierInfo.
Effective modifiers are easy to calculate but let's send them down the wire
nonetheless. Effective group is slightly more complicated since group
wrapping must be taken into account - sending it down the wire simplifies
clients.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 17 Jun 2009 14:29:44 +0000 (00:29 +1000)]
XIDeviceChangedEvents may occur on master devices too.
Prime example is a change in the number of buttons due to the availability
of a new slave device.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 16 Jun 2009 23:09:56 +0000 (09:09 +1000)]
inputproto 1.9.99.12
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 16 Jun 2009 22:53:26 +0000 (08:53 +1000)]
Use the term 'labels' to refer to button and axes labels.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 16 Jun 2009 03:14:47 +0000 (13:14 +1000)]
Include valuator value in XIValuatorClasses
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sat, 13 Jun 2009 22:23:56 +0000 (08:23 +1000)]
Include button state in XIButtonClasses.
Without including the state in a button class, it is impossible to know the
state of a device until this device has pressed or released another button
(and thus sends an event).
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sun, 7 Jun 2009 07:51:04 +0000 (17:51 +1000)]
Add a source field to the class information.
In some cases it is required to know the source device of a particular
device class. In the future we might also do lazy copying of classes,
meaning that for a given device, each class may come from a different
source. Hence the source id should be included for each class.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 10 Jun 2009 05:13:03 +0000 (15:13 +1000)]
Add note that bumping XI_LASTEVENT requires changes to the server.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 10 Jun 2009 05:12:39 +0000 (15:12 +1000)]
Ensure XIAnyModifier is an unsigned int.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 12 Jun 2009 05:50:26 +0000 (15:50 +1000)]
XISelectEventsReq should use win (not window), like all requests.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 12 Jun 2009 05:50:07 +0000 (15:50 +1000)]
XI2proto: document XSetClientPointer behaviour on None window, etc.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 8 Jun 2009 05:40:21 +0000 (15:40 +1000)]
inputproto 1.9.99.11
Peter Hutterer [Mon, 8 Jun 2009 04:23:27 +0000 (14:23 +1000)]
xXIHierarchyEvent should list num_info, not num_devices.
The structures following the request are referred to as "info", having a
name of "num_devices" is misleading as the number of info structs does not
always reflect the number of devices (e.g. if a device got removed).
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 8 Jun 2009 03:31:28 +0000 (13:31 +1000)]
Rename XICreateMaster to XIAddMaster for consistency.
We use add/remove for slave devices, add/remove for the hierarchy changed
flags, so let's use add/remove to create a new device as well.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 8 Jun 2009 02:35:29 +0000 (12:35 +1000)]
Update comment referring to an old naming scheme.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sun, 7 Jun 2009 23:51:53 +0000 (09:51 +1000)]
Document BadValue error for XIHierarchyEvents selection on devices.
These events may only be selected on the XIAllDevices fake device.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 4 Jun 2009 03:35:42 +0000 (13:35 +1000)]
XIQueryVersion may return a BadValue for major_version less than 2.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sun, 31 May 2009 23:12:42 +0000 (09:12 +1000)]
Move the XI2 index into versions[] over to XI2.h
Peter Hutterer [Fri, 29 May 2009 03:25:32 +0000 (13:25 +1000)]
Specify modifier interactions with attached slave devices on passive grabs.
Peter Hutterer [Wed, 27 May 2009 04:12:58 +0000 (14:12 +1000)]
inputproto 1.9.99.10
Peter Hutterer [Wed, 27 May 2009 22:20:37 +0000 (08:20 +1000)]
Mirror the core enter/focus modes and add the passive grab mode.
If an enter/focus grabs activates (or deactivates), send an extra set of
enter/focus in (or leave/focus out) events to the grabbing client with mode
XIPassiveGrabNotify.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 25 May 2009 05:48:25 +0000 (15:48 +1000)]
Add Enter/FocusIn passive grabs.
Same behaviour as button/keysym grabs but triggered on enter/leave and
focus in/out events.
Peter Hutterer [Wed, 27 May 2009 03:11:49 +0000 (13:11 +1000)]
XI2proto.txt: remove one more keycode mentioning, fix typo
Peter Hutterer [Mon, 25 May 2009 02:14:12 +0000 (12:14 +1000)]
Add XIGetSelectedEvents request and reply.
Counterpart to XISelectEvents, used to retrieve event masks from the server.
Benjamin Close [Tue, 19 May 2009 01:27:03 +0000 (11:27 +1000)]
XI2proto.h: fix two comments referring to the old naming scheme.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 15 May 2009 10:14:16 +0000 (20:14 +1000)]
inputproto 1.9.99.9
Peter Hutterer [Sat, 16 May 2009 01:49:21 +0000 (11:49 +1000)]
Document naming conventions for XI2proto.h.
Peter Hutterer [Sat, 16 May 2009 01:46:44 +0000 (11:46 +1000)]
XI2proto: define Window, Cursor, Atom and Time as uint32_t.
Since we're using stdint in the rest of the file, might as well ignore
CARD32 here.
Peter Hutterer [Sat, 16 May 2009 01:31:03 +0000 (11:31 +1000)]
XI2.h: remove XI2Mask, add XISetMask and friends.
XISetMask, XIClearMask, XIMaskIsSet serve to set, clear or check a bit in
the provided array.
XIMaskLen is a macro to get the minimum length of a mask for a given event
type.
They are expected to be common ways to deal with event masks, i.e. clients
will do:
unsigned char mask[XIMaskLen(XI_ButtonRelease)] = {0};
XISetMask(mask, XI_ButtonPress)
XISetMask(mask, XI_ButtonRelease)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sat, 16 May 2009 01:25:49 +0000 (11:25 +1000)]
Add XIAnyButton and XIAnyKeysym.
Peter Hutterer [Thu, 14 May 2009 02:09:38 +0000 (12:09 +1000)]
XIQueryPointer needs to include sensible button/modifier state.
This includes shuffling the xXIModifierInfo and xXIGroupInfo structs to the
common structs section.
Peter Hutterer [Thu, 14 May 2009 00:29:49 +0000 (10:29 +1000)]
Add an introduction to XI2proto.txt
Peter Hutterer [Tue, 12 May 2009 09:24:31 +0000 (19:24 +1000)]
XI2proto.txt: remove more mentioning of keycode grabs
Peter Hutterer [Tue, 12 May 2009 06:51:05 +0000 (16:51 +1000)]
Remove superfluous "Device" from protocol requests and events.
Anything with prefix XI is per-device anyway.
Peter Hutterer [Tue, 12 May 2009 06:14:01 +0000 (16:14 +1000)]
Add per-device flags to XIDeviceHierarchyEvents
Peter Hutterer [Tue, 12 May 2009 03:45:48 +0000 (13:45 +1000)]
Define Cursor as CARD32.
Reported-by: Benjamin Close <benjamin.close@clearchain.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 11 May 2009 04:35:35 +0000 (14:35 +1000)]
XI2proto.h: doxygen-ify
Peter Hutterer [Mon, 11 May 2009 03:46:53 +0000 (13:46 +1000)]
XI2proto.h: s/uint32_t/Time/ where appropriate
Peter Hutterer [Thu, 7 May 2009 06:19:47 +0000 (16:19 +1000)]
Prefix all XI2 constants with "XI" -> inputproto 1.99.9.8
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 6 May 2009 06:33:34 +0000 (16:33 +1000)]
Add XI2 property requests.
Basically the same as XI 1.5, save the 16 bit deviceids.
Peter Hutterer [Sat, 25 Apr 2009 01:08:21 +0000 (11:08 +1000)]
XI2: add passive grabs.
Most notably XI2 provides keysym grabs instead of keycode grabs.
Peter Hutterer [Sat, 25 Apr 2009 00:43:43 +0000 (10:43 +1000)]
XI2 spec: Add some more Grab/Ungrab/AllowEvents documentation.
Benjamin Close [Wed, 22 Apr 2009 03:40:50 +0000 (13:10 +0930)]
Define the Cursor datasize correctly
On 64 bit machines, without Cursor defined Xlib would allocate 64 bits
rather than 32 to any structs using Cursor. This led to data not
correctly being available on the wire hence the Xserver would do strange
things. We hence define Cursor to what it should be and make sure
we undefine it after we've finished to users of XIproto.h aren't affected
Fix-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Benjamin Close <Benjamin.Close@clearchain.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Paul "TBBle" Hampson [Tue, 21 Apr 2009 23:00:14 +0000 (09:00 +1000)]
Fix typo in XI2proto.txt
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 16 Apr 2009 01:37:20 +0000 (11:37 +1000)]
Add XIAllowEvents.
Basically the same as the core protocol AllowEvents.
Peter Hutterer [Sun, 19 Apr 2009 11:33:42 +0000 (21:33 +1000)]
Change FP1616 into a single int32_t.
Peter Hutterer [Fri, 10 Apr 2009 07:31:05 +0000 (17:31 +1000)]
Add GrabDevice and UngrabDevice XI2 requests.
Peter Hutterer [Fri, 10 Apr 2009 04:56:20 +0000 (14:56 +1000)]
Revert "Add major/minor version as supported by client to GetExtensionVersionReq."
This reverts commit
f6e41306f76de966884d4b72c5fb5e5d6d534ce4.
Sending the supported version hidden in another request is potentially
dangerous, so let's not do it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Apr 2009 04:35:00 +0000 (14:35 +1000)]
XI2proto.txt: fix typo
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Apr 2009 04:17:51 +0000 (14:17 +1000)]
We don't need to define KeyCode and Mask.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Apr 2009 04:17:02 +0000 (14:17 +1000)]
Undef Window, Time, etc. after usage again to avoid pollution.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 3 Mar 2009 05:15:50 +0000 (15:15 +1000)]
Remove IsFloating - we don't need this in XI 1.x anymore.
Peter Hutterer [Tue, 3 Mar 2009 05:13:22 +0000 (15:13 +1000)]
Move XI_2_Major/Minor to XI2.h
Peter Hutterer [Tue, 3 Mar 2009 06:13:05 +0000 (16:13 +1000)]
Move AttachToMaster, Floating to XI2.h
Peter Hutterer [Tue, 3 Mar 2009 05:58:24 +0000 (15:58 +1000)]
Move CH_* constants to xi2
Peter Hutterer [Wed, 4 Feb 2009 04:33:57 +0000 (14:33 +1000)]
Remove XI2 requests from XIproto.h
All requests been moved to XI2proto.h. Only ExtendedGrabDevice is gone for
good.
Peter Hutterer [Thu, 26 Feb 2009 05:22:55 +0000 (15:22 +1000)]
Bump to 1.9.99.7
Peter Hutterer [Thu, 12 Mar 2009 05:43:26 +0000 (15:43 +1000)]
Add XISetDeviceFocus and XIGetDeviceFocus requests
Peter Hutterer [Wed, 11 Mar 2009 06:32:06 +0000 (16:32 +1000)]
Add focus events
Peter Hutterer [Wed, 11 Mar 2009 03:32:09 +0000 (13:32 +1000)]
Add buttons + modifier/group information to enter/leave events.
Peter Hutterer [Wed, 11 Mar 2009 02:30:16 +0000 (12:30 +1000)]
Define FP1616 as one int16_t, one uint16_t.
Peter Hutterer [Tue, 10 Mar 2009 05:42:28 +0000 (15:42 +1000)]
ValuatorInfo moved to FP3232
Peter Hutterer [Tue, 10 Mar 2009 05:35:04 +0000 (15:35 +1000)]
Add FP3232 typedef.
Peter Hutterer [Tue, 10 Mar 2009 02:26:18 +0000 (12:26 +1000)]
XI2: remove button state from the RawEvent.
A RawEvent is supposed to represent the state posted by the device. If a
client needs button state, then the client must keep track of it.
Peter Hutterer [Thu, 26 Feb 2009 05:10:28 +0000 (15:10 +1000)]
Split CH_ChangeAttachment into CH_AttachSlave and CH_DetachSlave
CH_ChangeAttachment is still there, but won't be for long.
Peter Hutterer [Thu, 5 Feb 2009 05:57:56 +0000 (15:57 +1000)]
Add XI2.h and XI2proto.h, and a few required defines to XI.h
Peter Hutterer [Thu, 5 Feb 2009 04:18:28 +0000 (14:18 +1000)]
Add XI2 protocol specification document.
Peter Hutterer [Wed, 4 Feb 2009 05:21:55 +0000 (15:21 +1000)]
Whitespace cleanups.
Yep. Slow day today.
Paulo Cesar Pereira de Andrade [Tue, 27 Jan 2009 22:06:28 +0000 (20:06 -0200)]
Janitor: Correct make distcheck and dont distribute autogen.sh
Peter Hutterer [Fri, 31 Oct 2008 06:03:25 +0000 (16:33 +1030)]
Bump to 1.9.99.6.
Peter Hutterer [Fri, 31 Oct 2008 07:23:39 +0000 (17:53 +1030)]
PropertyNotify, move deviceid back to last byte.
This way, it can be type-cast to deviceKeyButtonPointer to extract the
deviceid, which is (aside from time) the only thing it has in common with
those anyway.
Peter Hutterer [Wed, 8 Oct 2008 11:09:20 +0000 (21:39 +1030)]
Remove window access protocol requests.
This is a bad idea. It didn't provide security and you can get the same
functionality as you did with normal event registration.
Julien Cristau [Wed, 15 Oct 2008 08:33:51 +0000 (10:33 +0200)]
Undef Atom after we're done so we don't pollute users of XIproto.h
Peter Hutterer [Wed, 15 Oct 2008 00:04:21 +0000 (10:34 +1030)]
Make sure Atoms are defined as CARD32.
Peter Hutterer [Fri, 26 Sep 2008 00:41:04 +0000 (10:11 +0930)]
Bump to 1.9.99.5.
Peter Hutterer [Fri, 26 Sep 2008 00:07:48 +0000 (09:37 +0930)]
Remove default properties (XI_PROP_MODE, XI_PROP_ENABLED)
These should be defined by the server, not the protocol.
Peter Hutterer [Thu, 18 Sep 2008 05:30:54 +0000 (15:00 +0930)]
Remove Configure/QueryDeviceProperty.
Peter Hutterer [Thu, 18 Sep 2008 06:58:09 +0000 (16:28 +0930)]
Add XI_JOYSTICK type.
Peter Hutterer [Thu, 18 Sep 2008 05:30:01 +0000 (15:00 +0930)]
Don't include Xmd.h.
Peter Hutterer [Fri, 15 Aug 2008 05:31:16 +0000 (15:01 +0930)]
inputproto 1.9.99.4
Backported device properties.
Peter Hutterer [Fri, 15 Aug 2008 05:20:23 +0000 (14:50 +0930)]
Protect against C++ includes.
Peter Hutterer [Fri, 15 Aug 2008 04:51:24 +0000 (14:21 +0930)]
Remove RCS tags, typo fix.
Peter Hutterer [Wed, 13 Aug 2008 00:30:12 +0000 (10:00 +0930)]
Back out Device Properties from XI 2, push into XI 1.5.
Alan Hourihane [Tue, 29 Jul 2008 13:15:04 +0000 (14:15 +0100)]
bump to 1.99.9.3
Peter Hutterer [Mon, 28 Jul 2008 23:28:53 +0000 (08:58 +0930)]
Add DeviceControlChanged define.
This value is used for the devchange field in the DevicePresenceNotify event
when a device's control has been modified.
Alan Hourihane [Mon, 21 Jul 2008 09:33:47 +0000 (10:33 +0100)]
Bump to 1.9.99.2 for inputproto
Peter Hutterer [Sun, 13 Jul 2008 11:19:51 +0000 (20:49 +0930)]
Add #defines for XI_PROP_ENABLED, XI_PROP_MODE
These two props are expected to be supported by the server.
Peter Hutterer [Wed, 9 Jul 2008 08:58:26 +0000 (18:28 +0930)]
Set IEVENTS back to 18, got set to 8 inadvertantly.
Peter Hutterer [Mon, 7 Jul 2008 06:08:50 +0000 (15:38 +0930)]
Add XI device property requests and replies.
New requests:
ListDeviceProperties ... list all props of a device
QueryDeviceProperty ... query meta-information about a property
ChangeDeviceProperty ... change the content of a property
DeleteDeviceProperty ... delete a property
GetDeviceProperty ... retrieve a property
New event:
DevicePropertyChangedNotify ... the given property on the device has changed
Peter Hutterer [Wed, 28 May 2008 07:43:49 +0000 (17:13 +0930)]
Bump to 1.9.99.1.
Peter Hutterer [Mon, 12 May 2008 08:00:30 +0000 (17:30 +0930)]
Remove a leftover typedef, the code that requires it has since been removed.
Was part of the FakeDeviceData request, this request does not exist anymore.
Peter Hutterer [Mon, 12 May 2008 08:00:15 +0000 (17:30 +0930)]
Merge branch 'master' into mpx
Conflicts:
XI.h
Peter Hutterer [Sat, 26 Apr 2008 00:33:19 +0000 (10:03 +0930)]
Add major/minor version as supported by client to GetExtensionVersionReq.
This sort-of breaks old clients. Behaviour to be assumed is that if nbytes is
0, major/minorVersion is set and specifies the version as supported by the
client.
If nbytes is non-zero, the request is trailed by the extension name (INAME)
and major/minorVersion is undefined. This is the behaviour of pre-MPX clients.
And then there may be clients who found that no other extension uses this
request and supplying a name wasn't actually necessary since it was XI anyway.
These clients will break. Tough luck. Read the man pages next time.