我在 Ubuntu 16 上使用 Mac 加拿大多语言键盘,如下所示。加拿大多语言文本输入选项几乎可以正常工作,但我遇到了以下问题。
和互换left alt了right alt。我必须按下right alt键才能写出括号
{
和}
(这使得在 Latex 中编码和书写非常困难)。ù和的键/也互换。
我该如何解决这个问题?我尝试了本网站(以及其他地方)相关帖子中建议的所有方法,但无济于事。
我尝试使用英语配置我的键盘,只在必要时切换到法语,但这让我浪费了太多时间。
笔记:对于法裔加拿大 Ubuntu 用户来说,这个问题非常严重。我必须将 MacBook Air 放在 Ubuntu 桌面旁边才能写电子邮件和使用 Latex 书写。
尝试修复:
使用
xev
,我发现左 alt 键的键码为 64,注册为 Alt_L,右 alt 键的键码为 108,注册为 ISO_Level3_Shift。该命令xmodmap -e "keycode 64 = ISO_Level3_Shift"
使左 alt 键无响应,但问题并未解决。在文件 '/usr/share/X11/xkb/symbols/ca' 中,我交换了以下两行之间的内容(括号中的内容):
key <TLDE> { [ slash, backslash, bar ] }; key <LSGT> { [ ugrave, Ugrave ] };
在文件 '/usr/share/X11/xkb/symbols/level3' 中我交换了所有 LALT 和 RALT 的外观。
答案1
应避免编辑软件包所拥有的文件xkb-data
,因为如果软件包更新,更改将会丢失。在这种情况下,有一种更直接的方法来实现您想要的效果。
因此,我建议您首先通过运行以下命令重置所做的更改:
sudo apt install --reinstall xkb-data
然后您可以使用 XKB 选项。要更改当前会话中的行为,您可以运行以下命令:
setxkbmap -option "lv3:lalt_switch,lv3:ralt_alt,apple:badmap"
如果这样做符合您的要求,您可以打开文件/etc/default/keyboard
进行编辑并更改此行以使更改持久化:
XKBOPTIONS=""
到
XKBOPTIONS="lv3:lalt_switch,lv3:ralt_alt,apple:badmap"
答案2
错误的方法(参见其他答案)
要交换左右 alt 键,请访问文件 '/usr/share/X11/xkb/symbols/level3':
sudo gedit /usr/share/X11/xkb/symbols/level3
并交换字符串<LALT>
及其<RALT>
出现的所有位置。
要交换对应于“ù”和“/”的键(针对加拿大多语言布局),请访问文件“/usr/share/X11/xkb/symbols/ca”:
sudo gedit /usr/share/X11/xkb/symbols/ca
并交换键的内容(括号“[”和“]”之间的内容)<TLDE>
和<LSGT>