Map Ctrl and Alt to mouse thumb buttons
i found a working solution here. it uses Easystroke (sudo apt install easystroke
). kudos to @stuartr from ubuntuforums!
though there was one issue - re-mapped mouse click sporadically fired an original ('back' in my case) event. to avoid this, mouse button can be remapped to some unused number with xinput set-button-map
(sudo apt install xinput
).
to re-map on every login i've created (exacutable) $HOME/.config/autostart/mouse-buttons.sh
with this content:
$ cat .config/autostart/mouse-buttons.sh
#!/usr/bin/env bash
mi_mouse_id=$(xinput | grep 'GTech MI wireless mouse.*pointer' | sed 's/.*\tid=\([0-9]*\)\t.*/\1/')
xinput set-button-map $mi_mouse_id 1 2 3 4 5 6 7 20 9 10 11 12 13 14 15 16 17 18 19 20
$
this maps mouse button 8 to button 20. hopefully button 20 has no meaning. at least it has absolutely no effect for me. now it's time to re-map button 20 to Ctrl:
- Preferences tab: additional buttons -> add -> radio button 'Instant Gestures' -> click the mouse button of choice in the grey area (for me a 'back, thumb button' became '(Instantly) Button 20')
- Preferences tab: Select 'Autostart Easystroke'
- Actions tab: Add Action
Name: anything you like (e.g. 'Mouse 20 -> Ctrl')
Type: 'Ignore'
Details: click it once to change 'Ignore' to 'Key combination...'. then press Ctrl + a. 'a' doesn't matter and is ignored. 'Key Combination' will be replaced with 'Ctr' - With the new action selected/highlighted -> click 'Record Stroke' -> press the mouse button you're wanting to use again (this came up with '20 -> 20' in the Stroke column for me)
- Now pressing and holding my mouse button brings up a dinky 'Ctr' on the screen and acts like the button is being held for as long as the mouse button is