After flashing this on my uConsole running the latest Bookworm image everything works great. However, I just tried my other microSD with the RetroPie image and now none of the buttons work, other than the arrow buttons. I tried some of the SDL_GAMECONTROLLERCONFIG environment variable settings posted on the forums and they didn’t work. Pressing Fun+G just disables everything, pressing again enables at least the arrow buttons. I can do Alt+F4 to get a console prompt, but that’s about it.
The keyboard works different with the QMK firmware so you’ll need to resetup the key bindings but first you’ll have to delete /opt/retropie/configs/all/emulationstation/es_input.cfg and everything in /opt/retropie/configs/all/retroarch/autoconfig/ then reboot and setup the gamepad.
Found I also had to configure the controls from RetroArch and now everything is working perfectly, also managed to set up the LR buttons as L and R triggers. Thanks again!
Does this work on modules such as Radxa CM5? I am running a custom Debian image on the Radxa and keep on getting the “Failed to open serial device” message, despite turning off the system, removing the plug and batteries, and restarting. I’m trying to flash the 0922 firmware
If you read the previous reply, you will see that there is a similar solution to the problem. My solution is to open multiple windows, each window executes the same upgrade command, and each window builds about 1-3 seconds. If you’re lucky, there’s a window trigger update.
I’ve tried but only D-pad and ABXY were working. The others (activated by Fn + G) were not recogized. I guess it because RetroPie at first can only see “game mode type” keyboard. It cannot detect the normal mode after switching
Did you remove the stock controller configs? When you press Fn+G RetroPie needs to then be setup with that layout. I don’t think you can use them both at the same time.
I’m using the Retropie distro, but I imagine it would look the same elsewhere. From the Retroarch Main Menu, go into Settings > Input > Retropad Binds > Port 1 Controls and from there configure the keys for each relevant item (D-Pad Up/Down/Left/Right, B/A/Y/X Button, etc.). That’s all, after that the controls worked on all the emulators I tried (SNES, GB, GBA, Playstation).
I did. After rebooting, RetroPie prompt me to config gamepad. Then either I press Fn + G or not, it ends up failed. I’m gonna reflash your distro and make a fresh start. I’m not using uConsole for gaming but this issue makes me hard to sleep
I’ve successfully remap the keyboard for RetroPie image. The tricky one is I had to config RA input again after RetroPie. With X and Z key on the keyboard as A and B
I’ve succesfully uploaded 20240922 version and it works butterly smooth. Many thanks to your terrific work @olly.
Current problems I’m facing are:
/dev/ttyACM0 is gone, but if stock firmware is flashed back, ttyACM0 does return
Firmware was flashed whilst keyboard was connected to the uConsole with micro-USB-to-USB-A cable. Now whenever a devices is connected to USB-A port, keyboard is disabled. Only reboot can bring the keyboard back
I’ve copied the entire uConsole directory from here and succesfully compiled using qmk compile -kb some_directory/uconsole -km default, but the binary file will simply brick the keyboard, even though not a single line of code was changed.
/dev/ttyACM0 is gone, but if stock firmware is flashed back, ttyACM0 does return
The serial port is a feature of the Arduino-based factory firmware. It isn’t needed for the keyboard/trackball/gamepad to function. The QMK firmware doesn’t provide one.
Firmware was flashed whilst keyboard was connected to the uConsole with micro-USB-to-USB-A cable. Now whenever a devices is connected to USB-A port, keyboard is disabled. Only reboot can bring the keyboard back
This is a symptom of a USB power protections kicking in. AIUI, the Pi cuts power to USB ports when it thinks they are drawing too much power. The keyboard is attached to an internal USB port, that’s why it gets killed too.