曾经有一个类似的问题 -但是恕我直言,必须有一个更简单的解决方案。如果在BIOS中启用了num-lock,为什么在Linux启动和/或KDE / Gnome /无论启动时将其关闭?
曾经有一个类似的问题 -但是恕我直言,必须有一个更简单的解决方案。如果在BIOS中启用了num-lock,为什么在Linux启动和/或KDE / Gnome /无论启动时将其关闭?
Answers:
Linux会初始化大多数外围设备,以便它们处于已知状态。其中包括键盘:Linux的键盘内部数据最好与LED匹配,因此Linux要做的是关闭LED(据我所知,CPU无法读取PC键盘上LED的状态)并声明所有* Lock为关闭。
我喜欢默认启用NumLock。对于Linux文本控制台,我曾经做的¹是运行
for t in /dev/tty[0-9]*; do setleds -D +num <$t; done
从启动脚本(/etc/rc.local
或/etc/init.d/50_local_setleds
发行版中喜欢放置它们的任何位置)中获取。
如今,至少在一些发行比如Debian,你可以添加LEDS=+num
到/etc/console-tools/config
(或/etc/kbd/config
取决于哪一个你有)。
X窗口系统具有自己的键盘处理方式,因此您需要单独处理。我要做的是将Caps Lock永久关闭(我的布局中没有Caps Lock键),将Num Lock永久性打开(我的布局中没有Num Lock键,键盘按键发送KP_1
和依此类推)。如果要保留修改器但将Num Lock 设为默认值,则可以编写一个小程序来调用XKbLockModifiers
以在X内设置修改器并XChangeKeyboardControl
设置物理LED。
¹ 过去是因为我有一段时间没有使用文本控制台了。
kbd
创建kbd初始化脚本的软件包完成。