xbindkeys
Is it possible to config xbindkeys using GUI with
xbindkeys-config
The following code part of the file ~/.xbindkeysrc
# List of modifier:
# Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock), Mod3 (CapsLock), Mod4, Mod5 (Scroll).
# By defaults, xbindkeys does not pay attention with the modifiers NumLock, CapsLock and ScrollLock.
keystate_numlock = enable
"xte 'keydown Shift_L' 'key a' 'keyup Shift_L';"
b:5 #numlock + mouse wheel down
"xte 'keydown Shift_L' 'mouseclick 1' 'keyup Shift_L';"
b:4 + Mod2 #numlock + mouse wheel up
"bash ~/test/mouse_binding.sh 9"
b:9 + Mod2 #forward button + numlock open
"bash ~/test/mouse_binding.sh 8"
b:8 + Mod2 #back button + numlock open
btnx
https://github.com/cdobrich/btnx
btnx detects mouse DPI button
xinput couldn't detect DPI mouse button on Xubuntu 18.04 but btnx-config could. (2019-08)
evdevremapkeys
https://github.com/philipl/evdevremapkeys
IMWheel
https://wiki.archlinux.org/index.php/IMWheel
http://www.nicknorton.net/?q=node/10
IMWheel is a tool for tweaking mouse wheel behavior, on a per-program basis. It can map mousewheel input to keyboard input, increase mousewheel speed, and has support for modifier keys.
Default settings file: ~/.imwheelrc
After changing the settings run with -kill parameter to kill the running process and start new.
Run in debug mode:
- imwheel -d --debug --kill
Getting the window class string
Run xprop to get the class string. The program will exit when a window is clicked.
- xprop WM_CLASS | grep -o '"[^"]*"' | head -n 1
Sample configuration:
-----------------------
".*"
None, Up, Button4, 4
None, Down, Button5, 4
Control_L, Up, Control_L|Button4
Control_L, Down, Control_L|Button5
Shift_L, Up, Shift_L|Button4
Shift_L, Down, Shift_L|Button5
".*-chrome*"
None, Up, Button4, 2
None, Down, Button5, 2
# Speed up scrolling for chromium and pass unchanged for zoom
"^chromium-browser$"
None, Up, Button4, 4
None, Down, Button5, 4
Shift_L, Up, Shift_L|Button4, 4
Shift_L, Down, Shift_L|Button5, 4
Control_L, Up, Control_L|Button4
Control_L, Down, Control_L|Button5
-------------------------------