当前位置: 首页 > 期刊 > 《医学信息》 > 2009年第12期
编号:12049813
移动诊疗终端触摸屏单手快速录入软键盘的设计与实现(1)
http://www.100md.com 2009年12月1日 《医学信息·下旬刊》 2009年第12期
     [摘要]目的:设计一种掌上诊疗设备触摸屏的软键盘,旨在提高掌上诊疗设备检索或录入效率。方法:设计适于单手操作并且符合字母排列顺序习惯的键盘结构,包括排布分页及每页内置各个键区;利用软件编程语法中的发送键值函数方法,将触摸屏键区所指示的键值送达编缉栏光标所在位置;通过捕获触摸屏键区内所发生的触摸操作轨迹和时间,判断操作行为的模式,决定如何进行翻页或键盘边界及其内各键区面积大小调节,实现字母、数字、中文字符及相关符号的快速录入。结果:键盘结构可多页,每页呈6行×5列;每页有30多个输入键区,前四页包含标准101键功能;指触式软键盘呈半透明图形,键盘和键区面积大小可调,方便在触摸屏上单手多指并用进行字母快速录入和助记码式检索。

    [关键词]单手录入;触摸屏软键盘;移动诊疗终端

    [中图分类号]R197.324

    [文献标识码]A

, 百拇医药     [文章编号]1006-1959(2009)12-0024-02

    1 前言

    无线诊疗终端方便移动和编辑电子病历等临床和管理信息,日益广泛应用在临床工作。本文旨在提出一种满足移动诊疗终端触摸屏单手快速录入软键盘,提高移动式掌上诊疗设备检索或录入效率。

    2 软盘键盘设计与方法

    2.1 软键盘界面布局:在界面设计方面,首先根据确定按键数量,名称,以及适合单手指触的键位大小,合理分布成数页,安排各按键位置(如图1)。

    软键盘结构布置成5×6形式,每页共有33个输入格,其中的上方5行每行有5个输入键为字符键区域,下方的1行有8个输入键,用于选择性安置包括Cap大小写锁定键,Shift上档键,Space退格键,Enter回车键,Alt换档键,Ctl控制键,Delete删除键,Tab制表键,Bksp向左删除键,Ins插入键、Esc退出键、rclk鼠标右击快捷键等常用功能键,前四页包含标准101键盘的所有功能,图1为其中一页字母录入区域,包括26个字母(a-z)和常用功能键,并按通用的方式排列。
, 百拇医药
    2.2 软键盘按键的实现:为了使软键盘实现字符输入功能,我们使用了一个api函数,这个api函数就是keybd_event(byte bVk,byte bScan,uint dwFlags,uintdw ExtraInfo),bVk的值对应的是每个按键上的虚拟键码,按下任意按钮时,根据按钮上的text值,将它转换为对应的虚拟键码(各个按键的值对应的虚拟键码可以在MSDN上查找),调用api函数值即完成指触键盘的输入。

    ///api函数合成一次击键事件。///;///定义一个虚据拟键码。键码值必须在~之间;///定义该键的硬件扫描码。///定义函数操作的名个方面的一个标志位集。应用程序可使用如下一些预定义常数的组合设置标志位:。///KEYEVENTF_EXETENDEDKEY:若指定该值,则扫描码前一个值为OXEO()的前缀字节。KEYEVENTF_KEYUP:若指定该值,该键将被释放;若未指定该值,该键交被接下。dwExtralnfo:定义与击键相关的附加的位值。
, 百拇医药
    例如:要实现按键“a”的输入,调用keybd_event(65,MapVirtualKey(65,0),0,0),即完成输入“a”。

    中文字符按键用到的方法所使用的函数值是SendKeys.Send(stringvalue);例如感叹号“!”:SendKeys.Send(“!”)。

    2.3 页间切换的实现:设置按键mousedown、mousemove和mouseleave事件,在mousedown事件里取出按钮x坐标作为开始位置值,在mousemove事件里获取按钮x坐标作为结束位置值,在mouseleave事件里计算结束位置减开始位置值,大于按钮的宽度则切换到下一页,当开始位置减结束位置所得值大于按钮宽度两倍时切换到上一页。

    2.4 键盘界面及其各键区面积可调和透视:设置按键mousedown、mousemove和mouseleave事件,在mousedown事件里取出按钮的y坐标作为开始位置值,在mousemove事件里获取按钮y坐标作为结束位置的值,在mouseleave事件计算结束位置减开始位置值大于按钮宽度两倍时切换为大键盘.当开始位置减结束位置所得值大于按钮的宽度两倍时切换为小键盘。窗体的Opacity值设为30%,不影响键盘下文本的阅读。
, 百拇医药
    2.5 软件开发与运行环境:在MSWindows环境,采用c#、VisulStudio2008.netFramet等技术相结合,设计出单手多指式可快速录入半透明软键盘(在winCE环境的键盘区域暂未具备半透明性),以此应用至触摸屏式诊疗终端仪,支持完成电子病历信息的录入与检索。

    3 界面及功能模块

    3.1 各界面模块:其中的一页包括有数字键(0-9)、上下左右箭、常用符(!@#$%^&*()+=,?.;:'“-_/)、和常用功能键(如图2)。

    3.2 功能描述

    3.2.1 输入界面切换功能:在字母及常用功能键页面任意键区点击并右拖操作,可变换为数字键、光标控制键、常用符号键、及常用功能键页面,其它页面切换如此类推.在任意页面区点击并左拖操作则返回上一页。
, http://www.100md.com
    3.2.2 大小写切换功能:利用Cap键即可转换锁定26个大小写字母,实现大小写字母录入,或者是通过Shift键进行大小写临时切换录入。当前输入状态传换时,指触Cap键、Shift键显示红色。

    3.2.3 键盘界面及其各键区面积大小设置:在任意键区点击并上拖划操作则放大键盘界面及其按键面积,在任意键区点击并下拖划操作则缩小键盘界面及其按键面积。

    3.2.4 界设计十分人性化,易掌握键位:在键盘上位于中间的字符(如c键、h键、m键、r键、w键、双字符1!键、双字符4$键、双字符7&键、双字符,<键、和双字符+=键)和第六行功能键(如Cap键、Shift键、Space键、Enter键、Alt键、Ctl键、Del键、rclk键、Bksp键、Ins键)采用区别于其它字符的任一一种颜色,以提高人们对指触键盘排布的易记性和舒适性性。

    其中的一页上方3行包括有f1至f12功能键、下方3行包括常用符号键(\|`~[{}],。、|''“”/?!.)和常用功能键(如图3)。
, 百拇医药
    其中的一页包括常用符号键(#*%…-()+={}《》[]`~)和常用功能键,后面空白键可根据需求自定义增加符号实现录入(如图4)。

    4 实践应用

    软键盘已应用在本多功能诊疗仪,可在临床采用弹性结构化电子病历录入临床信息,性能稳定,操作简便,有助提高医护人员录入及检索效率。

    在电子病历的录入及检索中,医院药物的编码在医院计算机系统中运用的编码方法一般是由字母与数字组成,中药处方同西药处方最大的区别在于每张中药处方药味较多[4],医生在临床录入中药处方的工作量较大,用手写笔点小软键盘输入效率极低,本单手指触软键盘以新的键盘排布方法,首页采用符合人们对英文字母(A-Z)的认识习惯顺序排列,例如,录入或检索药名枸杞,即指触键盘上的gq即显示出拼音首字为gq的全部药品名,选择排列在第一位置的枸杞即完成录入或检索。(如图5)。, 百拇医药(梁志伟 邓承熹 贺丽丽 王永运 赖小平)
1 2下一页