今天我的瓜克码头开始出现我从未见过的情况 - 每次我按下AltGr(在我的瑞典语键盘上是右侧的 Alt 键,就在Spacebar右侧旁边)时,终端就会失去焦点并隐藏。在我的瑞典语键盘上,这非常不方便,因为AltGr用于输入竖线 ( |
)...
我今天确实安装了一些需要重启系统的更新,但我记得那只是 Ubuntu Base,没有其他的。我不确定在更新之前是否存在这种行为 - 因为在我启动系统时弹出了弹出窗口,所以我在安装它们并重启之前没有做太多工作。
我还查看了 Guake 偏好设置,以查看键盘快捷键是否有任何问题,但AltGr根本没有使用,并且所有其他快捷键都按预期工作。在其他情况下正常工作,例如实际的终端窗口(例如通过按+ +AltGr打开)或在 Chromium 中键入。CtrlAltT
这可能是什么原因造成的?我该如何排除故障和/或修复它?
答案1
我找到了一个解决办法解决对我来说,问题1:重新启动窗口管理器。使用 Unity,可以通过运行
compiz --replace &
在终端中。
不过要小心!
Compiz 在终端中吐出了大量血腥内容 - 我第一次这样做时忘记了,&
我对血腥内容的第一反应是Ctrl+ C-杀死我的窗口管理器。
可以恢复(据说,我自己从未尝试过),使用像Ctrl+ Shift+<number> 这样的技巧来进入 TTY 终端,然后运行
DISPLAY=:0 compiz --replace &
但无论如何都要小心行事。在尝试之前保存好所有的东西,以防万一愚蠢的事情并需要重新启动。
致谢:
1 ) 从那时起我就没再遇到过这个问题。 摸摸木头之类的。
答案2
尝试进入 guake 偏好设置,然后在一般的标签确保留在上面已检查失去焦点时隐藏未选中。(虽然这些设置没有解释为什么它隐藏了,但AltGr它们可能会有所帮助。)
更新:我编写了一系列命令来向我们展示按键时的被动抓取。(遗憾的是,我找不到更简单的方法来显示被动抓取,因为 XF86LogGrabInfo 仅显示主动抓取。)因此,请运行此命令并发布其输出,以便我们了解是否有东西正在抓取该 AltGr 键:
xdotool keydown "ISO_Level3_Shift"; sleep 1; xdotool key "XF86LogGrabInfo"; xdotool keyup "ISO_Level3_Shift"; tail /var/log/Xorg.0.log
要不就
xdotool keydown "ISO_Level3_Shift"; xdotool key "XF86LogGrabInfo"; xdotool keyup "ISO_Level3_Shift"; tail /var/log/Xorg.0.log
(上面的代码会触发 AltGr 按键事件,所以你的 guake 终端会在执行过程中隐藏/取消隐藏,所以最好从例如运行此命令gnome-terminal
。如果 guake 没有隐藏/取消隐藏,那么你的布局就有问题,因为你的 AltGr 没有映射到 ISO_Level3_Shift)
更新,因为看起来这可能是布局问题。
首先,我会尝试切换到不同的布局,并测试 AltGr 是否在其他布局中运行良好(Dash->键盘布局,然后按下标志+
以调出其他布局)。您可以尝试不同的瑞典语布局或其他北欧/东欧语言的布局(至少我知道这些语言使用的是 AltGr,但当然不要切换到西里尔语,如俄语或塞尔维亚语。)虽然问题不太可能出在某些官方布局上,但更可能是官方布局的一些微调问题。因此,如果您以某种方式修改了布局,请删除这些修改并再次检查。
接下来,您可以使用xev
键盘符号测试您的 AltGr 报告的内容。启动xev
,单击其窗口,按 AltGr,查看输出。但如果它导致 Focus-Out 事件,则很可能不会捕获它。在这种情况下,尝试使用 来xev -root
监视根窗口,也许您的 altgr 正在转到那里。(后者不会绘制窗口,因此只需按 AltGr 并查看是否有一些有用的输出。)
您还可以转储键盘布局,然后xkbcomp $DISPLAY output.xkb
使用文本编辑器检查 output.xkb 文件,它应该包含以下内容
key <RALT> {
type= "ONE_LEVEL",
symbols[Group1]= [ ISO_Level3_Shift ]
};`
(至少对我来说它确实包含了这一点并且我的 AltGr 工作正常。)
您还可以检查您的键盘是否有一些已打开的修饰键,并且可能会改变 AltGr 的行为。
更新 3,我认为这是你最有可能的情况
请检查您是否可能受到此错误的困扰:https://bugs.launchpad.net/ubuntu/+source/unity/+bug/971462
虽然我从来没有遇到过 HUD 方面的这种问题,但有些人似乎遇到了。
该错误报告的对话中有一个解决方法:
系统设置 > 键盘 > 快捷键 > 启动器 > 键以在右侧 Alt 键上显示 HUD。
但当然,最好将其更改为左 Alt 键,不知道他为什么建议使用右 Alt 键。对于我来说,我确实Alt L
默认使用该选项。
您也可以尝试完全禁用该快捷方式。
答案3
我也遇到了同样的问题。解决方法:
- 按住Shift+AltGr
- 发布Shift
- 输入您想要的密钥
对我有用。
答案4
我最近(Ubuntu 13.10)也发现了同样的问题。我也有瑞典语键盘,但即使我更改键盘布局,问题仍然存在。我测试了命令: xkbcomp $DISPLAY output.xkb
但一切似乎都正确。