Bluetoothキーボードキーの再マッピング

Bluetoothキーボードキーの再マッピング

私のラップトップ(Fedora 33を実行)でBluetoothキーボードを使用しています。非常に迷惑なのは、Fキーを使用するには「Fn」ボタンを押す必要があることです。それ以外の場合、F キーは特殊機能にマップされます。

フォローしようとしています。この投稿再マッピングしましたが、何か欠けているようです。

たとえば、F4キーを押してを実行するとevtest(Fnを押さないと、そのキーが「コピー」にマップされます)、次の結果が表示されます。

Input driver version is 1.0.1
Input device ID: bus 0x5 vendor 0x4e8 product 0x7021 version 0x11b
Input device name: "SKBWHBT19 Keyboard"
Supported events:
<long list of events>

Event: time 1615808184.907556, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1615808184.907556, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1615808184.907556, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70006
Event: time 1615808184.907556, type 1 (EV_KEY), code 46 (KEY_C), value 0
Event: time 1615808184.907556, -------------- SYN_REPORT ------------

したがって、F4はCtrl + Cを実行します。バス0005、ベンダー04e8、製品7021のコードも受け取りました。

F4にどのように再マッピングできますか?

/etc/udev/hwdb.d/bluetooth-keyboard.hwdb次の内容でというファイルを作成しました。

evdev:input:b0005v04E8p7021
 KEYBOARD_KEY_700e0=fn_f4

続いて

systemd-hwdb update
udevadm trigger

しかし、これはうまくいきません。スキャンコード700e0と70006の2つをどのように入力するのかわかりません...

私も似ています。

 KEYBOARD_KEY_70004=b

「a」を「b」にマップする必要がありますが、それも失敗します。

編集:@meuhの提案に従って、hwdbファイルの最初の行の最後に*を追加しましたが、うまくいきました!ただし、組み合わせではなく個々のキーのみを再マップできます。つまり、スキャンコードを使用すると左側のコントロールのみがキャプチャされ、700e0F4キーを押すとF4 + Cがトリガーされるため実際には機能しません。また、CTRL キーを押すと C が実行されます。

特定の物理キーをオーバーライドする方法はありますか?

ベストアンサー1

おすすめ記事