AltGr 键不适用于 VirtualBox 中的 Ubuntu

Alf*_*ach 8 xorg keyboard virtualbox xmodmap

我刚刚在 Windows 7 中安装了 VirtualBox(来自 Oracle),并使用最新的 Ubuntu 创建了一个虚拟机。

在 Firefox 中,我可以使用左侧的 Ctrl 键,而右侧的没有任何效果。但是,我不能使用 AltGr 键(也称为 Right Alt)来生成例如 {} 之类的花括号(我通过 Ctrl V 粘贴了它)。

在终端窗口中,我可以将“输入法”切换为“Multipress”,然后我可以使用 AltGr 键入例如 {},这就是我为这篇文章生成这些字符的方式。但是,使用“Multipress”时,Ctrl 键似乎没有任何效果。因此,例如键入 Ctrl DI 必须右键单击并将“输入法”切换为“系统(IBus(智能输入总线))”。然后 AltGr 不起作用。

我尝试在系统设置键盘布局中指定撰写键。

这样,Ctrl 和 AltGr 都不起作用。

这是 xmodmap 报告的内容:

[~]
$ xmodmap -pke | grep -i 控制
键码 37 = Control_L NoSymbol Control_L
键码 105 = Control_R NoSymbol Control_R
[~]
$ xmodmap -pke | grep -i alt
键码 64 = Alt_L Meta_L Alt_L Meta_L
键码 204 = NoSymbol Alt_L NoSymbol Alt_L
[~]
$_

我怎样才能解决这个问题?

附加信息:键盘是标准 PC 键盘,罗技 K120,挪威语布局。

另外,我第一次尝试在超级用户网站上问这个问题但两天后没有回应......

Gil*_*il' 5

运行命令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
Run Code Online (Sandbox Code Playgroud)

注意键码;因为关键不是做你想做的,你会看到别的东西(可能Alt_R)而不是Mode_switch. 您想将此键码分配给Mode_switch,这是 AltGr 的 X11 名称。将以下命令放入主目录中名为.Xmodmap(note capital X) 的文件中:

keycode 66 = Mode_switch
Run Code Online (Sandbox Code Playgroud)

此外,您可能需要为 分配一个修饰符Mode_switch,但如果所有发生的都是键码差异,那么就会有一个。有关详细信息,请参阅设置西班牙语 eñe 字母的键

运行xmodmap ~/.Xmodmap以测试您的文件。在包括 Ubuntu 10.04 在内的许多系统上,此文件会在默认的 Gnome 环境中自动加载。在其他发行版或环境中,您可能需要xmodmap ~/.Xmodmap在登录时明确指出要运行。