特定のキーボードのFキーをどのように再マップしますか?

特定のキーボードのFキーをどのように再マップしますか?

実際にはキーボードではなく周辺機器が接続されていますが、すべてのボタンはFキーとして扱われ、すべて標準のFキー(showkey [-s]とxevベース)と同じスキャンコードとキーコードを送信します。標準キーに影響を与えずに周辺機器のキーコードを変更したかったので、製造元に応じてスキャンコードを再マッピングするためにudevを選択しました。

今経験している問題は、udevを使用して再マッピングするキーを取得することです。テスト用に/usr/lib/udev/hwdb.d/90-custom-keys.hwdbを作成しました。 (テストバージョンはすべてのキーボードを変更するように設計されているので、動作する場合は調整します)

keyboard:usb:v*p*
keyboard:dmi:bvn*:bvr*:bd*:svn*:pn*
keyboard:*
 KEYBOARD_KEY_1b=playcd (this should map F1 to keycode 200 like I want)

ペリフェラルはUSBで、追加された部分は何らかの動作変更を得るためにすべてをキャプチャしようとしましたが、これは前の部分が役に立たなかった後に追加されました。

またudevはps aux | grep udev

このペリフェラルから送信されたキーコードを変更できる必要があります。これは他のアプリケーションで処理され(特定のキーコードを入力する必要があります)、まだ標準ボタンを維持したいと思います。この目標をどのように達成できますか?

使用環境:

os: RHEL 7
udev ver: 208
arch: 86_64

ベストアンサー1

私の問題は、間違ったスキャンコードを入力したことです。ルールは次のとおりです。

keyboard_key_1b=playcd

しかし、

keyboard_key_7003a=playcd

evtestが必要です(showkey -sが提供する「scancode」は望むものではありません)。

おすすめ記事