Windows10 でタッチパネル無効化に苦戦しました

1 min read読了の目安(約1700字

この記事の要点

  1. タッチパネルは『HID準拠タッチスクリーン』の無効化で出来る
  2. コマンドで無効化するならDevConの代わりにPnPUtil

■intro

実家のノーパソがゴーストタッチ[1]に見舞われ、私が修理することに。
タッチパネルを無効化したものの、再起動するたびに有効なるため頭を抱えました。
今回はその時のお話です。

■タッチパネルを無効化する方法

windows10でのタッチパネル無効化は
デバイスマネージャー > ヒューマンインターフェースデバイス > HID準拠タッチスクリーン
を右クリックし、デバイスを無効にするで行えます が...

何故か再起動の度に有効になる...

通常であれば、タッチパネルの無効化は3分もあれば終わるのですが
実家のノーパソは再起動の度にタッチが有効になり、ゴーストタッチに見舞われるのでした。

■対策を考えました

書いたことはないものの、タッチスクリーンを無効化する.batのバッチファイルを作り
起動時に叩けば行けるのでは...?と思い立ち、作ってみることに。
『HID準拠タッチスクリーン 無効 コマンド』
『デバイスマネージャー コマンド』等のワードで検索したところ
Windows デバイス コンソール (Devcon.exe) を発見
しかし

・devcon.exeのダウンロードページがよく分からない
・VS Codeを入れさせられそうになる

等、コマンドを叩くまでの道のりが険しそう
調査を進めると、どうやらPnPUtilというコマンドで無効化出来るらしい事が判明

■PnPUtilの書き方

Microsoft Docs[2]より
無効化する場合は

pnputil /disable-device "デバイスインスタンスID"

※デバイスインスタンスIDは
デバイスマネージャー>対象のドライバ>プロパティ>詳細>デバイスインスタンスパス
から確認出来ます。

.batを起動時に叩こう

pnputilの記述を単にバッチファイル化しただけでは、デバイスの無効化は行なえません。
何故ならpnputilは管理者権限での実行が必要になるからです。
バッチファイルを管理者権限で実行するには
バッチファイルのショートカットを作成し、プロパティ>詳細設定から
管理者として実行にチェックを入れてあげましょう。

詳細設定の画面
そして、作成したショートカットをスタートアップにブチ込むだけ!

win + Rで出せます

■まとめ

今回やったことをまとめると...

  1. 無効化したいデバイスの、デバイスインスタンスIDをメモする
  2. piputilで無効化する文を書き、.batとして保存
  3. .batのショートカットを作成し、管理者での実行権限を付与
  4. 作成したショートカットを、スタートアップにぶち込む

■outro

原因はよく分からないですが、ひとまずタッチパネルの完全無効化に成功しました
shell:startupコマンドプロンプト.batの存在を知ってなかった危なかった笑
エンジニアやってて良かったなーと思いました。
あ、ちなみにPCはDELLのInspironです。

脚注
  1. 触れていないのにタッチパネルが反応する現象 ↩︎

  2. Docs ドライバー開発ツール ↩︎