- 1. 1. 默认键盘
- 2. 2. 键盘管理
- 3. 3. 键盘系统寄存器(自定义键盘的核心)
- 4. 3.1 SysKBMax/Min:范围限制显示
- 5. 3.2 SysKBSelect:模式切换
- 6. 3.3 SysKBPinyin/SysKBHanzi:中文输入
- 7. 3.4 SysKBText:录入数据显示
- 8. 4. 虚拟按键(键盘的「键」)
- 9. 5. 中文输入:Left/Right 翻页
- 10. 6. 键盘切换
数值、文本、密码输入都会弹键盘。VisualHMI 的键盘是可编程的画面——键盘上的键是「虚拟按键」控件,背后靠几个系统寄存器驱动。这篇把键盘管理和系统寄存器讲清楚,懂了这个,自定义键盘就不难。
1. 默认键盘
新建工程默认生成两个键盘:全键盘和数字键盘。文本输入支持 GBK、UTF8 编码。


2. 键盘管理
HMI 最多支持 10 个键盘,在【工程】→【键盘】设置:
- 启用:勾选后可用
- 键盘画面:启用后选择对应画面作为键盘画面;键盘画面可以复用(如数字键盘和密码键盘共用一个画面)
- 恢复默认键盘:按屏幕分辨率恢复默认键盘画面 100_digitxxxxxx、101_digitxxxxxx

3. 键盘系统寄存器(自定义键盘的核心)
| 寄存器 | 作用 |
|---|---|
| SysKBMax / SysKBMin | 数字键盘显示范围的最大值/最小值(跟随数值控件配置的范围) |
| SysKBSelect | 键盘模式:0=英文,1=数字符号,2=中文 |
| SysKBPinyin / SysKBHanzi | 中文输入的拼音、预选汉字显示 |
| SysKBText | 显示键盘录入的数据 |

3.1 SysKBMax/Min:范围限制显示
数值控件配置了范围(如 0~100),弹出数字键盘会显示限定的最大/最小值。键盘画面上用两个数值控件显示 SysKBMin/SysKBMax,用 SysKBStatus.1 控制显示/隐藏(1=配置了范围限定)。

3.2 SysKBSelect:模式切换
0=英文(a~z、A~Z)、1=数字符号(!?#123)、2=中文。键盘上放递增/递减按钮写 SysKBSelect(0~2 循环),配 3 个多状态指示灯显示当前模式。

3.3 SysKBPinyin/SysKBHanzi:中文输入
输入 「guang」,SysKBHanzi 预选汉字显示「光 广 逛 咣…」。键盘画面加两个文本控件分别关联这两个寄存器。

3.4 SysKBText:录入数据显示
显示键盘录入的内容,键盘画面加一个文本控件关联它。

4. 虚拟按键(键盘的「键」)
功能按钮的用途设为虚拟按键,就变成键盘上的键。支持的按键类型:
| 类型 | 说明 | 类型 | 说明 |
|---|---|---|---|
| 字符 | 0~9、a~z、可视化字符等 | Left | 预选汉字向左翻页 |
| 切换键盘 | 切换到目标键盘 | Right | 预选汉字向右翻页 |
| Enter | 回车 | Shitf | 字符切换(大小写/符号) |
| Space | 空格 | ESC | 退出 |
| Clear | 删除所有输入 | Delete | 删除单个字符 |

字符键最多填 4 个字符,多字符切换靠 Shitf 或 SysKBSelect:
- 填入 “q1″:SysKBSelect=0(字母)时键码为 q;SysKBSelect=1(字符)时键码为 1
- 填入 “a~^”:字母模式下 Shitf=0 录 a、Shitf=1 录 A;字符模式下 Shitf=0 录 ~、Shitf=1 录 ^

还有 图库状态(关联弹起/按下图库)、裁剪、使用文字(把字符栏内容直接显示出来)等属性。
5. 中文输入:Left/Right 翻页
中文键盘输入 「da」,预选汉字显示「大 打 达 答 搭…」。键盘画面上加两个功能按钮(虚拟按键→Left/Right)在预选汉字左右翻页。


6. 键盘切换
键盘画面可以用虚拟按键(类型=切换键盘)互相切换。例程中建 3 个画面 「105_abc」、「106_number」、「107_char」,用切换按键在各键盘间跳转。

整理自 广州大彩科技 VisualHMI 开发文档(hmi-doc.gz-dc.com)资源介绍「键盘」,版权归大彩科技所有。
发表回复