xmodmap 方式

xmodmap 方式

我有一个 Apple 铝制键盘。键的左边1是小/大 ( < >) 键,而不是重音符/波浪符 ( ` ~)。

xmodmap对我来说不起作用:布局切换(完成setxkbmap)重置了我的 xmodmap 更改。.Xmodmap文件也没有帮助。

我如何重新映射波浪号键?

答案1

xmodmap 方式

首先,检查出去。

这是我的版本.xsession

#! /usr/bin/env sh
GTK_IM_MODULE=xim
QT_IM_MODULE=xim
xmodmap ~/.Xmodmap-Apple

以及相应的~/.Xmodmap-Apple(俄语版本):

keycode 94 = grave asciitilde Cyrillic_io Cyrillic_IO
keycode 191 = Print Sys_Req Print Sys_Req Print Sys_Req
keycode 192 = Scroll_Lock NoSymbol Scroll_Lock NoSymbol Scroll_Lock
keycode 193 = Pause Break Pause Break Pause Break
keycode 49 = less greater less greater
keycode 108 = Multi_key Alt_L Multi_key Alt_L

setxkbmap 方式

在 Linux 中,setxkbmap用于切换键盘布局。可惜的是,setxkbmap&xmodmap不能一起工作:它们会重置彼此的更改 :( 您必须选择以下之一:

  • 不要切换布局
  • 每次布局切换后调用xmodmap(或制作替换脚本setxkbmap
  • 修改xkb键盘的按键映射。

我们将使用后者。首先,检查您使用的布局:

$ setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete+caps(internal)"       };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+us+ru:2+inet(evdev)+altwin(meta_win)+group(alt_shift_toggle)+compose(ralt)+eurosign(e)+terminate(ctrl_alt_bksp)+macintosh_vndr/apple(alupckeys)"    };
        xkb_geometry  { include "pc(pc104)"     };
};

这是您的符号图:xkb_symbols ... macintosh_vndr/apple(alupckeys)

在 Ubuntu 中,我们在这里有一个苹果键盘的映射:'/usr/share/X11/xkb/符号/macintosh_vndr/苹果'。首先,备份此文件。此文件有几个部分,每个部分开头如下:

xkb_symbols "extended" {
xkb_symbols "laptop" {
xkb_symbols "laptop_bad_switch" {
xkb_symbols "alukbd" {
xkb_symbols "alupckeys" {

后者映射,,"alupckeys"F13-替换F15PrintScreen,,ScrollLockPause如果您缺少这些键,请使用它:)

}从上面的命令输出中选择您获得的部分,并在该部分的末尾附加以下内容:

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

现在,重新启动 X。耶,享受将波浪号键放在正确位置的乐趣吧:)

此命令还可以帮助:

$ setxkbmap -option "apple:alupckeys" -print | xkbcomp - $DISPLAY

答案2

在官方 Ubuntu 文档中有一个专门讨论该主题的页面:苹果键盘

这里根据您的 Ubuntu 版本列出了几个修复方法。

相关内容