Get rid of legacy keycodes mapping

This commit is contained in:
Kovid Goyal 2019-08-23 09:48:22 +05:30
parent 82fcdf6272
commit 2523d6605e
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
4 changed files with 9 additions and 70 deletions

View File

@ -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()

View File

@ -1,58 +0,0 @@
# vim:fileencoding=utf-8
# License: GPL v3 Copyright: 2016, Kovid Goyal <kovid at kovidgoyal.net>
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]

View File

@ -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

View File

@ -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()