我一直想知道是否有任何可用的附加组件可以执行类似 Mac OS X 的功能。我的母语是西班牙语,现在我生活在法语环境中,我也经常说英语,所以我需要不同的口音,特别是法语,我已经使用 Linux 两年了,并且时不时地使用 Mac OS X,用于测试目的。
我发现 Mac OS X 上的功能非常有用,您按住该键,它就会显示相同字符、不同重音或标点符号的可用选项列表。我可以在 Linux 上执行此操作吗?
答案1
恐怕据我所知没有任何应用程序可以做到这一点。开发一个可能需要创建您自己的输入法(以替换XIM
)。
不过,我可以为您提供一种替代方案,您可能会发现它比简单地更改按键布局更有帮助。XIM
一段时间以来,X(通过)提供了一个名为 XCompose 的实用程序。 XCompose 允许您通过按前导键(您指定的),然后按可自定义的按键序列来键入“异国情调”字符。例如,Composee'产生字符é
。大多数情况下,默认序列非常直观,但 XCompose 最强大的部分是您可以添加(或修改)序列,以便理论上生成您认为合适的任何 unicode 字符。
序列的设置是通过纯文本文件完成的(您可以将其放入$HOME/.XCompose
或放在其他地方但有$HOME/.XCompose
代码(您可以查看我的整个设置这里如果你感兴趣;特别查看XCompose
和 下的文件compose/
)。下面是我个人的一个片段$HOME/.XCompose
:
include "%L" # This enables all the default bindings
include "/home/halosghost/.compose/greek.compose" # some greek characters
现在是上面包含的片段greek.compose
(请注意,这些肯定不是您可以使用的最符合人体工程学或最有效的序列,它们只是一个示例):
# Lower case
<Multi_key> <a> <l> <p> <h> <a> : "α" U03B1 # Alpha
<Multi_key> <b> <e> <t> <a> : "β" U03B2 # Beta
<Multi_key> <d> <e> <l> <t> <a> : "δ" U03B4 # Delta
<Multi_key> <g> <a> <m> <m> <a> : "γ" U03B3 # Gamma
<Multi_key> <l> <a> <m> <b> <d> <a> : "λ" U03BB # Lambda
<Multi_key> <p> <i> : "π" U03C0 # Pi
<Multi_key> <m> <u> : "µ" U03BC # Mu
您会看到这些文件的格式实际上非常简单(尽管在某些情况下您不使用字符本身而是使用它的名称(例如,<period>
而不是<.>
))。
有了上面的内容,我现在可以输入Capsmu生成µ
(请注意,我的 Compose 键设置为Caps)。
您没有提及您正在使用(或正在考虑使用)哪个发行版,但 XCompose 附带 xorg,因此您需要做的就是设置它。设置 Compose with 的相关阅读XIM
可以找到这里,但您还应该注意XIM
这些天它已经变得相当老旧了,它可能不是最好的选择。此外,至少还有一个其他 IME 支持 Compose 序列(尽管它使用略有不同的实现):总线。
就我个人而言,我使用XIM
,并且我希望一直这样做,直到我切换到 wayland(我希望那里会有一个全面更好的 IME 等着我²),但这是 Linux;一种尺寸并不适合所有情况,您应该使用最适合您的工作流程的尺寸(在合理范围内)。
从该链接中,您会发现可以通过以下命令轻松设置用于 Compose 的键(假设您的键盘不够深奥,实际上没有专用的 Compose 键)Caps:
setxkbmap -option compose:caps
- 我可以做梦,对吗?
作为一个有趣的最后说明,本文中的所有“异国情调”字符(包括 é、“、”、μ、1 和 2)都是使用 XCompose 生成的。