![Debian Wheezy、VirtualBox、HP DV6-7099EL 与 AltGr 的问题](https://linux22.com/image/26342/Debian%20Wheezy%E3%80%81VirtualBox%E3%80%81HP%20DV6-7099EL%20%E4%B8%8E%20AltGr%20%E7%9A%84%E9%97%AE%E9%A2%98.png)
我刚刚购买了一台 HP DV6-7099EL 笔记本电脑(意大利语键盘)。我将在一两周内安装 Debian,我只是想在不接触分区的情况下测试计算机(以防万一我在第一阶段需要硬件问题的支持/帮助)。
但 Debian 是我的主系统,我需要它来工作,所以我将它安装在 VirtualBox 中。
问题是这样的:在启动 X11 之前,我的AltGr工作方式是正确的(即它允许我输入@
#
[
]
{
}
),但在 X 中(我尝试过 XFCE、FluxBox、KDE)它停止工作,它根本不执行任何操作:
AltGr+ ò=
ò
(而不是@
)AltGr+ à=
à
(而不是#
)
使用xev
我发现代码AltGr是108,所以我尝试修改创建的键映射~/.Xmodmap
,但AltGr行为更奇怪:
AltGr+ ò= 什么都没有
AltGr+ à=
#
和回车AltGr+ è= 没有(而不是
[
)AltGr+ += 有时给出
]
(这是正确的),有时什么也没有。
顺便说一句,在 Windows 下,该键的行为完全符合预期。
编辑:按照尝试和试验 Debian live 的建议,我成功地使用以下命令让我的 AltGr 工作(即使在 virtualbox 中):
clear mod1
clear mod3
clear mod5
keycode 108 = Alt_R
keysym Alt_R = ISO_Level3_Shift
add mod3 = ISO_Level3Shift
也许三个清除太多了,但目前它似乎有效,并且$ xmodmap -pm
显示的输出ISO_Level3_Shift
只有mod3
修饰符。
在网上几乎每个人都说它AltGr被 Xorg 识别为Mode_switch
,但是这里我发现正确的名字是ISO_Level3_Shift
(或者根据经验看来是这样)。现在我太累了,我去睡觉了。再次感谢 jasonwryan 和 terdon :-)
答案1
您可以通过以下方式查看 X11 如何猜测您的键盘:
$ setxkbmap -query
rules: evdev
model: pc105
layout: br
variant: abnt2
您需要为您的键盘找到正确的布局和变体。尝试一些替代方案:
$ setxkbmap it
$ setxkbmap it qwerty #i don't know any italian variant
现在您可以保留您选择的编辑/etc/X11/xorg.conf
,通常您可以省略该xkbVariant
选项:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "br"
Option "XkbVariant" "abnt2"
EndSection