我目前正在努力创建适合法语瑞士键盘的特定希腊键盘布局,
我创建了一个要放入的键盘布局/usr/share/X11/xkb/symbols/
(
https://github.com/grecromand/grecromand/blob/master/linux/grecromand)。
我用了代码
dead_grave
。但我想创建自己的dead_xx
.它将dead_sigma
产生一个ς
if 后跟空格或标点符号, σ
否则。
我已经理解 dead_key 被定义在/usr/share/X11/locale
但仅此而已。
我有很多问题:
- 我应该修改哪个文件?是否可以在不修改分布式文件的情况下创建这个 dead_key,以避免升级系统时出现问题?
- 我如何声明这个 dead_key ?
答案1
它实际上非常简单。
在 .XCompose 中,如果条目以字符开头,则该字符将成为死键,无论该字符的类型如何。例如,如果你写
<a> <U20>: "a"
<a> <grave>: "à"
<a> <acute>: "á"
<a> <2> <grave>: "ȁ"
每次输入“a”时,系统都会等待下一个字符。请注意,如果不支持下一个字符,则不会键入任何内容。因此,在这种情况下,“a06”将仅返回“6”。
如果您不想使用标准字符,可以使用专用区域中的字符之一,例如 (U+E700)。
因此,就您的情况而言,您所需要做的就是在文件中写入以下内容$HOME/.XCompose
。
<U3C3> <U20>: "ς "
<U3C3> <U21>: "ς!"
<U3C3> <U2C>: "ς,"
<U3C3> <U2E>: "ς."
<U3C3> <U3A>: "ς:"
<U3C3> <U3B>: "ς;"
<U3C3> <U3F>: "ς?"
<U3C3> <U3B1>: "σα"
<U3C3> <U3B2>: "σβ"
<U3C3> <U3B3>: "σγ"
<U3C3> <U3B4>: "σδ"
<U3C3> <U3B5>: "σε"
<U3C3> <U3B6>: "σζ"
<U3C3> <U3B7>: "ση"
<U3C3> <U3B8>: "σθ"
<U3C3> <U3B9>: "σι"
<U3C3> <U3BA>: "σκ"
<U3C3> <U3BB>: "σλ"
<U3C3> <U3BC>: "σμ"
<U3C3> <U3BD>: "σν"
<U3C3> <U3BE>: "σξ"
<U3C3> <U3BF>: "σο"
<U3C3> <U3C0>: "σπ"
<U3C3> <U3C1>: "σρ"
<U3C3> <U3C3>: "σσ"
<U3C3> <U3C4>: "στ"
<U3C3> <U3C5>: "συ"
<U3C3> <U3C6>: "σφ"
<U3C3> <U3C7>: "σχ"
<U3C3> <U3C8>: "σψ"
<U3C3> <U3C9>: "σω"
<U3C3> <dead_acute> <U3B1>: "σά"
<U3C3> <dead_acute> <U3B5>: "σέ"
<U3C3> <dead_acute> <U3B7>: "σή"
<U3C3> <dead_acute> <U3B9>: "σί"
<U3C3> <dead_acute> <U3BF>: "σό"
<U3C3> <dead_acute> <U3C5>: "σύ"
<U3C3> <dead_acute> <U3C9>: "σώ"
<U3C3> <dead_diaeresis> <U3B9>: "σϊ"
<U3C3> <dead_diaeresis> <U3C5>: "σϋ"
您可能还需要一个组合来单独输入 σ。