我刚刚在 Windows 7 中安装了 VirtualBox(来自 Oracle),并使用最新的 Ubuntu 创建了一个虚拟机。
在 Firefox 中,我可以使用左侧的 Ctrl 键,而右侧的 Ctrl 键则没有任何效果。但是,我无法使用 AltGr 键(也称为右 Alt)来生成例如像 {} 这样的大括号(我通过 Ctrl V 粘贴了它)。
在终端窗口中,我可以将“输入法”切换为“Multipress”,然后我可以使用 AltGr 键入例如 {},这就是我为本次发布生成这些字符的方式。然而,对于“Multipress”,Ctrl 键似乎没有任何效果。因此,为了例如键入 Ctrl DI 必须右键单击并将“输入法”切换为“系统(IBus(智能输入总线))”。那么 AltGr 就不起作用了。
我尝试在系统设置键盘布局中指定撰写键。
这样,Ctrl 和 AltGr 都不起作用了。
以下是 xmodmap 的报告内容:
[~] $ xmodmap -pke | $ xmodmap -pke | grep -i 控制 键码 37 = Control_L NoSymbol Control_L 键码 105 = Control_R NoSymbol Control_R [~] $ xmodmap -pke | $ xmodmap -pke | grep -i 替代 键码 64 = Alt_L Meta_L Alt_L Meta_L 键码 204 = NoSymbol Alt_L NoSymbol Alt_L [~] $_
我怎样才能解决这个问题?
附加信息:键盘是标准 PC 键盘,Logitech K120,采用挪威布局。
另外,我第一次尝试问这个问题在超级用户站点但2天后没有回复...
答案1
运行命令xev
。在 xev 窗口中,按AltGr键。你会看到类似的东西
KeyPress event, serial 29, synthetic NO, window 0x6400001,
root 0x105, subw 0x0, time 966635535, (243,-207), root:(1891,26),
state 0x0, keycode 66 (keysym 0xff7e, Mode_switch), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
记下键码;因为关键不是做你想做的事,你会看到其他东西(可能Alt_R
)而不是Mode_switch
。您想要将此键码分配给Mode_switch
,这是 X11 中 AltGr 的名称。将以下命令放入主目录中名为.Xmodmap
(注意大写)的文件中:X
keycode 66 = Mode_switch
此外,您可能需要为 分配一个修饰符Mode_switch
,但如果发生的只是键码差异,那么就已经存在了。看设置西班牙语 eñe 字母的键了解更多信息。
运行xmodmap ~/.Xmodmap
以测试您的文件。在许多系统上,包括 Ubuntu 10.04,该文件会在默认的 Gnome 环境中自动加载。在其他发行版或环境中,您可能需要xmodmap ~/.Xmodmap
在登录时明确指示要运行。