summaryrefslogtreecommitdiff
path: root/clutter/clutter/x11/clutter-xkb-a11y-x11.c
diff options
context:
space:
mode:
Diffstat (limited to 'clutter/clutter/x11/clutter-xkb-a11y-x11.c')
-rw-r--r--clutter/clutter/x11/clutter-xkb-a11y-x11.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/clutter/clutter/x11/clutter-xkb-a11y-x11.c b/clutter/clutter/x11/clutter-xkb-a11y-x11.c
index 6adde813a..6b782c7a5 100644
--- a/clutter/clutter/x11/clutter-xkb-a11y-x11.c
+++ b/clutter/clutter/x11/clutter-xkb-a11y-x11.c
@@ -241,8 +241,13 @@ clutter_device_manager_x11_apply_kbd_a11y_settings (ClutterDeviceManager *devi
}
/* mouse keys */
- if (set_xkb_ctrl (desc, kbd_a11y_settings->controls,
- CLUTTER_A11Y_MOUSE_KEYS_ENABLED, XkbMouseKeysMask | XkbMouseKeysAccelMask))
+ if (clutter_keymap_get_num_lock_state (CLUTTER_KEYMAP (backend_x11->keymap)))
+ {
+ /* Disable mousekeys when NumLock is ON */
+ desc->ctrls->enabled_ctrls &= ~(XkbMouseKeysMask | XkbMouseKeysAccelMask);
+ }
+ else if (set_xkb_ctrl (desc, kbd_a11y_settings->controls,
+ CLUTTER_A11Y_MOUSE_KEYS_ENABLED, XkbMouseKeysMask | XkbMouseKeysAccelMask))
{
gint mk_max_speed;
gint mk_accel_time;