udev规则中的感叹号是什么意思?

马克西姆·霍克里亚科夫

我正在尝试让亮度控制键(fn +箭头)在Arch Linux x64上工作。

因此,我使用以下命令查看了集成ps / 2笔记本电脑键盘的udev规则udevadm info

P: /devices/platform/i8042/serio0/input/input4/event4
N: input/event4
L: 0
S: input/by-path/platform-i8042-serio-0-event-kbd
E: DEVPATH=/devices/platform/i8042/serio0/input/input4/event4
E: DEVNAME=/dev/input/event4
E: MAJOR=13
E: MINOR=68
E: SUBSYSTEM=input
E: USEC_INITIALIZED=26133209
E: KEYBOARD_KEY_74=prog1
E: KEYBOARD_KEY_75=www
E: KEYBOARD_KEY_78=mail
E: KEYBOARD_KEY_82=!switchvideomode
E: KEYBOARD_KEY_83=!battery
E: KEYBOARD_KEY_84=!prog1
E: KEYBOARD_KEY_86=!wlan
E: KEYBOARD_KEY_88=!brightnessup
E: KEYBOARD_KEY_89=!brightnessdown
E: KEYBOARD_KEY_b1=!prog2
E: KEYBOARD_KEY_b3=!prog3
E: KEYBOARD_KEY_b4=!wlan
E: KEYBOARD_KEY_c5=!prog3
E: KEYBOARD_KEY_d5=!wlan
E: KEYBOARD_KEY_f7=!f22
E: KEYBOARD_KEY_f9=!f23
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_BUS=i8042
E: ID_SERIAL=noserial
E: ID_PATH=platform-i8042-serio-0
E: ID_PATH_TAG=platform-i8042-serio-0
E: LIBINPUT_DEVICE_GROUP=11/1/1:isa0060/serio0
E: DEVLINKS=/dev/input/by-path/platform-i8042-serio-0-event-kbd
E: TAGS=:power-switch:

https://wiki.archlinux.org/index.php/Map_scancodes_to_keycodes说,语法结构KEYBOARD_KEY_<scancode>=<keycode>结合的键码扫描码。可在此处找到可用的键码列表

如我们所见,88和89个扫描码已绑定(或未绑定到)亮度键码。这是绝对正确的-我试图在运行时按亮度键evtest-并生成88和89个扫描码(但是缺少键码信息)。在运行时按此键将journactl -f打印以下内容:atkbd serio0: Unknown key pressed (translated set 2, code 0x88 on isa0060/serio0).

所以,问题是,我只是不明白,那是“!” 符号意思是在键码之前?我在udev文档中找不到这种语法。

我猜想这种构造将密钥与scancode解除了绑定-然后我很茫然:为什么编写此规则的开发人员会解除这种绝对正确的密钥的绑定?

偏爱

/lib/udev/hwdb.d/60-keyboard.hwdb

# An '!' as the first character of the key identifier string
# will add the scan code to the AT keyboard's list of scan codes
# where the driver will synthesize a release event and not expect
# it to be generated by the hardware.

systemd源代码中似乎没有其他“文档” hwdb(7)什么也没说。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Haskell声明中,感叹号是什么意思?

linux中感叹号是什么意思?

特质实施中的感叹号是什么意思?

diff输出中的感叹号是什么意思?

以下bash命令中的!#(感叹号哈希),!$:r:r(感叹号美元冒号r),!#:t(感叹号冒号冒号t)是什么意思?

在Swift语言中,感叹号是什么意思?

SASS导入后的感叹号是什么意思?

这里的感叹号是什么意思

Windows 8.1 Mail App中的感叹号是什么意思?

JavaScript中变量后的感叹号是什么意思?

Eclipse中的红色感叹号图标是什么意思?

在C#8.0中调用方法之前,感叹号是什么意思?

Android Studio:设备下拉列表中的红色感叹号是什么意思?

布局文件中的红色感叹号是什么意思?

“ git show-branch”中的感叹号是什么意思?

!(感叹号)在javascript中之前和之后是什么意思?

Jupyter笔记本中的感叹号和问号是什么意思?

Eclipse中的红色感叹号图标是什么意思?(图标在右侧,而不是左侧)

实习生定义中的感叹号是什么意思?

在班级名称前面的播放测试图标附近,感叹号是什么意思。浓咖啡。测试中

在函数调用之前,感叹号是什么意思?

单元格引用之前的感叹号是什么意思?

ES6进口-感叹号是什么意思?

函数名称后的感叹号是什么意思?

linux命令中方括号后跟感叹号是什么意思?

Fsharp / FAKE中的双感叹号(!!)是什么?

感叹号在对象表示中的含义是什么

ModSecurity规则中感叹号的含义

什么是 !!(双感叹号)在 YAML 中?