私は現代のコンピューターでの使用に適応しているビンテージIBM 122キーモデルMキーボードを持っています。私は、Teensy 2.0を使用してエンコードを行い、USB側を処理しています。Humble Hackerキーボードプロジェクト(https://github.com/humblehacker/keyboard)からファームウェアを借用し、ビルド構成に追加のキーを追加しました。ここまでは順調ですね。
「通常の」キーはすべて機能しますが、カーネルは余分なキー(F13- F24など)を削除しているようです。
実行/lib/udev/keymap -i input/event0
すると、すべての通常キーのスキャンコードが表示されますが、追加キーのスキャンコードは表示されません。
wireshark
USBポートのパケットキャプチャを実行すると、キーボードがスキャンコードを送信していることがわかりますが、カーネルは原則としてスキャンコードをドロップしているようです。
これはカーネルドライバーに含まれているもので、予期しないスキャンコードを配信していないだけだと思います。
.h
カーネルソースのどこかのファイルにある種の「マスター」キーマップがあると思いますが、これまでのところ、それを見つける努力は成功していません。
Xの余分なキーのマッピングについて尋ねているのではないことを強調しておく必要があります。これは、カーネルに関連する低レベルの問題です。今のところ、Xをまったく使用しないと仮定します。必要なのは、実行時にスキャンコードが表示されるようにすることで/lib/udev/keymap -i
、そこから残りを実行できます。
evtest
は/lib/udev/keymap -i
、dunnoの代わりに試すことができます。