Skip to content

Commit 1a771f8

Browse files
committed
simplify key events dispatch to webview
1 parent 1a0bede commit 1a771f8

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

devdocs_desktop.py

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -276,10 +276,11 @@ def on_window_main_destroy(self, _event):
276276

277277
def on_window_main_key_press_event(self, _widget, event):
278278
kname = Gdk.keyval_name(event.keyval)
279+
kcode = Gdk.keyval_to_unicode(event.keyval)
279280
search = self.header_sbox.get_visible()
280281

281282
if kname == 'Tab' and bool(self.search) and search:
282-
self.run_javascript('sendKey', 'search', 9)
283+
self.run_javascript('sendKey', 'search', kcode)
283284
self.sync_header_search()
284285

285286
return True
@@ -323,24 +324,18 @@ def on_window_main_unfocused_search_key_release_event(self, kname, event):
323324

324325
def on_header_search_entry_key_press_event(self, _widget, event):
325326
kname = Gdk.keyval_name(event.keyval)
327+
kcode = Gdk.keyval_to_unicode(event.keyval)
326328

327329
if kname == 'BackSpace' and not bool(self.search):
328-
self.run_javascript('sendKey', 'search', 8)
330+
self.run_javascript('sendKey', 'search', kcode)
329331
self.sync_header_search()
330332

331333
def on_header_search_entry_key_release_event(self, _widget, event):
332334
kname = Gdk.keyval_name(event.keyval)
335+
kcode = Gdk.keyval_to_unicode(event.keyval)
333336

334-
if kname == 'Return':
335-
self.run_javascript('sendKey', 'document', 13)
336-
self.webview.grab_focus()
337-
338-
if kname == 'Down':
339-
self.run_javascript('sendKey', 'document', 40)
340-
self.webview.grab_focus()
341-
342-
if kname == 'Up':
343-
self.run_javascript('sendKey', 'document', 38)
337+
if kname in ['Return', 'Down', 'Up']:
338+
self.run_javascript('sendKey', 'document', kcode)
344339
self.webview.grab_focus()
345340

346341
def on_finder_search_entry_key_release_event(self, _widget, event):

0 commit comments

Comments
 (0)