我的控制键不起作用,如何解决?


10

我右边的控制键无法正常工作。例如,向右ctrl + T不会在firefox中打开新标签页,向右ctrl + w不会在vim中切换窗口,等等。

我知道该键在物理上并没有损坏,因为xev表明正确的ctrl键会生成事件,但它并没有像我期望的那样在应用程序中响应。

在此处输入图片说明

我尝试了金的答案,但仍然无法正常工作。

blaine@blaine-laptop ~ $ xmodmap -pke | grep 105
keycode 105 = Control_R Control_R Control_R Control_R Control_R

试图映射为Control_L,也没有用。


该计算机是便携式计算机,我无法将键盘插入另一台计算机。


侏儒,我想?您当前的键盘设置是什么?
约翰·T

是的,侏儒。我正在使用Ubuntu 9.10。请参阅我为键盘设置添加的屏幕截图。
Blaine Lafreniere 2009年

如果将其插入另一台计算机,是否可以使用?电脑上是否可以使用其他键盘?
Daniel

这是一台笔记本电脑,我无法将其插入另一台计算机
Blaine Lafreniere 2010年

Answers:


11

我在运行VMWare时在gnome中遇到了相同的问题,并通过运行以下命令修复了它:

setxkbmap

我不知道该命令的作用,但对我有用!安装VMWare确实会影响您的键盘映射。但是,每当我从VMWare切换回去时,我都必须这样做:(
Autodidact

也为我工作。如果在使用VMware Player时或之后,Ctrl键停止注册,则需要setxkbmap不带任何参数地运行。
RAKK

7

采用

 xev | grep -i keyrelease -A5

然后按向右ctrl键找到其键控代码。假设它是105,就像在我的键盘上一样。然后看看

xmodmap -pke | grep 105

告诉我们。应该是这样的:

keycode 105 = Control_R NoSymbol Control_R NoSymbol Control_R

如果不是,您可以使用以下方法进行更改:

xmodmap -e 'keycode 105 = Control_R NoSymbol Control_R NoSymbol Control_R'

看看现在是否有效。如果是这样,请将此行放入脚本中,然后将该脚本添加到启动应用程序中。


我已经尝试过了,但是它仍然没有响应。Ctrl + T在Firefox中不产生任何结果,而Ctrl + Shift + T在终端中不产生任何结果。xmodmap -pke | grep 105确实显示它已映射到Control_R,但是它的行为并不像我想的那样。我需要做些重新初始化吗?例如,新字体需要fc-cache -f -v才能被识别。
布莱恩·拉弗里尼尔

您是否在使用某些按键组合时遇到麻烦,否则按键可以正常工作吗?还是根本不起作用?如果是前者,则可能是您为Control_R T和Conntrol_R Shift T配置了compiz键盘快捷键,并且compiz优先于firefox和gnome-terminal。
金(Kim)

除了在xev中,它似乎根本不起作用。不需要ctrl的按键组合都不能与右ctrl一起使用,但是所有需要ctrl的按键组合都可以与左ctrl一起使用。
Blaine Lafreniere

我试图在compiz管理器中将高级效果变为无,这是同样的问题。
Blaine Lafreniere

作为最后的选择,我尝试将其设置为Control_L。
金(Kim)

3

您可能需要修复修饰符映射。

做一个

 xmodmap -pke > my.xmodmap

使用xev检查控制键的扫描代码,并确保在该文件中正确设置了它们。

例如对我来说:

 ...
 keycode  37 = Control_L NoSymbol Control_L NoSymbol Control_L
 ...
 keycode 117 = Control_R NoSymbol Control_R NoSymbol Control_R
 ...

在此文件的末尾,添加:

 clear Control
 add Control = Control_L Control_R

(顺便说一句,您可以通过不带参数运行'xmodmap'来查看修改器。)

然后反馈修改后的映射文件:

 xmodmap my.xmodmap

1

我在运行GNOME Shell时遇到相同的问题;最明显的是运行Mono应用程序和一些游戏(例如Kerbal Space Program,它使用左Ctrl)。

我使用GNOME调整工具解决了它;在“键盘和鼠标”下,确保禁用“显示指针的位置”。


我真的很生气,这行得通!:/
mehdy

0

在您发布的屏幕快照中点击“布局选项”。有什么大胆的吗?在设置下是否检查了对权限的控制?


只有一个粗体部分,并且选中的唯一选项是alt + capslock,将我的键盘布局从德国更改为美国
Blaine Lafreniere 2010年

德国?您在该窗口的所有设置下都看过吗?我敢打赌,您拥有作为alt_gr或compose或ke之类的名称的正确控件。
user23307'1

0

我的键盘上没有右键CTRL,但是我有插入键。我运行xev并按插入。我看到插入生成键代码106。

现在,要将我的插入键(键码106)映射到Right CTRL,我可以执行以下操作并正常工作(例如Google Chrome中的Ctrl + T)。也许对您有帮助。

xmodmap -e 'keycode 106 = Control_R' -e 'clear Control' -e 'add Control = Control_L Control_R'

我将此行放入〜/ .xinitrc和〜/ .xsession中,以设置X启动时的重新映射。


0

Ctrl在Firefox中无法使用也遇到了同样的问题。这是为我解决的问题:转到Compiz->常规->常规选项->键绑定。如果包含任何组合Ctrl,请更改为其他名称,例如Shift

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.