私のラップトップのタッチスクリーンにひびが入った。現地のASUS技術者からタッチスクリーン以外の製品もこれ以上生産していないため、交換できないという話を聞きました。
他のすべての点で、このラップトップは優れたノートブックであり、外部モニタで使用するとうまく機能しますが、画面の亀裂のためにセッションを妨げるランダムなタッチイベントが発生しました。
画面を無効にすると、xinput --disable 17
問題は解決されますが、不明なイベントによって画面が再び有効になるようです。次のようにデバイスで時計を設定できます。
xinput --watch-props 17
Device 'USBest Technology SiS HID Touch Controller':
Device Enabled (177): 1
....
「アクティブ化」を解析してdisable
。
したがって、スクリプトでは、おそらくサービスとして実行して、画面が再び有効になったときに再び無効にすることができることを願っています。ただし、このスクリプトはまったく出力を生成しません。
#!/bin/bash
xinput --watch-props 17 |
while read event; do
echo "$event"
done
この形式を使用するinotifywait
スクリプトが複数あり、ip monitor
すべて期待どおりに動作しますが、ここには問題があります。
答え1
inotifywait
画面を積極的に再度無効にする代わりに、デバイスが不要であることをXサーバーに通知できます。
/etc/X11/xorg.conf.d/99-no-touch.conf
次のようなものを作成してこれを実行できます。
Section "InputClass"
Identifier "Disable a cracked touch screen"
MatchProduct "USBest Technology SiS HID Touch Controller"
# completely disregard the broken device
Option "Ignore" "true"
# alternative: just stop the device for being used as an active input device
# Option "Floating" "true"
EndSection
Option "Ignore"...
私はこのシリーズが与えられた入力デバイスのリストからタッチスクリーンを完全に取り除くことによってあなたの目的にもっと役立つと信じていますxinput list
。
その行を使用する代わりに、デバイスがリストに残ることを許可しますOption "Floating"...
が、デバイスを「現在の仮想コアポインタ/キーボードグループの一部として使用されない」と指定することで、そのデバイスをサポートしていないすべてのX11で効果的に使用できなくなります。デバイスアプリケーションはこれを無視します。特定の入力デバイスを具体的に要求します。
MatchProduct
出力から値を取得したので、xinput --watch-props 17
おそらく正しいでしょう。ただし、調整が必要な場合は、/var/log/Xorg.0.log
Xorg X11サーバーがタッチスクリーンコントローラを検出するために使用する正確な識別子を確認し、それに応じてそのMatch...
用語を調整することが役に立ちます。 。システムでさまざまなキーワードを使用するMatch...
と、その詳細情報を見つけることができます。man xorg.conf