从 xmodmap 创建 xkb 配置

And*_*and 10 xmodmap xkb

我有一个xmodmap我使用的自定义文件,包括有用的多语言变音符号、英文引号、破折号等。我想将此地图与 一起使用kmscon,因此我需要从中创建一个xkb配置。有没有自动化的方法来做到这一点?或者甚至是一个简单的手动过程,因为我不需要经常这样做?

L. *_*rel 10

制作自己的xkb配置文件

这个想法是“读取”当前的键盘配置(不要调用xmodmap),并基于它编写自己的符号文件。第一的:

xkbcomp -xkb $DISPLAY

这创造了server-0_0.xkb. 在此文件中,采用以下块:

xkb_symbols "pc+inet(evdev)+compose(menu)+whatever(option)" {
    key <ESC> { [ Escape ] };
    ...
};
Run Code Online (Sandbox Code Playgroud)

将第一行更改为:

default xkb_symbols "my_symbols" {
    include "pc+inet(evdev)"
    include "compose(menu)+whatever(option)"
Run Code Online (Sandbox Code Playgroud)

(我认为您可以将选项分成任意多的“包含”行)。更改要修改的键并在它们前面加上override

override key <AE10>  { [ 0, parenright, degree ]};
Run Code Online (Sandbox Code Playgroud)

删除所有未更改的键。

全系统安装

将所有这些放入/usr/share/X11/xkb/symbols/my_terrific_kb. 现在用户可以使用setxkbmap my_terrific_kb(in.xinitrc.xsessionrc)加载它。也许你可以把Option "XkbLayout" "my_terrific_kb"xorg.conf为全系统的变化。

单用户安装

将所有这些放入~/anywhere/my_terrific_kb. 查找键盘的 XInput id xinput list。然后运行xkbcomp -i <XInput_id> ~/anywhere/my_terrific_kb $DISPLAY