【问题标题】:How to Type Multilingual Characters in Windows Mobile Device by Device Keypad如何通过设备键盘在 Windows Mobile 设备中键入多语言字符
【发布时间】:2015-01-31 01:40:00
【问题描述】:

我有一个装有 windows Mobile 6.5 操作系统的智能设备,我想用 .Net CF 3.5 和 C# 语言为这个设备编写一个应用程序。这个设备的键盘是这样的:

如上图所示,文本和数字放在同一个键上。例如,如果我们想写以“A”开头的任何内容,则 2 具有“ABC”,我们需要键入一次键 2。如果我们想输入“B”,请按两次键 2 三次以输入“C”。

第一季度。我不能用这个键盘输入英文字母,我只能输入数字。我想在文本框中输入英文字母(和波斯字母)。我可以通过keybd_event() 这是extern 函数来完成这项工作吗?

第二季度。我有 3 种输入字符的方法,同时必须启用其中一种方法:

  1. 键入数字
  2. 输入英文字母(使用一些字符,如 . , ? / )
  3. 输入波斯语字母(带有一些字符,如 . , ? / )

在其他手中如何在三种方法之间切换

第三季度。如何根据所描述的 3 种输入法之一通过适当的字符显示键盘? (一次是英文,一次是波斯语,一次是数字)

问候

【问题讨论】:

  • 问题不清楚:你想写软件键盘、键盘驱动还是写应用程序?如果显示的图像是硬件键盘,则驱动程序负责在一次或多次按下某个键时发生的情况。
  • 您好 josef,我想为具有 C# .Net CF 3.5 的 Win Mobile 6.5 操作系统的智能设备编写软件应用程序(无软件驱动程序或软件键盘),现在按下设备键盘(硬件键盘),仅在软件应用程序中键入“数字”,我想使用此设备的硬件键盘键入字母(英语和波斯语),就像许多具有硬件键盘的移动设备一样。未启用使用此设备的硬件键盘输入字母。
  • 这种输入法应该只在您的应用程序或系统范围内可用吗?

标签: c# compact-framework windows-ce globalization windows-mobile-6.5


【解决方案1】:

如果仅在一个应用程序(紧凑框架)内需要特殊键解释,那么可能使用 SDF(SmartDeviceFramework)是可行的。请参阅 http://www.hjgode.de/wp/2012/09/20/windows-mobile-cf-how-to-catch-f1-and-f2-in-weh/ 上的 KeyTest3AKsdf

在消息处理程序中,您需要管理键盘平面(数字、英文字母、波斯字母)和可能的按键超时,以便能够决定是否在一段时间内多次按下键(生成这些 ABC可选输出)。

定义在平面之间切换的键或组合。

观察传入的消息并决定做什么。您可以更改消息的副本,将其发布到消息队列并返回 true 以让 Windows 系统知道您处理了该消息。

您可以将 keybd_event 用于 winuser.h 和 winuserm.h 中定义的简单键。但是对于扩展字符,这将变得复杂(找到正确的值序列)。对于扩展符号和字母,我会使用 PostMessage 和 WM_CHAR。

此外,您可能需要安装带有波斯字形的 trueype 字体。默认的英文操作系统固件通常只支持 unicode 字形的一个子集。另见http://www.hjgode.de/wp/2011/04/06/mobile-development-a-simple-unicode-character-map/

【讨论】:

    猜你喜欢
    • 2011-03-25
    • 1970-01-01
    • 2017-03-08
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 2016-01-16
    相关资源
    最近更新 更多