Describe the bug
I built a split dactyl using two Raspberry Pi Picos, running CircuitPython 8.1.0 and a version of KMK from 26 May 2023 on a Win10 PC, everything proceeded as normal until I attempted to modify boot.py. I used the example code from boot.md
`
Press any key to enter the REPL. Use CTRL-D to reload.
soft reboot
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
code.py output:
Starting
Traceback (most recent call last):
File "code.py", line 153, in
File "kmk/kmk_keyboard.py", line 472, in go
File "kmk/kmk_keyboard.py", line 495, in _init
File "kmk/kmk_keyboard.py", line 321, in _init_hid
File "kmk/hid.py", line 287, in init
File "kmk/hid.py", line 100, in init
File "kmk/hid.py", line 296, in hid_send
KeyError: 2
Code done running.
Press any key to enter the REPL. Use CTRL-D to reload.
`
To Reproduce
Steps to reproduce the behavior:
I have been able to successfully replicate the error by:
1) Flashing the latest version of CircuitPython
2) Utilize the latest git version of KMK
3) Verify split keyboard is working with only code.py
4) Modify boot.py (and only boot.py, no other changes)
5) Unplug the USB cable to the keyboard and reconnect
Expected behavior
I expected the keyboard to function as normal without mounting the USB storage, however the keyboard throws an error at start.
Debug output
With debug enabled, I see the following:
`28717 kmk.keys: F10: Key(code=67, has_modifiers=None)
28723 kmk.keys: F11: Key(code=68, has_modifiers=None)
28729 kmk.keys: F12: Key(code=69, has_modifiers=None)
28738 kmk.keys: PSCR: Key(code=70, has_modifiers=None)
28746 kmk.keys: SLCK: Key(code=71, has_modifiers=None)
28754 kmk.keys: PAUS: Key(code=72, has_modifiers=None)
28760 kmk.keys: INS: Key(code=73, has_modifiers=None)
28762 kmk.keyboard: Initialising KMKKeyboard
28763 kmk.keyboard: unicode_mode=0
28764 kmk.hid: use 6KRO
Traceback (most recent call last):
File "code.py", line 153, in
File "kmk/kmk_keyboard.py", line 472, in go
File "kmk/kmk_keyboard.py", line 495, in _init
File "kmk/kmk_keyboard.py", line 321, in _init_hid
File "kmk/hid.py", line 287, in init
File "kmk/hid.py", line 100, in init
File "kmk/hid.py", line 296, in hid_send
KeyError: 2
Code done running.
Press any key to enter the REPL. Use CTRL-D to reload.
`
Additional context
To remedy the situation I was able to implement the example provided with a version of KMK from 01 APR 2023. I did try to modify the boot.py to contain only but the issue persisted. The April version that I was able to successfully use did not have the NKRO code.
`import board
Describe the bug I built a split dactyl using two Raspberry Pi Picos, running CircuitPython 8.1.0 and a version of KMK from 26 May 2023 on a Win10 PC, everything proceeded as normal until I attempted to modify boot.py. I used the example code from boot.md
`import board
from kmk.bootcfg import bootcfg
bootcfg( sense=board.GP12, # column source=board.GP21, # row midi=False, mouse=False, usb_id=('KMK Keyboards', 'Dactyl Manuform'), )`
which produces the following output
` Press any key to enter the REPL. Use CTRL-D to reload. soft reboot
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable. code.py output: Starting Traceback (most recent call last): File "code.py", line 153, in
File "kmk/kmk_keyboard.py", line 472, in go
File "kmk/kmk_keyboard.py", line 495, in _init
File "kmk/kmk_keyboard.py", line 321, in _init_hid
File "kmk/hid.py", line 287, in init
File "kmk/hid.py", line 100, in init
File "kmk/hid.py", line 296, in hid_send
KeyError: 2
Code done running.
Press any key to enter the REPL. Use CTRL-D to reload. `
To Reproduce Steps to reproduce the behavior: I have been able to successfully replicate the error by: 1) Flashing the latest version of CircuitPython 2) Utilize the latest git version of KMK 3) Verify split keyboard is working with only code.py 4) Modify boot.py (and only boot.py, no other changes) 5) Unplug the USB cable to the keyboard and reconnect
Expected behavior I expected the keyboard to function as normal without mounting the USB storage, however the keyboard throws an error at start.
Debug output With debug enabled, I see the following: `28717 kmk.keys: F10: Key(code=67, has_modifiers=None) 28723 kmk.keys: F11: Key(code=68, has_modifiers=None) 28729 kmk.keys: F12: Key(code=69, has_modifiers=None) 28738 kmk.keys: PSCR: Key(code=70, has_modifiers=None) 28746 kmk.keys: SLCK: Key(code=71, has_modifiers=None) 28754 kmk.keys: PAUS: Key(code=72, has_modifiers=None) 28760 kmk.keys: INS: Key(code=73, has_modifiers=None) 28762 kmk.keyboard: Initialising KMKKeyboard 28763 kmk.keyboard: unicode_mode=0 28764 kmk.hid: use 6KRO Traceback (most recent call last): File "code.py", line 153, in
File "kmk/kmk_keyboard.py", line 472, in go
File "kmk/kmk_keyboard.py", line 495, in _init
File "kmk/kmk_keyboard.py", line 321, in _init_hid
File "kmk/hid.py", line 287, in init
File "kmk/hid.py", line 100, in init
File "kmk/hid.py", line 296, in hid_send
KeyError: 2
Code done running.
Press any key to enter the REPL. Use CTRL-D to reload. `
Additional context To remedy the situation I was able to implement the example provided with a version of KMK from 01 APR 2023. I did try to modify the boot.py to contain only but the issue persisted. The April version that I was able to successfully use did not have the NKRO code. `import board
from kmk.bootcfg import bootcfg
bootcfg( sense=board.GP12, # column source=board.GP21, # row )` code.txt