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

部分聯(lián)想鍵盤F1-F12的問題

可能是因?yàn)镕1-F12對非程序員用處不大翼闽,部分鍵盤會(huì)在F1-F12的位置定義一些功能鍵母剥,如調(diào)節(jié)音量漱办、屏幕亮度等苇羡,日常需要同時(shí)按下Fn和相應(yīng)的鍵才能觸發(fā)F1-F12的功能绸吸。筆記本內(nèi)置鍵盤和絕大多數(shù)的外接鍵盤都在硬件層面實(shí)現(xiàn)了FnLk的功能,即通過同時(shí)按下Esc+Fn的方式切換這些鍵的默認(rèn)行為,就像大小寫鎖定一樣锦茁。但是聯(lián)想的許多鍵盤的這種切換是通過Windows驅(qū)動(dòng)來實(shí)現(xiàn)的攘轩,這就意味著macOS和Linux無法方便地進(jìn)行這個(gè)切換。對于程序員而言码俩,功能鍵可有可無度帮,但是F1-F12顯然是必要的,也就是要把這些鍵的默認(rèn)行為切換到F1-F12稿存。

解決方法

所幸笨篷,GitHub倉庫 https://github.com/lentinj/tp-compact-keyboard 已經(jīng)提供了解決某些型號(hào)鍵盤的工具,基本原理是抓包分析驅(qū)動(dòng)向鍵盤發(fā)出的指令瓣履,然后通過終端命令發(fā)出同樣的指令率翅,或者編寫相應(yīng)的udev規(guī)則。目前確認(rèn)可行的鍵盤有:

  • USB鍵盤:
    • Thinkpad Compact USB keyboard with Trackpoint (KU-1255)
    • Lenovo Low Profile USB Keyboard (LXH-JME2209U)
  • 藍(lán)牙鍵盤

我實(shí)際測試的就是上面的LXH-JME2209U袖迎。首先拉取倉庫冕臭,在tp-compact-usb-keyboard下,執(zhí)行make燕锥,就得到了可執(zhí)行文件tp-compact-usb-keyboard辜贵。由于修改鍵盤的默認(rèn)行為始終需要root權(quán)限,這里我推薦將可執(zhí)行文件移動(dòng)到/usr/local/bin下归形,這樣就可以直接在終端中執(zhí)行了念颈。在有多個(gè)鍵盤時(shí)(比如對筆記本使用外接鍵盤),可以在/dev下查看并進(jìn)行嘗試连霉,確認(rèn)鍵盤的設(shè)備名:

# 編譯并移動(dòng)到/usr/local/bin
make
sudo mv tp-compact-usb-keyboard /usr/local/bin

# 查看鍵盤設(shè)備名榴芳,以下是我的輸出,其中hidraw2是目標(biāo)鍵盤
ls /dev | grep hidraw
hidraw0
hidraw1
hidraw2
hidraw3

# 執(zhí)行命令跺撼,確認(rèn)是否生效(第一次需要依次嘗試確認(rèn)是哪個(gè)名稱)
sudo tp-compact-usb-keyboard /dev/hidraw2

然后窟感,我們就可以編寫相應(yīng)的udev規(guī)則,使得鍵盤在插入時(shí)自動(dòng)執(zhí)行這個(gè)命令歉井。在/etc/udev/rules.d下新建一個(gè)文件柿祈,如99-custom-keyboard.rules,寫入以下內(nèi)容(需要替換其中的/path/to哩至,如我上述的/usr/local/bin):

SUBSYSTEM=="hidraw", ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="6018", RUN+="/path/to/tp-compact-usb-keyboard %E{DEVNAME}"

對于我的鍵盤躏嚎,不需要修改前面的參數(shù)。具體的參數(shù)可以通過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子系統(tǒng)后的確實(shí)是6018和17ef的參數(shù)值卢佣,說明我們的udev規(guī)則是正確的。然后箭阶,我們刷新udev規(guī)則虚茶,就可以在插入鍵盤時(shí)自動(dòng)執(zhí)行命令了:

sudo udevadm control --reload-rules
sudo udevadm trigger

這樣的結(jié)果是戈鲁,鍵盤每次插入后都會(huì)自動(dòng)切換成使用F1-F12的模式,而不是功能鍵嘹叫。實(shí)現(xiàn)兩者切換的邏輯更加復(fù)雜婆殿,但我暫時(shí)沒有需求,就不再深入研究了罩扇。

本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布婆芦!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市喂饥,隨后出現(xiàn)的幾起案子寞缝,更是在濱河造成了極大的恐慌,老刑警劉巖仰泻,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荆陆,死亡現(xiàn)場離奇詭異,居然都是意外死亡集侯,警方通過查閱死者的電腦和手機(jī)被啼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棠枉,“玉大人浓体,你說我怎么就攤上這事”惭龋” “怎么了命浴?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長贱除。 經(jīng)常有香客問我生闲,道長,這世上最難降的妖魔是什么月幌? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任碍讯,我火速辦了婚禮,結(jié)果婚禮上扯躺,老公的妹妹穿的比我還像新娘捉兴。我一直安慰自己,他們只是感情好录语,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布倍啥。 她就那樣靜靜地躺著,像睡著了一般澎埠。 火紅的嫁衣襯著肌膚如雪虽缕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天失暂,我揣著相機(jī)與錄音彼宠,去河邊找鬼鳄虱。 笑死弟塞,一個(gè)胖子當(dāng)著我的面吹牛凭峡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播决记,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼摧冀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了系宫?” 一聲冷哼從身側(cè)響起索昂,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎扩借,沒想到半個(gè)月后椒惨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡潮罪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年康谆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嫉到。...
    茶點(diǎn)故事閱讀 38,724評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沃暗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出何恶,到底是詐尸還是另有隱情孽锥,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布细层,位于F島的核電站惜辑,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏疫赎。R本人自食惡果不足惜韵丑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望虚缎。 院中可真熱鬧撵彻,春花似錦、人聲如沸实牡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽创坞。三九已至碗短,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間题涨,已是汗流浹背偎谁。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工总滩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人巡雨。 一個(gè)月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓闰渔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親铐望。 傳聞我的和親對象是個(gè)殘疾皇子冈涧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容