Linux daemon to remap and create macros for keyboards, mice and controllers - debified fork
Find a file
2023-12-01 13:03:39 +01:00
config examples Updated comments 2023-12-01 13:03:39 +01:00
src Added multi-config capability, support extended to all input devices 2023-12-01 12:55:51 +01:00
Cargo.lock Version number updated 2023-12-01 12:57:24 +01:00
Cargo.toml Version number updated 2023-12-01 12:56:46 +01:00
LICENSE Initial commit 2023-06-06 20:03:10 +02:00
README.md Switch Joy-Cons added to tested controllers 2023-06-10 21:09:42 +02:00

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 least 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
  • Switch Joy-Cons

How to use:

  1. Download the executable from the Releases page or compile it yourself using Cargo.
  2. Pick a config file compatible with your controller(s) from the "config examples" folder and put it in ~/.config/makima, rename it to config.toml.
  3. Customize the keybindings to your liking. Info about the specific configs is commented inside the config files.
  4. Make sure the executable has permission to be executed as a program. If not, cd to the directory of the executable and use chmod +x makima.
  5. Make sure your user has access to event devices. If it doesn't, use sudo usermod -aG input yourusername.
  6. 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, dmenu or whatever launcher you use. I personally added ~/.local/share/bin to 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).