当前位置: 首页>>技术教程>>正文


在14.04(Trusty)中使Microsoft Natural Ergonomic Keyboard 4000和7000的缩放滑块上下滚动

, ,

问题描述

我试图使用this tutorial使滚动开关在Microsoft Natural Ergonomic Keyboard 4000上工作。但是我遇到以下错误:

sudo: /lib/udev/keymap: command not found

我有udev版本204-5ubuntu20.2(在Trusty中找到的版本)

我注意到该版本不包含keymap工具。但是我注意到,更大的udev版本(which available for Debian, for example)包含此工具。

有人可以为我解释这个差异吗? =)在这种情况下,我应该怎么做-从Debian repo安装软件包?

最佳答案

如果您查看/lib/udev/rules.d/60-keyboard.rules,您会发现一切都乱七八糟。这只是udev与systemd合并的一部分,此合并一直在进行。

所有硬件规则都被编译到二进制硬件数据库中。这些遵循一种非常奇怪的格式。 udev附带的键盘的现有规则位于/lib/udev/hwdb.d/60-keyboard.hwdb中。看一下,但是不要编辑(更新可能会覆盖它)。

要添加您的自定义规则,我们将通过运行sudoedit /etc/udev/hwdb.d/61-keyboard-local.hwdb/etc/udev/hwdb.d/中创建一个新文件。您需要做的就是粘贴以下内容-

如果您使用的是4000型:

keyboard:usb:v045Ep00DB*
 KEYBOARD_KEY_0c022d=pageup
 KEYBOARD_KEY_0c022e=pagedown

如果您使用的是7000型:

keyboard:usb:v045Ep071D*
 KEYBOARD_KEY_0c022d=pageup
 KEYBOARD_KEY_0c022e=pagedown

这是从您发布的教程中获得的,因此您可能需要根据键盘进行调整。查看lsusb并确保上面的vendor:product代码(作为v####p####)正确。如果他们不匹配,它将无法正常工作。

完成编辑后,重新编译udev使用的hwdb

sudo udevadm hwdb --update

然后,您可能需要re-plug。如果是PS /2键盘,则可能需要重新启动。在某些情况下,您还需要重新启动。

次佳答案

Ubuntu 15.10:以前的答案都没有成功。

我已经成功使用了与以前类似的方法-/lib/udev/hwdb.d/60-keyboard.hwdb中提到了说明。

我使用sudo nano /etc/udev/hwdb.d/70-keyboard.hwdb创建了新的hwdb文件,其中包含:


# Microsoft Natural Ergonomic Keyboard 4000 - remap zoom in/out to page up/down
evdev:input:b0003v045Ep00DB*
 KEYBOARD_KEY_c022d=pageup
 KEYBOARD_KEY_c022e=pagedown

之后我就跑了


sudo udevadm hwdb --update
sudo udevadm control --reload

并重新插入键盘即可正常工作。

对于7000型,请使用evdev:input:b003v045Ep071D*

第三种答案

Oli发布的原始解决方案对我不起作用,但是在我将键编号"0c022d""0c022e"更改为"c022d""c022e"之后,该解决方案才有效。我使用的是4000模型,因此无法验证7000模型是否需要相同的更改。

要重复Oli的回答,这是我所做的事情:通过运行sudo nano /etc/udev/hwdb.d/61-keyboard-local.hwdb创建一个新文件。将以下行粘贴到文件中(对于4000型号):

keyboard:usb:v045Ep00DB*
 KEYBOARD_KEY_c022d=pageup
 KEYBOARD_KEY_c022e=pagedown

编辑文件后,重新编译udev使用的hwdb:

sudo udevadm hwdb --update

然后重新插入键盘。

第四种答案

添加到Oli的答案中,如果您希望像鼠标一样滚动行,则可以在自定义规则中将pageup /pagedown修改为up /down。喜欢:

keyboard:usb:v045Ep00DB*
 KEYBOARD_KEY_c022d=up
 KEYBOARD_KEY_c022e=down

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9534.html,未经允许,请勿转载。