创建自己的 dead_key

创建自己的 dead_key

我目前正在努力创建适合法语瑞士键盘的特定希腊键盘布局,

我创建了一个要放入的键盘布局/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>: "σϋ"

您可能还需要一个组合来单独输入 σ。

相关内容