diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-07-21 11:41:43 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-07-22 14:15:44 +1000 |
commit | c439c39cc0f985743fbc464849f6caa805b1a1a9 (patch) | |
tree | a98aa896333dc3a921c97057636aaf648138ce5a | |
parent | 4f224f4da1405959b74c05d6b15469cf6c0c498f (diff) |
Replace keysym grabs with keycode grabs.
Keysym grabs are tricky to get right for applications that are more
complicated than demo applications. otoh, we know keycode grabs are
working.
So let's go with keycode grabs for now and add keysym grabs later
when we've sorted out the details.
Requires inputproto 1.9.99.15
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | include/X11/extensions/XInput2.h | 8 | ||||
-rw-r--r-- | man/Makefile.am | 6 | ||||
-rw-r--r-- | man/XIGrabButton.txt | 40 | ||||
-rw-r--r-- | src/XIPassiveGrab.c | 8 |
5 files changed, 32 insertions, 32 deletions
diff --git a/configure.ac b/configure.ac index 15f2a17..28b17f3 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ AC_PROG_SED XORG_CWARNFLAGS # Checks for pkg-config packages -PKG_CHECK_MODULES(XI, [xproto >= 7.0.13] [x11 >= 1.2.99.1] [xextproto >= 7.0.3] [xext >= 1.0.99.1] [inputproto >= 1.9.99.14]) +PKG_CHECK_MODULES(XI, [xproto >= 7.0.13] [x11 >= 1.2.99.1] [xextproto >= 7.0.3] [xext >= 1.0.99.1] [inputproto >= 1.9.99.15]) XI_CFLAGS="$CWARNFLAGS $XI_CFLAGS" AC_SUBST(XI_CFLAGS) AC_SUBST(XI_LIBS) diff --git a/include/X11/extensions/XInput2.h b/include/X11/extensions/XInput2.h index 1b46443..c3c0972 100644 --- a/include/X11/extensions/XInput2.h +++ b/include/X11/extensions/XInput2.h @@ -429,10 +429,10 @@ extern int XIGrabButton( XIGrabModifiers *modifiers_inout ); -extern int XIGrabKeysym( +extern int XIGrabKeycode( Display* display, int deviceid, - int keysym, + int keycode, Window grab_window, int grab_mode, int paired_device_mode, @@ -475,10 +475,10 @@ extern Status XIUngrabButton( XIGrabModifiers *modifiers ); -extern Status XIUngrabKeysym( +extern Status XIUngrabKeycode( Display* display, int deviceid, - int keysym, + int keycode, Window grab_window, int num_modifiers, XIGrabModifiers *modifiers diff --git a/man/Makefile.am b/man/Makefile.am index c87aa56..a51f65a 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -78,8 +78,8 @@ libman_xml = $(libman_txt:.txt=.xml) XI2_refpages = \ XIUndefineCursor.man \ XIUngrabButton.man \ - XIGrabKeysym.man \ - XIUngrabKeysym.man \ + XIGrabKeycode.man \ + XIUngrabKeycode.man \ XIUngrabDevice.man \ XIUngrabEnter.man \ XIGrabFocusIn.man \ @@ -140,7 +140,7 @@ XDeleteDeviceProperty.man: XGetDeviceProperty.man # XI2 prereqs XIUndefineCursor: XIDefineCursor.man -XIUngrabButton.man XIGrabKeysym.man XIUngrabKeysym.man: XIGrabButton.man +XIUngrabButton.man XIGrabKeycode.man XIUngrabKeycode.man: XIGrabButton.man XIGetClientPointer.man: XISetClientPointer.man XIGetFocus.man: XISetFocus.man XIUngrabDevice.man: XIGrabDevice.man diff --git a/man/XIGrabButton.txt b/man/XIGrabButton.txt index af442e5..d9e3297 100644 --- a/man/XIGrabButton.txt +++ b/man/XIGrabButton.txt @@ -4,7 +4,7 @@ XIGRABBUTTON(libmansuffix) NAME ---- - XIGrabButton, XIUngrabButton, XIGrabKeysym, XIUngrabKeysym - + XIGrabButton, XIUngrabButton, XIGrabKeycode, XIUngrabKeycode - grab/ungrab buttons or keys SYNOPSIS @@ -31,9 +31,9 @@ SYNOPSIS int num_modifiers, XIGrabModifiers *modifiers); - int XIGrabKeysym( Display *display, + int XIGrabKeycode( Display *display, int deviceid, - int keysym, + int keycode, Window grab_window, int grab_mode, int paired_device_mode, @@ -42,9 +42,9 @@ SYNOPSIS int num_modifiers, XIGrabModifiers *modifiers_inout); - int XIUngrabKeysym( Display *display, + int XIUngrabKeycode( Display *display, int deviceid, - int keysym, + int keycode, Window grab_window, int num_modifiers, XIGrabModifiers *modifiers); @@ -59,9 +59,9 @@ SYNOPSIS Specifies the device button that is to be grabbed or released or XIAnyButton. - keysym - Specifies the keysym that is to be grabbed or released - or XIAnyKeysym. + keycode + Specifies the keycode that is to be grabbed or released + or XIAnyKeycode. num_modifiers Number of elements in modifiers or modifiers_return @@ -101,16 +101,16 @@ SYNOPSIS DESCRIPTION ----------- - XIGrabButton and XIGrabKeysym establishes a passive grab. The + XIGrabButton and XIGrabKeycode establishes a passive grab. The modifier device for a button grab is the paired master device if deviceid specifies a master pointer. Otherwise, the modifier device is the device specified with deviceid. In the future, the device is actively grabbed (as for XIGrabDevice, the - last-grab time is set to the time at which the button or keysym + last-grab time is set to the time at which the button or keycode was pressed and the X_XIButtonPress or X_XIKeyPress event is reported if all of the following conditions are true: * The device is not grabbed, and the specified button or - keysym is logically pressed when the specified modifier + keycode is logically pressed when the specified modifier keys are logically down on the modifier device and no other buttons or modifier keys are logically down. * Either the grab window is an ancestor of (or is) the focus @@ -130,7 +130,7 @@ DESCRIPTION processing is frozen. This request overrides all previous grabs by the same client on - the same button/modifier or keysym/modifier combinations on the + the same button/modifier or keycode/modifier combinations on the same window. A modifiers of XIAnyModifier is equivalent to issuing the grab request for all possible modifier combinations (including the combination of no modifiers). It is not required @@ -141,28 +141,28 @@ DESCRIPTION button. If some other client has already issued a XIGrabButton or - XIGrabKeysym with the same button/modifier or keysym/modifier + XIGrabKeycode with the same button/modifier or keycode/modifier combination on the same window, a BadAccess error results. When using XIAnyModifier or XIAnyButton , the request fails completely, and a XIBadAccess error results (no grabs are established) if there is a conflicting grab for any - combination. XIGrabButton and XIGrabKeysym have no effect on an + combination. XIGrabButton and XIGrabKeycode have no effect on an active grab. - XIGrabButton and XIGrabKeysym can generate BadClass, BadDevice, + XIGrabButton and XIGrabKeycode can generate BadClass, BadDevice, BadMatch, BadValue, and BadWindow errors. - XIUngrabButton and XIUngrabKeysym releases the passive grab for - a button/modifier or keysym/modifier combination on the + XIUngrabButton and XIUngrabKeycode releases the passive grab for + a button/modifier or keycode/modifier combination on the specified window if it was grabbed by this client. A modifier of XIAnyModifier is equivalent to issuing the ungrab request for all possible modifier combinations, including the combination of no modifiers. A button of XIAnyButton is equivalent to issuing the request for all possible buttons. - XIUngrabButton and XIUngrabKeysym have no effect on an active + XIUngrabButton and XIUngrabKeycode have no effect on an active grab. - XIUngrabButton and XIUngrabKeysym can generate BadDevice, + XIUngrabButton and XIUngrabKeycode can generate BadDevice, BadMatch, BadValue and BadWindow errors. DIAGNOSTICS @@ -173,7 +173,7 @@ DIAGNOSTICS BadMatch This error may occur if XIGrabButton specified a device - that has no buttons, or XIGrabKeysym specified a device + that has no buttons, or XIGrabKeycode specified a device that has no keys. BadValue diff --git a/src/XIPassiveGrab.c b/src/XIPassiveGrab.c index ed79f1c..8953013 100644 --- a/src/XIPassiveGrab.c +++ b/src/XIPassiveGrab.c @@ -111,12 +111,12 @@ XIGrabButton(Display* dpy, int deviceid, int button, } int -XIGrabKeysym(Display* dpy, int deviceid, int keysym, +XIGrabKeycode(Display* dpy, int deviceid, int keycode, Window grab_window, int grab_mode, int paired_device_mode, Bool owner_events, XIEventMask *mask, int num_modifiers, XIGrabModifiers *modifiers_inout) { - return _XIPassiveGrabDevice(dpy, deviceid, XIGrabtypeKeysym, keysym, + return _XIPassiveGrabDevice(dpy, deviceid, XIGrabtypeKeycode, keycode, grab_window, None, grab_mode, paired_device_mode, owner_events, mask, num_modifiers, modifiers_inout); @@ -185,10 +185,10 @@ XIUngrabButton(Display* display, int deviceid, int button,Window grab_window, } int -XIUngrabKeysym(Display* display, int deviceid, int keysym, Window grab_window, +XIUngrabKeycode(Display* display, int deviceid, int keycode, Window grab_window, int num_modifiers, XIGrabModifiers *modifiers) { - return _XIPassiveUngrabDevice(display, deviceid, XIGrabtypeKeysym, keysym, + return _XIPassiveUngrabDevice(display, deviceid, XIGrabtypeKeycode, keycode, grab_window, num_modifiers, modifiers); } |