我的祖父在60年代/ 70年代是IBM的APL程序员.他最近开始使用Linux,我一直在帮助他设置和使用GNU APL(http://www.gnu.org/software/apl/).
目前我最头疼的是键盘映射.目前我已经安装了aplwrap GTK +(https://github.com/ChrisMoller/aplwrap)编辑器,该编辑器工作正常,但它并不精彩.我想设置一个APL字符的全局键映射,它在单击LALT +键或LALT + Shift +键时有效.我已经摆弄了GNU APL源代码中提供的xmodmap文件,但是当你尝试让它在启动时自动运行时,它会搞砸所有内容.
所以,我有两个问题:
是否可以将APL键映射设置为全局,并且还可以在启动时运行,因此不必手动打开它?
如果第一个问题不可能,那么是否可以为每个应用程序设置一个键盘映射?例如,Gnome Terminal和gEdit将使用LALT键映射作为APL字符,但系统的其余部分将正常工作.
非常感谢.
我将插入自己的解决方案,并建议使用Emacs。我为GNU APL编写了Emacs模式,目前可通过MELPA使用(最终将进入标准ELPA存储库)。您也可以在这里找到源:https : //github.com/lokedhs/gnu-apl-mode
Emacs模式提供了两种输入APL符号的方法。第一个将超级键与普通键一起使用。因此,例如,您按s-e生成?符号。
另一种方法是标准的Quail输入法,如果您没有可用的超级键(例如,您在终端中使用Emacs),则该方法很有用。您可以使用C-\并选择启用它APL-Z。完成此操作后,句点(.)将用作前缀char,因此您按. e即可生成?符号。
我的 GNU APL 和 Dyalog APL 在以下条件下运行良好;首先,我不使用图形服务器,因为我真的不喜欢它(这肯定会使我的解决方案对您自己的情况不是很有趣,但谁知道呢?)。只要在控制台上启用兼容的字体,您就可以使用这两个软件;您可以通过两种方式实现:
setfontfbterm;只需安装它并fbterm在控制台中输入即可;这将允许您在控制台上使用完整的 Unicode 范围;然后你必须破解一些键盘映射字体;不是太难;你要么从当前的文件中复制一份,要么找到一些准备使用的文件(我强烈建议你破解你自己的文件;将需要一个小时的时间来完成它,但使用文本编辑器没有什么困难):看看这里。
完成此操作后,在 Linux 控制台中使用 APL 就非常容易了。
你很幸运,因为Linux(实际上是Xorg)拥有所有主要操作系统中功能最多,功能最强大的键盘配置系统.您可以从许多APL符号处理中进行选择,并将它们添加到您自己的国家键盘布局中.您甚至可以选择使用哪个键在常规字母和APL之间切换,并在整个系统中应用此选项.
如果您打开发行版的国际化或键盘布局设置(它可能位于类似控制面板的GUI中,或者它可能是设置文件,例如/etc/default/keyboard在Debian中),您将能够将apl键盘布局添加到现有的国家布局中.所述APL布局包括在稍微基准位置的基本APL符号,并提供了许多变体即选择其他符号或不同的配置,包括那些可商购的硬件键盘的:unified,sax,apl2,aplplusII,aplx,dyalog.
请注意,APL布局应添加到您现有的国家布局中,同时还可以选择在两者之间切换或切换的键.如果您用APL 替换您的国家布局,您将无法再输入标准字母!
要测试布局,变体和选项的组合,您可以使用图形控制面板(如果有),或者您可以使用该setxkbmap命令.
例如,这将选择us布局,apl在其默认变体中添加一个布局,并将Windows键指定为两者之间的切换,以便Win+ A给出⍺等.
setxkbmap us,apl -option grp:win_switch
Run Code Online (Sandbox Code Playgroud)
Protip:例如,您可能希望保持另一个终端打开并准备一些默认命令setxkbmap us,以便您可以轻松按Enter键并重置布局,如果您的键盘无法使用.如果你甚至不能再按Enter键,你可以复制+粘贴换行符来执行命令.
在对布局,变体和选项的组合感到满意之后,您必须将它们放入全局配置文件中,或使用控制面板按钮使它们成为永久选择.
如果您遇到某些特定选项组合的问题,您可能需要查看XKB文档维基,在众多Linux IRC频道之一上聊天,或在StackExchange上发布更具体的问题,尽管我建议使用超级用户,Unix和Linux,或Ask Ubuntu,而不是StackOverflow.