特定のキーボードキーを完全に無効にします。

特定のキーボードキーを完全に無効にします。

私のノートパソコンのキーボードが水に損傷し、左のコントロールキーが時々アクティブになります。

xmapmod -e "keycode 37=" が左コントロールキーを無効にできることを知っています。私はこれが新しい問題を引き起こすので、別のことをしようとしました。別のキー(「a」など)を押し続けると、aが繰り返し入力されます。左Ctrlがアクティブになるまで。左コントロールは何もしませんが(xmapmodのおかげで)、それでもキーを押すのを妨げます。

キーボードを止め、左のコントロールキーも聞く必要があるようです。

誰でもこの問題を解決できますか?私はLinux Mintを使用しています。ありがとう

答え1

「鍵を完全に無効にする」には、水に損傷を受けたキーボードに役立つという意味で、キーボード自体のキーボードコントローラチップを再プログラムするか、キーボードワイヤマトリックスを物理的に変更してブロック/バイパスする必要があると思います。欠陥のあるキー。

キーボードに特別な機能がないと、問題を引き起こす価値はありません。既存のキーボードを復元したい場合は、交換/交換用キーボードを購入してください。最初:古いキーボードを非破壊的に分解する方法がわからないことを知った後、コンピュータの金物屋に急いで走ります。 (そこに行ってそうしました。)

答え2

キーを無効にするには、カーネルレベルで再マッピングするだけです(udev)。これはかなり複雑なプロセスです。 この記事スリープキーをブロックする方法に関するセクションがあり、これをデッドコントロールキーとして使用できます。

ステップの要約:

  1. 入力デバイスIDを使用してキーボードを識別しますevemu-describe
  2. ブロックしたい重要なコードを識別するために使用されますevtest
  3. カスタムキーコードファイルを作成します/etc/udev/hwdb.d/50-block-ctrld.hwdb
  4. 最上位ファイルにデバイス ID を追加します。
  5. キーコードを含むKEYBOARD_KEY_xxx=reservedファイルに追加します。xxx
  6. systemd-hwdbカスタムキーコードファイルを使用して適用しますudevadm

デバイスIDの形式を正しく指定する必要があるため、手順4はすでに完了しています。それ以外の場合は何も起こりません。 この記事キーボードイベントソースとキー押しコードを識別する方法の良い説明があります。私もステップを説明しましたこの回答

他の人が指摘したように、問題に対するより良い解決策があるかもしれません。ただし、キーを無効にするには、この手順を実行します。

関連情報