From d861c097b157a88d69dd54b0ab7e428c91977270 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Sat, 23 Jun 2018 18:10:00 +0200 Subject: [PATCH] Support new dead keys added in Qt 5.11 properly See https://codereview.qt-project.org/#/c/207231/ --- qutebrowser/keyinput/keyutils.py | 31 ++++++++++++++++ tests/unit/keyinput/key_data.py | 61 ++++++++++++++++---------------- 2 files changed, 61 insertions(+), 31 deletions(-) diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py index f0cf9c22a..e22e24f77 100644 --- a/qutebrowser/keyinput/keyutils.py +++ b/qutebrowser/keyinput/keyutils.py @@ -138,6 +138,37 @@ def _key_to_string(key): 'Dead_Hook': 'Hook', 'Dead_Horn': 'Horn', + 'Dead_Stroke': '̵', + 'Dead_Abovecomma': '̓', + 'Dead_Abovereversedcomma': '̔', + 'Dead_Doublegrave': '̏', + 'Dead_Belowring': '̥', + 'Dead_Belowmacron': '̱', + 'Dead_Belowcircumflex': '̭', + 'Dead_Belowtilde': '̰', + 'Dead_Belowbreve': '̮', + 'Dead_Belowdiaeresis': '̤', + 'Dead_Invertedbreve': '̑', + 'Dead_Belowcomma': '̦', + 'Dead_Currency': '¤', + 'Dead_a': 'a', + 'Dead_A': 'A', + 'Dead_e': 'e', + 'Dead_E': 'E', + 'Dead_i': 'i', + 'Dead_I': 'I', + 'Dead_o': 'o', + 'Dead_O': 'O', + 'Dead_u': 'u', + 'Dead_U': 'U', + 'Dead_Small_Schwa': 'ə', + 'Dead_Capital_Schwa': 'Ə', + 'Dead_Greek': 'Greek', + 'Dead_Lowline': '̲', + 'Dead_Aboveverticalline': '̍', + 'Dead_Belowverticalline': '\u0329', + 'Dead_Longsolidusoverlay': '̸', + 'Memo': 'Memo', 'ToDoList': 'To Do List', 'Calendar': 'Calendar', diff --git a/tests/unit/keyinput/key_data.py b/tests/unit/keyinput/key_data.py index bf1ccdede..48b5c8c56 100644 --- a/tests/unit/keyinput/key_data.py +++ b/tests/unit/keyinput/key_data.py @@ -374,37 +374,36 @@ KEYS = [ Key('Dead_Hook', 'Hook', qtest=False), Key('Dead_Horn', 'Horn', qtest=False), - # Not in Qt 5.10, so data may be wrong! - Key('Dead_Stroke', qtest=False), - Key('Dead_Abovecomma', qtest=False), - Key('Dead_Abovereversedcomma', qtest=False), - Key('Dead_Doublegrave', qtest=False), - Key('Dead_Belowring', qtest=False), - Key('Dead_Belowmacron', qtest=False), - Key('Dead_Belowcircumflex', qtest=False), - Key('Dead_Belowtilde', qtest=False), - Key('Dead_Belowbreve', qtest=False), - Key('Dead_Belowdiaeresis', qtest=False), - Key('Dead_Invertedbreve', qtest=False), - Key('Dead_Belowcomma', qtest=False), - Key('Dead_Currency', qtest=False), - Key('Dead_a', qtest=False), - Key('Dead_A', qtest=False), - Key('Dead_e', qtest=False), - Key('Dead_E', qtest=False), - Key('Dead_i', qtest=False), - Key('Dead_I', qtest=False), - Key('Dead_o', qtest=False), - Key('Dead_O', qtest=False), - Key('Dead_u', qtest=False), - Key('Dead_U', qtest=False), - Key('Dead_Small_Schwa', qtest=False), - Key('Dead_Capital_Schwa', qtest=False), - Key('Dead_Greek', qtest=False), - Key('Dead_Lowline', qtest=False), - Key('Dead_Aboveverticalline', qtest=False), - Key('Dead_Belowverticalline', qtest=False), - Key('Dead_Longsolidusoverlay', qtest=False), + Key('Dead_Stroke', '̵', qtest=False), + Key('Dead_Abovecomma', '̓', qtest=False), + Key('Dead_Abovereversedcomma', '̔', qtest=False), + Key('Dead_Doublegrave', '̏', qtest=False), + Key('Dead_Belowring', '̥', qtest=False), + Key('Dead_Belowmacron', '̱', qtest=False), + Key('Dead_Belowcircumflex', '̭', qtest=False), + Key('Dead_Belowtilde', '̰', qtest=False), + Key('Dead_Belowbreve', '̮', qtest=False), + Key('Dead_Belowdiaeresis', '̤', qtest=False), + Key('Dead_Invertedbreve', '̑', qtest=False), + Key('Dead_Belowcomma', '̦', qtest=False), + Key('Dead_Currency', '¤', qtest=False), + Key('Dead_a', 'a', qtest=False), + Key('Dead_A', 'A', qtest=False), + Key('Dead_e', 'e', qtest=False), + Key('Dead_E', 'E', qtest=False), + Key('Dead_i', 'i', qtest=False), + Key('Dead_I', 'I', qtest=False), + Key('Dead_o', 'o', qtest=False), + Key('Dead_O', 'O', qtest=False), + Key('Dead_u', 'u', qtest=False), + Key('Dead_U', 'U', qtest=False), + Key('Dead_Small_Schwa', 'ə', qtest=False), + Key('Dead_Capital_Schwa', 'Ə', qtest=False), + Key('Dead_Greek', 'Greek', qtest=False), + Key('Dead_Lowline', '̲', qtest=False), + Key('Dead_Aboveverticalline', '̍', qtest=False), + Key('Dead_Belowverticalline', '\u0329', qtest=False), + Key('Dead_Longsolidusoverlay', '̸', qtest=False), ### multimedia/internet keys - ignored by default - see QKeyEvent c'tor Key('Back'),