What is this?
This is an utility for programming small keyboards like this one:
There are several modifications of such keyboards with different number of buttons and knobs. Utility was tested to work with:
- 3×3 with 2 knobs
- 3×4 with 2 knobs (Bluetooth version)
Such keyboards are popular on AliExpress and seller usually sends software for programming, but it:
- requires Windows,
- is very ugly and inconvenient,
- can only program one key at a time
- don't expose all keyboard features
How to use?
Sorry, right now there are no prebuilt binaries, may be fixed later.
Install cargo utility using rustup, then execute
cargo install ch57x-keyboard-tool
.
Now create you own config from provided example-mapping.yaml, and apply:
ch57x-keyboard-tool upload < your-config.yaml
You can also change LED configuration, if you keyboard supports it:
ch57x-keyboard-tool led 1
Diagnostics
If you have any troubles using this software, please provide diagnostics.
Getting list of attached USB devices
MacOS
ioreg -w0 -l -p IOUSB
or
system_profiler SPUSBDataType
Linux
lsusb -v
Monitoring generated keyboard and mouse events
Most simple (and cross-platform) way I've found is using keyboard
and mouse
Python modules.
Monitoring keyboard:
pip3 install keyboard
sudo python3 -m keyboard
Monitoring mouse:
# Latest published 'mouse' module doesn't support MacOS, so use latest version from Git:
git clone https://github.com/boppreh/mouse
cd mouse
python3 -m mouse