diff --git a/keymapper/mapping.py b/keymapper/mapping.py index 7412302d..e3275518 100644 --- a/keymapper/mapping.py +++ b/keymapper/mapping.py @@ -127,6 +127,7 @@ class Mapping: continue self._mapping[keycode] = character + # add any metadata of the mapping for key in preset_dict: if key == 'mapping': continue diff --git a/tests/testcases/mapping.py b/tests/testcases/mapping.py index b0f88c89..5a0eb9cd 100644 --- a/tests/testcases/mapping.py +++ b/tests/testcases/mapping.py @@ -55,14 +55,18 @@ class TestMapping(unittest.TestCase): self.mapping.change(10, '1') self.mapping.change(11, '2') self.mapping.change(12, '3') + self.mapping.config['foo'] = 'bar' self.mapping.save('device 1', 'test') + loaded = Mapping() self.assertEqual(len(loaded), 0) loaded.load('device 1', 'test') + self.assertEqual(len(loaded), 3) self.assertEqual(loaded.get_character(10), '1') self.assertEqual(loaded.get_character(11), '2') self.assertEqual(loaded.get_character(12), '3') + self.assertEqual(loaded.config['foo'], 'bar') def test_change(self): # 1 is not assigned yet, ignore it