键盘模式参考
在键盘模式下,会显示一个图形键盘供用户选择,例如:
一般实现如下:
- 上传键盘图像
- 启动键盘模式
- 收到返回码
过程中使用的图片只需上传一次即可多次使用。提供了一种哈希机制来确定图像是否已经存储在 STU 平板电脑上。
如果需要,可以在平板电脑处于键盘模式时更改消息区域。
键盘类型
从以下选项之一中选择键盘类型:
形象设计
定义最多三个键盘设计。每个设计都包含用于为类型格式化的键盘选择的图像。下面显示了 KeyPad 类型 1 正常图像的示例,后跟相应的按键图像。
Key Pad Type 1 图像设计
物品 | 尺寸(宽 * 高) | 位置(x,y) |
---|---|---|
留言区 | 800*64 | 0,0 |
按钮编号 | 尺寸(宽 * 高) | 位置(x,y) |
---|---|---|
1个 | 240 * 119 | 30, 73 |
2个 | 240 * 119 | 280, 73 |
3个 | 240 * 119 | 530, 73 |
4个 | 240 * 119 | 30、202 |
5个 | 240 * 119 | 280、202 |
6个 | 240 * 119 | 530、202 |
7 | 240 * 119 | 30, 331 |
8个 | 240 * 119 | 280、331 |
9 | 240 * 119 | 530、331 |
Key Pad Type 2 图像设计
物品 | 尺寸(宽 * 高) | 位置(x,y) |
---|---|---|
留言区 | 800 * 220 | 0,0 |
按钮编号 | 尺寸(宽 * 高) | 位置(x,y) |
---|---|---|
1个 | 240 * 103 | 30、234 |
2个 | 240 * 103 | 280, 234 |
3个 | 240 * 103 | 530、234 |
4个 | 240 * 103 | 30、347 |
5个 | 240 * 103 | 280、347 |
6个 | 240 * 103 | 530、347 |
Key Pad Type 3 Image Design
Item | Size (w * h) | Location (x,y) |
---|---|---|
Message Area | 514 * 480 | 286,0 |
Button No | Size (w * h) | Location (x,y) |
---|---|---|
1 | 240 * 96 | 30, 30 |
2 | 240 * 96 | 280, 128 |
3 | 240 * 96 | 530, 246 |
4 | 240 * 96 | 30, 354 |
Key Pad Settings
Up to three Key Pad image designs can be stored. For each design supply:
Item | Description |
---|---|
Image design number | Image design number 1..3 |
Normal Key Pad screen | Image data includes normal buttons, initial message and background image |
Button pushed Key Pad screen | Image data includes pushed buttons and background image |
KEY Pad type | Type 1..3 |
KEYs Enabled setting | The bitmask (1..9) allows individual keys/buttons to be enabled (1) or disabled (0): Bit 0: key1 Bit 1: key2 Bit 2: key3 etc. |
Key Pad Mode Settings
Before entering Key Pad mode, the images and settings must be stored. The following options must be set when entering Key Pad mode:
Item | Description |
---|---|
键盘屏幕选择 | 从模式 1..3 中选择键盘屏幕设计 |
选择消息 ID | 选择图像后显示的消息框屏幕 |
键盘模式返回
UI 事件数据报告选定的键号:
物品 | 描述 |
---|---|
键盘屏幕选择 | 模式 1..3 中的键盘屏幕设计 |
选定的键号 | 键号 1..9 取决于键盘类型 |
键盘操作逻辑
API参考
功能 | 描述 |
---|---|
初始化键盘 | 键盘设置 |
写入RomImage | 平板电脑写ROM功能 |
设置操作模式 | 选择键盘模式 |
代码说明
上传图片
需要带有按钮启用掩码的图像描述符:
array<bool, 9> KeyPad::m_btnEnabled = { 1, 1, 1, 1, 1, 1, 1, 1, 1 };
romStartImageData = initializeKeyPad(encodingMode, pushed, m_layoutNum, m_layoutNum, m_btnEnabled);
启动键盘模式
OperationMode_KeyPad KeyPadMode{ m_layoutNum, 0 };
OperationMode opMode = initializeKeyPad(KeyPadMode);
tablet.setOperationMode(opMode);
接收界面事件
Decode the UI Event data from ReportHandler
onReport(EventDataKeyPad & e)
{
PostMessage(m_hWnd, WM_KEYPAD_RESULT, MAKEWORD(e.keyNumber, e.screenSelected), 0);
}
...
// Dialog callback
case WM_KEYPAD_RESULT:
{
keyNumber = LOBYTE(wParam);
screenSelected = HIBYTE(wParam);
}
...