我怎样设置我的计算机才能即时将 ae 转换为 æ、将 oe 转换为 œ 以及将 !? 转换为 ‽?

我怎样设置我的计算机才能即时将 ae 转换为 æ、将 oe 转换为 œ 以及将 !? 转换为 ‽?

我知道有些语言会这样做,其中几个单词/字母自动组合就像它们被输入的那样,例如阿拉伯语。

我还知道您可以为 Windows 创建自己的键盘语言布局,我已经这样做了,但是此功能似乎仅限于简单地将键绑定到其他键并创建额外的 ctrl+shift 组合。(Microsoft 键盘布局创建器)

我是一名软件开发人员,所以如果需要的话,我并不介意编写代码,但我不知道从哪里开始,我敢打赌类似的东西已经存在了。我仍然想保留我的英国英语键盘布局,但要添加这些功能。是的,这是为了新颖的目的。

答案1

但我不知道从哪里开始,我敢打赌类似的事情已经存在了。

你赢了赌注!你正在寻找的解决方案称为global keyboard hook

如果你会编程 C#,下面是一个如何操作的例子

我以前用 C 编写过这样的钩子,但现在没有必要了,使用 C# 也可以获得它。

这种钩子的工作原理非常简单:您的程序在键盘事件发生之前获取所有键盘事件!因此,您可以说“如果我得到‘a’和‘e’,我会改写‘æ’或其他”,您可以“映射”被捕获的字符。

钩子是Windows最强大的功能之一,我们可以利用钩子来捕获Windows环境中的所有事件。

在 Microsoft® Windows™ 操作系统中,钩子是一种机制,通过该机制,函数可以在事件(消息、鼠标操作、击键)到达应用程序之前拦截它们。该函数可以对事件采取行动,在某些情况下,还可以修改或丢弃它们。接收事件的函数称为筛选函数,并根据它们拦截的事件类型进行分类。例如,筛选函数可能希望接收所有键盘或鼠标事件。要使 Windows 调用筛选函数,必须安装筛选函数 — 即附加到 Windows 钩子(例如,附加到键盘钩子)。将一个或多个筛选函数附加到钩子称为设置钩子。如果钩子附加了多个筛选函数,Windows 将维护一个筛选函数链。最近安装的函数位于链的开头,而最近安装的函数位于链的末尾。

为了维护和访问过滤功能,应用程序使用 设置WindowsHookEx取消钩子WindowsHookEx功能。

相关内容