From 2523d6605e577ab4032adb16f8ad24b784a24246 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 23 Aug 2019 09:48:22 +0530 Subject: [PATCH] Get rid of legacy keycodes mapping --- src/pyj/complete.pyj | 8 ++--- src/pyj/keycodes.pyj | 58 ------------------------------------ src/pyj/popups.pyj | 9 +++--- src/pyj/read_book/search.pyj | 4 +-- 4 files changed, 9 insertions(+), 70 deletions(-) delete mode 100644 src/pyj/keycodes.pyj diff --git a/src/pyj/complete.pyj b/src/pyj/complete.pyj index 0a6cdf31e4..74a5fe1a11 100644 --- a/src/pyj/complete.pyj +++ b/src/pyj/complete.pyj @@ -4,7 +4,6 @@ from __python__ import hash_literals, bound_methods from dom import ensure_id from elementmaker import E -from keycodes import get_key from session import local_storage from popups import CompletionPopup from utils import uniq @@ -34,15 +33,14 @@ class EditWithComplete: return True def onkeydown(self, event): - k = get_key(event) - if self.completion_popup.is_visible and self.completion_popup.handle_keydown(k): + if self.completion_popup.is_visible and self.completion_popup.handle_keydown(event): event.preventDefault(), event.stopPropagation() return - if k is 'enter': + if event.key is 'Enter': if self.onenterkey: event.preventDefault(), event.stopPropagation() self.onenterkey() - elif k is 'tab': + elif event.key is 'Tab': if self.completion_popup.is_visible: if self.apply_completion(self.completion_popup.current_text): self.completion_popup.hide() diff --git a/src/pyj/keycodes.pyj b/src/pyj/keycodes.pyj deleted file mode 100644 index 55e3a1a228..0000000000 --- a/src/pyj/keycodes.pyj +++ /dev/null @@ -1,58 +0,0 @@ -# vim:fileencoding=utf-8 -# License: GPL v3 Copyright: 2016, Kovid Goyal -from __python__ import hash_literals - -KEYCODE_MAP = K = Object.create(None) -K[8] = 'backspace' -K[9] = 'tab' -K[13] = 'enter' -K[16] = 'shift' -K[17] = 'ctrl' -K[18] = 'alt' -K[19] = 'pause' -K[20] = 'capslock' -K[27] = 'escape' -K[32] = 'space' -K[33] = 'pageup' -K[34] = 'pagedown' -K[35] = 'end' -K[36] = 'home' -K[37] = 'left' -K[38] = 'up' -K[39] = 'right' -K[40] = 'down' -K[45] = 'insert' -K[46] = 'delete' -K[91] = 'meta_l' -K[92] = 'meta_r' -K[93] = 'select' -K[106] = 'numpad*' -K[107] = 'numpad+' -K[109] = 'numpad-' -K[111] = 'numpad/' -K[144] = 'numlock' -K[145] = 'scrolllock' -K[186] = ';' -K[187] = '+' -K[188] = ',' -K[189] = '-' -K[190] = '.' -K[191] = '/' -K[192] = '`' -K[219] = '[' -K[220] = '\\' -K[221] = ']' -K[222] = "'" - -for i in range(10): - KEYCODE_MAP[48 + i] = i + '' - KEYCODE_MAP[96 + i] = 'numpad' + i - -for i, c in enumerate(str.ascii_lowercase): - KEYCODE_MAP[65 + i] = c - -for i in range(1, 13): - KEYCODE_MAP[111 + i] = 'f' + 1 - -def get_key(key_event): - return KEYCODE_MAP[key_event.keyCode] diff --git a/src/pyj/popups.pyj b/src/pyj/popups.pyj index 7f34b32e19..1ebde631f8 100644 --- a/src/pyj/popups.pyj +++ b/src/pyj/popups.pyj @@ -128,14 +128,15 @@ class CompletionPopup: if c: c.classList.remove(self.CURRENT_ITEM_CLASS) - def handle_keydown(self, key): - if key is 'escape': + def handle_keydown(self, event): + key = event.key + if key is 'Escape' or key is 'Esc': self.hide() return True - if key is 'up': + if key is 'ArrowUp': self.move_highlight(True) return True - if key is 'down': + if key is 'ArrowDown': self.move_highlight(False) return True return False diff --git a/src/pyj/read_book/search.pyj b/src/pyj/read_book/search.pyj index d02567e2ae..258d7637dc 100644 --- a/src/pyj/read_book/search.pyj +++ b/src/pyj/read_book/search.pyj @@ -8,7 +8,6 @@ from gettext import gettext as _ from book_list.theme import get_color from complete import create_search_bar from dom import add_extra_css, build_rule, svgicon -from keycodes import get_key from read_book.globals import ui_operations from read_book.resources import text_from_serialized_html @@ -44,8 +43,7 @@ class SearchOverlay: c.firstChild.addEventListener('keydown', self.onkeydown) def onkeydown(self, event): - k = get_key(event) - if k is 'escape': + if event.key is 'Escape' or event.key is 'Esc': self.hide() event.preventDefault(), event.stopPropagation()