Mac Air 和 Ubuntu 上的波浪号键

Tim*_*fey 11 keyboard keyboard-layout macbook 14.04 16.04

默认情况下,我的 Macbook Air 上的任何布局都不允许我打印反引号 (`) 和波浪号 (~) 符号。相反,根据布局,我得到反斜杠、管道或其他任何东西。

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

xev
<press tilde button>
keycode <keycode from xev output> = grave asciitilde >~/.Xmodmap
xmodmap ~/.xmodmaprc 
Run Code Online (Sandbox Code Playgroud)

(说明基于这些/sf/ask/1243006271/

但不幸的是,在我切换布局后,我再次获得了默认行为。

如何使这些更改永久化?

小智 22

由于某种原因,适用于 Timofey 的解决方案对我不起作用。然而,一个有效的解决方案是把这条线

echo 0 > /sys/module/hid_apple/parameters/iso_layout
Run Code Online (Sandbox Code Playgroud)

进入/etc/rc.local

这个建议来自这里:

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

通过

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

  • 也适用于 16.04 (3认同)

Tim*_*fey 6

好的,我解决了这个问题。

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

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

key <LSGT> {    [ less, greater, bar, brokenbar ] };
Run Code Online (Sandbox Code Playgroud)

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

key <LSGT> { [ grave, asciitilde, grave, asciitilde ] };
Run Code Online (Sandbox Code Playgroud)

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

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

rm -rf /var/lib/xkb/*
Run Code Online (Sandbox Code Playgroud)