Skip to content
Compare
Choose a tag to compare
  • Creating UInputs on demand to avoid plugging in devices that confuse the system
  • Added hold_keys
  • The GUI asks for a python-evdev upgrade if necessary
  • Fixed confusion in udev between the forwarded and original device, causing the udev rule to autoload and overwrite the intended injection
Compare
Choose a tag to compare
  • Refactorings
  • Fix crash when triggering a macro multiple times
  • Added unique non-zero exit codes
  • Updated Slovak translation
  • Fixed GUI bugs caused by a mapping to a single whitespace, "foo()" or foo() # a + b
  • Replicating the original device properties for the injection
  • Keys that make the GUI lose the focus, like media keys, can be configured now
Compare
Choose a tag to compare
  • Added multiline macro editor with improved autocompletion that works for combinations and macro parameters
  • Added reusable global default uinputs that represent a keyboard, a mouse and a gamepad that are available at all times
  • Colorful logging based on file instead of log-level, and added the name of the child process that printed the log
  • Split tests into unit and integration, added PyCharm test configuration, added proper test exit code, using the correct temporary directory in tests
Compare
Choose a tag to compare
  • renamed key-mapper to input-remapper, fixed conflict with existing keymapper package
  • fixed autoload after a preset rename
Compare
Choose a tag to compare
  • improved config file migrations
  • avoiding pointless autoload attempts during boot
  • improved logs
Compare
Choose a tag to compare

Fixes nested if_tap macros

Compare
Choose a tag to compare
  • if_tap and if_single
  • added more readable names for all the shorthand functions
  • string support, so that set(var, "a, b") works which sets the variable "var" to "a, b"
  • $var to use a variables value in macros, like wait($var)
  • support for named parameters, like if_tap(k(a), k(b), timeout=500)
  • if_eq, an improved ifeq macro with support for variables like if_eq($a, $b, k(c), k(d)). ifeq is deprecated but still works
  • comment support for macros via #
  • improved code readability, especially in the keycode_mapper
  • architecture changes to make the injection pipeline clearer: Consumer base class and ConsumerControl
  • complete separation of keycode_mapper and event_producer, both inheriting from Consumer now
  • split and refactored a few files/classes
Compare
Choose a tag to compare
  • internationalization
  • figures out the configured home directory of the user instead of defaulting to /home/user
  • fixes for multi-user environments
Compare
Choose a tag to compare

support for multiple devices of the same model

Compare
Choose a tag to compare
  • fixes for various gamepads
  • added ctrl + r shortcut to refresh the device list
  • removed keys from the dropdown that are only possible with modifier keys
  • the left mouse button can be mapped now
  • the displayed key names for gamepads are more readable