Ejemplo n.º 1
0
    def test32_modifier_and_chord(self):
        self.map.modifiers = {'F': ('SHIFT', )}
        self.map.chords = {pretty_key(('X', 'A')): pretty_key(('CTRL', 'B'))}

        self.assertEqual((('SHIFT', 'CTRL'), 'B'), self.map(['F', 'X', 'A'],
                                                            2))
        self.assertEqual((('SHIFT', 'CTRL'), 'B'), self.map(['X', 'F', 'A'],
                                                            2))
Ejemplo n.º 2
0
    def test2_parse_layers_double_modifiers(self):
        key_map = parse_layers(layers={('x', 'y'): {
                                           'a': 'q'
                                       }},
                               symbols={},
                               key_names=self.key_names)

        self.assertEqual({pretty_key((('x', 'y'), 'a')): pretty_key('q')},
                         key_map)
Ejemplo n.º 3
0
    def test4_ignore_empty_definitions(self):
        key_map = parse_layers(layers={'x': {
            'a': u'q',
            'b': u'',
        }},
                               symbols={},
                               key_names=self.key_names)

        self.assertEqual({pretty_key(('x', 'a')): pretty_key('q')}, key_map)
Ejemplo n.º 4
0
    def test2_parse_layers_modified_key(self):
        key_map = parse_layers(layers={'x': {
            'a': ('shift', 'q')
        }},
                               symbols={},
                               key_names=self.key_names)

        self.assertEqual({pretty_key(('x', 'a')): pretty_key(('shift', 'q'))},
                         key_map)
Ejemplo n.º 5
0
    def setUp(self):
        self.kbd = Keyboard()
        # NOTE: Modifiers is case sensitive when testing.
        self.key_map = KeyMap(modifiers={'A': ('SHIFT',)},
                              chords={pretty_key(('x', 'b')): pretty_key('c')})

        self.parser = EventParser(key_map=self.key_map,
                                  kbd=self.kbd,
                                  on_off_key=None,
                                  passthrough_keys=[])
Ejemplo n.º 6
0
    def test22_empty_layer_is_used_for_key_rebinding(self):
        key_map = parse_layers(layers={'': {
            'a': 'q',
            'b': 'r'
        }},
                               symbols={},
                               key_names=self.key_names)

        self.assertEqual(
            {
                pretty_key('a'): pretty_key('q'),
                pretty_key('b'): pretty_key('r')
            }, key_map)
Ejemplo n.º 7
0
    def test21_parse_layers(self):
        key_map = parse_layers(layers={'x': {
            'a': 'q',
            'b': 'r'
        }},
                               symbols={},
                               key_names=self.key_names)

        self.assertEqual(
            {
                pretty_key(('x', 'a')): pretty_key('q'),
                pretty_key(('x', 'b')): pretty_key('r')
            }, key_map)
Ejemplo n.º 8
0
    def test3_extended_syntax(self):
        key_map = parse_layers(
            layers={'x': {
                'a': u'ctrl+shift+q',
                'b': u'ctrl+r',
            }},
            symbols={},
            key_names=self.key_names)

        self.assertEqual(
            {
                pretty_key(('x', 'a')): pretty_key((('ctrl', 'shift'), 'q')),
                pretty_key(('x', 'b')): pretty_key(('ctrl', 'r'))
            }, key_map)
Ejemplo n.º 9
0
    def test2_parse_layers_map_to_symbol(self):
        key_map = parse_layers(layers={'x': {
            'a': ';',
            'b': ':',
        }},
                               symbols={
                                   ';': 'semicolon',
                                   ':': ('shift', 'semicolon'),
                               },
                               key_names=self.key_names)

        self.assertEqual(
            {
                pretty_key(('x', 'a')): pretty_key('semicolon'),
                pretty_key(('x', 'b')): pretty_key(('shift', 'semicolon'))
            }, key_map)
Ejemplo n.º 10
0
 def test32_unmapped_chord(self):
     self.map.chords = {pretty_key(('X', 'A')): None}
     self.assertEqual((), self.map(['X', 'A'], 1))
Ejemplo n.º 11
0
    def test2_chords_are_independent_of_modifier_order(self):
        self.map.chords = {pretty_key((['X', 'Y', 'Z'], 'A')): pretty_key('B')}

        self.assertEqual(((), 'B'), self.map(['X', 'Y', 'Z', 'A'], 3))
        self.assertEqual(((), 'B'), self.map(['Y', 'X', 'Z', 'A'], 3))
        self.assertEqual(((), 'B'), self.map(['Z', 'X', 'Y', 'A'], 3))
Ejemplo n.º 12
0
 def test12_mapped_chord(self):
     self.map.chords = {pretty_key(('X', 'A')): pretty_key('B')}
     self.assertEqual(((), 'B'), self.map(['X', 'A'], 1))