Alt+Ctl+FN
组合键(又名 srvrkeys)是否硬编码到 Xorg 中?
这个问题解释了如何打开和关闭它们(我已经知道了,只是提及它以表明我已经完成了我的作业)。但我现在需要的是保留该功能但绑定到不同的组合键,也许就像Alt+FN
通常的 Linux VT 绑定一样。可能的?
原因是在我喜欢的 leop^H^H^H^H 键盘上,这些Alt+Ctl+FN
组合实际上不存在:-(。
答案1
Alt+Ctl+FN 组合键(又名 srvrkeys)是否硬编码到 Xorg 中?
不,他们不是。它们可以通过配置Xkb。但是了解如何有效且正确地配置 Xkb 需要花费一生的时间;-)。
但作为一个简单的黑客,完全客户端,这应该允许您切换为 justAlt-F1
而不是[如果您的布局如此不同以致于脚本不起作用,Ctrl-Alt-F1
请参阅最后的差异]:ed
xkbcomp $DISPLAY - > xkb
cp xkb xkb~
ed xkb <<EOT
/type "CTRL+ALT"/
/Level5/s/Control+//p
w
EOT
xkbcomp - $DISPLAY < xkb
但请注意,您的桌面环境可能会覆盖您的更改。另外,如果您启用了该选项(在上面生成的文件中查找) Alt-Backspace
,则(某些编辑器中的常见键绑定)可能会杀死您的 X11 服务器。Ctrl-Alt-Backspace
Terminate_Server
xkb
diff xkb~ xkb
...
@@ -376,15 +376,15 @@
type "CTRL+ALT" {
modifiers= Shift+Control+Alt+LevelThree;
map[Shift]= Level2;
preserve[Shift]= Shift;
map[LevelThree]= Level3;
map[Shift+LevelThree]= Level4;
preserve[Shift+LevelThree]= Shift;
- map[Control+Alt]= Level5;
+ map[Alt]= Level5;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
level_name[Level3]= "Alt Base";
level_name[Level4]= "Shift Alt";
level_name[Level5]= "Ctrl+Alt";
};
type "LOCAL_EIGHT_LEVEL" {