如何禁用X中的虚拟终端切换快捷键?
在早期版本的Ubuntu上,用于在虚拟终端之间切换的AltF☒和Alt⇆快捷键似乎已在X Windows下被禁用,因此无法意外触发它们。
我现在正在使用带有Cinnamon桌面环境的Ubuntu 16.04,即使在X Windows下也可以启用快捷方式。
我经常在尝试访问菜单项或在Web浏览器中前进/后退时意外触发它们。
如何禁用这些虚拟终端快捷键,或将其替换为需要Ctrl的版本(例如Ctrl Alt F1而不是Alt F1 )?
–
(我发现了几个较旧的答案,建议使用自定义xmodmap
,但这似乎对我没有任何影响。)
尝试在终端sudo kbd_mode -s
使用该命令,看看它是否有帮助。 它将键盘输入模式更改为“scancode”。 我有同样的问题,发现这可能是解决方案。
Unix stackexchange中的这个线程帮我找出了一个临时的一次性解决方案:
# This command removes all the lines that look like: # alt keycode 123 = Console_1' # ... with no additional modifiers $ sudo dumpkeys | grep -Pv '^\s+alt(gr)?\s+keycode\s+\d+\s+=\s+(Console_|Incr_Console|Decr_Console)'|sudo loadkeys
似乎Ubuntu 16.04的console-setup软件包将其缓存的keymap存储在/etc/console-setup/cached.kmap.gz
。
但我无法弄清楚哪个程序首先会生成这个“缓存”。 有任何想法吗? 我只能说,重新运行dpkg-reconfigure console-setup console-setup-linux
会触发其重新生成。
对于永久性修复,您可以将修改后的映射添加到/etc/console-setup/remap.inc
。
您必须运行sudo dpkg-reconfigure console-setup -phigh
才能应用更改并重新启动。
例如,这是我用来禁用alt-Fxx和alt箭头切换
# Remap alt+Fxx key to void to avoid terminal switching alt keycode 59 = VoidSymbol alt keycode 60 = VoidSymbol alt keycode 61 = VoidSymbol alt keycode 62 = VoidSymbol alt keycode 63 = VoidSymbol alt keycode 64 = VoidSymbol alt keycode 65 = VoidSymbol alt keycode 66 = VoidSymbol alt keycode 67 = VoidSymbol alt keycode 68 = VoidSymbol # Also remove mapping for alt left arrow and right arrow alt keycode 105 = VoidSymbol alt keycode 106 = VoidSymbol
`