如何在14.04配置Kinesis Savant Elite / USB踏板?

我将它用作独立的USB设备。 默认情况下,踏板会映射到左/中/右键。 理想情况下,我会将它们映射到Esc,Ctrl和Shift。

虽然xinput将其列为键盘(以及鼠标),但我没有看到如何将其配置为一个键盘。

$ xinput list | grep pedal ↳ Kinesis Footpedal id=10 [slave pointer (2)] ↳ Kinesis Footpedal id=9 [slave keyboard (3)] 

我尝试将鼠标按钮映射到未使用的索引( xinput set-button-map 10 10 11 12 ),然后使用imwheel将结果映射到我真正想要的东西,但是尽管文档imwheel似乎不支持为任何东西制作热键超出正常的鼠标按钮(左/右/中/ scrollup / scrolldown / thumb1 / thumb2)。

要对Savant Elite脚踏开关进行编程,需要在Windows 32位计算机上安装编程驱动程序( http://kinesis-ergo.com/wp-content/uploads/2014/01/xkeyswxp.exe )。 该驱动程序与任何其他操作系统以及64位Windows不兼容。 一旦安装完毕,就可以对键盘命令进行编程(用户手册中的编程说明)。 一旦编程完成,该信息就会存储在设备中,然后可以连接到他的Linux计算机,它将完全按照编程的方式运行。

顺便说一下,这是一个停产的产品,已经过时了。 目前的Savant Elite2与包括Linux在内的所有操作系统完全兼容,并且可以更轻松地编程(无需驱动程序的用户)。

将设备的鼠标按钮映射到未使用的鼠标按钮,然后使用xbindkeys来引用它们。

  1. 使用xinput list查找设备的ID。
  2. 使用xinput set-button-map将按钮重新映射到其他鼠标按钮。 例如,如果xinput list指示您的设备的ID为15,并且您的设备有四个按钮,请执行xinput set-button-map 15 10 11 12 13 。 您现在已将设备15的鼠标点击设置为b:10,b:11,b:12和b:13。
  3. 更新.xbindkeysrc以将这些按钮重新映射到所需的快捷方式。

     #xte 'key Escape'" b:10 
  4. 运行killall -HUP xbindkeys刷新密钥。

尝试以下操作,将扫描码重新映射到您选择的密钥代码:

 sudo tee "/etc/udev/hwdb.d/10-kinesis-savant.hwdb" > /dev/null <<'EOF' evdev:input:b0003v05F3p030Ce0100* KEYBOARD_KEY_700E0=unknown KEYBOARD_KEY_700E2=unknown KEYBOARD_KEY_70021=capslock # left pedal KEYBOARD_KEY_70022=leftshift # middle pedal KEYBOARD_KEY_70023=leftctrl # right pedal EOF sudo udevadm hwdb --update sudo udevadm trigger xmodmap ~/.Xmodmap 

默认情况下,踏板将为三个组合键发送三个扫描码。 所有三个踏板都为前两个发送相同的扫描码,并为最终发送一个唯一的扫描码。 前两个映射通过将前两个扫描码映射到未知密钥来解决这个问题。

要检查扫描码,请使用evtest

如果这不起作用,请检查evdev是否与b0003v05F3p030Ce0100匹配正确。

有关更多信息,请参阅: https : //wiki.archlinux.org/index.php/Map_scancodes_to_keycodes