(只要 Mode_switch/ISO_Level3_Shift 分配给 Alt Gr 的键码 - 如果将 Mode_switch 和 ISO_Level3_Shift 分配给不同的键,则最多可以为一个键分配六个字符!)。
请告诉我将 6 个字符转换为一个 कey(k 改为 क)的一般步骤?
答案1
将如下行放入您的~/.Xmodmap
:
keycode 0x2D = k K U03BA U039A U0915 U05DB U0137 U0136
可以通过运行xev
并按下按键来获取键码。如果您从已知状态开始,例如美国键盘布局,则可以使用已分配给该键的键符,例如
keycode k = k K U03BA U039A U0915 U05DB U0137 U0136
符号右边的8列=
依次对应裸键、、、+ Shift、以及这四个。AltGrAltGrShiftISO_Level3_Shift
符号右侧的单词=
是键盘符号。您可以在 中找到有效的键盘符号名称/usr/include/X11/keysymdef.h
(或您的发行版放置 的任何位置keysymdef.h
);查找格式为 的行#define XK_foo 0xabcd /* ... */
:foo
是键盘符号名称。您还可以使用 U1234,其中1234
是十六进制的 unicode 字符数(对于像 这样的“异国情调”字符क
,这通常是唯一的选择)。
最后警告:在 X 下配置键盘有两种方法。Xmodmap 是简单的方法。Xkb 是另一种方法;它更强大,更复杂,文档更少。有时 xkb 设置会阻止 xmodmap 设置工作:xkb 配置会影响 xmodmap 列对应的修饰符。