是否有一个工具可以快速创建自定义键盘布局?
例如要实现这一点:https://tex.stackexchange.com/a/86559/1871
在第二层生成 Unicode 字符,但基于美国国际字符集(Alt GR 死键)
这主要是使用 Unicode 输入数学公式,但保持默认层为美国国际层。
也许已经准备好了一个非常通用的,如果是这样,那么如何安装它?
这个问题不是关于在特定应用程序中生成快捷方式而是关于改变系统的键盘布局。
答案1
我认为这个工具可能对你有用,尽管我从未使用过它。键盘布局编辑器
如果这不起作用,那么只要有一点耐心,您就可以自己创建自定义键盘布局。
我知道这不是一个快速的方法,但通过这种方式你会学到一些东西。
如果您决定自己做,那么您唯一需要做的就是编辑位于 /usr/share/x11/xkb/symbols 的文件。
在“符号”文件夹中,您将找到所有键盘布局文件。
备份您想要使用的文件,在您的情况下为“us”文件。
要备份文件,打开终端并输入:
cp /usr/share/X11/xkb/symbols/us /usr/share/X11/xkb/symbols/us_backup
现在打开“us”文件:
sudo gedit /usr/share/X11/xkb/symbols/us
你会看到类似这样的内容:
// Alphanumeric section
key <TLDE> { [ grave, asciitilde ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, dollar ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, asciicircum ] };
key <AE07> { [ 7, ampersand ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft ] };
key <AE10> { [ 0, parenright ] };
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
条目key <xxxx>
是键的名称,{[]};
条目是符号
下图将显示关键代码:
{[]};
现在要创建自定义键盘布局,您需要用所需的符号名称替换内容。
例如,为了用美元符号替换感叹号,请更改以下行
key <AE01> { [ 1, exclam ] };
更改为:
key <AE01> { [ 1, dollar ] };
完成自定义键盘编辑后,保存文件并重新启动计算机。
如果你想恢复原来的“美国”键盘布局,请打开终端并输入以下内容:
sudo cp /usr/share/X11/xkb/symbols/us_backup /usr/share/X11/xkb/symbols/us
进一步阅读:
答案2
最近查看了我发现的包裹mathwriter input
。
显然,在 Gnome3 中,数学字符的输入就像是一种特殊语言一样。通过键入符号名称,可以输入符号,屏幕上会出现一个带有选项的菜单,按空格键可以选择匹配项。
相关链接:
https://launchpad.net/ubuntu/+source/ibus-table-others/1.3.5-2
答案3
我个人也对做到这一点很感兴趣,我编写了一个 Python 程序来实现这一点。
在这里获取:https://github.com/cuppajoeman/x11-keyboard-layout-generator
总结一下,你可以创建这样的自定义布局
|∀∃|∈∉|⊆⊇|∪∩|≤≥|<>|({|)}|⌊⌈|⌋⌉|
|∅∗|+∑|∣∖|fg|↦⤳|xy|=≠|+-|⋅\|~≟|
|∨∧|⇒⇐|⇔⊕|⊦⊧|∞ℵ|′∂|ℕℤ|ℚℝ|∇∫|∎≡|
它会生成一个自定义布局文件,您只需将其移动到其中即可/usr/share/X11/xkb/symbols
。
在启用新布局之前,请确保已设置一些快捷方式以便在它们之间切换,例如我正在使用 xfce,因此我有:
现在我们可以轻松地在数学和标准布局之间切换。
答案4
这不是我自己的问题的答案,而是一种侵入性更小的替代方法,即配置 gedit 以输入 unicode/特殊字符。
在尝试了一些建议的解决方案后,我意识到改变键盘布局有点过头了。毕竟,我只需要它来编码(主要是使用 unicode 和 LaTeX 中的数学运算的“字符串”)。所以我决定,为了我的目的,最好以某种方式让我的编辑器能够将书写的单词转换为 unicode 字符。
我的编辑器是gedit
,它有一个名为的标准插件Snippets
。我意识到如果我把特殊字符放进去,~/.config/gedit/snippets/global.xml
我就能在任何文本文件中输入它们。
我编写了一个程序,它读取 Unicode 字符表及其常用名称并构建代码片段文件。这样,我就可以输入字符的名称,例如_alpha
按下TAB并α
出现。无需记住任何按键组合或键盘层。
处理后我的~/.config/gedit/snippets/global.xml
文件如下所示。别忘了激活 Snippet 插件。
<?xml version='1.0' encoding='utf-8'?>
<snippets>
<snippet>
<description>New snippet</description>
</snippet>
<snippet>
<text><![CDATA[α]]></text>
<tag>_alpha</tag>
<description>alpha</description>
</snippet>
<snippet>
<text><![CDATA[β]]></text>
<tag>_beta</tag>
<description>beta</description>
</snippet>
<snippet>
<text><![CDATA[χ]]></text>
<tag>_chi</tag>
<description>chi</description>
</snippet>
<snippet>
<text><![CDATA[ⅆ]]></text>
<tag>_dd</tag>
<description>dd</description>
</snippet>
<snippet>
<text><![CDATA[γ]]></text>
<tag>_gamma</tag>
<description>gamma</description>
</snippet>
<snippet>
<text><![CDATA[ℏ]]></text>
<tag>_hbar</tag>
<description>hbar</description>
</snippet>
<snippet>
<text><![CDATA[μ]]></text>
<tag>_mu</tag>
<description>mu</description>
</snippet>
<snippet>
<text><![CDATA[ω]]></text>
<tag>_omega</tag>
<description>omega</description>
</snippet>
<snippet>
<text><![CDATA[Ω]]></text>
<tag>_Omega</tag>
<description>Omega</description>
</snippet>
<snippet>
<text><![CDATA[π]]></text>
<tag>_pi</tag>
<description>pi</description>
</snippet>
<snippet>
<text><![CDATA[ε]]></text>
<tag>_varepsilon</tag>
<description>varepsilon</description>
</snippet>
<snippet>
<text><![CDATA[