Asus ux501 vwにUbuntu 16.04をインストールできましたが、ショートカットの一部が機能していません。すべてを修正するつもりはありませんが、1つだけです:タッチパッドを有効または無効にできるショートカットです。これにより、タッチパッドに関する作業で長い文書を作成できます。
私はグーグルでそれを見つけようとしましたが、何も得られませんでした。
誰かがそれを修正する方法を教えてもらえますか?ありがとう!
このbashスクリプトは、neguspの回答から作成しました。 TouchPadデバイスを見つけて切り替えます。システム設定で、カスタムショートカットを設定できます。
#!/bin/bash
read TPdevice <<< $( xinput | sed -nre '/TouchPad/s/.*id=([0-9]*).*/\1/p' )
state=$( xinput list-props "$TPdevice" | grep "Device Enabled" | grep -o "[01]$" )
if [ "$state" -eq '1' ];then
xinput --disable "$TPdevice" && notify-send -i emblem-nowrite "Touchpad" "Disabled"
else
xinput --enable "$TPdevice" && notify-send -i input-touchpad "Touchpad" "Enabled"
fi
私は設定しています Ctrl+Shift+F9 このようにタッチパッドを有効または無効に切り替えるには:
編集:コマンドchmod + x filenameまたはinput/ bin/bashでスクリプトを実行可能にする必要がある場合があります/ filepathカスタムショートカットウィンドウのコマンドフィールドに。
ショートカットが必要ですが、デスクトップに2つのスクリプトを簡単に配置して実行できます。
まず、ターミナルに移動します。 xinput
と入力します。出力例:
⎡ 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 = 12としてリストされています
これで最初のスクリプトを作成します。
#!/bin/bash
xinput enable 12
保存してtouchpadenable.sh
という名前を付け、ターミナルで実行可能としてマークします:
chmod +x touchpadenable.sh
まったく同じことをもう一度行いますが、ファイルの名前をtouchpaddisable.sh
(または何でも)に変更し、代わりに
xinput enable 12
コマンドを使用する
xinput disable 12
保存して実行可能としてマークすると、デスクトップからスクリプトを実行できるはずです。 注:スクリプトを右クリックし、プロパティをクリックして、実行を許可する必要がある場合があります。
neguspの答えのようにする必要があります。最初にタッチデバイスを確認すると、次のように表示されます。
〜$ xinput ⎡仮想コアポインターid = 2 [マスターポインター(3)] ⎜↳仮想コアXTESTポインターid = 4 [スレーブポインター(2)] ⎜↳PixArt Dell MS116 USBオプティカルマウスid = 10 [スレーブポインター(2)] ⎜↳SynPS/2 Synaptics TouchPad id = 14 [スレーブポインター(2)] ⎜↳ DLLC6B2:00 06CB:75BFタッチパッドid = 12 [スレーブポインター(2)] ⎣仮想コアキーボードid = 3 [マスターキーボード(2)] ↳仮想コアXTESTキーボードid = 5 [スレーブキーボード(3)] ↳電源ボタンid = 6 [スレーブキーボード(3)] ↳ビデオバスid = 7 [スレーブキーボード(3)] ↳電源ボタンid = 8 [スレーブキーボード(3)] ↳スリープボタンid = 9 [スレーブキーボード(3)] ↳統合_Webcam_HD id = 11 [slave keyboard(3)] ↳AT Translated Set 2 keyboard id = 13 [slave keyboard(3)] ↳Dell WMI hotkeys id = 15 [スレーブキーボード(3)] ↳Dellワイヤレスホットキーid = 16 [スレーブキーボード(3)]
私の場合、ID = 12のデバイスで、「bin」という名前のフォルダの下のデスクトップフォルダに「toggle-touch」という名前のbashスクリプトを作成し、「〜/ Desktop/bin」になり、次のコードをコピーしてチェックしますデバイス変数は私のタッチID = 12を指していますが、あなたのケースでそれを修正してください:
#!/bin/bash
device=12
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`
if [ $state == '1' ];then
xinput --disable $device
else
xinput --enable $device
fi
このスクリプト実行許可に設定します。
chmod 775 /Desktop/bin/toggle-touch
最後に、ホームフォルダーから「.bashrc」にこのパスを追加できます。ファイルの最後に次の行を追加します。
PATH=$PATH:~/Desktop/bin
以下でパスを更新します。
. .bashrc
そうすれば、どこからでもこのスクリプトを実行できます。このヘルプを願っています。
@ Almas Dusalの回答 のように、これは @ neguspの回答 のようになりますが、変更されたスクリプトを代わりに使用します。
read TPdevice <<< $( xinput | sed -nre '/TouchPad/s/.*id=([0-9]*).*/\1/p' )
state=$( xinput list-props "$TPdevice" | grep "Device Enabled" | grep -o "[01]$" )
if [ "$state" -eq '1' ];then
xinput --disable "$TPdevice"
zenity --info --text "Touchpad DISABLED" --timeout=2
else
xinput --enable "$TPdevice"
zenity --info --text "Touchpad ENABLED" --timeout=2
fi
次に、ショートカットキーを割り当てます Ctrl + Alt + P (または、あなたが選択したもの[私の場合、 'P'はtouch'P'adを表します])。上記のスクリプトへの私の追加は、zenity
自己閉じるポップアップウィンドウパーツです。これについては、ここでの回答で詳しく説明します(- https://superuser.com/ a/1310142/425838 )。
さて、上のショートカットを使用すると、次のポップアップウィンドウが表示され、2秒後に自動的に閉じます。
そしてもう一度押すと、2秒後に自動的に閉じるこのポップアップウィンドウが表示されます。
パーフェクト!
追加のボーナスとして、もしあなたがヘビーマウスユーザーなら、上記のスクリプトを呼び出すコマンドをUbuntuのスタートアッププログラムに追加するだけで、コンピューターが起動するたびにトラックパッドが実行され無効になります! このセットがあるので、トラックパッドを手の付け根にぶつけて、常に誤ってアイテムを削除するのをやめることができます!これで、私の手がトラックパッドにぶつかっても、無効になっているため何も起こりません。 :)
注:これはすべて、Ubuntu 18.04と古いバージョンでうまく機能します。 Ubuntu 18.04およびUbuntu 14.04でテストしました。 18.04のショートカット設定ウィンドウのスクリーンショットは次のとおりです。
私のUbuntu 18.04ではAlmas Dusalの回答は、彼のコードの次の行でTouchPad
の 'p'を小文字に変更するまで機能しませんでした。
read TPdevice <<< $( xinput | sed -nre '/Touchpad/s/.*id=([0-9]*).*/\1/p' )
その後、タッチパッドはスクリプトによって正常に無効化および有効化されましたが、マウスとタッチパッド設定画面には反映されませんでした。設定ビューの更新中にタッチパッドを切り替える次の新しいスクリプトを作成しました。
#!/bin/bash
state=$( gsettings get org.gnome.desktop.peripherals.touchpad send-events )
if [ "$state" = "'enabled'" ];then
gsettings set org.gnome.desktop.peripherals.touchpad send-events 'disabled' \
&& notify-send -i touchpad-disabled-symbolic "Touchpad" "Disabled"
else
gsettings set org.gnome.desktop.peripherals.touchpad send-events 'enabled' \
&& notify-send -i input-touchpad-symbolic "Touchpad" "Enabled"
fi
ここにスクリプトを残します(上記とほぼ同じです)。箱から出してすぐに使用でき、デバイスIDを事前に検索する必要はありません。
#!/bin/bash
function query_device_id {
xinput list | grep -i touchpad | sed 's/.*id=\([0-9]*\).*/\1/g'
}
let device_id=$(query_device_id)
let state=$(xinput list-props $device_id | grep Enabled | awk '{print $4;}')
let new_state=$((1 - $state))
xinput set-prop $device_id "Device Enabled" $new_state
シェルスクリプトを作成し、以下のコードを貼り付けてtouchPadDisable.shという名前を付けます
#!/bin/bash
temp=$(xinput | grep -i "Elantech Touchpad" | cut -d"=" -f 2 | cut -d"[" -f 1)
xinput disable $temp
別のシェルスクリプトを作成し、その下にコードを貼り付けてtouchPadEnable.shという名前を付けます
#!/bin/bash
temp=$(xinput | grep -i "Elantech Touchpad" | cut -d"=" -f 2 | cut -d"[" -f 1)
xinput enable $temp
最初のスクリプトはタッチパッドを無効にし、2番目のスクリプトはタッチパッドを有効にします。
このスクリプトをキーボードのカスタムショートカットに追加できます。