我用setxkbmap dk
。
我需要将alt gr
+j
组合映射到尚未包含在布局中的字符。目前,alt gr
+j
映射为空。
我想这样做的原因是我可以将字符代码(任何字符alt gr
+j
产生的)映射到 vim 中的某些内容,使用这种技术。
答案1
快速的方法是修改/usr/share/X11/xkb/symbols/dk
文件,而更复杂的方法是创建一个新的布局,并且不要过多地破坏这些默认文件。
您可以在文件中添加您的自定义dk
,例如:
default partial alphanumeric_keys
xkb_symbols "basic" {
include "latin(type2)"
name[Group1]="Danish";
key <AE11> { [ plus, question, plusminus, questiondown ] };
key <AE12> { [dead_acute, dead_grave, bar, brokenbar ] };
key <AC10> { [ ae, AE, dead_acute, dead_doubleacute ] };
key <AC11> { [ oslash, Ooblique, dead_circumflex, dead_caron ] };
key <TLDE> { [ onehalf, section, threequarters, paragraph ] };
key <BKSL> { [apostrophe, asterisk, dead_doubleacute, multiply ] };
key <LSGT> { [ less, greater, backslash, notsign ] };
// customization
key <AC07> { [ j, J, VoidSymbol, VoidSymbol ] };
// end of customization
include "kpdl(comma)"
include "level3(ralt_switch)"
};
将 VoidSymbol 更改为您想要获取的符号。对于符号列表,看这里
如果您要包含更多自定义内容,您可以遵循与/usr/share/X11/xkb/symbols
通过以下方式找到的文件相同的结构:
- 创建一个新文件,例如
cust
- 创建部分定义,例如
partial alphanumeric_keys xkb_symbols "vim" {
// add your customization here
};
- 在 dk 文件中(或者在您的自定义文件中,如果您从头开始)添加
include "cust(vim)"
正如您可能意识到的那样,您可以通过不同的方式做到这一点。 “建议从头开始创建并保留默认文件不变(例如,它们可能会在系统更新中被覆盖)。我个人更喜欢创建自定义文件并“包含”在默认文件中,因为它更容易,例如,要使用 gnome 设置查找和更改布局,并且,如果文件被覆盖,我只需要添加“include x(y)”即可。