Linux 上的 APL 键映射 (GNU APL)

2024-03-15

我的祖父是 60 年代/70 年代 IBM 的一名 APL 程序员。他最近开始使用 Linux,我一直在帮助他设置和使用 GNU APL(http://www.gnu.org/software/apl/ http://www.gnu.org/software/apl/).

目前最令我头疼的是按键映射。目前我已经安装了 aplwrap GTK+ (https://github.com/ChrisMoller/aplwrap https://github.com/ChrisMoller/aplwrap)编辑器工作正常,但并不出色。我想为 APL 字符设置一个全局键盘映射,该映射在单击 LALT + 键或 LALT + Shift + 键时起作用。我已经摆弄了 GNU APL 源代码中提供的 xmodmap 文件,但是当您尝试让它在启动时自动运行时,它会搞砸一切。

所以,我有两个问题:

  1. 是否可以让 APL 键映射全局化并且在启动时运行,这样就不必手动打开?

  2. 如果第一个问题不可能,那么是否可以为每个应用程序设置键盘映射?例如,Gnome Terminal 和 gEdit 将使用 APL 字符的 LALT 键盘映射,但系统的其余部分将正常工作。

非常感谢。


我将插入我自己的解决方案并建议使用 Emacs。我为 GNU APL 编写了 Emacs 模式,目前可以通过 MELPA 使用(它最终将进入标准 ELPA 存储库)。您还可以在这里找到来源:https://github.com/lokedhs/gnu-apl-mode https://github.com/lokedhs/gnu-apl-mode

Emacs 模式提供两种不同的 APL 符号输入方法。第一种将超级键与常用键一起使用。例如,您按s-e生成 symbol.

另一种方法是标准 Quail 输入法,如果您没有可用的超级键(例如,您在终端中使用 Emacs),则该方法非常有用。您可以使用启用它C-\并选择APL-Z。完成此操作后,期间 (.) 用作前缀字符,因此您可以按,例如,. e生成 symbol.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 上的 APL 键映射 (GNU APL) 的相关文章

  • MySQL存储过程中是否有列表数据类型,或者模拟它们的方法?

    我想在 MySQL 中创建一个以列表作为参数的存储过程 例如 假设我希望能够在一次调用中为一个项目设置多个标签 那么我想要做的就是定义一个过程 该过程接受该项目的 ID 和要设置的标签列表 但是 我似乎找不到任何方法来做到这一点 据我所知
  • 仅大小写不同的 C# 自动实现属性和局部变量的最佳实践?

    让我举一个例子 public class MyClass public string MyProperty get set public MyClass string myProperty MyProperty myProperty bad
  • 使用pySNMP编写SNMP代理(适用于OpenNMS)

    我正在尝试编写一个 python SNMP 代理 我可以将其嵌入到我的 python 应用程序中 以便可以通过 OpenNMS 远程监控该应用程序 OpenNMS 期望 Agent 实现HOST RESOURCES MIB查询两个字段hrS
  • 如何禁用 ASP.NET MVC url 路由

    只是想知道如何在 asp net MVC 中禁用 URL 重写 我不需要在我的应用程序中重写 URL 并且想将其关闭 原因 我知道 url 重写使用反射 并且希望通过避免它来节省一些 cpu 周期 谢谢 如果您担心性能 那就不用担心 尽管使
  • 在抽屉式菜单的页脚中添加按钮

    我想在抽屉菜单下添加这些按钮 这些是我的 xml 文件 布局 activity main
  • Firebase 中的独特属性

    我有一个包含类别的 IOS 应用程序 我在 Firebase 上的存储如下所示 root Categories key color name sum Expenses key amount category date description
  • Python pynput - 程序在启动时滞后

    所以我一直在尝试制作一个简单的程序 在单击鼠标右键时 使鼠标以 0 5 秒的间隔单击左键 3 次 然而 当我启动该程序并右键单击时 该程序会按照指示执行操作 但也会开始严重滞后约 25 秒 完成滞后后 我尝试关闭该程序 它冻结了 迫使我通过
  • 延长铁锈的使用寿命

    我有一些正在处理的代码 这是一个小辅助函数 应该返回一个Vec lt str gt 到调用函数 不过 我似乎无法正确地度过一生 这是代码片段 fn take symbol lt a gt ch a str current a mut Str
  • 我可以从 Docusign API 获取用于管理信封的 URL 吗?

    我可以使用 API 创建一个信封 该 API 返回如下所示的信封 ID 13f23354 7eee 41d3 897a c1353a1e465c 当我在浏览器中导航到 docusign 并打开信封时 网址为 https na2 docusi

随机推荐