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

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