~`键不工作 - fedora肉桂macbook


3

我刚刚在MacBook Pro上安装了带有Cinnamon桌面的Fedora 24,我遇到了键盘问题。

当我在标签上方直接按下键时,应该是`和〜我正在取<和>。键盘上的所有其他键盘都正常工作。

我尝试了以下布局,这是他们没有和使用shift键显示的内容:

  • 英语(美国)
    • 打印<和>
  • 英语(美国,另类国际)
    • 打印\和|
  • 英语(美国国际用死键)
    • 打印\和|`和〜
  • 英语(Macintosh)
    • 打印§和±

有没有人知道如何获得正确显示`和〜的键

编辑: localectl和setxkbmap的输出

$ localectl
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us
$ setxkbmap -print
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)"    };
    xkb_types     { include "complete"    };
    xkb_compat    { include "complete"    };
    xkb_symbols   { include "pc+us+inet(evdev)"    };
    xkb_geometry  { include "pc(pc105)"    };
};

在终端中,运行命令localectl并将setxkbmap -print输出添加到您的帖子中。看到xkb标签
怪异

Answers:


3

这可能是一个已知的bug(redhatubuntuaskubuntu)。这些错误的解决方法是:

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

尝试运行该命令进行测试(您可能需要将其包装sudo sh -c "echo..."以root身份运行)。如果这样可以解决问题,可以将其置于rc.local脚本(或系统等效的)中,使其永久化,以便在引导时运行。

如果可行,它应该影响X和控制台环境中的键。下面的XKB解决方案只会影响X.


您也可以在XKB中解决此问题。在Debian / Ubuntu(可能还有其他)上,存在XKB选项apple:badmapapple:goodmap可以自动交换这些键定义。这些可以设置为在/etc/default/keyboard系统范围内生效或与setxkbmap每个用户级别的DE的键盘设置实用程序一起使用。

这些答案(unix.SEaskubuntu)建议更改系统文件(/usr/share/X11/xkb/symbols/pc/usr/share/X11/xkb/symbols/us)以更改变mac体。

建议的更改将允许加载正确的键setxkbmap -layout us -variant mac

orig:
xkb_symbols "mac" {

    include "us(basic)"
    name[Group1]= "English (Macintosh)";
    key.type[group1]="FOUR_LEVEL";

    // Slightly improvised from http://homepage.mac.com/thgewecke/kblayout.jpg
    key <LSGT> { [   section,  plusminus,       section,        plusminus ] };
    key <TLDE> { [     grave, asciitilde,    dead_grave,        dead_horn ] };


fix: swap key definitions:
    key <TLDE> { [   section,  plusminus,       section,        plusminus ] };
    key <LSGT> { [     grave, asciitilde,    dead_grave,        dead_horn ] };

(在我的Arch系统中,这是在/usr/share/X11/xkb/symbols/us;如果你的系统有它,它可能看起来不同/usr/share/X11xkb/symbols/pc,但交换键名应该是相同的。)

如果您的系统升级XKB符号数据库,您的更改可能会被覆盖,您需要再次应用此更改。请参阅我对另一个XKB问题的回答,了解将此更改作为用户自定义的方法。


您可能需要其他步骤来禁用GNOME的键盘设置(或说服他们使用您选择的设置)。


请注意,XKB(localectl list-x11-keymap-models | grep mac)中有几种基于mac的键盘模型; 其中一个可能已包含此问题的修复程序。你可以试试setxkbmap -layout us -variant mac -model macbook78
quixotic

我在MacBook Pro 2015上遇到了Ubuntu 16.10的问题。我正在使用us(mac)布局并修复了修改/ usr / share / X11 / xkb / symbols / us文件的解决方案的问题。±现在开始了<Alt_R+Shift+=>§现在开始了<Alt_R+6>
吱吱

@Creak我昨天得知debian / ubuntu及衍生品包含一个apple:badmapXKB选项来交换<TLDE>/<LSGT>定义。对于您来说,使用它(设置/etc/default/keyboard)可以避免在更改us时覆盖您的更改文件时还原的问题。
怪异

那会更清洁!改变它的命令(或步骤)是什么?
霹雳2017年

当debian xkeyboard-config从上游打包时,debian会将其添加到补丁中; 看起来不像fedora也一样。(grep -r badmap /usr/share/X11/xkb在Fedora 25上没有命中。)假设你不想切换到Debian ......你可以xkeyboard-config使用该补丁滚动你自己的rpm ...我不确定它仍然“更干净”,但它会更多维护。(如果Fedora更新了软件包,你只需根据新的源代码重新编译并使用你的修补版本。)
quixotic 2017年
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.