第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

聯(lián)想LXH-JME2209U鍵盤Linux下解鎖F1-F12

標(biāo)簽:
Linux

部分联想键盘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 发布!

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消