如何让 Microsoft Natural Ergonomic Keyboard 4000 的缩放滑块(和其他按钮)工作?

如何让 Microsoft Natural Ergonomic Keyboard 4000 的缩放滑块(和其他按钮)工作?

我在 Ubuntu 10.10 上使用 Microsoft Natural Ergonomic Keyboard 4000。多媒体键(音量、播放/暂停)可以使用,邮件和计算器按钮也可以使用。

现在我很想使用缩放滑块,如果可以的话,我想使用页面滚动功能。有什么方法可以实现此功能吗?

答案1

/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

添加后,您只需拔下并重新插入键盘即可开始工作。

答案2

在 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

重启。

答案3

为了配置微软人体工学键盘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然后按回车键:

这样做会在终端上输出大量信息,并以以下几行结束:

... 

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

第二行包含指定功能密钥名称等信息。在本例中为削减. 检查其他键以找到其适当的名称。

简而言之:

  • 我们的键盘类型是:045e:00分贝
  • Slash 键的扫描码是:70038
  • 分配的键的名称是削减

收集必要的信息后,我们创建配置文件:

sudoedit /etc/udev/hwdb.d/61-keyboard-local.hwdb

点击i激活插入模式并输入以下内容:

keyboard:usb:v045Ep00DB*
 KEYBOARD_KEY_70038=minus      

escape按下然后输入:wq并按回车键,保存并退出。

然后运行下面两个命令使配置生效:

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

最后拔下键盘插头并重新插入。

关于配置文件的一些说明:

  • 文件的格式应该与所示的完全一致,映射记录之前的空间至关重要。
  • 您也sudoedit可以使用任何其他文本编辑器,只需记住遵循上面解释的文件的精确格式即可。
  • 键盘类型中增加了两个字符:v和,p分别代表供应商和产品。它们也很重要。
  • 键盘类型在配置文件中以大写形式书写。我们的键盘类型是045e:00分贝但在配置中我们插入v045Ep00DB*
  • 密钥的扫描码紧随其后KEYBOARD_KEY_
  • 配置文件中的键名称以小写形式出现
  • 您可以按照本教程自定义键盘上的几乎每个键。

答案4

在我的计算机上,额外键(HomePage、Search、Calc 等)和缩放输入通过 /dev/input/event5 发送,而普通键则通过 /dev/input/event4 发送。缩放键值与queueoverflow 的值一致。

相关内容