联想LXH-JME2209U键盘Linux下解锁F1-F12
2024/2/7 3:02:19
本文主要是介绍联想LXH-JME2209U键盘Linux下解锁F1-F12,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
部分联想键盘F1-F12的问题
可能是因为F1-F12对非程序员用处不大,部分键盘会在F1-F12的位置定义一些功能键,如调节音量、屏幕亮度等,日常需要同时按下Fn和相应的键才能触发F1-F12的功能。笔记本内置键盘和绝大多数的外接键盘都在硬件层面实现了FnLk的功能,即通过同时按下Esc+Fn
的方式切换这些键的默认行为,就像大小写锁定一样。但是联想的许多键盘的这种切换是通过Windows驱动来实现的,这就意味着macOS和Linux无法方便地进行这个切换。对于程序员而言,功能键可有可无,但是F1-F12显然是必要的,也就是要把这些键的默认行为切换到F1-F12。
解决方法
所幸,GitHub仓库 https://github.com/lentinj/tp-compact-keyboard 已经提供了解决某些型号键盘的工具,基本原理是抓包分析驱动向键盘发出的指令,然后通过终端命令发出同样的指令,或者编写相应的udev规则。目前确认可行的键盘有:
- USB键盘:
- Thinkpad Compact USB keyboard with Trackpoint (KU-1255)
- Lenovo Low Profile USB Keyboard (LXH-JME2209U)
- 蓝牙键盘
我实际测试的就是上面的LXH-JME2209U。首先拉取仓库,在tp-compact-usb-keyboard
下,执行make
,就得到了可执行文件tp-compact-usb-keyboard
。由于修改键盘的默认行为始终需要root权限,这里我推荐将可执行文件移动到/usr/local/bin
下,这样就可以直接在终端中执行了。在有多个键盘时(比如对笔记本使用外接键盘),可以在/dev
下查看并进行尝试,确认键盘的设备名:
# 编译并移动到/usr/local/bin make sudo mv tp-compact-usb-keyboard /usr/local/bin # 查看键盘设备名,以下是我的输出,其中hidraw2是目标键盘 ls /dev | grep hidraw hidraw0 hidraw1 hidraw2 hidraw3 # 执行命令,确认是否生效(第一次需要依次尝试确认是哪个名称) sudo tp-compact-usb-keyboard /dev/hidraw2
然后,我们就可以编写相应的udev规则,使得键盘在插入时自动执行这个命令。在/etc/udev/rules.d
下新建一个文件,如99-custom-keyboard.rules
,写入以下内容(需要替换其中的/path/to
,如我上述的/usr/local/bin
):
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="6018", RUN+="/path/to/tp-compact-usb-keyboard %E{DEVNAME}"
对于我的键盘,不需要修改前面的参数。具体的参数可以通过lsusb
查看,如下所示:
udevadm info -a -p $(udevadm info -q path -n /dev/hidraw2) | grep -E "SUBSYSTEM|idVendor|idProduct" SUBSYSTEM=="hidraw" SUBSYSTEMS=="hid" SUBSYSTEMS=="usb" SUBSYSTEMS=="usb" ATTRS{idProduct}=="6018" ATTRS{idVendor}=="17ef" SUBSYSTEMS=="usb" ATTRS{idProduct}=="0002" ATTRS{idVendor}=="1d6b" SUBSYSTEMS=="pci" SUBSYSTEMS=="pci" SUBSYSTEMS==""
跟在hidraw
子系统后的确实是6018和17ef的参数值,说明我们的udev规则是正确的。然后,我们刷新udev规则,就可以在插入键盘时自动执行命令了:
sudo udevadm control --reload-rules sudo udevadm trigger
这样的结果是,键盘每次插入后都会自动切换成使用F1-F12的模式,而不是功能键。实现两者切换的逻辑更加复杂,但我暂时没有需求,就不再深入研究了。
本文由博客一文多发平台 OpenWrite 发布!
这篇关于联想LXH-JME2209U键盘Linux下解锁F1-F12的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12学会项目管理,让你成为职场高效达人
- 2024-11-12看板管理是什么?如何用其优化项目管理?
- 2024-11-12如何打造高效团队文化:项目管理工具必不可少
- 2024-11-12快速实现团队效率提升:五大杀手级企业管理工具推荐
- 2024-11-12如何为团队选择高效协作管理工具?
- 2024-11-12从工作分解到产品分解:如何灵活应用项目管理结构?
- 2024-11-12电商网页开发资料:新手入门教程
- 2024-11-12初学者必备轮播图资料详解
- 2024-11-12右侧跟随效果资料详解:轻松实现网页元素实时跟随
- 2024-11-10如何使用API接口查询贵金属实时价格