ubuntu使用雙模機械師K7機械鍵盤遇到的問題

最近買了個機械師K7的雙模機械鍵盤,可以使用數據線連接,也可以使用藍牙連接,但因爲我平時使用ubuntu開發,鍵盤與系統的適配方面遇到了點問題,記錄下解決方法來方便其他人蔘考。

問題1:有線連接模式,F1到F12鍵只能使用多媒體功能,就算按了FN組合鍵也無法使用正常的刷新網頁等功能。

執行下面的命令,F1到F12的功能就是原始功能了,按FN組合鍵可以使用多媒體功能。

echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode
echo options hid_apple fnmode=2 | sudo tee -a /etc/modprobe.d/hid_apple.conf
sudo update-initramfs -u -k all

問題2:藍牙連接模式按字母鍵輸入的是數字,無法使用大部分按鍵。

這是鍵盤的內核與系統不兼容導致的,打開數字鍵盤鎖就會導致其他按鍵無法使用。

我們先接入其他帶有Num_Lock鍵的鍵盤(筆記本直接使用自帶的鍵盤),在新接入的鍵盤按Num_Lock鍵,關閉數字小鍵盤的輸入功能,藍牙鍵盤上除了數字小鍵盤的1234567890.以外的鍵就都能正常使用了。

下面是設置開機自動禁用數字小鍵盤的命令,執行命令,在彈出來的文本中修改“NUMLOCK=XXX”一行爲“NUMLOCK=off”。

sudo apt-get install numlockx
sudo gedit /etc/default/numlockx

解決藍牙模式下數字小鍵盤仍然無法使用的方案

用“xmodmap -pke”命令查看鍵位字典,用“xev”命令捕獲按鍵的code。

把下面的代碼保存爲~/.xmodmaprc。

keycode 77 =
keycode 79 = KP_7 KP_7 KP_7 KP_7
keycode 80 = KP_8 KP_8 KP_8 KP_8
keycode 81 = KP_9 KP_9 KP_9 KP_9
keycode 83 = KP_4 KP_4 KP_4 KP_4
keycode 84 = KP_5 KP_5 KP_5 KP_5
keycode 85 = KP_6 KP_6 KP_6 KP_6
keycode 87 = KP_1 KP_1 KP_1 KP_1
keycode 88 = KP_2 KP_2 KP_2 KP_2
keycode 89 = KP_3 KP_3 KP_3 KP_3
keycode 90 = KP_0 KP_0 KP_0 KP_0
keycode 91 = KP_Decimal KP_Decimal KP_Decimal KP_Decimal

把下面的代碼保存爲~/.init_keyboard.sh。

#!/bin/sh
while true
do
    sleep 1
    xmodmap ~/.xmodmaprc
done

在終端執行

sudo chmod 755 ~/.init_keyboard.sh

打開Ubuntu自帶的啓動應用程序管理工具,在命令選項中選擇文件~/.init_keyboard.sh,把該腳本設爲開機自動執行。

 

參考文檔:

https://help.ubuntu.com/community/AppleKeyboard#Apple%20slim%20aluminium%20keyboard%20%280220%29

https://askubuntu.com/questions/1195198/ubuntu-18-04-pairing-apple-magic-keyboard-1-says-paired-but-no-input-from-key

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章