Linuxの2番目のキーボードでマクロとショートカットを実行できますか?

Linuxの2番目のキーボードでマクロとショートカットを実行できますか?

通常のキーボードの横にマクロとショートカットを実行するために使用する小さな数字パッドがあります。このキーにマクロとショートカットを添付できます(たとえば、テンキー1はアクティブウィンドウを最小化します。)が、私のデフォルトのキーボードの数字キーパッドもショートカットを有効にします。

セカンダリキーボードを完全に独立して実行し、ショートカットキーを接続する方法が必要です。

これが私が得た結果ですxinput

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ LVT Recon gaming mouse                    id=10   [slave  pointer  (2)]
⎜   ↳ LVT Recon gaming mouse                    id=11   [slave  pointer  (2)]
⎜   ↳ Corsair Corsair K30A Gaming Keyboard      id=13   [slave  pointer  (2)]
⎜   ↳ SIGMACHIP USB Keyboard                    id=18   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Corsair Corsair K30A Gaming Keyboard      id=12   [slave  keyboard (3)]
    ↳ Corsair Corsair K30A Gaming Keyboard      id=14   [slave  keyboard (3)]
    ↳ LVT Recon gaming mouse                    id=15   [slave  keyboard (3)]
    ↳ Corsair Corsair K30A Gaming Keyboard      id=16   [slave  keyboard (3)]
    ↳ SIGMACHIP USB Keyboard                    id=17   [slave  keyboard (3)]
    ↳ SIGMACHIP USB Keyboard                    id=19   [slave  keyboard (3)]

ベストアンサー1

しかし、私の他の答えおそらくほとんどのLinuxで実行されます。古いものですが、SystemDとudevは実際に作業を簡単にします。

  • lsusb追加のキーボードのベンダーと製品コードを見つけるために使用されます。 (私の場合はSupply 145F、Product 0177です。必ず大文字で入力してください。)

  • /etc/udev/hwdb.d/90-extra-keyboard.hwdb次のような内容でファイルを作成します。

evdev:input:b0003v145Fp0177*
 KEYBOARD_KEY_7005b=stopcd

最初の行はデバイスを識別します。 v次の4文字はベンダー・コードであり、pの後には前のステップの製品コードが続きます。各行はスキャンコードをシンボル名にマップします。スキャンコードを取得するにはevtest

Event: time 1553711252.888538, -------------- SYN_REPORT ------------
Event: time 1553711257.656558, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70059
Event: time 1553711257.656558, type 1 (EV_KEY), code 79 (KEY_KP1), value 1

シンボル名の目的を理解するには、#define KEY_…次の行のリストを見てください/usr/include/linux/input-event-codes.h

#define KEY_PLAYPAUSE           164
#define KEY_PREVIOUSSONG        165
#define KEY_STOPCD              166
#define KEY_RECORD              167
  • 以下を実行して、内部データベースを再構築してロードします。systemd-hwdb update; udevadm trigger

  • evtest新しい設定をやり直すか、設定からショートカットを割り当てて、新しい設定が機能していることを確認してください。

アプリケーションがこれを試みるときにデスクトップ環境がすでにショートカットを使用している場合、アプリケーションはキーを押しても認識しないことに注意してください。

おすすめ記事