回答:
xinput
コマンドを使用して入力デバイスを無効にしてみてください。まず、使用している入力デバイスを確認し、次のように入力します。
xinput
次のようなリストが表示されます。
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Atmel Atmel maXTouch Digitizer id=9 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=13 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)]
...
次に、このコマンドを使用して、必要な入力デバイスを無効にできます。
xinput disable 9
ここで、9は無効にするデバイスのIDです。デバイス名を引用符で囲むこともできます。
xinputバージョン1.5.99.1では、xinput set-prop 9 'Device Enabled' 0
代わりに行う必要があります。奇妙なことに、xinput v1.6.2では最初の方法が機能します。
~/.profile
再起動後の自動適用に追加しましたxinput | grep 'ELAN Touchscreen' | grep -Po 'id=\d+' | cut -d= -f2 | xargs xinput disable
xinput enable `xinput | grep Atmel | sed "s/^.*id=\([0-9]*\).*$/\1/"`
。backticksはidを返します。
xinput
解決策は私のために動作しませんでした。代わりに、このスレッドの指示に従いました。これにより、起動時に無効になります。
/usr/share/X11/xorg.conf.d/10-evdev.conf
Option "Ignore" "on"
セクションの最後にtouchscreen
識別子を追加しますELAN Touchscreen
ましたxinput
。/usr/share/X11/xorg.conf.d/40-libinput.conf
。このファイル内の同様のブロックを変更し、次回の再起動時にどのようになったかを確認します!
ファイルを編集する
sudo nano /usr/share/X11/xorg.conf.d/10-evdev.conf
タッチスクリーンセクションでMatchIsTouchscreenを「on」から「off」に変更して、次のようにします。
Section "InputClass"
Identifier "evdev touchscreen catchall"
MatchIsTouchscreen "off"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
保存、名前、および終了
タッチスクリーンが無効になり、xinputリストで検出されなくなりました。
Option = ignore
機能しました。デバイスを無効にしないだけでなく、タッチスクリーンとして扱わないため、回答から使用するよりも安全だと思います。
再起動時にxinputのidが変わるので、セッションのロード時に簡単な1行の画面を追加しました。
#!/bin/bash
xinput --list | awk '/Atmel Atmel maXTouch Digitizer/ {print $7}' | awk '{split($0,a,"="); print a[2]}' | xargs xinput disable
私のデバイスの名前は「Atmel Atmel maXTouch Digitizer」xinput --list
です。デバイスで変更してください(デバイス名に使用)。