Control OBS and other programs with QMK Programmable Buttons with rust Windows Edition.
Terminal_Heat_Sink
Hello there ladies and gentlemen, heres another cool QMK project.
This project uses libinput for linux and winapi for windows to read the special key codes that are outside the normal keyboard range. It then uses the key codes to control OBS and other programs (sending post requests to my smart home server to control the lights etc.)
The qmk programmable button feature supports up to 32 custom macros and all of these are supported by this project. You can see the guide on how to set up this feature and add the key codes to your keymap.c by reading the documentation or you can take a look at my qmk fork for my macropad for an example of how I did it.
The reason this feature is very good in my opinion is because these keys will not be picked up by the OS or any other programs as they are outside the normal keyboard range. This means that you can use these keys won't class with any other program. The only downside of this is you need something like this program to read the key codes and do something with them. So you can't use them to bind hotkeys in other programs directly.
This project was written in rust, I'm still learning rust so the code is not the best, this would be my first proper rust project. I'm open to any suggestions on how to improve the code, and make it more efficient.
Currently only Linux is supported due to a hard dependency on libinput. I will try to add support for windows in the future. Mostly I think I will just need to find an alternative to libinput, which shouldn't be too bad, the other libraries used in this project are cross platform I believe.
Rust Project link: https://github.com/ArtiomSu/QMK-Programmable-Buttons-Control-OBS-and-other-programs-rs
If you like what I do you can support me on Patreon. https://www.patreon.com/user?u=28429069
Or you can Also send a few bits and bobs on paypal if you wish: https://paypal.me/artiomSudo
Or some crypto: BTC : 3McWRwH6sf3bBgtSXsGvta5nR1ZKLvoP6M
XMR : 8AgA9hRFbE69gaP5mBjB4y93J1MarAuyRRopN4SD5FLbGbrHB6GPc4ojZ2vAhD1zThFGboFqvumYKQ7xhRmJUMgdK3MdRE5
LTC : Lh2EqWsGgNrHV5Wo28CoW1PbsseXZqpYeN
ETH : 0xcbdc5105efb30823e0b20492970b059e28242034
DASH: XyGj3RP2MRqtFqyAg3p1RVFnet34juyd5H
I also have a telegram group you can join if you want:
https://t.me/Terminal_Heat_Sink_Group
Website: https://artiomsu.github.io
Thanks For Watching And Bye Bye ... https://www.youtube.com/watch?v=0pucPQXm3IE
54146080 Bytes