Skip to content

Releases: houmain/keymapper

4.9.1

24 Nov 10:17
Compare
Choose a tag to compare

Added

  • Added @done directive to stop parsing configuration.

Fixed

  • Fixed immediately releasing (e.g. A >> B !B).
  • !Any checks previously matched (e.g. A{Any !Any} >> Meta{Any}) (#187).
  • Improved swapping mouse wheel directions (delta of input is used) (#184).
  • Fixed Next key info when key name is unknown.
  • Next key info also shows wheel events.

4.9.0

15 Nov 18:24
Compare
Choose a tag to compare

Added

  • Added builtin macro default (#176).
  • Added macro actual parameter $$ (#176).
  • Added builtin macro apply (#177).
  • Added @macos-iso-keyboard directive.
  • keymapperctl --type expands $(commands) under Windows.

Changed

  • Updated Karabiner VirtualHIDDevice to version 5.0.0 (#178).
  • Looking for config in $XDG_CONFIG_HOME first (#180).
  • Deprecated ; as start of comment.

Fixed

  • Fixed build on MacOS (#179).
  • Improved coexistence with Karabiner-Elements (#172).
  • Fixed invalid index lookup on null object in KWin script.

4.8.2

07 Sep 07:01
Compare
Choose a tag to compare

Added

  • Added logical key Alt.

Changed

  • Allow to override keys with aliases. e.g.
    Alt = AltLeft
    AltGr = AltRight
    

4.8.1

05 Sep 17:04
Compare
Choose a tag to compare

Added

4.8.0

01 Sep 12:26
Compare
Choose a tag to compare

Added

  • Added keymapperctl operations --input and --output for injecting key presses. e.g.:

    keymapperctl --input Shift{A} B C
    

    with --input the mappings are applied as if the sequence came from an input device,
    with --output the sequence is output as if it was generated by keymapper (#170).

4.7.3

31 Aug 08:03
Compare
Choose a tag to compare

Fixed

  • Fixed mouse wheel breaking ? input expressions.

4.7.2

24 Aug 10:08
Compare
Choose a tag to compare

Added

  • Added WheelLeft and WheelRight for horizontal mouse wheels.

Changed

  • Swapped WheelUp and WheelDown on Windows.

Fixed

  • Fixed leaking of unmapped mouse input on Windows.

4.7.1

19 Aug 14:04
Compare
Choose a tag to compare

Added

  • Added string interpolation, which works in strings, terminal commands and regular expressions. e.g.:

    VAR = "World"
    A >> "Hello ${VAR}"  # $VAR also works
  • Allow to split a line with a \ at the end. e.g.:

    Shift{A} >> \
       Control{B}

Changed

  • Aliases are no longer automatically substituted in terminal commands (use string interpolation).

Fixed

  • Fixed too eager macro evaluation.

4.7.0

17 Aug 09:31
Compare
Choose a tag to compare
  • Allow to define top-level macros:

    macro = $0 >> $1
    macro[A, B]
  • Added builtin macros repeat[EXPR, N], length[STR], add/sub/mul/div/mod/min/max[A, B].

  • Apply further argument list to result of macro. e.g.:

    case1 = $0
    case2 = $0 $0
    switch = case$0
    A >> switch[2][B]  # switch generates case2, which is called with second argument list
  • Implemented @grab-device directive support on Windows.

Fixed

  • @allow-unmapped-commands also ignore mappings of undefined commands. e.g.:

    @allow-unmapped-commands
    command >> A
  • Added KDE6 support to keymapper KWin script.

4.6.0

07 Aug 20:13
Compare
Choose a tag to compare

Added

  • Allow string literals in input expressions. e.g. 'Abc' >> B.
  • Added allow-unmapped-commands and enforce-lowercase-commands directives (#148).

Changed

  • Keep key held when pressed immediately after !Any. e.g. !Any Shift{A} while Shift is already held.

Fixed

  • Fixed # and ] in terminal commands and macros (#165).
  • Allow to undo ! in input. e.g. !Shift A Shift{B}
  • Preserving order of hold back output.
  • Fixed MacOS build.