summaryrefslogtreecommitdiff
path: root/xserver/xkb
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu.herrb@laas.fr>2012-12-16 18:33:35 +0100
committerMatthieu Herrb <matthieu.herrb@laas.fr>2012-12-16 18:33:35 +0100
commitb2e9e29b589a8bc859e672ad9d8117c96fbfa44e (patch)
tree24adced79716e90bf00b0de3f1335eef189295f8 /xserver/xkb
parenta1e41c27a1152a638a43091b4f722ad8ea84fcef (diff)
update to xserver 1.13.1
Diffstat (limited to 'xserver/xkb')
-rw-r--r--xserver/xkb/Makefile.in2
-rw-r--r--xserver/xkb/xkbAccessX.c8
2 files changed, 6 insertions, 4 deletions
diff --git a/xserver/xkb/Makefile.in b/xserver/xkb/Makefile.in
index 715dec6f2..5b79a22f7 100644
--- a/xserver/xkb/Makefile.in
+++ b/xserver/xkb/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.12.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.5 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
diff --git a/xserver/xkb/xkbAccessX.c b/xserver/xkb/xkbAccessX.c
index 082c0db57..21df85d94 100644
--- a/xserver/xkb/xkbAccessX.c
+++ b/xserver/xkb/xkbAccessX.c
@@ -291,8 +291,8 @@ AccessXKRGExpire(OsTimerPtr timer, CARD32 now, pointer arg)
return 4000;
}
xkbi->krgTimerActive = _OFF_TIMER;
- cn.keycode = 0;
- cn.eventType = 0;
+ cn.keycode = xkbi->slowKeyEnableKey;
+ cn.eventType = KeyPress;
cn.requestMajor = 0;
cn.requestMinor = 0;
if (xkbi->desc->ctrls->enabled_ctrls & XkbSlowKeysMask) {
@@ -304,6 +304,7 @@ AccessXKRGExpire(OsTimerPtr timer, CARD32 now, pointer arg)
LogMessage(X_INFO, "XKB SlowKeys are now enabled. Hold shift to disable.\n");
}
+ xkbi->slowKeyEnableKey = 0;
return 0;
}
@@ -462,6 +463,7 @@ AccessXFilterPressEvent(DeviceEvent *event, DeviceIntPtr keybd)
if (ctrls->enabled_ctrls & XkbAccessXKeysMask) {
/* check for magic sequences */
if ((sym[0] == XK_Shift_R) || (sym[0] == XK_Shift_L)) {
+ xkbi->slowKeyEnableKey = key;
if (XkbAX_NeedFeedback(ctrls, XkbAX_SlowWarnFBMask)) {
xkbi->krgTimerActive = _KRG_WARN_TIMER;
xkbi->krgTimer = TimerSet(xkbi->krgTimer, 0, 4000,
@@ -709,7 +711,7 @@ ProcessPointerEvent(InternalEvent *ev, DeviceIntPtr mouse)
xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(mouse);
DeviceEvent *event = &ev->device_event;
- dev = IsFloating(mouse) ? mouse : GetMaster(mouse, MASTER_KEYBOARD);
+ dev = (IsMaster(mouse) || IsFloating(mouse)) ? mouse : GetMaster(mouse, MASTER_KEYBOARD);
if (dev && dev->key) {
xkbi = dev->key->xkbInfo;