在 Linux 中模拟 Alt ASCII 代码

在 Linux 中模拟 Alt ASCII 代码

我有一台 Alphasmart Neo,当连接到计算机发送文本文件时,它可以模拟键盘。它基本上就像一个打字速度很快的打字员。当它遇到重音字符时,它会尝试使用 Windows alt 组合键来插入它们。

例如,é字符被发送为Alt+ 0 2 3 3。当然,这只会在 Linux 下发送无意义的内容,因为它对特殊字符的处理方式不同。

我无法改变设备发送文件的方式。

我想知道是否有办法Alt在 Linux 下临时模拟这些 Windows 击键,以便正确发送文件。

答案1

所以似乎有一个解决方法。Linux 控制台 ( ++ Ctrl)允许使用 Alt 代码,并且可以在那里发送文件。AltF1

但是,我希望在 GUI 中模拟这一点。但除非启用一些低级编程,否则这似乎很难做到。如果有人有其他解决方案,我将几个小时内不接受这个答案。

答案2

不完全是你想要的,但足够相似,它可能仍然有效:

Linux 上的许多(但不是全部)IME 框架(包括 ibus 和 fctix)都支持一个名为m17n提供 IME。m17n 库提供了易于使用的 IME(包括简单的键盘重新映射以处理各种语言)。其中一种,简称为“Unicode”,恰好与 alt 代码几乎完全相同。唯一的两个区别是:

  • Alt 代码取决于您系统针对旧版应用程序的代码页。m17n“Unicode”IME 使用十六进制 Unicode 代码点,无论系统如何配置,这些代码点都是 100% 一致的。
  • Alt 代码要求您按住 Alt 键并使用数字键盘输入数字。m17n“Unicode”IME 使用 Ctrl-U 作为触发序列,并允许您以任何您想要的方式输入代码(前提是它与所需的十六进制代码匹配)。

因此,对于带有尖音符的小写拉丁字母“e”的示例,m17m 的“Unicode”IME 的确切序列将是Ctrl-U 0 0 e 9。从数字上讲,十六进制数 00e9 实际上与用于 CP1252 的等效 Alt 代码的十进制值 0233 相同。Unicode 中前 256 个字符中的大多数恰好都是这种情况,因为它们在顺序和位置上大多与 CP1252 匹配。但是,这种等效性并不适用于更高的数字。

m17n 提供的其他 IME 可能对您有用,包括“Latin-Post”和“Latin-Pre”,它们允许您在字母之后或之前添加特定字符以产生变音符号或特殊字母(为此,您可以分别使用或e''e,以及“RFC 1345”,它使用RFC 1345助记符允许从 Unicode BMP 输入绝大多数广泛使用的字符(并使用e'与“Latin-Post”方法相同的方法)。

相关内容