Linux
如何使用 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 ------------ ...
因此,在techtrickery.com和yulistic.gitlab.io 之後,使用相關的NixOS Option,我在我的 extraHwdb 規則中添加了幾行:
services.udev.extraHwdb = '' evdev:input:b*v413Dp2107e*-* KEYBOARD_KEY_70004=f13 '';
我在設備線上嘗試了一些變體,尤其是
keyboard:usb:v413Dp2107*
和evdev:input:b*v413Dp2107e*
.將其添加到我的 configuration.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)超出了標題中 evtest 報告的範圍
$$ 0..240 $$; 但我不知道這是否相關。 任何指針將不勝感激。
您可以嘗試Footswitch,它支持您的模型並允許您對事件進行程式。
用於程式 PCsensor 和 Scythe 腳踏開關的命令行實用程序。支持單踏板設備和三踏板設備。
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