diff --git a/keymapper/dev/reader.py b/keymapper/dev/reader.py index 1a3f9c13..6fa232e0 100644 --- a/keymapper/dev/reader.py +++ b/keymapper/dev/reader.py @@ -39,7 +39,7 @@ CLOSE = 1 PRIORITIES = { EV_KEY: 100, - EV_ABS: 50 + EV_ABS: 50, } diff --git a/keymapper/gtk/row.py b/keymapper/gtk/row.py index 6e10de4f..f16f7186 100644 --- a/keymapper/gtk/row.py +++ b/keymapper/gtk/row.py @@ -24,7 +24,7 @@ import evdev -from gi.repository import Gtk, GLib +from gi.repository import Gtk, GLib, Gdk from keymapper.state import custom_mapping, system_mapping from keymapper.logger import logger @@ -239,6 +239,12 @@ class Row(Gtk.ListBoxRow): 'focus-out-event', self.keycode_input_unfocus ) + # don't leave the input when using arrow keys or tab. wait for the + # window to consume the keycode from the reader + keycode_input.connect( + 'key-press-event', + lambda *args: Gdk.EVENT_STOP + ) character_input = Gtk.Entry() self.character_input = character_input