web-dev-qa-db-ja.com

Thinkpad x220 / x230タブレットでマルチタッチを無効にする方法は?

スタイラスペン(Xournalなど)を使用して書き込む場合、マルチタッチ機能は非常に面倒です。ディスプレイに手書きの文字を置くと、ランダムな線と図形が生成されます。

そこで、スタイラスペンだけが入力に受け入れられるように、(一時的な)完全に(マルチ)タッチを無効にします。

これを行うコマンドはありますか?

4
StW

これを実現するには、マルチタッチ入力デバイスの「デバイス対応」プロパティを切り替える小さなスクリプトを作成します。その後、簡単にアクセスできるようにこのスクリプトをキーの1つにバインドするか、他の方法を使用してスクリプトを実行できます。

最初に、xinputユーティリティを使用してデバイス名を取得する必要があります。ターミナルを開き、xinput listと入力します。

:~$ xinput list
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E6 Pen stylus                   id=10    [slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E6 Finger touch                 id=11    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                       id=14    [slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E6 Pen eraser                   id=16    [slave  pointer  (2)] 
⎜   ↳ SynPS/2 Synaptics TouchPad                  id=13    [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)]
    ↳ Sleep Button                                id=8    [slave  keyboard (3)]
    ↳ Integrated Camera                           id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=12    [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                      id=15    [slave  keyboard (3)]

この例でわかるように、マルチタッチデバイスの名前はWacom ISDv4 E6 Finger touchで、そのIDは11です。 IDを使用することもできますが、デバイスを追加/削除すると一部のデバイスのIDが変更される可能性があるため、この名前を使用します。開始できるスクリプトの例を次に示します。これは、マルチタッチデバイスを有効にするコマンドと無効にするコマンドの2つのコマンドを切り替えるだけです。

#!/bin/bash
#!/bin/sh
# This script can be used to toggle enable state of wacom multitouch screen for
# Thinkpad Tablet Series. You may need to change the name of multitouch device 
# which can be found by running *xinput list* command

TOGGLE=$HOME/.multitouch_toggle

if [ ! -e $TOGGLE ]; then
    touch $TOGGLE
    xinput set-prop 'Wacom ISDv4 E6 Finger touch' 'Device Enabled' 0
else
    rm $TOGGLE
    xinput set-prop 'Wacom ISDv4 E6 Finger touch' 'Device Enabled' 1
fi

これが問題の回避に役立つことを願っています。上記のスクリプトのカスタマイズまたは実行に関するサポートが必要な場合は、お気軽にお問い合わせください。

2
Aras