我的新笔记本电脑(戴尔灵越5578) 有没有数字键盘。许多没有专用小键盘的笔记本电脑都可以通过 访问小键盘Fn,但这款笔记本电脑不行。当我运行xev
并尝试使用传统Fn组合(例如,Fn+ Jfor 1)时,它看不到任何事件。而且标签上甚至没有数字。
AFAIU,我无法使用该Fn密钥创建任何快捷方式,因为Fn它没有传递给操作系统。但理论上我可以使用Alt_L+Super_L代替。问题是如何正确地做到这一点。我更愿意在比键盘布局更低的级别上进行操作,以便与所有虚拟机(甚至非 Linux 虚拟机)良好配合。
环境:Qubes操作系统。主机部分基于Fedora。
我试过了:
- 通过 Xfce 快捷键绑定 xdotool 命令。这会产生各种奇怪的结果:命令(xdotool 键 KP_1 和变体)通常可以正常工作,但在通过快捷方式调用时则不行。当通过快捷方式调用时,问题可能是当时按下了修饰键。我尝试过各种修改(
--clearmodifiers
,修饰键等),但没有一个能很好地工作。 - 对自动键执行相同操作。我遇到了一些自动键冻结的情况。
非解决方案:
- 使用外部数字键盘/键盘:虽然我的外部键盘上有一个数字键盘(某种程度),但我什至希望在内部键盘上也有一个数字键盘,例如在旅行时,并且使用外部键盘是不可能的或至少不舒服。
- 使用数字行:在捷克语布局中,数字行主要用于重音字母。我使用的布局(Chack 的 extracs 变体)“数字行”中根本没有数字。
- 购买不同的笔记本电脑:很难找到满足我的各种要求的笔记本电脑。
答案1
您可以尝试一下kbindkeys
,numlockx
以及稍微定制的键盘。
安装 xbindkeys 后,您必须运行它。它将告诉您如何创建基本配置。
然后你用xbindkeys -k
它来识别密钥并修改配置文件(这一切都记录在默认配置文件中)。
最后,我建议你跑一下xbindkeys -v -n
看看是否一切正常。如果是这样,您可以运行xbindkeys
该会话,并可能将其添加到您的启动脚本中。
就我而言,Windows 键(右侧)进行绑定,我的~/.xbindkeysrc
是:
"numlockx toggle"
m:0x10 + c:134
Mod2 + Multi_key
现在您可以添加映射。您将使用第五和第六级(numlock 和 shift+numlock)。
在 /usr/share/X11/xkb/symbols/cz 的顶部,紧接着:
default partial alphanumeric_keys
添加这个片段:
xkb_symbols "with_numpad" {
include "cz(basic)"
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AC07> { [ j, J, apostrophe, NoSymbol , 1, 1] };
key <AC08> { [ k, K, lstroke, NoSymbol , 2, 2] };
key <AC09> { [ l, L, Lstroke, NoSymbol , 3, 3] };
};
现在,当您按下window键(右)时,xkeybind将设置numlock,这反过来将使J、K、L等返回1、2、3。
最后一步,设置新键盘:
setxkbmap cz with_numpad