キーボードが壊れていて、キーボードの [é] キーが常に押されたままになってしまい、作業ができません。Windows では [é] ボタンを無効にするソフトウェア Sharpkey を見つけましたが、Ubuntu では解決策が見つかりません。多くのフォーラムで Xmodmap について話題になっていますが、[é] ボタンが頻繁に押されるため、ターミナルで作業できません。この問題の解決策を教えてください。よろしくお願いします。
答え1
私が試してみたいこと:
そこに USB キーボードを接続するか、ssh を使用してマシンにログインします。
ターミナルを開いて、 を実行します
xev -event keyboard
。画面に何かが表示されます。引数を省略すると、マウスを動かすとさらに何かが表示されることがわかります。次に、無効にするキーの組み合わせ [é] を押します。画面の情報が変更されるので、値を探す必要があります
keycode
。最後のステップで
<value>
取得した値を変更して、次のように実行します。keycode
xmodmap -e 'keycode <value>='
たとえば、
~
キー ( Shift + ` ) を無効にしたい場合は、次のコマンドを実行する必要があります。xmodmap -e 'keycode 49='
私はこれをもっと多くの標準キーなどキャップスロック...でも、これでうまくいくはずです。お役に立てれば幸いです。
答え2
個人的に使用するためのシンプルなbashスクリプトがアップロードされています。https://github.com/anitaggu/ikbdop。
ノートパソコンの内蔵キーボードを無効にするには、
./ikbdop.sh detach
キーボードを再度有効にするには
./ikbdop.sh attach
簡単なハウツーもアップロードされていますユーチューブ
答え3
上記の方法はいずれも Wayland では機能しません。他のデスクトップ環境についてはわかりませんが、sway-wm で特定のキーボードの特定のキーを無効にする最も簡単な方法は、keyd を使用することです。ただし、これにはターミナルが必要なので、これが完了するまでは物理キーボードを取り外して USB キーボードを使用することをお勧めします。
- GitHub から keyd をクローンし、ビルドしてデーモンを起動します。
git clone https://github.com/rvaiya/keyd
cd keyd
make && sudo make install
sudo systemctl enable keyd && sudo systemctl start keyd
- 問題のあるキーとキーボードの名前を見つけます。実行する
sudo keyd monitor
と、次のような結果が表示されます。
device added: 0fac:0ade keyd virtual keyboard (/dev/input/event20)
device added: 03f0:5341 PIXART HP Wireless Keyboard and Mouse Consumer Control (/dev/input/event18)
device added: 03f0:5341 PIXART HP Wireless Keyboard and Mouse (/dev/input/event17)
device added: 03f0:5341 PIXART HP Wireless Keyboard and Mouse (/dev/input/event7)
device added: 06cb:7f13 Synaptics TM3253-001 (/dev/input/event5)
device added: 0001:0001 AT Translated Set 2 keyboard (/dev/input/event0)
keyd virtual keyboard 0fac:0ade enter up
keyd virtual keyboard 0fac:0ade kp5 down
キーボードが 2 つ接続されています。1 つはPIXART HP Wireless
付き03f0:5341
で、もう 1 つ AT Translated Set 2 keyboard
は 付きです0001:0001
。これらのコードは、keyd がキーボードを認識するために使用するものです。次の手順のために、コードとキー名を書き留めておいてください。最後の列にキー名が示されています。ここでは、 を左に押しenter
て を押しましたkp5
。
- ファイルを編集して
/etc/keyd/default.conf
次のようにします。
[ids]
0001:0001 #code of attached keyboard from earlier
[main]
kp5 = noop #Ignore the key 'kp5'
- ついに、
sudo keyd reload
すべてのキーボードから特定のキーを無効にするには、default.conf
上記のを次のように編集します。
[ids]
*
[main]
kp5 = noop
答え4
1) 無効にするキーボード キーのキーコードを検出します。
方法A:
この方法は、F1、F2、F3などのキーではなく、通常のキーを無効にしようとしている場合にのみ機能します。
この回答を読んでいるときに、私の回答のどこかを右クリックしてクリックしてください要素を検査または検査するこのコードをコンソールタブを押してEnterキーを押します:
window.addEventListener('keypress', (e) => console.log(e.keyCode) )
マウスの左ボタンで私の回答をもう一度クリックし、無効にしたいキーを押すと、数字が印刷されます。コンソールブラウザの。
その番号をコピーして、次の手順に進みます。
方法B:
この方法はキーボードのすべてのキーで機能するはずです
開くターミナルユーティリティを次のように使用しますxev
。
$ xev -event keyboard
小さなウィンドウが開くので、無効にするキーボードのキーを押して、小さなウィンドウを閉じると、ターミナルに出力が表示されます。この出力の中に、次のようなものが表示されますkeycode 93
。そのキーボード キーのキーコードをコピーして、次の手順に従います。
2) キーを無効にする:
開くターミナルユーティリティを次のように使用しますxmodmap
。
xmodmap -e 'keycode <value>='
- 上記の代わりに
<value>
、キーコードステップ 1 の方法 A または B から取得しました。