我通过编辑不同的文件为我的区域语言创建了自定义键盘布局。除了一个问题之外,它工作正常。其中一个字符需要三个 Unicode 字符的组合,即我希望通过一次击键发出所有三个字符。请帮助我这样做。
人物如下
ক + ্ + ষ --> ক্ষ
U0995 + U09CD + U09B7 --> ক্ষ
该组合必须从 key 的第三个字符发出key <AB04>
,如下所示。
我向该文件添加了一个语言文件/usr/share/X11/xkb/symbols
和一个条目/usr/share/X11/xkb/rules/evdev.xml
。
从我添加的文件中摘录:
// shift, z to /
// key <LFSH> { [ Shift_L ] };
key <AB01> { [ U09A2, U09A7, U09B7, voidsymbol ] };
key <AB02> { [ U09A3, U09A8, U09B8, voidsymbol ] };
key <AB03> { [ U09AA, U09AF, U09B9, voidsymbol ] };
key <AB04> { [ U09AB, U09F0, voidsymbol, voidsymbol ] };
key <AB05> { [ U09AC, U09B2, U09DC, voidsymbol ] };
key <AB06> { [ U09AD, U09F1, U09DD, voidsymbol ] };
key <AB07> { [ U09AE, U09B6, U09DF, voidsymbol ] };
您需要将字母ক্ষ添加到该行左起第6个键的第3个位置Shift。
我正在使用 Linux Mint 21.3。
编辑:有效方法:可以使用一个 Unicode 字符编写的所有字母或字符都可以使用我的自定义符号文件编写。字符ক্ষ是三个Unicode字符的组合,不能这样写。
请参阅图像中字母表中倒数第二行的第一个字母。我无法一键写入它,因为U0995 + U09CD + U09B7
无法添加到文件中。这是行不通的。
维基百科参考:阿萨姆语字母表。
答案1
用于XCompose
定义自定义撰写键序列。使用XCompose
,您可以定义自定义撰写键序列以通过单次击键发出复杂字符或字符组合
vi ~/.XCompose
<Multi_key> <k> <c> : "ক্ষ" # Add your desired key combination here
通过重新启动XCompose
X 会话或通过
xim -R
调整此方法以获得所需的结果,即当您按下compose key
后跟所选的组合键(例如<Compose> + k + c
)时,它应该发出combined character ক্ষ
。
1 关键解决方法
上面的答案是针对组合键的。如果你想用一把钥匙来实现这一点,生活会更艰难!你必须custom key
在你的keyboard layout configuration
使用中定义一个custom keymaps and XKB extensions
定义自定义键:编辑键盘布局配置文件
(/usr/share/X11/xkb/symbols/your_layout)
并将 a 分配keycode
给自定义键。key <AB04> { [ custom_key_symbol ] };
写一个
Custom XKB Extension
:
它应该侦听自定义键并发出C 或其他兼容语言key press event
的序列Unicode characters corresponding to ক্ষ (U+0995 + U+09CD + U+09B7
- 安装并加载扩展:编译
custom XKB extension
并安装。然后,配置 为与您的一起XKB environment
加载extension
keyboard layout.
评论:您能否提供有关如何实现“使用自定义键盘映射和 XKB 扩展在键盘布局配置中定义自定义键”的指导?关于如何定义自定义键。
/usr/share/X11/xkb/symbols/
在(mkdir
如果不存在)目录中编辑键盘布局文件 。
识别键码:确定要分配给自定义键的键码。键码代表键盘上的物理键。
选择自定义按键符号:
编辑键盘布局配置:
- 导航到包含键盘布局文件的目录,通常位于
/usr/share/X11/xkb/symbols/
. - 找到适合您的语言或布局变体的布局文件。例如美国布局,其文件并使用(或等效方法)
us
编辑它vi
- 通过向布局文件添加条目来定义自定义键。使用选择的自定义键符号并将其分配给所需的
keycode
。 command 在控制台上showkey
显示keycode
按下的按键。在终端中运行它并按任意键查看其键码。
```bash
key <AB04> { [ custom_key_symbol ] };
```
Replace `<AB04>` with keycode of key you want to customize, & `custom_key_symbol` with name of your custom key symbol.