使用Ubuntu的Mac Air上的Tilde键


10

默认情况下,Macbook Air上的任何布局都不允许我打印反引号(`)和波浪号(〜)符号。相反,我会得到反斜杠,竖线或其他内容,具体取决于布局。

我使用以下命令更改了用于打印波浪号的键的行为:

xev
<press tilde button>
keycode <keycode from xev output> = grave asciitilde >~/.Xmodmap
xmodmap ~/.xmodmaprc 

(说明基于这些/programming/17757232/switch-tab-and-backtick-keys-ubuntu-linux

但不幸的是,切换布局后,我又得到了默认行为。

如何使这些更改永久生效?


这也是我也在寻找一个简单解决方案的问题。只是要补充一点,问题在于Ubuntu 14.04 xmodmap不再起作用。它的更改会定期(在我的情况下为几分钟)被xkb覆盖。我不是这方面的专家,并且还在寻找解决方案。这只是为了通知您此问题的原因。
Boaz Rymland 2014年

@BoazRymland我自己解决了这个问题,只是忘了报告。您可以在下面找到解决方案,希望它对您有所帮助。
Timofey 2014年

谢谢!我稍后再试。我不喜欢编辑系统文件(或怀疑如此但缺乏更好了解的文件)的想法,但我很好奇,想解决这个问题。再次感谢!
Boaz Rymland 2014年

我的Macbook芬兰语键盘上甚至没有波浪号按钮。
jarno

Answers:


22

适用于Timofey的解决方案由于某些原因对我不起作用。然而,一个可行的解决方案是

echo 0 > /sys/module/hid_apple/parameters/iso_layout

进入/etc/rc.local

这个建议来自这里:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1245081

通过

https://stdio.sangwhan.com/backtick-tilde-problem-macbook-air/


3
在16.04中也可以使用
理查德·弗兰克

也适用于MacBook Pro
Lambart '16

在Macbook Pro 12,1 w / debian上工作
杰里米

1
这个根深蒂固的解决方案莫名其妙地停止了对我的工作。我不再能够编辑此文件,因此将代码放入中rc.local无效。还有其他人遇到这个问题吗?
Csteele5

6

好的,我解决了问题。

首先,xmodmaprc在Ubuntu 14.04中不起作用。解决方法是编辑xkb(X KeyBoard扩展名)配置文件。

查找文件/usr/share/X11/xkb/symbols/pc,备份文件,然后打开并注释掉该行:

key <LSGT> {    [ less, greater, bar, brokenbar ] };

在下一行,添加以下内容:

key <LSGT> { [ grave, asciitilde, grave, asciitilde ] };

如果需要更改其他语言环境的配置,请检查文件夹/usr/share/X11/xkb/symbols/并找到与要更改的语言环境相对应的文件。

要应用更改,您必须删除所有xkb缓存文件:

rm -rf /var/lib/xkb/*

重新启动后即可工作。可在ubuntu 16.04LTS以及elementaryOS上工作
Kajal Sinha

1
这是一个比@yasmar更正确的答案,因为它可以纠正系统配置,而不是在应用后覆盖它。
bschlueter '17

0

可以作为非特权用户使用的另一种解决方案是:

setxkbmap -option apple:badmap

作为特权用户,它还可以用于解决键盘设备X配置中的问题,例如:

# /etc/X11/xorg.conf.d/90-custom-kbd.conf
Section "InputClass"
    Identifier "keyboard defaults"
    MatchIsKeyboard "on"

    Option "XKbOptions" "apple:badmap"
EndSection

0

在具有Mac键盘的Ubuntu 16.04上,您应该可以通过按Right Alt +]键获得波浪号。

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.