fix KC.LM
This commit is contained in:
		@@ -5,7 +5,7 @@ def key_seq_sleep_validator(ms):
 | 
				
			|||||||
    return KeySeqSleepMeta(ms)
 | 
					    return KeySeqSleepMeta(ms)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def layer_key_validator(layer):
 | 
					def layer_key_validator(layer, kc=None):
 | 
				
			||||||
    '''
 | 
					    '''
 | 
				
			||||||
    Validates the syntax (but not semantics) of a layer key call.  We won't
 | 
					    Validates the syntax (but not semantics) of a layer key call.  We won't
 | 
				
			||||||
    have access to the keymap here, so we can't verify much of anything useful
 | 
					    have access to the keymap here, so we can't verify much of anything useful
 | 
				
			||||||
@@ -13,7 +13,7 @@ def layer_key_validator(layer):
 | 
				
			|||||||
    existing is mostly that Python will catch extraneous args/kwargs and error
 | 
					    existing is mostly that Python will catch extraneous args/kwargs and error
 | 
				
			||||||
    out.
 | 
					    out.
 | 
				
			||||||
    '''
 | 
					    '''
 | 
				
			||||||
    return LayerKeyMeta(layer)
 | 
					    return LayerKeyMeta(layer, kc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def mod_tap_validator(
 | 
					def mod_tap_validator(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,8 +28,9 @@ class HoldTapKeyMeta:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class LayerKeyMeta:
 | 
					class LayerKeyMeta:
 | 
				
			||||||
    def __init__(self, layer):
 | 
					    def __init__(self, layer, kc=None):
 | 
				
			||||||
        self.layer = layer
 | 
					        self.layer = layer
 | 
				
			||||||
 | 
					        self.kc = kc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ModTapKeyMeta(HoldTapKeyMeta):
 | 
					class ModTapKeyMeta(HoldTapKeyMeta):
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										28
									
								
								tests/test_layers.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								tests/test_layers.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					import unittest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from kmk.keys import KC
 | 
				
			||||||
 | 
					from kmk.modules.layers import Layers
 | 
				
			||||||
 | 
					from tests.keyboard_test import KeyboardTest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TestLayers(unittest.TestCase):
 | 
				
			||||||
 | 
					    def setUp(self):
 | 
				
			||||||
 | 
					        self.kb = KeyboardTest(
 | 
				
			||||||
 | 
					            [Layers()],
 | 
				
			||||||
 | 
					            [
 | 
				
			||||||
 | 
					                [KC.N0, KC.LM(1, KC.LCTL)],
 | 
				
			||||||
 | 
					                [KC.A, KC.B],
 | 
				
			||||||
 | 
					            ],
 | 
				
			||||||
 | 
					            debug_enabled=False,
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_layermod(self):
 | 
				
			||||||
 | 
					        self.kb.test(
 | 
				
			||||||
 | 
					            'Layer + Mod',
 | 
				
			||||||
 | 
					            [(1, True), (0, True), (1, False), (0, False)],
 | 
				
			||||||
 | 
					            [{KC.LCTL}, {KC.LCTL, KC.A}, {KC.A}, {}],
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if __name__ == '__main__':
 | 
				
			||||||
 | 
					    unittest.main()
 | 
				
			||||||
		Reference in New Issue
	
	Block a user