回答:
ターミナルで次のコマンドを実行します。
xinput list
次のような出力が得られます。
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Laptop_Integrated_Webcam_1.3M id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
接続されているすべての入力デバイスが表示されます。それらはすべてIDを持っていることに注意してください。12は私のタッチパッドのIDであるため、次のコマンドを実行すると無効になります。
xinput set-prop 12 "Device Enabled" 0
Ubuntuバージョンで>12.04
は、経由で直接無効にすることもできます
xinput --disable 12
(および同様のコマンドで有効にします)
xinput -disable 12
入力デバイス12を無効にする(またはxinput -enable 12
有効にする)こともできます。マニュアルページxinput(1)を参照してください。
このリンクを確認してください:Ubuntu 11.10でタッチパッドを無効化/有効化する方法
そこにある答えは本当にすてきです:
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
この後、通知領域にスイッチが表示されます。
私が望む唯一のことは、スイッチキーをFn+ に設定できることですF8(これは私のキーボードのタッチパッドキースイッチです...
atareao
@Peng Wuの回答に基づいて、使用できるbashスクリプトを作成しました...
#!/bin/bash
declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
xinput set-prop $ID "Device Enabled" 0
echo 'Touchpad has been disabled.'
手動で実行することも、起動時に実行することもできます。その後、起動時にスクリプトを実行できます。
タッチパッドを切り替える別のbashスクリプト:
#!/bin/bash
declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
declare -i STATE
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'`
if [ $STATE -eq 1 ]
then
xinput disable $ID
echo "Touchpad disabled."
else
xinput enable $ID
echo "Touchpad enabled."
fi
'Touchpad in mouse emulation mode\s*id\=[0-9]{1,2}'
Touchpad
代わりにでしたTouchPad
。大文字と小文字を区別しないようにするi
には、grepオプションにを追加するだけです。
synclient TouchpadOff=$(synclient | ruby -ne 'puts ($_.match(/\\d+/)[0].to_i ^ 1) if /TouchpadOff/ =~ $_')
imwheel
:askubuntu.com /質問/ 844151 /有効-無効-タッチパッド/ ...。また、システムに応じて、Pが大文字であるか大文字でない場合もあるxinput
ため、私の答えは両方TouchPad
を 検索します。そのため、両方を検索しTouchpad
ないとスクリプトが機能しない可能性があります
単純に、ターミナルで:
synclient TouchpadOff=1
ただし、上記はUbuntu 16.04では動作しなくなったようです。この場合、xinput
それでも動作します:
xinput set-prop `xinput --list | awk '/[Tt]ouch[Pp]ad.*pointer/ {print $7}' | sed 's/id=\(.*\)/\1/'` "Device Enabled" 0
の代わりにxinput
、変更可能なid変数を使用synclient
して、このように他の回答に示されているように使用します。
sudo apt install xserver-xorg-input-synaptics
タッチパッドをオフにするには:
synclient TouchpadOff=1
電源を入れる:
synclient TouchpadOff=0
下記のランチャーまたはショートカットで使用します。
これは、現在の質問の下にあるこの回答のコマンドのアプリケーションです。以下の解決策はXfce / Xubuntuに限定されていますが、偶然作成しましたが、ここではあまりにもエレガントではないので、あまりにも上手くいきません。そこで、最初にXubuntu専用の別の質問を作成しました。その質問は、この質問の複製であり、この理由で閉じられる可能性があります。だから、ここにその答えを再投稿する勇気があります。
次の2つのコマンドについてです。
無効にする:
xinput set-prop 15 "Device Enabled" 0
有効にする:
xinput set-prop 15 "Device Enabled" 1
ID番号は次を実行することで見つかります
xinput list
これは、起動時にタッチパッドを自動的に 無効にする方法です。このメソッドは、IDではなく名前でパッドをより安全に無効にします。タッチパッドの名前を取得する方法は次のとおりです。
$ xinput list --name-only | grep -i Touchpad
ETPS/2 Elantech Touchpad
bashスクリプトファイルを作成します。再起動のたびに実行されるように、このファイルをubuntu Startup Applicationsに追加しました。ファイルを実行可能にすることを忘れないでください。内容は次のとおりです。
#!/bin/bash
$ xinput disable 'ETPS/2 Elantech Touchpad'
これは11.10で機能しました。
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Laptop_Integrated_Webcam_1.3M id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
接続されているすべての入力デバイスが表示されます。それらはすべてIDを持っていることに注意してください。12は私のタッチパッドのIDであるため、次のコマンドを実行すると無効になります。
xinput set-prop 12 "Device Enabled" 0
そして、私はそれを.bashrcなどに入れます。ただし、デバイス12(実際には私にとっては11)が常にタッチパッドであることはわかりません。
これで、nautiliusで上矢印を使用して動作するようになり、.dirs
(この回答は無効な編集からコピーされました)
タッチパッドを有効/無効にするたびにそのコマンドを記憶する代わりに、キーボードの組み合わせショートカットとして追加できます。
キーボードショートカットの設定で、[追加]をクリックします。「タッチパッドを無効にする」などのショートカットに名前を付け、上記で発見したコマンドを追加します
xinput set-prop <id> "Device Enabled" 0
適用をクリックします。次に、「タッチパッドを有効にする」または最初のものと同様のショートカットを追加し、最後に前のコマンドを1に変更します
xinput set-prop <id> "Device Enabled" 1
それらは敬意を持ってオン/オフです。
これらが追加されたので、[タッチパッドのショートカットを有効にする]列(「無効」と言う必要があります)をクリックし、希望するキーボードショートカットを入力します。Win+ 1(Windowsキーを押しながら数字1を押します)。[タッチパッドを無効にする]でも同じ操作を行い、Win+ を選択しました2。
今、Win+は、1私のタッチパッドを有効にし、Win+ 2それを無効にします。
次のスクリプトを使用して、タッチパッドを有効/無効にします。また、キーボードショートカットにも割り当てました。
使用法:toggle_touchpad.sh [on|off
]
引数なしで実行すると、タッチパッドの現在の状態が単純に反転します。
#!/bin/bash
# toggle_touchpad.sh
is_off=`synclient | grep -Pio "TouchpadOff.*?(\d)" | grep -Eo "[01]"`
if [ -z "$1" ]; then
echo "Inverting touchpad state"
if [ "$is_off" -eq '0' ];then
synclient TouchpadOff=1
notify-send "Touchpad Disabled"
else
synclient TouchpadOff=0
notify-send "Touchpad Enabled"
fi
else
if [ "$1" == "on" ]; then
echo "Turning on touchpad"
synclient TouchpadOff=0
notify-send "Touchpad Enabled"
elif [ "$1" == "off" ]; then
echo "Turning off touchpad"
synclient TouchpadOff=1
notify-send "Touchpad Disabled"
else
echo "Unknown arg! Pass no args or on/off !"
fi
fi
ラップトップでタッチパッドのキーボードショートカットが有効/無効になっているかどうかを最初に確認してください。Lenovo Thinkpad T500ではFn+F8
xev
たりxinput
、使用しようとしたりしても、気の毒なことは登録されません。でもevemu-record
何も登録せず、それはカーネルレベルです。カーネルが認識できない場合、デバイスドライバーを修正する以外に、それについて行うことはほとんどありません。とはいえ、これは優れたソリューションですが、すべてのユースケースで信頼できるソリューションではありません。
私の場合、fn+F9はタッチパッドのトグルにマッピングされます。
しかし、キーはこのように画面の右上にタッチパッドのアイコンを表示するだけでは何もしません。
これは、ショートカットを押すだけでタッチパッドを切り替えるためのソリューションです。
$ xinput list
そこで、「xinput」コマンドでタッチパッドを切り替えるためのbashスクリプトファイルを入手しました(元のスクリプトはこちらにあります)。
私の場合、タッチパッドのIDは12でした。
#!/bin/bash
device=12
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`
if [ "$state" -eq '1' ];then
xinput --disable "$device"
else
xinput --enable "$device"
fi
上記のスクリプトファイル.toggleTouchPad.sh
を必要な場所に保存します。
最後のステップは、スクリプトファイルを実行するキーボードショートカットを追加することです。
ショートカットウィンドウにを書いsh /PATH/TO/SCRIPT
てCommand
ください。
ショートカットを押して、タッチパッドが切り替えられているかどうかを確認します。
それはASUS A556UAラップトップとUbuntu14.04 x64でインストールされていました。
完全なソリューションのために、タッチパッドのトグルキーをカスタムショートカットに割り当てる方法を提案してください
Ubuntu 16.04の場合
タッチパッドを無効にする場合:
xinput --disable $(xinput --list | grep -i 'touchpad' | grep -o 'id=[0-9]*' | sed 's/id=//')
タッチパッドを有効にするには:
xinput --enable $(xinput --list | grep -i 'touchpad' | grep -o 'id=[0-9]*' | sed 's/id=//')
https://bitbucket.org/barseghyanartur/xinput
これは、端末からタッチパッドを無効/有効にすることができる非常に小さなコードです。
以下の手順に従ってください:
インストール:
$ pip install xinput
タッチパッドを無効にします。
$ disable-touchpad
タッチパッドを有効にする:
$ enable-touchpad
いくつかのbash関数を.bashrcに追加するだけで切り替えができます...
#toggle-touchpad on|off
function touchpadon { /usr/bin/xinput --enable $(xinput --list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}') ; echo "touchpad enabled";}
function touchpadoff { /usr/bin/xinput --disable $(xinput --list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}') ; echo "touchpad disabled";}
実際、Ubuntuでタッチパッドを無効にするのは非常に簡単です。xserver-xorg-input-synaptics
Ubuntuでタッチパッドを使用するために必要なパッケージを削除するだけです!
sudo apt-get remove xserver-xorg-input-synaptics
それは私のために働いたタッチパッドを永久に無効にする唯一の方法です。他の方法は一時的なものでした:
xinput list
xinput set-prop IDOFTOUCHPAD "Device Enabled" 0
synclient TouchpadOff=1
私はLXDEを使用していますが、これらの行を-prefixに追加し~/.config/lxsession/LXDE/autostart
たり/etc/xdg/lxsession/LXDE/autostart
、@
-prefix を使用してタッチパッドを自動的に無効にすることはできませんでした。ただ無視されました。
そして、dconf-editor(org.gnome.desktop.peripherals.touchpad)とgconf-editor(desktop.gnome.peripherals.TOUCHPADNAME)でタッチパッドを無効にしようとしましたが、両方とも機能しませんでした。dconf-editorの設定はまったく効果がなく、gconf-editorでは「このキーにはスキーマがありません」というエラーメッセージが表示され続けます。
Dellラップトップを使用したUbuntu 12.04 LTSで私にとってうまくいったこと
キーボードの中央にあり、入力中に多くの問題を引き起こすポインターを無効にしたかったのです。そう:
$ xinput list
⎡ Virtual core pointer id=2
⎜ ↳ Virtual core XTEST pointer id=4
⎜ ↳ Wacom Graphire2 4x5 eraser id=9
⎜ ↳ Wacom Graphire2 4x5 cursor id=10
⎜ ↳ Wacom Graphire2 4x5 id=11
⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=14
⎜ ↳ Macintosh mouse button emulation id=15
⎜ ↳ DualPoint Stick id=13
⎣ Virtual core keyboard id=3
↳ Virtual core XTEST keyboard id=5
↳ Video Bus id=6
↳ Power Button id=7
↳ Sleep Button id=8
↳ AT Translated Set 2 keyboard id=12
The device I want to disable has id 13. Use xinput to list its properties:
$ xinput -list-props 13
Device 'DualPoint Stick':
Device Enabled (115): 0
[...several lines removed...]
$ xinput -set-prop 13 115 0
これにより、Dualpointスティックが無効になりました。しかし、他の答えはどれもうまくいきませんでした。やった
インストールdconf-tools
:
sudo apt-get install dconf-tools
dconf-editor
次に、組織-> gnome-> settings-daemon->周辺機器->タッチパッドに移動し、タッチパッド対応フィールドのチェックを外します
コマンドを呼び出すキーバインディングを作成する素晴らしいソリューションを見つけました。
xdotool key 199
199はXF86TouchpadToggleとして認識されるキーコードです。このようにして、MateやCinnamonなどのデスクトップ環境が優れた処理を行うため、一部のラップトップではタッチパッドを切り替える必要がある特別なキーのように動作するように、選択したキーの組み合わせを作成できます。次のコマンドでキーコードを確認できます。
xmodmap -pke
ブログにハウツーを作成しました:https : //artofcode.wordpress.com/2017/10/01/how-to-add-a-key-binding-to-toggle-a-touchpad-under-linux /
すべてのタッチパッドで機能する代替ソリューション。IDは不要です。
ターミナルを開き、「gedit toggle_touchpad.sh」と記述します
#!/bin/bash
condition="$(gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled)"
if [ "$condition" == "false" ]; then
gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true
elif [ "$condition" == "true" ]; then
gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false
fi
ファイルを保存して終了します。これで、「toggle_touchpad.sh」という名前のファイルができました。
コマンドchmod +x toggle_touchpad.sh
を実行して、ファイルを実行可能にします。
任意のフォルダーにファイルを配置します。フォルダー/ home / username / myscripts /にあると仮定しましょう。
右上のメニューからに進みsystem-settings->keyboard->shortcuts->custom-shortcuts
ます。
新しいショートカットを作成し、好きな名前を付けます。/home<username>;/myscripts/toggle_touchpad.sh
「ユーザー名」がユーザー名であるコマンドとして入力
必要なキーボードショートカットを割り当てます。
準備完了:)
PS個人的に私はファイルを/opt/myscripts/
フォルダに入れましたが、そこに置くためには、ファイルを作成した後に次のコマンドを実行する必要があります。
sudo mkdir /opt/myscripts/
sudo mv toggle_touchpad.sh /opt/myscripts/
sudo chown <username>:<username> /opt/myscripts/toggle_touchpad.sh
chmod +x /opt/myscripts/toggle_touchpad.sh
「username」はユーザー名です
次に、ショートカットを作成するときに、上記のパスの代わりにパス「/opt/myscripts/toggle_touchpad.sh」を使用します
私はここで成功せずに以前の答えをすべて試しました。
Ubuntu 16.10で私のために働いたのは
killall syndaemon
syndaemon -i 1 -KRd
値1を0.5に変更できます。
そこで、Krzysztof TomaszewskiとJaeJun LEEの回答を組み合わせることで、この解決策を見つけました。
次のtoggleTouchPad.sh
スクリプトを作成して、必要な場所に保存します。
#!/bin/bash
device=14
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`
if [ "$state" -eq '1' ];then
xinput --disable "$device" && sleep 1 && xdotool key 201
else
xinput --enable "$device" && sleep 1 && xdotool key 200
fi
どこ14はあなたのTouchDevice ID(参照ですJaeJun LEEの答え)
Ubuntuの設定->デバイス->キーボードに移動します
リストの最後にあるをクリックし+
て、新しいカスタムショートカットを追加します
Toggle Touchpad
Command /path/to/.toggleTouchPad.sh
、および必要なキーの組み合わせで名前を付けます(Super + F7を選択しました)。
これで、選択したキーの組み合わせを押すたびに、タッチパッドが切り替わるだけでなく、通知アイコンも表示されます xdotool
デルの緯度の真ん中のスティックを無効にするには、これをUbuntuの.profileに配置して、ラップトップを起動/再起動するたびに、その入力を無効にします。
を使用し--id-only
てgrepの不一致を回避しました
declare -i ID
ID=`xinput list --id-only 'AlpsPS/2 ALPS DualPoint Stick' | grep -Eo '[0-9]{1,2$
declare -i STATE
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'`
if [ $STATE -eq 1 ]
then
echo "id" $ID
xinput disable $ID
echo "Touchpad disabled."
else
echo "id" $ID
xinput enable $ID
echo "Touchpad enabled."
fi