键盘映射的后台c程序

时间:2013-02-20 01:54:55

标签: c windows fonts

我在Windows 8系统中安装了Bramma TTF文件。通过windows字符映射,我能够找到单独的字符代码。附在地图截图下方。我们可以在右下角看到“!”的字符代码。是0x21。同样,我可以找到所有其他字母的所有字符代码。

Character map for Bramma TTF

现在,我使用基于美国的键盘布局为此字体定义了字符映射。例如,我将键盘中的物理字符'a'映射到第3行和第1列中显示的字符。 [每当我从键盘上点击'a'时,必须显示相应的字符]

我想编写一个后台C程序,以便它监听键盘命中,并根据我之前定义的字符映射,我的C程序应输出该映射字符。也就是说,当我从键盘上点击'a'时,它应该返回映射的字符。

任何人都可以帮助我解决这个问题,或者只是让我领导解决方案。

4 个答案:

答案 0 :(得分:2)

我对这些字体有点熟悉,它们出现在SO的其他问题中。试图处理使用这种字体的后果的用户提出的问题。他们相当严重。

最大的问题是这种字体不兼容Unicode。作为呈现给屏幕的文本的基础的实际字符串是非常不同的,包含ANSI字符集中的字符。什么可怕错误是显示这些字符串的程序保存数据。数据文件包含原始字符串,一个很好的例子是Excel电子表格。当任何其他程序读取时,此电子表格只包含乱码。当安装在没有安装相同字体的另一台机器上的程序读取时特别糟糕。非常,非常痛苦。

事实上,即使破坏键盘与ANSI字符之间的正常映射,也会使这个问题变得更糟。第三行中的第一个字符是通过在键盘上键入大写字母I(eye)来生成的。

消息很明确:不要这样做。 Windows支持与Matrix脚本兼容的Unicode兼容字体,如Sylfaen,Mangal,Latha等字体。所有这些都可以在我的Windows 8机器上使用,距离它们通常使用的地方大约一万英里。它还有语言小程序下可用的印度语键盘布局,我只选了一个作为例子:

enter image description here

嗯,这是你的葬礼。您不必编写C程序来翻译这些击键,您需要自定义键盘布局。它是一个DLL。您通常需要DDK来构建它们,但有一些简单的工具可用于自动生成它们。与使用Microsoft键盘布局创建器MKLC相比,它没有任何问题。网页和下载链接are here

答案 1 :(得分:0)

可能你应该使用autohotkey。 使用此应用程序,您可以聆听一组按键,&然后发送一组不同的密钥。

这可以用作“自动更正”的实现

e.g。

:*:btw::By the way `

会将btw自动更正为By the way

autohotkey支持相当复杂的脚本,&许多脚本已经在线提供。

另外请注意,如果您只想要英文键盘来打印malayalam unicode字符,您可能还会想到一个名为baraha的流行软件

答案 2 :(得分:0)

Google的虚拟键盘(也适用于您的物理键盘)

https://code.google.com/apis/ajax/playground/#virtual_keyboard

答案 3 :(得分:0)

http://www.tavultesoft.com/允许您为MSWindows和Web创建键盘。可轻松提供超过1000个键盘。有开发人员和用户版本。使用开发人员版本,您可以创建安装程序,安装字体,键盘,键盘映射和文档。