专利名称:一种适用于Linux操作系统的手写输入装置的制作方法
技术领域:
本发明涉及一种适用于Li皿x操作系统的手写输入装置,属电子信息的输入技术领域。
背景技术:
随着信息技术的不断发展,触摸屏已经成为了大众化的输入设备,通过在触摸屏上的点击和书写,用户可以完成与设备的交互。由于我国人口众多,各个文化层次水平人员参差不齐,基于触摸屏的手写输入法更适合我国国情,Li皿x是一个类UNIX内核以网络为核心支持多用户、多任务、多线程、多CPU的操作系统,是目前最有活力的操作系统之一。在稳定性和可靠性方面具有服务器操作系统的特性,常用来构筑各种服务器平台,具有很高的性价比;此外,Li皿x系统稍加修改裁剪,被用到嵌入式系统中,有很大的应用前景。Li皿x在中国的推广,由于近几年受到正版软件产权等其他商业因素影响,该操作系统正逐渐升温,因此使用Li皿x操作系统下的手写输入方法,对于进一步推广Li皿x系统在中国的使用,节省商业软件开支,推广国产处理器芯片,以及建立完整的产业体系具有重大意义。目前市场上存在的手写输入装置大都是针对windows操作系统的,无法应用于Li皿x操作系统环境,如《微计算机应用》杂志第27巻第6期,2006年11月发表的名称为《基于windows平台的手写体数字识别系统的设计与实现》的文章中第729页所述即属于此列。而可用于Li皿x系统的手写输入装置少之又少,且价格昂贵,本发明不仅实现了在Li皿x系统环境下方便快捷的输入字符,而且价格低廉,成本造价仅为市面上同类产品的十分之一,此外本发明亦可应用于嵌入式Li皿x系统环境下。
发明内容
为了克服现有技术的缺陷和不足,以解决市面上Li皿x操作系统中手写输入种类少且价格昂贵的问题,本发明提供了一种适用于Li皿x操作系统的手写输入装置。
本发明的技术方案如下 —种适用于Li皿x操作系统的手写输入装置,包括直流电源、手写笔、触摸屏、手写识别模块,其特征在于触摸屏通过数据线和手写识别模块相连接;手写识别模块通过标准异步串行通信接口和具有显示终端的Li皿x系统或嵌入式Li皿x系统相连接;直流电源连接到整个手写输入装置中为其供电;手写笔为圆杆型,前端呈圆锥状(如通用的圆珠笔状)以便于使用者在触摸屏上书写。 所述的触摸屏为四线电阻式或四线电容式LCD分离型压敏触摸屏。
所述的手写笔采用金属或塑料材质的触屏手写笔。 本发明手写输入装置采用模块化结构,方便调试,安装。用户通过手写笔在触摸屏上进行字符书写,识别模块进行轨迹识别和字符识别,并将识别的结果发送至Li皿x系统,主控程序采用C语言编写,对于可定制的候选字图形界面程序的编写采用通用跨平台C++类库一QT。系统软硬件接口简单,不依赖于适用环境的硬件结构;此外根据Li皿x应用环境的不同,候选字图形界面程序采取不同的编译方式,亦可适用于嵌入式Li皿x系统中,实 现在移动终端上的使用。本方法开发周期短,实用性强,在开发难度、工作量、成本上有较为 明显优势,适用于X系统的Linux平台和具有帧缓冲(Framebuffer)的嵌入式Linux平台
的手写输入。 上述手写输入装置中各部件的工作功能如下 1)手写笔用来负责输入字符的书写,候选字符的点击选择。 2)四线电阻式或四线电容式LCD分离型触摸屏用来感知手写笔手写触屏时压力 变化,将压力信号反映为对外阻值变化传递给手写识别模块。 3)手写识别模块通过串口与Li皿x操作系统进行数据通信,通过四根数据线与触 摸屏进行数据相连。手写识别模块读取触摸屏回送的一系列电信号,通过计算得到触电坐 标值,将坐标值通过串口送至Li皿x系统中,根据程序参数设定,通过模块内部算法,将识 别出的候选字符通过串口送至Linux系统中。 4)具有显示终端的Li皿x系统/嵌入式Li皿x系统接收手写模块传递的轨迹点信
息,将手写点的对应坐标显示在操作系统显示设备上,接收手写选定的字符。 通过上述功能组合,使用手写笔在触摸屏上进行字符书写,手写识别模块读取手
写信息,将触摸屏返回的电信号转换成坐标值电信号通过串口传递给Li皿x操作系统,
Linux系统开启framebuffer,将对应坐标点的手写轨迹点在屏幕上显示;通过程序设定,
当一个字符书写完毕后,手写识别模块通过内部的识别算法,将识别出的候选字符通过串 口发送至Li皿x系统,Li皿x系统对候选字符编号后,调用Qt界面程序,显示到屏幕终端,用 户通过手写笔在触摸屏对编号进行点击选择,手写识别模块将编号送至Li皿x系统,Linux 系统将编号对应的字符打印至光标输出处。至此一次手写输入完毕。 如图1所示,将触摸屏和手写识别模块相连,手写识别模块通过串口与Li皿x操作 系统进行信息传递,以一次正常的手写输入过程为例
LCD分离型触摸屏的工作特性如下 1)触摸屏通过四位数据线与手写识别模块进行数据通信; 2)触摸屏感知手写笔手写触屏时压力变化,将压力信号反映为对外阻值变化传递 给手写识别模块; 用户通过手写笔在触摸屏上进行字符书写,触摸屏将感知到的压力信号通过四位
数据线传递给手写识别模块进行处理。
其手写识别模块的工作特性如下 1)通过标准异步串行通信接口与运行Li皿X操作系统设备进行数据通信; 2) Li皿x操作系统对手写识别模块进行参数初始化设置; 3)读取手写笔在触摸屏上的动作信息,将触摸屏压力信号转换为电信号; 4)通过内部识别算法,将手写笔和触摸屏接触点坐标位置传递给Li皿x操作系
统; 5)根据初始化程序设定,判断一次字符手写过程,根据手写轨迹,通过内部识别算 法,将识别候选字符通过标准异步串行通信接口传递给Li皿x操作系统,Li皿x操作系统调 用framebuffer将字符编号显示; 6)用户通过触摸屏点击选择候选字序号,手写识别模块接收序号并传递至Linux操作系统,Li皿X系统调用内部函数将字符输入至界面光标处; Li皿x操作系统与手写识别模块通过异步串行通信接口进行通信,手写模块初始 化程序首先开启Li皿x系统中串口设备文件,搭建通信链路。下一步,通过串口向手写识 别模块写入设定通信波特率的参数,波特率值具体大小,由用户根据系统情况自行确定;正
确写入设定波特率参数后,手写识别模块会向操作系统返回一个正确响应应答码字,如果 模块接收到正确应答码字,表明通信波特率设定成功,如果没有重新发送设定参数;下一步 向串口中写入参数设置手写识别模块的工作方式,参数内容包括1.对触摸屏的校准信息
2.划定触摸屏字符书写区域和点击区域3.设定手写识别模块识别出候选字的个数。上述 参数设定完毕后,手写识别模块会通过串口向Li皿X系统发送正确设置的应答码字;如果 模块接收到正确应答码字,表明手写识别模块的工作方式设定成功,如果没有重新发送设 定参数;下一步,向串口中写参数设置手写识别模块的抬笔等待时间,抬笔等待时间是设定 一个阈值,如果在触摸屏上一次笔画书写抬笔后的时间间隔大于设定阈值,则认为一次字 符书写完毕,识别模块会对该次书写进行字符算法识别,并将识别后的可能字符通过串口 送至Li皿x系统中,送出字符个数由上面设定的参数确定。 于此同时,Li皿x系统内部完成framebuffer初始化和字符输入函数初始化工作, framebuffer初始化主要用于手写轨迹坐标点在Linux显示设备上的绘制。framebuffer是 出现在li皿x 2.2后内核中一种图形设备驱动程序接口,它将显存抽象出来成为一种字符 设备,允许上层应用程序在图形模式下直接对现实缓冲区进行读写操作。帧缓冲只是一块 显示缓冲区,向这个缓冲区写入特定格式的数据就意味着更新屏幕的输出。帧缓冲与屏幕 上点存在着映射关系,屏幕上的每个点都与缓冲区某个特定的地址相关联。framebuffer初 始化后,构造一个可以接收坐标参数的函数,手写识别模块识别手写笔点击的位置,得到位 置坐标,传递给上面构造的函数,函数接收坐标后,填入显示缓冲区,就可以在Li皿x显示 设备上绘出手写点轨迹。字符输入函数完成的功能是将用户选择的字符打印到Li皿x界面 光标处,实现手写字符的输入。函数接收到字符码字后,首先判断码字是否正确,如果正确, 将会判断光标的属性,如果光标是待输入状态,则会调用系统函数,将码字对应的字符打印 到光标的位置,实现字符输入。 当用户使用手写笔在触摸屏上进行字符书写时,手写识别模块将从触摸屏感知的 压力信号转换成电信号,得到手写笔和触摸屏接触点坐标;手写识别模块将接触点坐标传 递给Li皿x系统,系统调用framebuffer显示程序,将手写轨迹点一一绘出,根据每次手写 抬笔后停顿时间间隔和手写识别模块初始化设定的抬笔等待时间阈值比较,判断一次书写 过程的抬笔等待时间,如果大于设定阈值,认为一次字符书写完毕,识别模块将进行字符识 别,根据设定参数,将识别后的候选字符的GB2312码发送到串口中,程序读取串口,将得到 的GB2312码字存储。然后运用基于C++的Qt类库编写Li皿x下界面显示程序,由于Qt类 库对字符的支持位Unicode码字,因此,应将上述存储的GB2312码字转换成Unicode码字 传递给Qt界面程序,界面程序将读到的Unicode码字,按顺序编号,同时将序号和码字对应 的字符显示到Linux显示设备上。 手写模块初始化时划定手写区域和点击选择区域,点击选择区域根据用户设定, 可以划定用来字符选择的序号区域,序号大小由设定模块发送候选字个数决定。用户在手 写区域完成字符的书写,书写完毕后,识别模块将识别后的候选字按照顺序调用Qt界面程序在显示设备上显示,用户根据候选字符的显示顺序,在触摸屏点击区域进行序号点击选 择,识别模块驱动点击位置信息,将序号读入,同时调用字符输入函数将序号对应的字符显 示到显示设备光标处,实现一次字符输入。输入完毕后判断退出区域是否被点击,如果是, 一次手写输入完毕,如果没有则重新进入一次手写字符输入状态。
本发明手写输入装置具有以下优点 本装置采用模块化结构,硬件接口简单,方便调试,安装。系统软件主控程序采用 〇语言编写,对于可定制的候选字图形界面程序的编写采用通用跨平台0++类库一(^,不依 赖适用环境的硬件结构;此外根据Li皿x应用环境,采取不同的编译方式,亦可适用于嵌入 式Li皿x系统中,实现在移动终端上的使用。本方法开发周期短,实用性强,在开发难度、工 作量、成本上有较为明显优势,适用于X系统的Linux平台和具有帧缓冲(Framebuffer)的 嵌入式Li皿x平台的手写输入。
图1为本发明手写输入装置示意图。 其中1为手写笔;2为触摸屏;3为手写识别模块;4为具有显示终端的Li皿X系 统或嵌入式Li皿X系统;5为标准异步串行通信接口 ;6为四位数据线;7为直流电源。
具体实施例方式
下面结合附图和实施例对本发明做进一步说明,但不限于此。
实施例1 : 如图1所示,一种适用于Li皿x操作系统的手写输入装置,包括直流电源7、手写 笔1、触摸屏2、手写识别模块3,其特征在于触摸屏2通过四位数据线6和手写识别模块3 相连接;手写识别模块3通过标准异步串行通信接口 5和具有显示终端的Li皿x系统4相 连接;直流电源7连接到整个手写输入装置中为其供电;手写笔1为圆杆型,前端呈圆锥状 (如通用的圆珠笔状)以便于使用者在触摸屏2上书写。
所述的触摸屏2为四线电阻式LCD分离型压敏触摸屏。
所述的手写笔1采用金属铝材质制成的触屏手写笔。
实施例2: 和实施例1相同,只是手写识别模块3通过标准异步串行通信接口 5和具有显示 终端的嵌入式Li皿x系统4相连接;所述的触摸屏2为四线电容式LCD分离型压敏触摸屏。 所述的手写笔1采用硬质塑料材质制成的触屏手写笔。 上述实施例中采用3V2A直流电源7为芯片和附属电路供电;手写识别模块3采用 汉王HW006芯片。
权利要求
一种适用于Linux操作系统的手写输入装置,包括直流电源、手写笔、触摸屏、手写识别模块,其特征在于触摸屏通过数据线和手写识别模块相连接;手写识别模块通过标准异步串行通信接口和具有显示终端的Linux系统或嵌入式Linux系统相连接;直流电源连接到整个手写输入装置中为其供电;手写笔为圆杆型,前端呈圆锥状以便于使用者在触摸屏上书写。
2. 如权利要求书1所述的一种适用于Li皿x操作系统的手写输入装置,其特征在于所述的触摸屏为四线电阻式或四线电容式LCD分离型压敏触摸屏。
3. 如权利要求书1所述的一种适用于Li皿x操作系统的手写输入装置,其特征在于所述的手写笔采用金属或塑料材质的触屏手写笔。
全文摘要
一种适用于Linux操作系统的手写输入装置,属电子信息的输入技术领域。包括直流电源、手写笔、触摸屏、手写识别模块,其特征在于触摸屏通过数据线和手写识别模块相连接;手写识别模块通过标准异步串行通信接口和具有显示终端的Linux系统或嵌入式Linux系统相连接;直流电源连接到整个手写输入装置中为其供电;手写笔为圆杆型,前端呈圆锥状以便于使用者在触摸屏上书写。本发明装置采用模块化结构,硬件接口简单,方便调试、安装;实现在移动终端上的使用。本发明开发周期短,实用性强,在开发难度、工作量、成本上有较为明显优势,适用于X系统的Linux平台和具有帧缓冲的嵌入式Linux平台的手写输入。
文档编号G06F3/048GK101739212SQ20091025574
公开日2010年6月16日 申请日期2009年12月28日 优先权日2009年12月28日
发明者徐超, 林贺, 王恒, 石祚夫, 袁东风, 陈飞, 魏斌 申请人:山东大学