@Daniel的答案为我指出了正确的方法,但我想在此方面继续。
适用于Linux Mint 17.2和Ubuntu 16.04。
我尝试了所有可以继续使用的方法xmodmap
,但是当系统进入睡眠模式时,它们都将失败。甚至setxkbmap
在* settings-daemon(对我来说是xfce4)运行晚于脚本的情况下使用的启动应用程序脚本也是如此---并不能真正影响顺序。
我最终想出的东西具有以下成分:
1)为编写一个最小的键盘映射文件/usr/share/X11/xkb/symbols
。让我们调用文件mylayout
可以简单到
xkb_symbols "basic" {
name[Group1] = "My Layout";
include "us"
key <AE03> { [ 3, numbersign, sterling, sterling] };
include "level3(ralt_switch)"
}
basic
只是一个名字,我们稍后再见。
- 在
name[Group1]
同样只是它似乎是一个名字,但后来将不起任何作用。
include "us"
包括普通美国键盘。实际上us
是同一目录中的另一个文件。这是我们正在适应的键盘布局。根据需要选择另一个。注意:此行末没有分号。
- 该
key
行是键盘的一种改编,更多可以跟随。该<AE03>
可下的文件中找到/usr/share/X11/xkb/keycodes
。使用该xev
程序确定“ 3”键的键码为12,并在键码文件Xfree86
中映射为<AE03>
。
- 最后是另一个
include
指令,用于激活另一个键盘选项,在这种情况下,我想让正确的Alt键成为3级切换键,即可以访问sterling
上面定义的符号的键。level3
只是同一文件夹中ralt_switch
一部分的文件名。环顾四周,然后选择您需要包括的内容。
2)我并没有把mylayout
到系统文件夹中。相反,我只是从系统文件夹到自己喜欢的文件夹进行了软链接,以立即看到这不是储备软件。
3)而且我也不能修复了evdev.xml
,再次以防止更新的麻烦。但这对于在键盘配置编辑器中找到mylayout很有必要(对于xfce4是xfce4-keyboard-settings
)。相反,我用xfce4-settings-editor
和改变keyboard-layout->XkbLayout
,以mylayout
(文件名),并XkbVariant
以basic
(见上文)。之后,mylayout/basic
也会显示在键盘设置编辑器中。evdev.xml
似乎只需要输入一项就可以选择布局。
这样,键盘设置现在可以在睡眠模式下继续运行并重新启动。
可以在这里找到更多背景信息:http : //www.charvolant.org/~doug/xkb/html/node5.html。
可以在这里找到解决睡眠模式问题的另一种方法(自己没有尝试过):https : //www.vinc17.net/unix/xkb.en.html。
更新:如上所述,我在更改xfce4-settings-editor中的设置的同时,也使用了Mint 18.3。
更新:使用18.04,gdm3作为显示管理器和XFCE4作为窗口管理器,看起来好像再次读取〜/ .Xmodmap,并且设置似乎在挂起后仍然存在。(我很少使用suspend,也永远不确定笔记本电脑当时处于哪种模式。)