web-dev-qa-db-ja.com

Gnomeログインで中央マウスボタンのエミュレーションを有効にする(Ubuntu)

中マウスボタンのエミュレーションを使用するのが好きです。これは、中マウスボタンがスクロールホイールであり、クリックを記録するのに多くのプレッシャーがかかるためです。これはかなりすぐに肉体的に苦痛になります。

マウスの左ボタンと右ボタンを同時にクリックする方がはるかに簡単です。そして、私はいつもこの機能を使用しています。

これを行うスクリプトが~/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に追加してみました。

これらのことはどれもうまくいきませんでした。これは何年もの間私を悩ませてきました!

見ていただきありがとうございます:-)


編集

  1. Exec=/bin/bash /home/david/.scripts/mouse.shも試しました。ありがとう@PRATAP
  2. Ubuntu 19.04、ただし18.04を含む最近のいくつかのバージョンでは機能していません
  3. .desktopファイルを削除し、スタートアップアプリケーションGUIを使用してみました
  4. if [[ -n ${DISPLAY} ]]; then状態を削除しようとしました
  5. ひらめきを覚えてExec=/usr/bin/xterm -e /home/david/.scripts/mouse.shを使ってみた-運も悪い
1
david_nash

私のために働いたのは以下のスクリプトです

/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を追加しました。

enter image description here

1
PRATAP