m1gin 76

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.

  • imwheel -kill

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

-------------------------------

Add to: