I am an happy user of Model01 for more than two years, the only issue I had so far was fixed by cleaning a couple of switches with alcohol.
However, not so long after upgrading from 1.99.3 to 1.99.4 and 1.99.5, I started to notice that the keyboard sometimes got stuck and needed to be unplugged/re-plugged to be working again.
This does not looks like an hardware issue as all the switches have the same consistent behavior with the hardware test mode, the issue does not seem to be due to a flaky USB connection on keyboard side as unplugging the other end of the USB (on the computer side) made it work again.
When this happens, I noticed that:
- the blue “boot greeting” on the led key is triggered.
- sometimes it’s like a shift-key is held when typing on the laptop keyboard, but no shift key is held down, and I don’t have any caps-lock key in my mapping
- the “active modifier color” (LED-ActiveModColor) is behaving as expected and lights modifier keys (or their qukeys alternative).
- modifying Qukeys settings did not help
- the keyboard does not respond to any command on serial port.
- no key mapping set in any layer can be triggered (it’s not stuck in a specific layer).
I use Qukeys on the home row, thus it’s more than likely that some Qukeys modifiers are involved, but I did not managed to reliably reproduce it, it just happens randomly between once and 5 times a day, which tends to be quite annoying (I’m using InteliJ IDE thus Ctrl-Shift-Alt+key combos are now usable).
Whenever I re-flashed a new version of the firmware, I properly reset the EEPROM setting with Chrysalis and I don’t have any custom mappings in EEPROM (thus in theory only the ones in code are used).
I’m using Arduino IDE 1.8.x to compile and flash the firmware.
However, the good news is that after reverting back to Kaleidoscope 1.99.3, I haven’t had any single single occurrence of this problem in almost a week.
My current Arduino sketch is here, there is nothing really fancy nor any custom plugin.
By looking at the source code, there are plenty of changes (500+ files changed) between 1.99.3 and 1.99.4 (which is the same as 1.99.5), thus it won’t be trivial to find what could be the issue here, thus I really wonder what could be the best strategy to identify and fix this issue.