使 'CTRL-/' 在 vtty 和 xterm 中表现相同

使 'CTRL-/' 在 vtty 和 xterm 中表现相同

当我在图形终端(例如 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,请阅读它并按照说明进行操作。

相关内容