我发现 Linux 有一个更用户友好的 ALT 代码版本,用于输入特殊符号。我需要能够找到一个能够接受并正确解释这些替代代码的应用程序,这在 Windows 计算机上很常见。
我有一个便携式文字处理器,AlphaSmart。它在内存中保存了一些文件,但我经常需要在写入这些文件后将它们传输到我的计算机上。当连接到计算机时,它会假装它是一个真正的键盘,并发送文本,就像有人正在打字一样。它只是打字速度非常快。所以我只需打开mousepad
并按“发送”,它就会通过键入将文档从 AlphaSmart“传输”到计算机。 Linux 只是认为插入的键盘正在打字。
当涉及重音字符时,它会发送模拟的 ALT 键组合。但 Linux 不理解这些,所以我最终得到了缺少重音符号的单词。 “Hernán Cortés”更名为“Hernn Corts”。
有没有一种方法可以设置一个 Linux 应用程序来接受这些 ALT 代码,以便我可以正确检索带有理解的重音代码的文件?或者有没有办法安装输入法,例如通过ibus
它接受 ALT 代码?
答案1
答案2
我不知道有任何 Linux 输入法可以理解 MS-Windows 风格的 Alt+数字输入。
但您只需要它来粘贴您拥有的外部机器上的文本,所以也许我编写的这个小 Tcl 脚本会有所帮助。它是一个模拟 MS-Windows Alt+nnnn 键序列的最小文本编辑器。
#!/usr/bin/wish
text .t
pack .t -fill both -expand yes
set buf {}
proc pressed {digit} {
append ::buf $digit
if {[string length $::buf] == 4} {
.t insert insert [format %c [string trimleft $::buf 0]]
set ::buf {}
}
}
foreach k {0 1 2 3 4 5 6 7 8 9} {
bind .t <Alt-KeyPress-$k> [list pressed $k]
}
您需要 Tcl 和 Tk 才能在 Linux 机器上运行它。告诉我它是否有效或是否有问题。
答案3
我遇到了和你完全相同的问题,它最终阻止了我在 Alphasmart 上写作,因为我需要使用“fada”,元音上的爱尔兰口音:áéíóú。
这不是所问问题的解决方案,但我确实找到了这个项目,它看起来最终会让我再次使用 Alphasmart:
https://github.com/lykahb/neotools
我在使用此工具时遇到了一个小错误,有时无法将模式从“虚拟 HID 键盘”切换到“同步模式”,但如果您中止并重试几次,它似乎会恢复。可能对代码进行足够小的修复即可解决此问题,同时它仍然可用。