首先,检查这出。
这是我的版本.xsession:
#! /usr/bin/env sh
GTK_IM_MODULE=xim
QT_IM_MODULE=xim
xmodmap ~/.Xmodmap-Apple
Run Code Online (Sandbox Code Playgroud)
和相应的~/.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
Run Code Online (Sandbox Code Playgroud)
在 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)" };
};
Run Code Online (Sandbox Code Playgroud)
这是您的符号地图: xkb_symbols ... macintosh_vndr/apple(alupckeys)
在 Ubuntu 中,我们在这里有一个苹果键盘的映射:'/usr/share/X11/xkb/ symbols/macintosh_vndr/apple '。首先,备份这个文件。这个文件有几个部分,每个部分都是这样开始的:
xkb_symbols "extended" {
xkb_symbols "laptop" {
xkb_symbols "laptop_bad_switch" {
xkb_symbols "alukbd" {
xkb_symbols "alupckeys" {
Run Code Online (Sandbox Code Playgroud)
后者的映射"alupckeys",替换F13-F15与PrintScreen,ScrollLock,Pause。如果您缺少这些键,请使用它:)
从上面的命令输出中选择您获得的部分,并在}该部分的最后部分之前附加以下内容:
key <LSGT> { [ grave, asciitilde, grave, asciitilde ] };
};
Run Code Online (Sandbox Code Playgroud)
现在,重新启动 X. Yeehaw,享受在正确位置上的波浪号键 :)
此命令还可以帮助:
$ setxkbmap -option "apple:alupckeys" -print | xkbcomp - $DISPLAY
Run Code Online (Sandbox Code Playgroud)