我是新来的,所以如果我做错了什么,我很抱歉。
所以...我注意到我的大写锁定键只有在我松开键时才会停用。我只需按下该键即可激活它,但要关闭它,我需要松开我按下的键。这真的让我很烦恼。
我尝试进入 xkbmap 文件并更改大写锁定的配置,插入
key <CAPS> {
repeat=no,
type[group1]="ALPHABETIC",
symbols[group1]=[ Caps_Lock, Caps_Lock],
actions[group1]=[ LockMods(modifiers=Lock), Private(type=3,data[0]=1,data[1]=3,data[2]=3)]
};
但它没有起作用。
有人能帮我解决这个问题吗?我正在使用 Ubuntu 20.04。
答案1
对我来说,一个可行的解决方案是将 CAPS LOCK 定义添加到 xkb 的符号文件(可在 中找到)中/usr/share/X11/xkb/symbols
。每个布局都有自己的文件,例如us
、de
、fr
分别代表美国、德国和法国。
第一的:假设您正在使用us
布局,您可以创建自定义符号文件并将其命名为类似custom
。您可以在其中填充您的自定义内容:
partial xkb_symbols "caps_lock_unlock_patch" {
key <CAPS> {
repeat=no,
type[group1]="ALPHABETIC",
symbols[group1]=[ Caps_Lock, Caps_Lock ],
actions[group1]=[ LockMods(modifiers=Lock), Private(type=3,data[0]=1,data[1]=3,data[2]=3) ]
};
};
第二:转到当前布局文件并包含指向您的自定义的指针:
default partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {
name[Group1]= "English (US)";
key <TLDE> { [ grave, asciitilde ] };
...
// rest of customization of basic US file
...
key <BKSL> { [ backslash, bar ] };
// include your customization here
include "custom(caps_lock_unlock_patch)"
// the syntax is include "NAME_OF_FILE(NAME_OF_PARTIAL_SYMBOLS_DEFINITION)"
};
您也可以直接在符号文件中添加块us
,但我相信将事情分开会更好,特别是如果您想将相同的自定义应用于多个布局,并且自定义文件不应该在更新中被覆盖,而默认文件可能会被覆盖。
您也可以从头开始创建一个全新的布局(include "us(basic)"
例如,您可以始终包含其他布局,然后使用自定义布局代替默认布局。或者,您可以操作通常不使用的布局,以防万一您想在不进行任何自定义的情况下切换回您的首选布局。
最后,一个小提示:避免直接在 中编辑文件/usr/share/X11/xkb/
,最好在主文件夹中为自定义项创建一个文件夹,并将这些文件符号链接到 xkb 文件夹。如果您修改了默认文件,请创建它们的副本,以防万一您搞砸了并需要恢复任何更改。