我在/usr/share/X11/xkb/symbols/us中有一个定制的键盘布局。每次更新时,该文件都会更新到标准键盘布局。是否有一种方法可以永久地改变这一点,或者有一种方法可以在远离发行版配置的用户空间中改变这一点?
如果有更好的方法来处理定制键盘布局,请告诉我。据我所知,最好的方法是使用xkb符号文件,而且这些文件没有太多的文档。
谢谢。
发布于 2019-03-13 23:57:59
在/home//下创建一个与/usr/share/X11/xkb/具有相同结构的目录树。换言之:
$ tree -L 1
.
├── compat
├── geometry
├── keycodes
├── rules
├── symbols
└── types因此,将相关文件放入compat、symbols等。显然,您不需要创建空目录,只需要为您需要的文件创建目录。
然后考虑将符号文件重命名为与us不同的文件。可能有一种方法可以将您自己的us符号文件从/usr/share/X11/xkb/下的文件中消除歧义,但是只选择一个不出现在/usr/share/X11/xkb/symbols/中的新名称就更容易了。mine会做的很好。
假设您将自定义Xkb目录放置在/home//my-xkb,并且您的自定义符号文件名为mine。
如果使用setxkbmap(1)设置布局,只需更改它以打印其输出并将其输送到xkbcomp(1)。因此,如果这是您的setxkbmap调用:
setxkbmap mine您需要将其更改为:
setxkbmap mine -print |
xkbcomp -I"/home//my-xkb" - "$DISPLAY"发布于 2023-02-22 15:44:18
Guildenstern的解决方案与我的系统不起作用,所以我不得不寻找一个不同的解决方案。我做了以下工作:
/etc/X11/xinit/xinitrc.d/中创建了一个名为D9的bash脚本,其内容如下:#!/bin/bash -q /home/neo/..config/neo/xkb/符号/us/usr/share/x11/xkb/符号/us >/dev/null如果这样做cp /home/neo/..config/neo/xkb/符号/us/usr/共享/x11/xkb/符号/us~/.xinitrc内部运行的,在需要的时候用我的自定义版本替换标准的键绑定,并且(最好的是)在显示登录提示符之前,所以当我必须输入密码时,我的绑定是活动的。https://unix.stackexchange.com/questions/504158
复制相似问题