我有一个绑定 ++ 的应用程序CTRL,ALT但F7我的 Linux 机器似乎捕捉到了击键。
有没有办法重新绑定/禁用此键?重新编译内核是一个可以接受的答案。
相关发行版是 Fedora 16 和 Ubuntu 11.10。
答案1
以下 X11setxkbmap
命令调用将禁用 Ctrl-Alt-Fn 控制台/虚拟终端切换:
setxkbmap -option srvrkeys:none
要返回到 ctrl-alt-Fn 键的先前行为,并删除所有其他选项,例如caps:ctrl_modifier
:
setxkbmap -option ''
要打印当前设置,请调用setxkbmap -print
.
要按用户调用,请将命令放入 ~/.xinitrc 文件中。
要在 Xsession 启动时调用,请在以下位置创建一个文件
/etc/X11/Xsession.d
例如
/etc/X11/Xsession.d/65srvrkeys-none
包含上述setxkbmap
命令,并使其可执行sudo chmod +x /etc/X11/Xsession.d/65srvrkeys-none
。
有关详细信息,请man setxkbmap
在 shell 提示符下键入或参阅Xorg setxkbmap 手册页。
我在 Ubuntu 14.04 LTS (Trusty) 上使用 KDE 对此进行了测试。这些设置也可在系统设置 > 输入设备 > 键盘 > 高级中找到。如果您srvrkeys
在 GUI 设置中进行更改,它会立即显示,setxkbmap
反之亦然。
我更喜欢通过 X11 命令行界面修改 X 窗口系统。如果这不起作用,那么我会尝试桌面环境。作为最后的手段,我会修改系统配置文件。实现和文件格式发生了变化,但命令行界面几乎永远保留在 Unix/Linux 传统中。
答案2
将其放入/etc/X11/xorg.conf
文件中以使用Ctrl+ Alt+禁用 VT 切换Fn:
Section "ServerFlags"
Option "DontVTSwitch" "on"
EndSection
您还需要以下内容才能将事件传递到连接到显示器的客户端:
Section "InputClass"
Identifier "keyboard defaults"
MatchIsKeyboard "on"
Option "XKbOptions" "srvrkeys:none"
EndSection
(最后一点未经测试,请参阅它的来源.)
答案3
您可以通过转到“调整”->“键盘和鼠标”->“其他布局选项”来禁用此功能。在其他兼容性选项下检查“特殊键Ctrl+ Alt+<key>在服务器中处理”。
我查了一下,Ubuntu 没有捕获Ctrl+ Alt+... 的任何组合。但想法仍然没有捕获Ctrl++ Alt,F7问题仍然存在!
答案4
Gnome Wayland 的解决方案:您可以通过设置以下 dconf 属性来取消设置虚拟终端切换的键绑定:
dconf write /org/gnome/mutter/wayland/keybindings/switch-to-session-1 "['']"
dconf write /org/gnome/mutter/wayland/keybindings/switch-to-session-2 "['']"
dconf write /org/gnome/mutter/wayland/keybindings/switch-to-session-3 "['']"
dconf write /org/gnome/mutter/wayland/keybindings/switch-to-session-4 "['']"
dconf write /org/gnome/mutter/wayland/keybindings/switch-to-session-5 "['']"
dconf write /org/gnome/mutter/wayland/keybindings/switch-to-session-6 "['']"
dconf write /org/gnome/mutter/wayland/keybindings/switch-to-session-7 "['']"
dconf write /org/gnome/mutter/wayland/keybindings/switch-to-session-8 "['']"
dconf write /org/gnome/mutter/wayland/keybindings/switch-to-session-9 "['']"
dconf write /org/gnome/mutter/wayland/keybindings/switch-to-session-10 "['']"
dconf write /org/gnome/mutter/wayland/keybindings/switch-to-session-11 "['']"
dconf write /org/gnome/mutter/wayland/keybindings/switch-to-session-12 "['']"