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 @thoughtfix 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, includes pre-built releases for trackpad button as Left click, Middle click & ‘one-handed mode’.
For v1.1 of hack2you keyboard use the noodleboy91 fork. This is a fork of my project with modifications to work on v1.1 keyboard. Note that it’s not maintained by me.
I need some form of deadzone for the touchpad, it starts creeping in random directions by 1px or so every second after I lift my thumb. Does modifying the pointer speed in the config fix this?
That’s weird, mine doesn’t do that at all. Sounds like touchpad could be faulty.
I was going to look at the trackpad function a bit, particularly stopping it moving during lifting finger. I might also do a build with speed knocked back a touch.
Having some issues now with the v1.3.0+ firmware. Now it does not recognize my finger at all, unless i put something between the trackpad and my finger like a shirt haha.
I did find out that I still had the plastic film on the touchpad… I just took that off. Let me downgrade to 1.2.0 and see if its resolved.
EDIT:
Downgraded to 1.2.0, touchpad works way better now. Honestly it was super easy to miss that it had a plastic film on it. I no longer have the creeping I was having before. I’ve tried upgrading back to 1.5.0 and doing a full reboot (shut down, power back on after a few secs), but still experiencing the touchpad acting extra funky and not registering input all the time
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: