奇怪的意外键映射,单独按 CTRL 键即可在 Firefox 上加载主页并在 Nautilus 上加载主目录,如何恢复到默认行为?

奇怪的意外键映射,单独按 CTRL 键即可在 Firefox 上加载主页并在 Nautilus 上加载主目录,如何恢复到默认行为?

我真的说不出这到底是怎么发生的。昨天,我按了CTRL+键C从 Firefox 上显示的网页复制 URL,但似乎我触碰了其他不是CTRL+ 键的东西C,Firefox 加载了一个带有主页的新选项卡。从那时起,只需按CTRLFirefox 即可加载主页。今天我发现,按CTRLNautilus 窗口可以加载我的主目录。

当我想复制某些东西时,这会给我带来麻烦,因为我以前使用CTRL+ CCTRL+V键。

读完本文后我如何恢复默认的键盘快捷键?之后,我使用 dconf-editor 查看了这些位置:

org.gnome.settings-daemon.plugins.media-keys
org.compiz.integrated
org.gnome.desktop.wm.keybindings
org.gnome.shell.keybindings

但我单独找不到任何入口映射CTRL

这个键映射在哪里?


更新:我尝试在 中创建一个空的快捷方式System->Keyboard->Shortcuts,并尝试分配一个空命令(如 )sh -c "",以查看问题是否消失,但这没有效果。如果我CTRL在新快捷方式等待记录组合键时按下 键,它会<Primary>HomePageorg.gnome.settings-daemon.plugins.media-keys中记录dconf-editor。我尝试将其替换为<Ctrl><Primary>HomePage使用dconf-editor,但没有任何变化。另外,<Ctrl>单独放置似乎无效,因为当我再次查看时,Keyboard->ShortcutsDisabled显示在我的自定义快捷方式中。

更新:我尝试使用以下命令重置所有内容:

gsettings reset-recursively <insert location>

更改<insert location>所有四个已知的存储键绑定的位置,每个位置运行一次命令。没有效果,CTRL键仍然加载主页和主目录。我还能在哪里查看?


如果我运行 xev 并按下左 CTRL 我会得到这个:

KeyPress event, serial 34, synthetic NO, window 0x4c00001,
    root 0x290, subw 0x0, time 5826943, (952,482), root:(952,534),
    state 0x10, keycode 180 (keysym 0x1008ff18, XF86HomePage), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 37, synthetic NO, window 0x4c00001,
    root 0x290, subw 0x0, time 5826947, (952,482), root:(952,534),
    state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x4c00001,
    root 0x290, subw 0x0, time 5827041, (952,482), root:(952,534),
    state 0x14, keycode 180 (keysym 0x1008ff18, XF86HomePage), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x4c00001,
    root 0x290, subw 0x0, time 5827047, (952,482), root:(952,534),
    state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 37, synthetic NO, window 0x4c00001,
    mode NotifyNormal, detail NotifyNonlinear

PropertyNotify event, serial 37, synthetic NO, window 0x4c00001,
    atom 0x13a (_NET_WM_STATE), time 5858181, state PropertyNewValue

键码 37 与我其他运行 Linux 的 PC 相同。但键码 180 仅在这台 PC 上显示。XF86HomePage 是什么?如何仅通过按下某些组合键即可将其映射到 CTRL?

这消除了 CTRL 键令人讨厌的行为:

xmodmap -e "keycode 180 = "

但我读到,由于 Ubuntu 现在使用 xkb,因此每次启动时运行它都会遇到问题。Ubuntu 13.04 中的永久 xmodmap

我不明白为什么仅仅因为我错误地按下了某些组合键,我的左 CTRL 键就会发送一个键码 37,然后立即发送一个键码 180。


我开始认为这不是由意外的组合键触发的,它可能是通过某些更新引入的,我记得当左键CTRL开始出现异常时,我正在下载更新。

我认为这是有关联的:https://unix.stackexchange.com/questions/88269/a-single-key-on-keyboard-produces-extra-keypresses-for-each-simultaneously-press

我的键盘也是 USB 的,这个问题可能一年前就有人问过了,但问题非常相似,一个键会生成多个键码。也许一年前这个键盘没有受到影响,但现在某个更新破坏了它。另一种可能是硬件故障,我会尝试另一个键盘并报告结果。


已确认。只有我的 Genius USB 键盘会生成键码 37,后面紧接着键码 180。我将 Xtreme USB 键盘连接到前面板,并使用 xev 确认,当我按下左键时,此键盘不会生成除 37 之外的任何键码CTRL

现在,我很确定,因为我经常使用 CTRL+C 组合键来复制文本,所以这个 Genius 键盘以前没有这样做过。也许它坏了。一旦我找到如何禁用键码 180 而不必一直运行 xmodmap 的方法,我就会回答这个问题。

答案1

无聊的答案。除非有人能给出更好的解释,否则这是一个硬件故障的情况。我更换了有问题的键盘,在键码 37 之后不再有键码 180。

奇怪的是,不利于硬件故障诊断的是,当CTRL我在连接它的另一台电脑上按下同一个有问题的键盘时,它不会生成键码 180。

以防万一这些信息有用:抱歉,我在问题中说有问题的键盘是 USB,实际上是 PS2,因为直到我移动电脑机箱进行键盘更换时,我才看到连接器。我想我假设是 USB,因为我当时想到的是之前连接到这台电脑的其他键盘。

相关内容