是否有工具可以快速创建国际键盘,希腊语和Unicode数学的自定义键盘布局?


20

有没有可以快速创建自定义键盘布局的工具?

例如要实现此目的:https : //tex.stackexchange.com/a/86559/1871

键盘

在第二层中生产Unicode字符,但基于美国国际标准(Alt GR失效键)

这主要是为了使用Unicode键入math,但将默认层保留为美国国际标准。

也许已经准备好了一个相当通用的软件,如果可以的话该如何安装?

这个问题不是要在特定应用程序中生成快捷方式,而是要更改系统的键盘布局。


您可以编写另一个继承的布局,请参考:askubuntu.com/questions/482678/…。对于数学符号,请使用Unicode charmap工具获取其代码。然后以0x100xxxx或形式输入UXXXX。例如:askubuntu.com/questions/380776/stabilizing-characters-like-and
user.dz 2015年

Answers:


14

我认为该工具可能对您有用,尽管我从未使用过。键盘布局编辑器

如果它不起作用,请耐心等待,您可以自己创建自定义键盘布局。

我知道这不是一种快速的方法,但是通过这种方法您将学到一些东西。

如果您决定自己做,则只需要做的就是编辑/ usr / share / x11 / xkb / symbols中的文件。

在“符号”文件夹中,您会找到所有键盘布局文件。

备份您要使用的文件,在您的情况下为“ us”文件。

要备份文件,请打开终端并输入:

cp /usr/share/X11/xkb/symbols/us /usr/share/X11/xkb/symbols/us_backup

现在打开“我们”文件:

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

进一步阅读:


谢谢,KeyboardLayout由于antlr3python)的依赖性问题,我无法工作。手动方式似乎可行,但我找不到任何示例将纯Unicode字符包含在布局中:此charvolant.org/~doug/xkb/html/…表示文件/usr/X11R6/include/X11/keysymdefh具有该信息,但我可以在我的系统中找不到它。
alfC

如果找不到keysymdefh终端,请输入:sudo apt-get install x11proto-core-dev
kalpetros

也许值得一提的是,如果您仅重新映射所有拉丁字符/键,便会遇到很多麻烦,因为您将不再能够键入所需的命令以取回键盘,即替换信中cdollar将离开你无法输入cp
不知情的

不幸的是,此工具是废弃软件,并且依赖于过时的软件,但是有关手动编辑和键盘图片的信息非常有用并且仍然有用,谢谢
Sarge Borsch,


0

这不是我自己的问题的答案,而是一个非常有用的替代方法,其中包括配置gedit以键入Unicode /特殊字符。

在尝试了一些建议的解决方案之后,我意识到更改键盘布局是一个过大的选择。毕竟,我只需要用它来编码(主要是LaTeX中带有unicode和math的“字符串”)。因此,我认为出于我的目的,最好以某种方式使编辑器能够将写入的单词转换为unicode字符。

我的编辑器是gedit,它具有一个名为的标准插件Snippets。我意识到,如果将特殊字符放入其中,则~/.config/gedit/snippets/global.xml可以在任何文本文件中键入它们。

我编写了一个程序,该程序读取unicode字符及其公用名的表,并构建摘要文件。这样,我输入字符的名称,例如like _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[𝟷]]></text>
    <tag>_1</tag>
    <description>1</description>
  </snippet>
</snippets>

笔记:

  1. 这个想法来自此处http://ubuntuforums.org/showthread.php?t=1892012,另外,我编写了一个程序来从表中大量生成文件。
  2. 为什么下划线(例如_pi)?这是因为否则,许多摘要将与自动完成功能冲突。例如,pi+ TAB不会产生,π但是picture如果文档中提到此词,它将产生。
  3. 通过从Gnome Character Map程序复制和粘贴,可以手动添加其他字符。
  4. 要激活Snippets插件,请先安装gedit plugins软件包。然后转到Preferences-> Plugin->单击Snippets。然后,从Tools-> Manage Snippets...菜单中,验证该组中的条目是否可用Global(在顶部)。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.