Мне нравится использовать эмуляцию средней кнопки мыши, потому что моя средняя кнопка мыши - это колесо прокрутки, и для регистрации клика требуется большое давление. Это очень быстро причиняет физическую боль.
Я считаю, что гораздо проще просто щелкнуть левой и правой кнопками мыши одновременно. И я использую эту функцию все время.
У меня есть скрипт в ~/scripts/mouse.sh
, который делает это:
#!/bin/bash
# Enable middle button emulation
# from https://askubuntu.com/a/201825/54278
if [[ -n ${DISPLAY} ]]; then
pointer1="MX Master"
id1=$(xinput | awk -F= "/$pointer1.*pointer/ {print \$2}" | cut -f1)
xinput set-prop "${id1}" "libinput Middle Emulation Enabled" 1
fi
Это работает хорошо, но мне приходится запускать его вручную каждый раз, когда я перезагружаюсь.
Я создал ~/.config/autostart/mouse.sh.desktop
. Это содержимое:
[Desktop Entry]
Type=Application
Exec=/home/david/.scripts/mouse.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_AU]=Mouse
Name=Mouse
Comment[en_AU]=Middle button emulation
Comment=Middle button emulation
Моя проблема в том, что мой скрипт ничего не делает при входе в систему .
Мне все еще нужно открыть терминал и запустить мой скрипт, прежде чем эмуляция средней кнопки мыши будет работать.
Я попытался удалить условие if [[ -n ${DISPLAY} ]]; then
и попытался добавить sleep
в начале сценария.
Я также попытался добавить содержимое моего скрипта в ~/.profile
.
Спасибо, что посмотрели: -)
Правки
Exec=/bin/bash /home/david/.scripts/mouse.sh
. Спасибо @PRATAP if [[ -n ${DISPLAY} ]]; then
Exec=/usr/bin/xterm -e /home/david/.scripts/mouse.sh
- тоже не повезло То, что сработало для меня, это следующий сценарий
/home/user/mouse.sh
#!/bin/bash
pointer1="Logitech USB Receiver Mouse"
id1=$(xinput | awk -F= "/$pointer1.*pointer/ {print \$2}" | cut -f1)
xinput set-prop "${id1}" "libinput Middle Emulation Enabled" 1
некоторые из результатов xinput
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=11 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver Consumer Control id=16 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver Mouse id=18 [slave pointer (2)]
и добавил команда /bin/bash /home/user/mouse.sh
в настройках запуска приложений.