Linux daemon to remap and create macros for keyboards, mice and controllers - debified fork
| config examples | ||
| src | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
makima
Makima is a daemon for Linux to bind your controller's buttons to key sequences and macros.
Features:
- Configure your keybindings through a simple TOML config file
- Bind single keys/buttons or entire macros, sequences and shortcuts
- Supports keyboard keys, mouse buttons and any other input event that's in
/usr/include/linux/input-event-codes.h - Move your cursor using analog sticks with adjustable sensitivity
- Hotplug to connect and disconnect your controllers whenever you want
- Connect multiple controllers at the same time so your little brother can join and close your IDE when you less expect it
- Supports wired and Bluetooth connections
- Written in Rust so it's blazingly fast or something (it only uses 3.5 MB of RAM)
Tested controllers:
- DualShock 2
- DualShock 3
- DualShock 4
- DualSense
- Xbox 360
- Xbox One
- Xbox Elite 2
- Stadia
How to use:
- Download the executable from the Releases page or compile it yourself using Cargo.
- Pick a config file compatible with your controller(s) from the "config examples" folder and put it in
~/.config/makima, rename it toconfig.toml. - Customize the keybindings to your liking. Info about the specific configs is commented inside the config files.
- Make sure the executable has permission to be executed as a program. If not,
cdto the directory of the executable and usechmod +x makima. - Make sure your user has access to event devices. If it doesn't, use
sudo usermod -aG input yourusername. - Launch Makima and it'll automatically recognize all connected controllers.
- You can either:
- Launch it from your file manager by double clicking.
- Launch it from terminal by
cding to the directory of the executable, then using./makima. - Move the executable to a directory that's in PATH, then launch it using
rofi,dmenuor whatever launcher you use. I personally added~/.local/share/binto PATH and put all my executables there. - Create a .desktop file and launch it from there.
- Autostart it from your window manager's config file (usually
exec /path/to/makima).
- You can either: