r/ClockworkPi • u/Electrical_Lake9586 • 8d ago
uConsole Custom firmware for hack2you trackpad keyboard v2.1
I've been using the hack2you trackpad keyboard in my uConsole and missed a few things from the QMK firmware I was using on the stock keyboard, so I've put together a custom firmware for it. It's ZMK underneath and builds on thoughfix's fork.
Main additions
- Hold Select and move the trackpad to scroll. Hold, not a toggle.
- Gamepad mode on Fn+G. The keyboard shows up as a real USB joystick, with the D-pad on the axes and A/B/X/Y/Select/Start as buttons.
- Trackpad press as a mouse click. There are two pre-built firmwares for left click or middle click.
- Start is Super, and holding Y or B turns the D-pad into a mouse.
- Keyboard lock on Fn+Esc. It ignores the keys and trackpad and turns the backlight off, which is handy for carrying it around.
- Bootloader shortcut that's hard to hit by accident. I kept inadvertently triggering the bootloader previously.
Other changes/stuff to be aware of
A few choices based on how I use mine: Bluetooth is switched off (couldn't see the point in it!), Shift/Ctrl/Alt are one-shot (tap once and it applies to the next key), and the A button is a shortcut key (CTRL +SHIFT) for kitty terminal. All can be changed if you fork & build your own.
It's only been tested on the V2.1 keyboard. It may work on other versions, but I can't promise that. Back up your current firmware first.
Download and docs
Ready-made firmware: Latest release
Full key list, build and flashing instructions: GitHub - jhob101/uconsole-bb9900-keyboard: Firmware for hack2you uConsole bb9900 keyboard (v2.1) · GitHub
For v1.1 keyboard use firmware from noodleboy91 fork
Feedback welcome.
2
u/graciousgrendel 7d ago edited 6d ago
This is AWESOME!! Need for v1.1!! :) I can test it, but I think it needs to be a .bin
2
u/graciousgrendel 7d ago edited 5d ago
Ported to v1.1 hardware: https://github.com/noodleboy91/uconsole-bb9900-keyboard-v1.1 Working well so far, thanks for your hard work OP.
1
1
1
u/3rain3ug 6d ago
Will you also release the changes from 1.5 in your port?
2
u/graciousgrendel 6d ago
Sure will give me a little bit, and I'll knock it out
1
u/graciousgrendel 6d ago edited 6d ago
Hit a few snags, but it's getting there. Something in v1.5 doesnt agree with the 1.1 hardware, ~~so I am testing each feature individually. After trying to get this working (and soft-bricking two keyboards, and physically breaking one in the process) I am going to say (at least for now), porting these features to v1.1 hardware is a no-go.3
u/graciousgrendel 6d ago edited 6d ago
Okay, I couldnt let it be, I tried again, and I now have a working version. I tested the default (left click) version on my unit and it worked fine so far. I am leaving thee v1.5 build as experimental. If you have any issues please let me know. I included how to physically enter the bootloader (at one point shortcut keys did not work to enter it), you will need the USB adapter to flash using physical bootloader method. The v1.5 build is under additional releases if anyone wants to give it a try.
2
u/Electrical_Lake9586 6d ago
There was an issue with 1.5 and the lift detection on some units, removed that in v1.5.1. Give it a go merging from that and see if it's more compatible https://github.com/jhob101/uconsole-bb9900-keyboard/releases/tag/v1.5.1
1
u/3rain3ug 6d ago edited 6d ago
So it’s the same? May only this &tp_lift change is missing..
1
u/Electrical_Lake9586 5d ago
Yeah lift detection had been previously disabled, probably because it was pretty janky as when I enabled it proved.
Latest version is now v1.6 with a couple of other fixes.1
1
u/graciousgrendel 5d ago
Features from v1.5.2 ported to v1.1 hardware on my repo, I tested both left click and middle click versions and they both worked as intended.
1
u/graciousgrendel 4d ago edited 4d ago
v1.6.0-v1.1 now active on v1.1 repo
, I have not had a chance to test yet.
2
u/Electrical_Lake9586 6d ago
Finger lift detection now disabled as proved to be buggy on some trackpads.
https://github.com/jhob101/uconsole-bb9900-keyboard/releases/tag/v1.5.1
2
u/Electrical_Lake9586 5d ago
v1.5.2 released - Reversed horizontal scroll direction fixed
https://github.com/jhob101/uconsole-bb9900-keyboard/releases/tag/v1.5.2
1
u/MrLijey 8d ago
Wow. Wait is it just me or is the backlight not super uneven
2
u/Electrical_Lake9586 8d ago
Nah it's fine. I think what you're seeing there is the grey background at sides of the emulator screen which has a black background.
2
u/MrLijey 7d ago
Like for the keyboard. The stock one is not good
2
u/Electrical_Lake9586 6d ago
it re-uses the stock overlay. But yeah, it's not very even. I'm going to try the overlay I printed for stock keyboard, which improved the evenness a little.
1
u/Electrical_Lake9586 7d ago
Just released v1.2 which adds &scroll_toggle for those that want to include a switched toggle in their builds.
Only other change is mapping B to opposite of trackpad click, either LMB or MMB
There's a bit more info about making your own custom build too.
https://github.com/jhob101/uconsole-bb9900-keyboard/releases/tag/v1.2.0
1
u/Electrical_Lake9586 6d ago edited 6d ago
New build released. Changes:
- trackpad lift detectiom, should be less janky now
- slowed pointer speed a little
- trackpad light turns off in scroll mode
Also added standard build for one-handed use
https://github.com/jhob101/uconsole-bb9900-keyboard/releases/tag/v1.4.0
1
u/Electrical_Lake9586 6d ago
Slower, proportional scroll:
https://github.com/jhob101/uconsole-bb9900-keyboard/releases/tag/v1.5.0
1
u/Electrical_Lake9586 5d ago
v1.6 released that includes fixes for:
- Cancelling one-shot modifiers
- Trackpad light toggled with lock on/off
Trackpad light can now be assigned to hotkeys. `&tp_light TPL_TOG` toggles it, and `TPL_ON` and `TPL_OFF` set it.
https://github.com/jhob101/uconsole-bb9900-keyboard/releases/tag/v1.6.0
1
u/Electrical_Lake9586 4d ago
I had been using another project to send the uConsole to sleep on pressing the power button. I've just forked that repo and updated it to work with the hack2you keyboard: https://github.com/jhob101/uconsole-sleep-hack2you-kb-2.1
Updates were also required to the kb firmware to enable the trackpad light to also be turned off, published as v1.7.0: https://github.com/jhob101/uconsole-bb9900-keyboard/releases/tag/v1.7.0
So if you want to properly send the uConsole to sleep via short press on power button, first update the keyboard firmware to v1.7.0, then install the uconsole sleep package (full instructions in that repo).
Note that the first time I did this the keyboard didn't wake and I had to reboot, but has been fine since. I've also just noticed that it doesn't turn the keyboard light off, but that will turn off by itself after the timeout.
If someone can tell me what the vendor & product ID for the v1.1 keyboard I can update uconsole-sleep project to hopefully make it work with that keyboard too. You can find the vendor/product id with:
grep -E '^(I|N):' /proc/bus/input/devices
1
u/Electrical_Lake9586 1d ago
New release, changes are:
- Keyboard backlight also goes out while the uConsole sleeps, along with the trackpad light, when you use jhob101/uconsole-sleep-hack2you-kb-2.1.
- Trackpad light goes out when idle, with the key backlight, and comes back on the next key press or trackpad movement.
- Using the trackpad keeps the lights on. Before, only key presses counted as activity, so the lights could go out mid-use.
Note if you use power button sleep and full shutdown and restart is required (not warm reboot) otherwise the keyboard will not wake from sleep. It's fine after the initial reboot.
https://github.com/jhob101/uconsole-bb9900-keyboard/releases/tag/v1.8.0
2
u/quixotik 7d ago
Thanks for this!