NixOSを使用してUSBペダルを設定する方法

NixOSを使用してUSBペダルを設定する方法

私はNixOS設定を使用するために必要な(必要な!)USBペダルセットを持っています。正直なところ、手が痛すぎるからです。

ペダルはlsusbで識別されます。

Bus 001 Device 006: ID 413d:2107

evtest は、次の主キー割り当てを表示します。

sudo evtest /dev/input/event6
...
Input device ID: bus 0x3 vendor 0x413d product 0x2107 version 0x111
Input device name: "HID 413d:2107 Keyboard"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_Key)
    Event code 1 (KEY_ESC)
...
    Event code 240 (KEY_UNKNOWN)
  Event type 4 (EV_MSC)
    Event code 3 (MSC SCAN)
...
Event: time 1593452123.539558, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70004
Event: time 1593452123.539558, type 1 (EV_KEY), code 30 (KEY_A), value 1
Event: time 1593452123.539558, -------------- SYN_REPORT ------------
...

だから、技術詐欺ネットワークそしてyulistic.gitlab.io、密接に関連しているNixOSオプション、 extraHwdb ルールに次の行を追加しました。

services.udev.extraHwdb = ''
  evdev:input:b*v413Dp2107e*-*
    KEYBOARD_KEY_70004=f13
'';

私はデバイスファミリのいくつかの変形、特にkeyboard:usb:v413Dp2107*evdev:input:b*v413Dp2107e*

私の設定.nixに追加し、再構築して切り替えました。そして…何もありません。ペダルは引き続き「a」鍵盤を鳴らします。

変更が承認されていると確信しています(ファイルから「;」を意図的に削除してもビルドされません)。しかし、udevadmでテストしてください。

sudo udevadm info /dev/input/event6

P: /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:413D:2107.0004/input/input25/event6
N: input/event6
L: 0
S: input/by-path/pci-0000:00:14.0-usb-0:2:1.0-event-kbd
S: input/by-id/usb-413d_2107-event-kbd
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:413D:2107.0004/input/input25/event6
E: DEVNAME=/dev/input/event6
E: MAJOR=13
E: MINOR=70
E: SUBSYSTEM=input
E: USEC_INITIALIZED=1296521621
E: PATH=/nix/store/k3hi6q6y10zrrgli0xa54zbvzs6pwdl1-udev-path/bin:/nix/store/k3hi6q6y10zrrgli0xa54zbvzs6pwdl1-udev-path/sbin
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_VENDOR=413d
E: ID_VENDOR_ENC=413d
E: ID_VENDOR_ID=413d
E: ID_MODEL=2107
E: ID_MODEL_ENC=2107
E: ID_MODEL_ID=2107
E: ID_REVISION=0000
E: ID_SERIAL=413d_2107
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030101:030102:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:14.0-usb-0:2:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_2_1_0
E: LIBINPUT_DEVICE_GROUP=3/413d/2107:usb-0000:00:14.0-2
E: DEVLINKS=/dev/input/by-path/pci-0000:00:14.0-usb-0:2:1.0-event-kbd /dev/input/by-id/usb-413d_2107-event-kbd
E: TAGS=:power-switch:

構成が要件を満たしているという証拠はありません。それでおそらく私が愚かなことをしているようですが、いくら見つめても見えませんね。

キーボードコード(70004)がヘッダー[0..240]でevtestによって報告された範囲外であるようですが、これが関連しているかどうかはわかりません。

どんなアドバイスも本当にありがとうございます。

ベストアンサー1

あなたは試すことができますフットスイッチ、モデルをサポートし、イベントをプログラムすることができます。

PCsensorおよびScytheフットスイッチプログラミング用のコマンドラインユーティリティ。シングルペダルユニットと3台のペダルユニットをサポートします。

footswitch [-123] [-r] [-s <string>] [-S <raw_string>] [-ak <key>] [-m <modifier>] [-b <button>] [-xyw <XYW>]
   -r          - read all pedals
   -1          - program the first pedal
   -2          - program the second pedal (default)
   -3          - program the third pedal
   -s string   - append the specified string
   -S rstring  - append the specified raw string (hex numbers delimited with spaces)
   -a key      - append the specified key
   -k key      - write the specified key
   -m modifier - ctrl|shift|alt|win
   -b button   - mouse_left|mouse_middle|mouse_right
   -x X        - move the mouse cursor horizontally by X pixels
   -y Y        - move the mouse cursor vertically by Y pixels
   -w W        - move the mouse wheel by W

おすすめ記事