如何禁用虚拟控制台的Alt-Arrow切换?


36

在不同的Linuces上会发生以下情况:

当我在一个虚拟控制台,保持Alt并按,虚拟的ttys周期。这真的很烦人,因为我正在使用也使用此键组合的鱼壳。我可以重新映射fish的快捷方式,但我不想这样做。相反,我想禁用linux功能或重新映射它。

如何禁用或更改tty-cycling-key-combo?


2
的回答可以帮助你:superuser.com/questions/290115/...
迪迪Kohen

Answers:


14

您可以使用该loadkeys命令在Linux控制台上重新映射键。以下几行定义了到控制台(在PC键盘上)的按键绑定:

alt keycode 105 = Decr_Console
alt keycode 106 = Incr_Console

加载您自己的键盘映射文件,该文件将用fish识别的转义序列覆盖这些绑定。要使键发送转义序列,您需要将其绑定到表单的键名并为定义一个字符序列。FNUMBERFNUMBER

alt keycode 105 = F105
alt keycode 106 = F106
string F105 = "\033\033[D"
string F105 = "\033\033[C"

不同的发行版(有时还包括不同的控制台支持软件包)将系统启动时键盘映射存储在下的不同位置/etc。查找名为*.kmapor *.kmap.gz*.mapor 的文件*.map.gz/etc或查阅发行版的手册。有些发行版会在其中存储键盘映射的名称/etc,并将实际的键盘映射放在其他位置。在/etc/sysconfig或其他配置目录下查找与键盘映射相关的设置。

您可以编写自己的键映射并用于include "/path/to/foo.map"引用系统键映射,也可以安排加载仅包含要在引导过程中更改的设置的自己的键映射。


您确定要.kmap扩展吗?我无法在Fedora 20上找到任何文件,但是另一方面,我找到了/lib/kbd/keymaps/legacy/i386/qwerty/us.map.gz
Cristian Ciupitu 2014年

@CristianCiupitu我不好,我应该提到可以完成此操作的其他方法。我认为Fedora上有一个设置/etc/sysconfig可以确定启动时要加载的键盘映射文件的名称。
吉尔(Gilles)'所以

我是否应该使用dumpkeys保存,更改,更改它的设置/etc/sysconfig?这会使它持久吗?
Max Ried 2014年

@Gilles,也许systemd-vconsole-setup.service和[vconsole.conf](freedesktop.org/software/systemd/man/vconsole.conf.html)的手册页可以对此有所说明。
Cristian Ciupitu 2014年

@MaxRied我建议将两者分开,这样更容易维护。将引用更改为/etc/sysconfig包含include标准键盘映射指令的文件。
吉尔(Gilles)'所以

44

这是一次性解决方案:

sudo sh -c 'dumpkeys |grep -v cr_Console |loadkeys'

我建议将此添加为“启动应用程序”中的命令。
Samy Bencherif

20

我重构了Tobu的答案,以仅更改绝对必要的内容:

sudo sh -c 'dumpkeys -k|grep -v Incr_Console|grep -v Decr_Console|grep -v Last_Console|loadkeys'

注意:如前所述,这是一次性修复,可能在重新启动后消失。


1
修复了两个问题:1.仅转储键绑定,以避免loadkeys中的语法错误;2.也摆脱Last_Console(Alt + Tab):sudo sh -c'dumpkeys | grep -v Incr_Console | grep -v Decr_Console | loadkeys'非常感谢!
Reuben Thomas

除了我之前的评论,我发现Caps Lock指示灯仍在打开和关闭(即使Caps Lock仍映射到我系统上的Control)。要解决此问题,过滤掉包含Caps_Lock的行将不起作用,因为它是相关键码的唯一映射,因此在重新加载已过滤的映射列表时不会被覆盖。最后,最简单的解决方案是转储“已知良好”的键映射,然后显式加载该键映射。
Reuben Thomas

14

有时我在Ubuntu 18.04上遇到问题:

sudo kbd_mode -s

做好了 (至少是暂时的)

您可以在启动板上找到很长的错误报告


这是如何运作的?我很犹豫,因为手册页上写着“警告:除了在ASCII和Unicode之间更改键盘模式外,可能会使键盘无法使用。”
nshiff

1
嗨,我添加了一个链接。
线圈

谢谢!这工作了。我试图在bugs.launchpad.net/ubuntu/+source/console-setup/+bug/520546中单击“是,它会影响我”,但我一直收到超时错误。任何想法如何解决?
6005

我认为应该是暂时的,否则您必须为错误报告系统本身填写一个错误报告!:p
线圈
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.