Answers:
创建/etc/udev/rules.d/98-ms-ergo.rules
具有以下内容的文件:
ACTION=="remove", GOTO="keyboard_end"
KERNEL!="event*", GOTO="keyboard_end"
ENV{ID_INPUT_KEY}=="", GOTO="keyboard_end"
SUBSYSTEMS!="usb", GOTO="keyboard_end"
SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"
ENV{ID_VENDOR}=="Microsoft", ENV{ID_MODEL_ID}=="00db", RUN+="keymap $name 0xc022d pageup 0xc022e pagedown"
GOTO="keyboard_end"
它将缩放键映射到上一页/下一页,而无需更改中的已安装文件/lib/udev
。
添加后,您只需拔出并重新插入键盘即可开始工作。
evtest
显示缩放滑块不会触发任何事件,这与Ergonomic 7000键盘上的大多数其他键不同。不确定这一点,因为“ Web /主页”按钮在evtest
这两个按钮中均未显示任何输出-尽管Ubuntu 确实选择了它。
xev
。
xev
对我也不起作用。什么是evtest /dev/input/event3
。如果event3
对此键没有任何反应,请测试其他事件(event[0..9]
)。
在Xubuntu 13.10上(也许在Ubuntu 13.10上也是如此),可以执行以下操作:
在/lib/udev/hwdb.d/60-keyboard.hwdb
以下位置编辑键映射:
###########################################################
# Microsoft
###########################################################
# Microsoft Natural Ergonomic Keyboard 4000
keyboard:usb:v045Ep00DB*
KEYBOARD_KEY_c022d=pageup
KEYBOARD_KEY_c022e=pagedown
跑
sudo udevadm hwdb --update
重启。
katakana
和katakanahiragana
(或hal.freedesktop.org/quirk/quirk-keymap-list.txt中的任何其他未使用的键代码),而不是现有键的别名。这样,您可以识别并结合使用按键和修饰符来切换音量,语言,大小等(配置窗口管理器以使用两个新的超级按键)。
为了配置Microsoft人体工学键盘4000,我们必须创建一个配置文件,其中包含键盘声明和映射键的记录。
为此,我们需要确定三种信息:
scancode
是键盘上的实际键name
分配所期望的功能到所选择的键首先找到键盘类型:
在终端中运行以下命令:
lsusb
输出确定键盘类型:
...
Bus 004 Device 022: ID 045e:00db Microsoft Corp. Natural Ergonomic Keyboard 4000 V1.0
...
它出现在之后ID
。在这种情况下045e:00db
其次找到扫描码和密钥名称。
为了确定它们,我们使用evtest
在终端上注销特定设备的事件信息的程序:
evtest
如果您没有该程序,请通过运行以下命令进行安装:
sudo apt-get install evtest
通过运行evtest
程序,我们得到以下输出:
No device specified, trying to scan all of /dev/input/event* Available devices:
/dev/input/event0: Power Button
/dev/input/event1: Power Button
/dev/input/event2: PixArt USB Optical Mouse
/dev/input/event3: Microsoft Natural® Ergonomic Keyboard 4000
/dev/input/event4: Microsoft Natural® Ergonomic Keyboard 4000
/dev/input/event5: HDA Intel Front Headphone
/dev/input/event6: HDA Intel Line Out
/dev/input/event7: HDA Intel Line
/dev/input/event8: HDA Intel Rear Mic
/dev/input/event9: HDA Intel Front Mic
/dev/input/event10: HDA ATI HDMI HDMI/DP,pcm=3
Select the device event number [0-10]:
输出几乎是不言自明的,为键盘插入适当的数字,这里是数字,3
然后按Enter:
这样做将在终端上输出大量信息,并以以下几行结尾:
...
Testing ... (interrupt to exit)
Event: time 1472203902.240594, type 17 (EV_LED), code 0 (LED_NUML), value 0
Event: time 1472203902.240594, -------------- SYN_REPORT ------------
Event: time 1472203902.281456, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70058
Event: time 1472203902.281456, type 1 (EV_KEY), code 96 (KEY_KPENTER), value 0
Event: time 1472203902.281456, -------------- SYN_REPORT ------------
现在,每按一次键盘上的键,它就会转出键信息。例如,右移旁边的斜杠键显示:
Event: time 1472205062.294078, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70038
Event: time 1472205062.294078, type 1 (EV_KEY), code 12 (KEY_SLASH), value 0
Event: time 1472205062.294078, -------------- SYN_REPORT ------------
日志的第一行包含有关键盘上实际按键的信息,例如scancode
该值后面的信息。在这个例子中是70038
第二行包含分配的功能信息,例如密钥名称。在这种情况下,它是SLASH。检查其他键以找到其适当的名称。
简而言之:
收集必要的信息后,我们创建配置文件:
sudoedit /etc/udev/hwdb.d/61-keyboard-local.hwdb
点击i
以激活插入模式,然后键入以下内容:
keyboard:usb:v045Ep00DB*
KEYBOARD_KEY_70038=minus
保存,escape
然后按,然后键入:wq
,然后按Enter。
然后运行以下两个命令以使配置生效:
sudo udevadm hwdb --update
sudo udevadm control --reload
最后拔下键盘,然后重新插入。
有关配置文件的一些说明:
sudoedit
记住可以遵循上述文件的确切格式之外,您不能使用任何其他文本编辑器。v
和p
代表供应商和产品。它们也很重要。KEYBOARD_KEY_
该问题是了evdev驱动程序忽略键码> 255。
感谢Marco Chiappero的解决方案:
1)您必须定义所需的所有重新映射(以 “扫描码键码”列表),并将它们放在“ / lib / udev / keymaps /”下的文件中 (例如,我在那里创建了logitech-lx710-cordless)。你可以找到 使用evtest(“ sudo evtest / dev / input / eventX”,其中X是您的 键盘设备。请注意,有时这些额外的密钥会通过 其他设备或鼠标界面:例如 event3-> kbd,event4-> 鼠标和其他键)。这里是一些示例输出: 事件:时间1294153475.909379,类型4(其他),代码4(ScanCode),值c1028 “ c1028”是您要放入键盘映射文件中的扫描代码值,然后 如前所述,从input.h中选取一个数字并将其转换为 十六进制。然后将重映射对写入文件中,也许带有描述性 评论,像这样: 0xC1028 0x9a#旋转按钮 对每个大于255的键进行迭代。 2)您必须告诉udev每次遇到此重新映射文件时都要应用 您的键盘,因此编辑“ /lib/udev/rules.d/95-keymap.rules”文件,然后添加 与您的硬件匹配的udev规则。请不要要求我为 您。 注意:您可以通过键入以下内容立即应用键盘映射文件 “ sudo / lib / udev / keymap / dev / input / eventX / lib / udev / keymaps / $ YOUR_FILE”和 再次使用evtest进行验证。 现在,您可以使用Gnome快捷方式编辑器来查看密钥 在X中可用并创建新的快捷方式。但是可能会发生 keysym被分配给该键代码(因此您将看到0xXY而不是XF86Foo)。 您可以通过xmodmap -pke查看当前映射,将输出保存到 文件并根据需要进行编辑(完整的键盘代码列表位于 “ / usr / lib / X11 / XKeysymDB”)。 将keyyms添加到重新映射的那些键后,即可保存此文件 作为〜/ .Xmodmap(或如果希望应用于每个用户,则作为/ etc / X11 / Xmodmap)。
/lib/udev/rules.d/95-keymap.rules
。(可能在启动板这里,您可以找到具有相同硬件的人员,因此更有能力帮助 bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/313514)。您是否编辑了我上面提到的文件?