From b56af82caa137b823775bbf49ac9b541db370719 Mon Sep 17 00:00:00 2001 From: sezanzeb Date: Mon, 23 Nov 2020 21:43:31 +0100 Subject: [PATCH] test for reverse mapping split --- keymapper/mapping.py | 4 ++-- tests/testcases/mapping.py | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/keymapper/mapping.py b/keymapper/mapping.py index 69e510f5..e4aa3476 100644 --- a/keymapper/mapping.py +++ b/keymapper/mapping.py @@ -33,8 +33,8 @@ from keymapper.paths import get_config_path def update_reverse_mapping(func): """Generate a reverse mapping to optimize reverse lookups. - If _mapping contains `20: "a, A"`, - reverse mapping will contain `"a": 20, "A": 20` + If _mapping contains `20: "a, A"` (the xkb syntax for modified keys), + reverse mapping will contain `"a": 20, "A": 20`. """ def wrapper(self, *args, **kwargs): func(self, *args, **kwargs) diff --git a/tests/testcases/mapping.py b/tests/testcases/mapping.py index a7a9db1b..260fc643 100644 --- a/tests/testcases/mapping.py +++ b/tests/testcases/mapping.py @@ -45,6 +45,12 @@ class TestMapping(unittest.TestCase): self.assertEqual(loaded.get_keycode('2'), 11) self.assertEqual(loaded.get_keycode('3'), 12) + def test_split(self): + # mapping supports the xmodmap/xkb syntax for modified buttons + self.mapping.change(10, 'a, A') + self.assertEqual(self.mapping.get_keycode('a'), 10) + self.assertEqual(self.mapping.get_keycode('A'), 10) + def test_change(self): # 1 is not assigned yet, ignore it self.mapping.change(2, 'a', 1)