If you experience any difficulty in accessing content on our website, please contact us at 1-866-333-8917 or email us at support@chicagovps.net and we will make every effort to assist you.
You can now find inexpensive, generic macropads that come in various configurations, ranging from simple keypads with just a few keys to more complex setups featuring numerous keys, knobs, and LEDs. While established brands typically offer macropads that run on QMK firmware, cheap alternatives may require downloading Windows-only software from dubious sources, leaving users to wonder about their compatibility with Linux systems.
If you’re content with the macropad performing its default functions, which typically just involve basic HID capabilities over USB or Bluetooth, it’s less of a concern. However, if you want to customize the key mappings—since many of these devices send predefined key characters—you’ll have to engage in some reverse engineering. Fortunately, resources like this GitHub repository provide tools for remapping common macropads based on CH57x chips.
Thanks to Mikhail Trishchenkov, there’s a Linux-compatible tool available for configuring your macropad easily. You can compile it from source or simply download pre-built versions for Linux, Windows, and Mac. Written in Rust, the tool is accessible for modifications if desired.
While the configuration process might not cater to GUI enthusiasts, it will resonate well with most Linux users accustomed to editing YAML files. Upon initializing the tool, you’ll need to specify your specific macropad model before diving into key configurations.
The YAML file format has various keys that you can define:
You may refer to the sample mapping file for guidance on setup.
I renamed the tool to macropad-tool
for convenience. Once you prepare your YAML file correctly, you can validate and upload it with the following commands:
macropad-tool validate myconfig.yamlmacropad-tool upload myconfig.yaml
One recurring issue is that the macropad must be reinitialized each time you use it. Additionally, to write to the device, typically one must execute commands as root, which isn’t the most convenient. If you want specific keys to perform particular actions (like launching applications), it can become tedious, especially with pads that lack support for layers.
Using the KDE keyboard shortcut configuration, you can map keys to perform various actions. I initially set my keypad to generate unused function keys (F13-F25), but ended up mapping keystrokes with combinations of control keys that are less likely to conflict with existing mappings, such as Control+Alt+Shift+A, B, etc.
The challenge remains to streamline the initialization of the macropad. An effective solution could involve creating a root-owned script with sticky permissions to allow users to run the macropad configuration without needing to provide a password each time.
I placed the tool in /usr/local/bin
and the configuration files in /usr/local/share/macropad
and crafted a script that runs with sudo
permissions without requiring a password:
alw ALL=(ALL) NOPASSWD: /usr/local/bin/macropad-tool
Alternatively, you could establish udev rules to set the correct permissions for your macropad directly.
While the tools allow for defining layers, achieving true layer functionality requires clever workarounds. For instance, running the loading script with specific arguments via shortcut keys provides a basic layer-switching experience.
Set everything to initialize on system startup through available options like /etc/rc.local
, systemd
, or udev rules, ultimately creating a more user-friendly environment tailored for a wide range of tasks.
For those interested, these cheap macropads not only present a cost-effective alternative but also offer opportunities for customization and enhancements through software like QMK.
ChicagoVPS is your gateway to unparalleled hosting solutions. Our state-of-the-art datacenters and powerful network ensures lightning-fast speeds and uninterrupted connectivity for your websites and applications. Whether you’re a startup looking for scalable resources or an enterprise in need of enterprise-grade hosting, our range of plans and customizable solutions guarantee a perfect fit. Trust in ChicagoVPS to deliver excellence, combining unmatched reliability and top-tier support.
For Inquiries or to receive a personalized quote, please reach out to us through our contact form here or email us at sales@chicagovps.net.