だから私はAcer Nitroノートブックを持っていて、Cinnamon DEの実行中にDebianの本をインストールしました。このノートブックには、数字キーパッドの横に特別な「Nitro Sense」キーがあります。 Windows では、このキーを押すと acer の拡張がシステム全体に伝播しますが、Linux ではキーコード 425(KEY_PRESENTATION) を送信します。
このキーを使って端末を開きたいので、xmodmapを設定しようとしましたが、0〜255の間のキーコードだけが機能しているようです。/usr/share/X11/xkb/keycodes/evdev
ここで定義されているので、私はこれを知っています。
// Key codes below cannot be used in X
<I433> = 433; // #define KEY_PRESENTATION 425
udevを使ってKEY_PRESENTATIONを4つのKEY_PROGキーのうちの1つに再マップしようとしていますが、運はありません。
/etc/udev/hwdb.d/99-acer-nitro-nitrosense-key-remap.hwdb
次の内容で新しいファイルを作成します。
evdev:input:b0011v0001p0001eAB41*
KEYBOARD_KEY_f5=prog3
デバイスのバスタイプ、製品、ベンダー、およびバージョンの出力に基づいて入力を構築しました。
$ ls /sys/class/input/event0/device/id
bustype product vendor version
$ cat /sys/class/input/event0/device/id/*
0011
0001
0001
ab41
その後、次のコマンドを実行してinitramfsを更新してコンピュータを再起動します。
systemd-hwdb update
(i have also tried running: udevadm hwdb --update)
udevadm trigger /dev/input/event0
ただし、コンピュータを再起動して実行すると、udevadm info /sys/class/input/event0
次の行が表示されます。KEYBOARD_KEY_f5=プレゼンテーション変えるKEYBOARD_KEY_f5=prog3
使っていますKEYBOARD_KEY_f5なぜなら、evtestを実行するときにキーを押すと、次のような結果が出力されるからです。
Event: time 1675476830.534080, -------------- SYN_REPORT ------------
Event: time 1675476831.052993, type 4 (EV_MSC), code 4 (MSC_SCAN), value f5
Event: time 1675476831.052993, type 1 (EV_KEY), code 425 (KEY_PRESENTATION), value 1
Event: time 1675476831.052993, -------------- SYN_REPORT ------------
Event: time 1675476831.166335, type 4 (EV_MSC), code 4 (MSC_SCAN), value f5
Event: time 1675476831.166335, type 1 (EV_KEY), code 425 (KEY_PRESENTATION), value 0
Event: time 1675476831.166335, -------------- SYN_REPORT ------------
次は何を試すべきかわかりません。どんな助けでも大変感謝します。
答え1
キーボードはUSBキーボードではなくATキーボードと見なすことができます(sudo evemu-describe
確認するには実行してください)。すべてのATキーボードに適用されるルールを作成します。
evdev:atkbd:*
KEYBOARD_KEY_f5=prog3