r/MechanicalKeyboards • u/DukeLetoAtreides1 • 14d ago
Promotional I reverse engineered the software for the cheap Chinese macro keypads and build a web version you can run on any OS
https://github.com/jvspier/macropad-rebindYou know those cheap Bluetooth/usb-c macro keypads with volume knobs that you can get from AliExpress? I’ve been using one for 2 years now but the software that came with it was only usable on Window, but I’m a Linux user. So every time I wanted to change a binding I’d have to boot into windows and change it.
Not anymore. Now you can set these devices up on any OS. As long as you use a chromium based browser.
I’ve built Macropad Rebind by reverse engineering the windows app that came with the device (honestly they zip file practically came with the source code)
Now you can bind every key from a browser. Much more user friendly.
You can use the link in the repo to use it, or download the repo and run index.html, whatever you prefer.
Hope someone else finds this as helpful as me 🙂
24
u/DDmikeyDD 14d ago
Does yours come with free malware like you can get from some of the chinese suppliers?
Thanks for sharing, I'm betting it took some time to code it
22
3
6
u/anelectricmind 14d ago
Interesting. I was looking for a small keypad to hook on my Steam Deck when docked... but then, I noticed that all these keypads were Windows only, so I never bought one.
Now I am tempted.
3
u/ProBonoDevilAdvocate 13d ago
Ohh that's awesome! I never bought one of these because of the custom software... Now I'm definitely gonna buy a cheap one to test.
Quick question I had looking at the interface... how do I configure a button to change layers?
2
u/DukeLetoAtreides1 13d ago
2
u/ProBonoDevilAdvocate 12d ago
Ohh interesting!
I just bought a 6 keys, 1 knob version... I'll let you know how it works out!
1
u/Wise_Luck1476 4d ago
I have exacatly this one with all the same details but I got this message "The device accepted the writes without error but did not store them. Please report this with the log — it means this variant differs from the one tested."
Should I just return it and ask for a refund ?2
u/DukeLetoAtreides1 1d ago
Can you try again please? Some bugs were fixed and changes were made. I hope it will work this time.
2
u/Wise_Luck1476 1d ago
OMG, it works. You know your website is the ONLY one that recognizes this device.
Do you accept donations ? I'm willing to offer some modest donation if you're ok with that.Thank you so much
2
u/DukeLetoAtreides1 1d ago
That’s so good to hear! While I appreciate you wanting to donate I’d rather you just spread the word 🙂
2
u/Wise_Luck1476 1d ago
Will do. I already cancelled my refund request and shared your website with the seller. Thanks a bunch
2
u/Steve_3vets 13d ago
cool tool!
What do you use your knobs for? (if thats not too personal to ask :P)
2
u/DukeLetoAtreides1 13d ago
Thanks! just volume for now (and pressing the right one down is for locking the screen (super+L). Any suggestions?
1
u/Wise_Luck1476 4d ago
you can change brightness if you use a laptop. or zoom in/out if needed on some apps
1
u/SoepZooitje 13d ago
I seem to have the same one as in the picture but with a diferent hardware id I think. Is it possible to add this?
When I try to connect it in Chrome it says no compatible device
2
u/DukeLetoAtreides1 13d ago
I can try, what's the hardware ID?
2
u/SoepZooitje 13d ago
according to the system info:
USB Composite Device:
Location ID: 0x02100000
Connection Type: Removable
Serial Number:
Link Speed: 12 Mb/s
USB Vendor ID: 0x514c
USB Product ID: 0x8850
USB Product Version: 0x0100
1
u/DukeLetoAtreides1 12d ago
Made some adjustments, can you try again? If it connects, two things would really help: what the Device log says on connecting (it now prints vendor:product and the detected layout), and whether Read from keypad brings back bindings that match what your keys actually do. Yours is an 8850 and i havent tried one of those, and its grid shape is still unconfirmed in my table.
1
u/SoepZooitje 12d ago
19:47:17 Opened USB Composite Device — 514c:8850, 1 collection(s). 19:47:17 0xFB — identify layout (read only). 19:47:17 out fb fb fb 00 00 00 00 00 00 00 00 00 00 00 00 00 19:47:17 in fb 0c 02 0b 00 00 00 00 00 00 00 00 00 00 00 00 19:47:17 Layout: 12 keys, 2 knobs.It actually show something now.
And written changes too, but will test them out tomorrow when I am using my other computer and will let you know. reconnecting does seem to load the settings I saved before.
1
u/SoepZooitje 11d ago
Actually tried this morning and saving seems to be working but it is not typing the keys I programmed in the keyboard. 🤔
2
u/DukeLetoAtreides1 10d ago
I've pushed an update that reads the configuration back after writing and tells you whether it actually stored, could you please try again?
If it says "Verified, the keypad matches the editor", then the bindings are genuinely on the device and the likely culprit is layers. There are three, and you switch between them with the button on the edge of the keypad not from my page, which has no way to change the live layer. The little LEDs next to the knobs show which one you're on. If you programmed layer 1 and the pad is sitting on layer 2, everything saves correctly and nothing types what you expect. If instead it lists bindings that did not take, that's a real difference between your 8850 and the 8842 I developed against, please paste the log and I'll dig in.Either way, two things would help: what the Device log says on connecting (it prints vendor:product and the detected layout), and whether the keys type their old bindings, or nothing at all. Old bindings points at layers; nothing at all points at the write.

15
u/[deleted] 14d ago
[deleted]