专利名称:一种专用汉字输入键盘与计算机系统对接的方法
技术领域:
本发明涉及一种专用汉字输入键盘与计算机系统对接的方法,其是通过在专用键盘中固化翻译程序,从而使专用汉字键盘可以直接使用计算机系统字库,避免了专用键盘自带字库的烦扰。
背景技术:
计算机汉字输入技术已经相当成熟,并且已经开发出许多的汉字输入法,但每种汉字输入方法都有自己的字库,在使用这种汉字输入法时,应该使用相应的字库。因此,时下流行的WINDOWS操作系统的中文版便提供了拼音等多种字库,以供使用。
在速记和速录行业中,也已经开发出许多中专用键盘,这些键盘的特点是专业化、小型化和快速化,以适合速记的特点,这些键盘一般都是从减少键盘上键的数量和击键次数入手的,且可以大大提高输入速度,比普通标准键盘的输入速度可以提高一倍左右。但这种超出标准键盘键的改进和击键次数的变化,已经不能利用计算机系统字库进行输入了,必须使用专用键盘和专用字库,在使用时需要携带自己的计算机系统或是携带字库软件,会给使用者带来相当的麻烦,如一般速记都是在会场、法庭或采访现场使用,涉及保密信息时将会限制速记服务者携带计算机,而携带字库安装字库也是相当繁琐的。所以,现有的速记输入汉字的专用键盘还存在一些缺陷有待改进。如果专用汉字输入键盘可以直接使用系统现有字库,那么将会拓宽专用汉字输入键盘的使用领域。
本发明人曾经发明过一种多键并击进行汉字输入的速记专用键盘(申请号02131414.4多键并击式汉字输入键盘及其输入方法),但这种键盘与击键方法并不能直接利用计算机系统所带的汉字字库,所以需要专门的字库才能使用,下述本发明是根据该键盘及击键方法的特点进行的改进,使键盘可以直接使用计算机系统的汉字字库。
发明内容
本发明的目的在于提供一种专用汉字输入键盘与计算机系统对接的方法,其是通过翻译过程将专用汉字输入键盘的信息编码直接转换为普通标准键盘的信息后,再使用系统字库,从而避免专用汉字输入键盘必须使用自带字库的困扰。
本发明的专用汉字输入键盘与计算机系统对接的方法,包括以下过程首先,在专用汉字输入键盘中固化翻译程序,在专用汉字输入键盘与计算机系统物理连接并加电以后,该翻译程序调入计算机系统内存并驻留内存直至关机;接着,将该专用汉字输入键盘与计算机系统进行物理连接,连接端口为串口或USB端口,计算机系统将翻译程序调入内存;计算机系统通过该翻译程序,将与专用汉字输入键盘连接的端口作为文件进行读写,对读到的数据进行处理;
根据读出的编码和键盘输入的设定进行比较,得到相关的正确的信息,将得到的正确信息转换成虚拟键盘编码,向计算机系统发送虚拟的键盘消息,根据相应汉字输入法的输入规则,对虚拟键盘编码进行修正,使之完全模拟相应汉字输入法的输入规则,用这种输入法的字库当作自己的字库;根据汉字专用输入键盘的输入编码,利用相应汉字输入法字库,在屏幕上显示出对应的欲输入汉字,完成汉字专用输入键盘对计算机系统已有字库的调用。
所述的计算机系统与汉字专用输入键盘的物理连接端口可以是串口、并口、USB端口、1394端口或其它端口其中之 。
所述计算机系统可以是Windows操作系统,所调用字库可以是黑马拼音、智能狂拼的字库。
当计算机系统是Windows操作系统,所用字库为黑马拼音时完成输入具体经过下述过程根据windows对串口读写的规范,将对串口的读写转化为对文件的读写,就是把串口当作一个文件来对待,用serial.Open(_T(″COM1″))命令打开端口,设置端口,用serial.Setup,serial.SetupHandshaking,serial.SetMask,和serial.SetupReadTimeouts命令设置,判断端口是否打开,在设置端口的同时得到端口的信息,如果设置的时候后错误发生,由lLastError标示;读文件用CSerial∷EEvent eEvent=serial.GetEventType()得到窜口事件,在数据接收事件中eEvent &CSerial∷EeventRecv中用serial.Read读文件,lLastError标示是否运行正常,如果正常,将数据保存在szBuffer[]中,等待对数据处理;对读到的数据进行处理,根据读出的编码和键盘输入的设定进行比较,得到相关的正确的信息,将得到的正确信息转换成虚拟键盘编码,向windows发送虚拟的键盘消息,根据黑马狂拼的输入规则,对虚拟键盘编码进行修正。使之完全拟合黑马的输入规则,完全用这种输入法当作自己的字库。
本发明通过在专用汉字输入键盘内预置固化翻译程序,在实现与计算机系统对接后,该程序读入内存,并将专用汉字输入键盘输入的编码信息转换为虚拟键盘信息,从而可以直接使用计算机系统所带有的标准字库。避免了专用汉字输入键盘必须使用专用字库的困扰,解决了现有专用汉字输入键盘在速记应用上的许多问题。
具体实施例方式
本发明是在专用汉字输入键盘中预置翻译程序,在实现与计算机系统对接后,直接使用系统字库进行输入和显示。本发明以申请号02131414.4多键并击式汉字输入键盘及其输入方法的专利申请中专用汉字输入键盘为例进行说明,涉及的输入法为上述的输入法。
首先,用读串口库文件来实现对串口的读写,根据硬件的协议完成对读得数据的识别,再编码。
根据键盘编码的特点以及所选用的汉字输入软件,对编码调整,识别,用虚拟键盘技术完成识别后汉字的正确输出。
由于读写串口的技术已经很成熟,而虚拟键盘输入也很成熟,关键在于键盘编码与黑马输入法的协调问题。而其他类似的软件需要自己的字库本发明通过一个库对窜口进行读写,根据windows对窜口读写的规律,将对窜口的读写转化为对文件的读写。把窜口当作一个文件来对待,设置端口,判断端口是否打开,得到并且设置相关的参数,读文件,写文件,判断是否运行正常。
对读到的数据进行处理。首先,根据读出的编码,和键盘输入的设定进行比较,得到相关的正确的信息(输入汉字的拼音的编码,详细规则请参看后附的速记输入法)。将得到的正确信息转换成虚拟键盘编码,向windows发送虚拟的键盘消息。根据黑马神拼或智能狂拼等的输入规则,对虚拟键盘编码进行修正。使之完全拟合黑马或智能的输入规则,完全用这种输入法当作自己的字库,以实现速记的功具体过程如下(1)一个库对串口进行读写,根据windows对串口读写的规范,将对串口的读写转化为对文件的读写。
把串口当作一个文件来对待,用serial.Open(_T(″COM1″))命令打开。设置端口,用serial.Setup,serial.SetupHandshaking,serial.SetMask,和serial.SetupReadTimeouts命令设置。判断端口是否打开,在设置端口的同时得到端口的信息,如果设置的时候后错误发生,由lLastError标示。读文件用CSerial∷EEvent eEvent=serial.GetEventType()得到串口事件,在数据接收事件中eEvent&CSerial∷EeventRecv中用serial.Read读文件,lLastError标示是否运行正常,如果正常,将数据保存在szBuffer[]中,等待对数据处理。(2)对读到的数据进行处理。首先,根据读出的编码和键盘输入的设定进行比较,得到相关的正确的信息(输入汉字的拼音的编码,详细规则请参看刘永森的速记输入法)。将得到的正确信息转换成虚拟键盘编码,向windows发送虚拟的键盘消息,根据黑马狂拼的输入规则,对虚拟键盘编码进行修正。使之完全拟合黑马的输入规则,完全用这种输入法当作自己的字库,以实现速记的功能。
比如说实现“玻璃”的输入。在速记键盘上敲击“b”对应的键,在键盘左侧,只有此一个键按下,键盘反应后发出”bo”的编码626f,同时在键盘的右侧击打“djyi”,发出对应“l”和“i”的编码6c69。由于区分左右手,在左手击打完后,自动加入编码20,对应空格键。编码通过串口传到计算机中,上端程序读串口,读出626f206c69的编码,自动每16位一个字分开成为60 6f 20 6c 69。上端程序根据编码,将其还原成为bo空格li的虚拟键盘编码’B’’0’’0X20’’L’’I’,然后向windows发送键盘消息keybd_event(),windows认为是输入“bo li”,在拼音的输入法中,将其转化成为汉字“玻璃”。
相同的,当按下速记键盘的yea后,自动将其编码成为b4,送到计算机中,上端程序读到b4时,将其编码成为shift和空格的虚拟键盘编码’VK_SHIFT’‘0X20’,发送出键盘消息keybd_event()。
上述过程反映到显示屏幕上,就是虽然使用专用汉字输入键盘按特定的输入法进行输入,确在直接使用计算机系统所带字库进行显示和输出,从而可以大大提高记录速度,在速记时输入速度可以达到每分钟300汉字,而识别率则可以达到95%。
其它字母和键的使用方法如下本键盘左右对称,一共25个键,键的排列是根据人的手形排列成对应的“八字”形状,左侧12个键,右侧12个键,中间为空格键,空格键使用左右手击打均可。键盘的左右各有12个键,其中b、d、g、z、j、y为声母键(其中y兼做功能键使用),a、o、e、i、u、ü为韵母键。
声、韵母键及功能键与汉语拼音中的声韵母的对应关系声、韵母键及功能键与汉语拼音中的声、韵母的对应关系如下,括号内的为编码的声、韵母键。
b(b)p(by) m(bj) f(bjy)d(d)t(dy) n(dj) l(djy)g(g)k(gy) h(gj) j(j)q(jy) x(zjy) z(z)c(zy)s(zj) r(gjy) zh(zg) ch(zgy)sh(zgj)韵母共有37个,本套编码中将其中的“uo与o”、“ie与e”、“ia与a”、“ueng与ong”合并,因此,实际只有33个韵母。
a/ia(a) o/uo(o) e/ie(e) i(i)u(u) ü(ü) ai(ai)ei(ei)
ao(ao)ou(ou)an(oe)ang(ae)en(iu)eng(io) ong/ueng(ue)iong(iue) ui(ioue) un(aoeiu)iao(iao) iou(iou) in(aou) ua(ua)iang(aie) ing(aoe) uai(uai)uang(uae) uan(uoe) ian(ioe) ün(üo)üan(üoe)üe(üe) er(yao) io(yo)进行汉字输入依照上述的声、韵母与键或键的组合的对应关系进行汉字输入时,左手控制左边的12个键,右手控制右边的12个键,单手操作多键同击汉字的声、韵母所对应的键或键的组合,使其声韵相拼从而输入一个汉字的音节,左右手同时并击两个汉字的声、韵母对应的键的组合即可输入两个汉字音节(也就是双音词)。一般是词双手击,单个的字单手击,单手击时可不分左右手。标点不得与字或词双手同击。
如速记机 是 干 什么 用 的啊 。
zjuj j gzj goe gzjiubje iue yda ju
快速准确的打出所需要的单音字在输入过程中,为了区分相同的汉字音节(也就是同音字或同音词)可以采取消字定字法,也就是左右手同时并击一组双音节词的键的组合,从而打出一组双音词,如果需要该词的一个字可以用功能键“y”删除不需要的字,左手键盘的功能键“y”删除左侧的字,右手键盘的功能键“y”删除右侧的汉字,从而得到所需要的汉字,达到录入中“快速”和“提高准确率”的要求。
如,想要“速记”一词中左侧的“速”字,可以双手击打编码“zjuj”,再用右手击打删除键“y”删除不需要的“记”字,所需要的“速”字就留下了,同理,当需要“速记”一词中右侧的“记”字时,可以双手击打编码“zjuj”,再用左手击打删除键“y”删除不需要的“速”字,所需要的“记”字就留下了。
打出大写英文字母关于大写英文字母,为使中文速记键盘在录入中文的同时也能打出英文字母或单词,在设计上采用用左手按住“ye”,右手单击打其对英文所做的编码,括号内的为编码的声、韵母键。
A(yea) B(yeb)C(yezy) D(yed)E(yee) F(yebjy) G(yeg) H(yegj)I(yei) L(yedjy) J(yej) K(yegy)
M(yebj) N(yedj) O(yeo) P(yeby)Q(yejy) S(yezj) W(yeu) T(yedy)U(yeiou) V(yeioue) R(yegjy) X(yezjy) Y(yey)Z(yez)例如句子“用WPS编辑文件”。
在这个句子中有一个英文单词WPS,在录入这个英文单词时左手要一直按住“ye”,直到右手分别单击出W、P、S,此时左、右手同时抬起,该单词显屏。
即yeu(W)、by(P)、zj(S)打出小写英文字母关于小写英文字母,它与大写的英文字母击打的唯一不同点就在于左手按住的是“yeo”键,右手单击其对英文小写字母所做的相应的编码,从而打出小写英文字母。
a(yeoa) b(yeob) c(yeozy)d(yeod) e(yeoe) f(yeobjy)h(yeogj) g(yeog) i(yeoi)
j(yeoj) k(yeoyg) l(yeodjy)m(yeobj)n(yeodj) o(yeoo)p(yeoby)q(yeojy) r(yeogjy)s(yeozj)t(yeody) u(yeoiou)v(yeoioue) w(yeou) x(yeozjy)y(yeoy) z(yeoz)。
例如句子“用ws编辑文件”。
在这个句子中有一个英文单词ws,在录入这个英文单词时左手要一直按住“yeo”,直到右手分别单击出w、s,此时左、右手同时抬起,该单词显屏。
即yeou(w)、zj(s)如何打出阿拉伯数字在进行中文录入中,当需要进行阿拉伯数字录入时,本录入方法采用左手按住“yu”键,右手单击固定的阿拉伯数字的编码,来实现录入阿拉伯数字的目的。
yub(1) yud(2) yug(3) yuz(4)
yuu(5) yue(6) yui(7) yuo(8)yua(9) yuü(0) yuy(%)百分号yuj(.)小数点例如句子“增长了5%”。
在这个句子中有一个阿拉伯数字(5)和一个百分号(%),在录入它们时左手要一直按住“yu”,直到右手分别单击出5、%,此时左、右手同时抬起,该词显屏。
即yuu(5)、y(%)打出标点符号在语言的录入当中需要有标点符号,本录入方法对相应的中文标点符号进行了编码,其编码如下,左手单击“ju”表示句号(。)ju---------。
右手单击“ju”表示逗号(,) ju ---------,左手单击“ji”表示问号(?)ji---------?右手单击“ji”表示顿号(、) ji ---------、左手单击“zü”表示冒号()zü---------右手单击“zü”表示惊叹号(!)zü ---------!左手单击“dü”表示前引号(“) dü---------“右手单击“dü”表示后引号(”)dü---------”左手单击“yeao”表示破折号(——) yeao---------
右手单击“yeao”表示省略号(……) yeao---------……右手单击“ye”表示前书名号(《) ye ---------《右手单击“yeo”表示后书名号(》)yeo---------》左手单击“yuai”表示前括号(() yuai---------(右手单击“yuai”表示后括号()) yuai---------)打出常用特殊符号本编码对高频的常用特殊符号进行编码,击打的方式是左手按住“yi”,右手单击相应的编码,yib(¥)人民币 yig($)美元 yiu(*)星号yii(@)艾特yid(+)加号 yiz(-)减号yie(×)乘号 yio(÷)除号 yia(=)等号yiy(/)斜杠yij(—)中横 yiü(_)下横功能键的使用在中文录入中,有时要对所录入的文字段落以及整篇文章进行编辑,为此,本编码设计了一些功能键,其击打方法是,左手按住ya,右手单击yab——删除光标上面的文字,相当于101键盘的Del键。
yag——将光标上移,相当于101键盘的↑键。
yau——删除光标前的文字,相当于101键盘的Back Space键。
yaü——对已经拉出的同音字、同音词等菜单进行退出的操作,相当于101键盘的Esc键。
yad——是将光标左移,相当于101键盘的←键。
yaz——是将光标向下移动,相当于101键盘的↓键。
yae——是将光标右移动相当于101键盘的→键。
yai——是拉同音字菜单,用于显示当前光标上所有的同音字的菜单。
yao——拉同音词菜单,用于显示光标上的同音的双音词菜单。
yay——将光标移到文件的头,相当于101键盘的Home键。
yaj——将光标移到文件的尾,相当于101键盘的End键。
yaui——上翻一页。相当于101键盘的Pgup键。
yaeo——下翻一页,相当于101键盘的Pgdn键。
yaa——行删除键,将当前光标所在行删除。
删除键(双手击打yy)及其使用方法1、用来消字定字,例如,我们要打一句话,“速记是快速记录语言的工具”,其中“速记”为双音节词,而“是”为单音词,假设在单击“是”(zgj)时出现“实”、“时”、“石”、“事”、“使”等一系列同音字,为尽快找到“是”,我们采用击打双音词“是否”,然后用右手击打删除键y,从而,把不需要的“否”删除,留下所需要的“是”字,从而达到提高汉语文字录入的准确率,实现高速准确快速记录的目的。
2、用来删除当次击键的字或词,例如,在输入“速记是快速记录语言的工具”的时候,可能由于误操作,最后一击本应打出“工具”却打出了“供应”,变成“速记是快速记录语言的供应”,此时,由于最后一击“供应”是错误的录入,那么,需要使用双手击打“yy”,消除掉错误的词“供应”,同时,击打出正确的双音词“下具”,达到句子的准确录入。
此种方法的使用只对单音及双音词的录入起作用,不支持单音及双音词以外的录入操作。
下拉菜单的选项在实际文字录入过程当中,因本系统是要挂在文字处理系统Word下进行操作来使用的,因此,为切合文字编辑处理系统Word的要求,特编辑出一种下拉菜单的编码,方法是左手按住yai,右手单击所要拉出菜单对应的字母,对应的字母是采用了对英文大写字母的对应的编码来进行操作的,例如,要拉出Word当中的“文件(F)”,就需要左手按住yai,右手单击英文大写“F”的速记编码byj,即(yaibyj),从而由速记机键盘拉出“文件”菜单进行选项,而且此类操作可以依此类推。
A(yaia)B(yaib)C(yaizy)D(yaid)E(yaie)F(yaibjy)G(yaig)H(yaigj) I(yaii)L(yaidjy) J(yaij)K(yaigy)M(yaibj) N(yaidj) O(yaio)P(yaiby) Q(yaijy) S(yaizj)W(yaiu)T(yaidy) U(yaiiou)V(yaiioue) R(yaigjy) X(yaizjy)Y(yaiy)Z(yaiz)
顶格换行所谓顶格换行就是指在录入过程当中需要对文字进行顶格换行操作时所进行的编码,我们采用左手单击yui的击打方法来进行顶格换行的操作,此操作相当于101键盘的回车键。
空两格换行所谓空两格换行是指在文字录入过程当中需要对录入的内容进行分段操作的编码,它的击打方法是右手单击yui。
插入与添加的转换所谓插入与添加的转换是指在文字录入的时候,需要对录入的文字进行由添加改换成插入的操作,或者由插入改换成添加的操作,为此,我们设计了一个编码,就是用左手单击jo,当第一次单击时由添加变为插入,当第二次单击jo的时候由插入又转回添加。
保存文件所谓保存文件就是要对文中录入的内容进行保存操作,它的作用相当于101键盘的F2键,击打方法是用右手单击jo。
半角与全角转换半角与全角的转换及其击打方式是,用左手按住yea,第一次击打为半角,第二次击打则由半角转换为全角,依次循环。
定义词组所谓定义词组是指在随机录入过程当中,碰到一些特殊的人名、地名、专用术语等需要进行定义的文字进行操作的一种方法,通过定义词组的操作使之能够打出正确的人名、地名或专业词组,其定义方法是左手按住yua,右手单击e(向右的箭头,相当于101键盘的→键),并按所要定义的字或词的个数持续按动e键,以此来定义特殊的词或词组,当所要定义的字或词的个数满足需要时,需要对定义的词或词组进行保存,这就又涉及到了保存定义词组的概念。
保存定义词组当定义词或词组以后,需要对所定义词组进行保存,此时左手按住yua不要松动,同时用右手单击yua,当右手抬起后,所定义的词组保存即完成。此时右手的yua所起的作用相当于101键盘的回车键作用。
特定的字、词本编码暂时只对汉语中的下列四对字、词进行了特定字、词的编码,目的是为了提高录入的准确率,这其中有三对为字,一对为词。如1、三对字左手按住y,右手单击dya,即 ydya(她)。
左手按住空格键,右手单击dya即 空格dya(它)。
左手按住y,右手单击d,即 yd(的)。
左手按住空格,右手单击d,即空格d(地)。
左手按住y,右手单击bjai,即ybjai(买)。
左手按住空格键,右手单击bjai,即 空格bjai(卖)。
2、一对词左手按住dya,右手单击y,即 dyay(她们)。
左手按住dya,右手单击空格键,即 dya空格(它们)。
权利要求
1.一种专用汉字输入键盘与计算机系统对接的方法,其特征在于首先,在专用汉字输入键盘中固化翻译程序,在专用汉字输入键盘与计算机系统物理连接并加电以后,该翻译程序调入计算机系统内存并驻留内存直至关机;接着,将该专用汉字输入键盘与计算机系统进行物理连接,连接端口为串口或USB端口,计算机系统将翻译程序调入内存;计算机系统通过该翻译程序,将与专用汉字输入键盘连接的端口作为文件进行读写,对读到的数据进行处理;根据读出的编码和键盘输入的设定进行比较,得到相关的正确的信息,将得到的正确信息转换成虚拟键盘编码,向计算机系统发送虚拟的键盘消息,根据相应汉字输入法的输入规则,对虚拟键盘编码进行修正,使之完全模拟相应汉字输入法的输入规则,用这种输入法的字库当作自己的字库;根据汉字专用输入键盘的输入编码,利用相应汉字输入法字库,在屏幕上显示出对应的欲输入汉字,完成汉字专用输入键盘对计算机系统已有字库的调用。
2.根据权利要求1所述的专用汉字输入键盘与计算机系统对接的方法,其特征在于所述计算机系统与汉字专用输入键盘的物理连接端口为串口、并口、USB端口、1394端口或其它端口其中之一。
3.根据权利要求1所述的专用汉字输入键盘与计算机系统对接的方法,其特征在于所述计算机系统为Windows操作系统,所调用字库为黑马拼音、智能狂拼的字库。
4.根据权利要求1所述的专用汉字输入键盘与计算机系统对接的方法,其特征在于完成输入具体经过下述过程所述计算机系统为Windows操作系统,根据windows对串口读写的规范,将对串口的读写转化为对文件的读写,就是把串口当作一个文件来对待,用serial.Open(_T(″COM1″))命令打开端口,设置端口,用serial.Setup,serial.SetupHandshaking,serial.SetMask,和serial.SetupReadTimeouts命令设置,判断端口是否打开,在设置端口的同时得到端口的信息,如果设置的时候后错误发生,由lLastError标示;读文件用CSerial∷EEvent eEvent=serial.GetEventType()得到窜口事件,在数据接收事件中eEvent&CSerial∷EeventRecv中用serial.Read读文件,lLastError标示是否运行正常,如果正常,将数据保存在szBuffer[]中,等待对数据处理;对读到的数据进行处理,根据读出的编码和键盘输入的设定进行比较,得到相关的正确的信息,将得到的正确信息转换成虚拟键盘编码,向windows发送虚拟的键盘消息,根据黑马狂拼的输入规则,对虚拟键盘编码进行修正.使之完全拟合黑马的输入规则,完全用这种输入法当作自己的字库。
全文摘要
本发明公开了一种专用汉字输入键盘与计算机系统对接的方法,其是通过翻译过程将专用汉字输入键盘的信息编码直接转换为普通标准键盘的信息后,再使用系统字库,从而避免专用汉字输入键盘必须使用自带字库的困扰。通过在专用汉字输入键盘内预置固化翻译程序,在实现与计算机系统对接后,该程序读入内存,并将专用汉字输入键盘输入的编码信息转换为虚拟键盘信息,从而可以直接使用计算机系统所带有的标准字库。避免了专用汉字输入键盘必须使用专用字库的困扰,解决了现有专用汉字输入键盘在速记应用上的许多问题。
文档编号G06F3/023GK1622020SQ200410098600
公开日2005年6月1日 申请日期2004年12月15日 优先权日2004年12月15日
发明者刘永森 申请人:刘永森