2013-06-05 37 views
0

当程序在托盘中时,是否有可能在任何地方以编程方式更改键盘输入? 示例。 当用户在Google Chrome中键入文本时,我的程序会捕获用户键入的键,并将其更改为另一种语言的其他符号?如何制作我自己的键盘布局?

A -> ❤ 
B -> 웃 
C -> ✄ 
etc. 

这可能吗?如果答案是YES,那么如何?

+0

那么,这就是文本扩展应用程序所做的,所以我想这是可能的。也许你可以看看一个开源的文本扩展器的源代码,看看它是如何工作的? –

+0

这可能是有帮助的:http://stackoverflow.com/a/10369044/227536 – Regexident

回答

0

您可以使用Quartz event taps先接收所有关键事件,并对其进行修改,允许他们之前阅读了要处理(或替代不同的事件完全)。请注意,用户必须启用通用访问偏好设置中的辅助设备才能访问,以便事件点击查看键盘事件。

您可以创建,安装并让用户选择自定义键盘布局。您可以使用第三方Ukelele程序来创建和修改键盘布局。这不涉及代码,必然。它只是一个将键码翻译成字符的大型机器。

您也可以通过实现输入法来完成类似的操作。请参阅Input Method Kit

1

这听起来像是一个custom keyboard layout的工作。

安装键盘布局后,用户只需在“语言&文本”首选项窗格中启用它,然后在“输入”菜单中选择它。

也可以通过编程的方式enableselect an input source(键盘布局是一种输入源)。

+0

使用短语“这听起来像是一份工作”+1:D哦,是的,'自定义键盘布局'是一个好主意太。 (你完成了这项工作,自定义键盘布局!) –