keycodes: fix keycode serialization for layered keycodes
parent
4fc12b69b2
commit
92f13ad189
|
|
@ -89,7 +89,7 @@ class Keycode:
|
||||||
outer = cls.find_outer_keycode(code)
|
outer = cls.find_outer_keycode(code)
|
||||||
inner = cls.find(code & 0xFF)
|
inner = cls.find(code & 0xFF)
|
||||||
if outer is not None and inner is not None:
|
if outer is not None and inner is not None:
|
||||||
return outer.qmk_id.replace("(kc)", "({})".format(inner.qmk_id))
|
return outer.qmk_id.replace("kc", inner.qmk_id)
|
||||||
return code
|
return code
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,20 @@
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from keycodes import Keycode
|
from keycodes import Keycode, recreate_keyboard_keycodes
|
||||||
|
|
||||||
|
|
||||||
|
class FakeKeyboard:
|
||||||
|
|
||||||
|
layers = 4
|
||||||
|
macro_count = 16
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TestKeycode(unittest.TestCase):
|
class TestKeycode(unittest.TestCase):
|
||||||
|
|
||||||
def test_serialize(self):
|
def test_serialize(self):
|
||||||
|
recreate_keyboard_keycodes(FakeKeyboard())
|
||||||
|
|
||||||
# at a minimum, we should be able to deserialize/serialize everything
|
# at a minimum, we should be able to deserialize/serialize everything
|
||||||
for x in range(2 ** 16):
|
for x in range(2 ** 16):
|
||||||
s = Keycode.serialize(x)
|
s = Keycode.serialize(x)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue