diff --git a/kittens/unicode_input/main.py b/kittens/unicode_input/main.py index 5746a5e55..22e5b341c 100644 --- a/kittens/unicode_input/main.py +++ b/kittens/unicode_input/main.py @@ -391,6 +391,22 @@ class UnicodeInput(Handler): self.refresh() def on_key(self, key_event): + if self.mode is HEX and key_event.type is not RELEASE and not key_event.mods: + if key_event.key is TAB: + val = int(self.line_edit.current_input, 16) + self.line_edit.current_input = hex(val+0x10)[2:] + self.refresh() + return + if key_event.key is UP: + val = int(self.line_edit.current_input, 16) + self.line_edit.current_input = hex(val+1)[2:] + self.refresh() + return + if key_event.key is DOWN: + val = int(self.line_edit.current_input, 16) + self.line_edit.current_input = hex(val-1)[2:] + self.refresh() + return if self.mode is NAME and key_event.type is not RELEASE and not key_event.mods: if key_event.key is TAB: if key_event.mods == SHIFT: