当我在图形终端(例如 xterm)中按Ctrl+时,我得到“撤消”。/但是,在虚拟终端(例如Ctrl++ Alt)中F1我得到“退格键”。
实际上,当我在虚拟终端中使用 emacs 时,我遇到了这个问题,可能是在调试一些 X 问题,我尝试使用C+/来撤消,但改为使用退格键。
我相信多年来我在多台计算机上经历过这种情况,所以我认为这对于我当前的设置(ubuntu)来说并不是非常具体。
答案1
当您在 xterm 中按下某个键时,它会发送一个由其翻译决定的字符序列X资源。通常Ctrl+/发送单个字符^_
(即字符号 31,如Ctrl+ _)。 shell 将此控制字符解释为撤消命令。
当您在 Linux 控制台中按下按键时,它会发送由活动键盘映射确定的字符序列。命令loadkeys
加载键盘映射。默认键盘映射的位置取决于发行版和安装的软件包;在最近的 Ubuntu 发行版上,控制台键盘映射源自默认的 XKB 键盘映射。许多默认键盘映射将 Backspace (在本上下文中称为Delete
:它的字符 127)分配给Ctrl+ /(我不知道为什么);您可以使用以下键盘映射片段来更改此设置:
keycode 53 = slash question
control keycode 53 = Control_underscore
alt keycode 53 = Meta_slash
shift alt keycode 53 = Meta_question
如果您有一个名为 的文件/etc/console/boottime.kmap.gz
,请编辑该文件。如果您有文件/etc/default/keyboard
,请阅读它并按照说明进行操作。