- Fix issues in the release pipeline
- Add
window
matcher for thekde
client #448
- Add
skip_key_event
option topress
/release
modmap action #420
- Support TOML as a config file format #404
- Add
shared
field for anchors and aliases #402
- Add
device
filter tomodmap
andkeymap
entries #380
- Use
xremap
instead ofxremap pid=$pid
as the device name if it doesn't conflict- If there's already an
xremap
device, it usesxremap pid=$pid
as before
- If there's already an
- Add
REL_WHEEL
andREL_HWHEEL
to relative axes if--mouse
is given- This resurrects what's dropped in v0.8.2 if you use that option
- Introduce
wlroots
support #345sway
andhypr
users are encourated to switch to this
- Let
keypress_delay_ms
delay key releases as well #341
- Support multi-key
held
/alone
inmodmap
#339
- Update clap from v3 to v4
--help
no longer has colors
- Update Hyperland-rs from 0.3.0 to 0.3.1 #275
- Support loading multiple configs #269
- Support KDE Wayland #264
- Remove
REL_WHEEL
andREL_HWHEEL
as a workaround for Arch Linux with systemd-253-1
- Update Hyperland-rs from 0.2.4 to 0.3.0 #247
- Handle a None application name on Hyperland #220
- Fix overrides with multi-key sequences #217
- Support Hyperland #216
- Double-fork a
launch
ed process to avoid stopping it when xremap exits #214
- Reconnect to X11 when an existing connection stops working #212
- Introduce
keymap
-levelexact_match
option #209
- Press keymap modifiers before releasing modifiers not in keymap #208
- Fix libinput disable-while-typing support #152
- Flush pending keys with an override remap correctly #154
- Add
keypress_delay_ms
to workaround #179- This feature might be removed in the future once the root cause of #179 is found and fixed.
- Fix a regression to recognize JetBrains IDE on
application
since v0.5.3 #151
- Fix nested remap implementation that has been broken since v0.6.0 #149
- Dispatch the original key as well on v0.5.1's
press
/release
modmap
- Fix a corner-case bug in the v0.7.1 feature
- Keep extra modifiers when a remapped combination is pressed #102
- Introduce
virtual_modifiers
#147 - Obsolete the
modifier: true
feature of v0.6.1 in favor ofvirtual_modifiers
- Avoid emitting logical modifiers when a key combination is pressed
- Support logical modifier keys by
modifier: true
inmodmap
#146
- Rewrite the modifier key match logic
- Match remaps even if extra modifiers are held #102
- Even faster than the previous version
- Match an
application
matcher against a fullWM_CLASS
in X11 when the matcher contains.
.- If you don't specify
.
, it's backward-compatible. - If you already use v0.4.5's
/regex/
, however, you might need to tweak the regex.
- If you don't specify
- Support overriding
timeout_key
on nested remap #144
- Support triggering
keymap
actions on key press/release events #79
- Switch to binary releases built by cross-rs
- Support Arm64
- All binaries no longer have dynamic-link dependencies like libc
- Stop supporting "others" distribution
- If you use none of X11, GNOME, or Sway, try X11. It might help XWayland.
- Add
--mouse
option to select mouse as well #140 - The X11 binary no longer relies on libx11
application
supports a regular expression matcher,/regex/
#138
- Support Vim-like modal remapping by
mode
,set_mode
, anddefault_mode
#93
- Produce xremap binary releases on Ubuntu 18.04 #101
--features gnome
: Support a new protocol to talk to the GNOME Shell extension- Both old and new GNOME Shell extensions work with this version
--features gnome
: Showsupported: false
in the command output when the GNOME Shell extension is not installed
--features gnome
: Depend on an external GNOME Shell extension, xremap-gnome- If you use
--features gnome
, install xremap's GNOME Shell extension - This allows you to use xremap with GNOME 40+. Ubuntu 22.04 uses GNOME 42 for example.
- If you use
- Fix a bug in a nested remap with modifiers #91
- Support
timeout_millis
to timeout a prefix key #82
- Keep
--watch
working when multiple keyboards are used #85
- Switch the CLI framework from getopts to clap
- Add
--watch=config
to watch configs--watch
works as before. You may use it as--watch=device
as well.
- Add
--completions
for shell completion
- Support
escape_next_key
action #74
- Use feature-related dependencies only when needed #68
- Detect XWayland applications properly for Sway #65
- Support
BTN_MISC
,BTN_MOUSE
,BTN_EXTRA
,BTN_FORWARD
,BTN_BACK
, andBTN_TASK
as mouse buttons as well #63
- Support remapping a mouse with
BTN_SIDE
#57
- Support left/right-specific modifiers by
_L
/_R
prefixes #56
- Fix a bug of handling control keys inside
with_mark
of v0.1.7 #55
- Add
--version
option to show xremap's version #54
- Add
set_mark
andwith_mark
to emulate Emacs's mark mode #53
- Add
launch
action to execute a command #52
- Add
--watch
option to automatically add new devices - Avoid crashing on a disconnected device
name
is made optional inmodmap
andkeymap
- Add
--ignore
option to deny-list devices instead of allow-listing them #46 - Abort
xremap
when no device was selected
- Support remapping a key to two different keys depending on whether it's pressed alone or held #47
- Fix recognition of a right Alt modifier in
keymap
#43
- Binary distribution is built on GitHub Actions
- Improve error message for features
gnome
andsway
- Stop using a fork of swayipc and publish
sway
feature on crates.io
- Initial release
modmap
,keymap
,application
,remap
- --features:
x11
,gnome
,sway