I have been working with folks on the MNT IRC channel for a while but I think things will be better managed over here on the forums.
@minute has made several improvements to the keyboard firmware that are making strides here, but the biggest issue is that the keyboard will get into a state where the USB hub does not re-enumerate it and it is effectively disconnected from the system.
Sometimes, if I wait and keep trying to reset the keyboard via the oled (this is functionality that was added in an attempt to overcome this issue) I can get it working again. The time here can be extensive. Anywhere from a single reset to hundreds.
The keyboard in these cases will appear to be functional. The oled menu is functional and you can mess around with the backlighting. It is just the keyboard appears to not be plugged in.
I was able to get things back by removing the keybaord cover and physically unplugging the keyboard and plugging it back in.
Has anyone else had issues like this? Are you using @amospalla 's psuspend service?
Hopefully this is something we can get resolved because it really tanks the Pocket’s usability out in the wild.
I love the Pocket Reform though, and I am sure this will get sorted.
1 Like
I’ve had an issue once or twice where the OLED appears to work, and trying to trigger boot doesn’t initiate the start up sequence, but just turns the keyboard purple.
Usually I’ve done random things to get it working. Think the last time I unplugged the USB power and it allowed it to boot, but not sure if it was random chance, as it’s usually trying combinations of powering on / off and switching the standby switch until I can get it to boot.
It’s also random, and thankfully infrequent. I’ve disabled standby (via the sway screenlock setting), and using it regularly without switching the standby switch to off seems to be a workaround for me to avoid the issue for the most part.
1 Like
If you think psuspend is related to your keyboard disconnection issues you can help find what is triggering the problem. Personally I don’t use the script that much because I have limited time to play with my Pocket, and during the times I have done I have not experienced any keyboard problems.
I have reviewed the code several times looking for something causing your issues but I can’t think of how it may trigger them, so (and sorry if I repeat myself, I know I have suggested this before) you could help narrow down what would be causing the problem. The script is modular, I would try the following steps, each one during enough time to discard if the issue persists or not. By limiting each step to a single action we can narrow down what is triggering the issue and help reproduce it. By reproducing the problem we have a path to solve it.
I would follow these steps:
- psuspend disabled, do not run the script.
- psuspend enabled, configured with all modules disabled (commented out) and keyboard feedback set to false. This effectively should equal to the script not running, but still worth the test.
- Enable the keyboard feedback (setting it to true).
- Enable one by one the modules you use (by uncomenting them out).
Ask me for any help doing this if you need it. I hope you can solve soon your keyboard issues!
1 Like
MNT, being as awesome as ever, feels that it might just be that I have a faulty RP2040, so they are going to send me another keyboard. I think that is going to be a good way forward.
1 Like
I would have periodic keyboard issues similar to what you’re describing that were especially likely to trigger when using my accelerometer mod and polling for readings from the system controller over SPI.
The firmware updates seem to have largely fixed the issue - occasionally I’ll find that the keyboard has re-enumerated itself and once I’ve manually reset USB via the OLED menu.
Hope the new RP2040 works out for you! If you have to transfer the keycaps over from your old board be careful to wiggle them out vertically rather than horizontally - it’s easy to do damage to the stems otherwise!