web-dev-qa-db-ja.com

タッチスクリーンドライバーを無効にするにはどうすればよいですか?

タッチスクリーンを使用していますが、ドライバーが正常に動作せず、マウスに干渉します。

タッチスクリーンを無効にして、再び適切に作業できるようにすることは可能ですか?

41
mnr

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では最初の方法が機能します。

52
romaia

xinputソリューションはうまくいきませんでした。代わりに this thread の指示に従いました。これにより、起動時に無効になります。

  1. 編集/usr/share/X11/xorg.conf.d/10-evdev.conf
  2. セクションの最後にtouchscreen識別子を持つOption "Ignore" "on"を追加します
  3. リブート

enter image description here

  • 記録(Google)では、Samsung Series 7を使用しており、タッチスクリーンはxinputELAN Touchscreenとしてリストされていました。
  • JFTRも、 この質問では は、消費電力の差はほとんど無視できると言っています。
27
anon

ファイルを編集する

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リストで検出されなくなりました。

3
Shawn Moore

タッチスクリーンがUSBモニターのようなタッチパネルスクリーンの場合、デフォルトのカーネルドライバーusbtouchscreenをmodprobeのブラックリストファイル(/etc/modprobe.d/blacklist.conf)に追加し、touchkitevtouchなどのカスタムドライバーを使用できます。

0
Soner

再起動時に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を使用します)。

0
Emin Mastizada