通用键盘长按键实现方法及其在输入中的应用方法

文档序号:6608816阅读:267来源:国知局
专利名称:通用键盘长按键实现方法及其在输入中的应用方法
技术领域
本发明涉及计算机应用领域,特别涉及通用键盘长按键实现方法及其在输入中的应用方法。

背景技术
在普通计算机上,如果按住一个键不放,就会出现连续的重复字符,第一次产生重复字符的等待时间由系统键盘属性中的“重复延迟”设定,按住按键之后相应字符的重复速度为“重复率”。现有技术中获取字符消息的程序无法分辨出是逐个输入的,还是按住不放自动产生的重复字符。
计算机键盘输入未来的发展方向是整句输入,然而在整句输入时不可能做到100%准确,这就需要对句子中的错误进行修改。现有技术的输入方法中要用方向键或鼠标将光标移动到错误处才能进行修改,非常麻烦,致使很多人宁可使用字词输入法逐个选词,也不使用整句输入法输入,造成打字速度的提高缓慢。


发明内容
为了在使用键盘进行中文输入时,能够快速定位到待修改汉字,本发明实施例提供了通用键盘长按键实现方法及其在输入中的应用方法。所述技术方案如下 本发明实施例提供了一种通用键盘长按键实现方法,所述方法包括以下步骤 步骤A创建并安装键盘钩子动态链接程序,当使用键盘时,获取底层键盘消息; 步骤B分别记录键盘的“按下消息”和“放开消息”的顺序和次数; 步骤C根据系统长时间按住一个按键所产生的重复键与“按下消息”和“放开消息”顺序和次数的关系判断出当前按键是否为长按键。
本发明实施例还提供了一种长按键在输入中的应用方法,当处于中文输入状态时,所述方法包括 监控当前按键是否为长按键,如果是,在缓冲提示行内容中查询是否存在与所述当前按键匹配的汉字首编码,如果存在,将修改光标定位到所查到汉字首编码对应的汉字或编码上,更新显示提示行并等待修改。
当用户在中文输入法状态收到连续多个长按键时,所述方法还包括 在缓冲提示行内容中从前向后继续查询,找到下一个首编码与长按键匹配的汉字位置,将修改光标定位到这个汉字或编码上等待修改。
当处于中文输入状态,并且缓冲行中已经有输入的汉字内容时,所述方法还包括 用符号长按键进行反向移动,移动到需要的汉字位置时放开符号长按键。
上述技术方案具有如下有益效果 通过在通用键盘上识别出长按键,利用长按键可以实现在输入时对错误汉字的快速定位和修改,使用方便,能有效提高整句修改速度;同时利用长按键还可以实现中西文输入状态的快速切换、信息提示和功能选择等多种功能,大大扩展了通用键盘的应用面。



图1是本发明实施例1提供的通用键盘长按键实现方法的流程图; 图2是本发明实施例2提供的利用长按键在中文输入状态下快速定位和修改错误汉字的方法流程图; 图3是本发明实施例2提供的根据重复键次数和状态确定长按键的方法流程图。

具体实施例方式 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例通过识别通用键盘的长按键,利用长按键实现在整句输入时快速定位到“待修改汉字”或“错误编码”上,并且在不离开主键盘的范围内,利用长按键还可以完成中英文输入状态的相互转换、英文输入状态下的信息提示等功能。
实施例1 参见图1,本发明实施例提供了一种通用键盘长按键实现方法,具体步骤如下 步骤101创建并安装键盘钩子动态链接程序。
键盘钩子动态链接程序为现有技术中获取底层键盘消息的程序,该程序可以记录用户对按键的操作是“按下”还是“放开”,同时记录“按下”和“放开”的顺序和次数。
步骤102判断当前按键是否为字符键,如果是字符键则执行步骤103;如果不是则执行步骤108。
步骤103判断用户对当前按键的操作是否为“按下”,如果是,则执行步骤104;否则,执行步骤109。
步骤104判断与上次按键的键值是否相同,如果相同,执行步骤105;如果不相同,表示当前按键与上次按键不是同一个,则执行步骤110。
步骤105表示当前按键为重复按键,重复次数加1。
步骤106判断重复键的有效重复次数是否达到成立条件,如果是,则执行步骤107;否则,执行步骤111。
步骤107当前按键是长按键,按长按键处理,然后结束。
步骤108按功能键处理程序处理当前按键,然后结束。
步骤109清除上次保留的当前按键的键值记录和按下次数,然后结束。
步骤110记录当前按键的键值,并清除重复次数,然后结束。
步骤111当前按键为重复键,然后结束。
实施例2 在中文输入状态下,每输入一句话都将在缓存区中进行暂存,同时输入的编码保存在编码区中。这时,缓存区中的记录汉字的部分被称为缓冲行,缓冲行上转换出来的汉字中间有可能出现错误。在本发明实施例中,当发现错误后可以不用方向移动键,利用长按键就可以实现错误汉字的快速定位和修改。如果定位后发现是编码输入有误,还可以继续长按键定位到编码上,对编码进行修改。
参见图2,本发明实施例提供了利用长按键在中文输入状态下快速定位和修改错误汉字的方法,具体步骤如下 步骤201判断当前按键是否为长按键,如果是,则执行步骤202;否则,结束。
步骤202在缓冲提示行内容中查询是否存在与长按键的键值匹配的汉字首编码,如果存在,则执行步骤203;否则,执行步骤204。
步骤203将修改光标定位到所查询到的汉字首编码对应的汉字上等待修改。
步骤204更新显示提示行,结束。
如果缓冲行上存在多个与长按键的键值匹配的汉字首编码,而第一次定位的不是所希望修改的汉字,则可以继续按住长按键不放(连续长按键),这时修改光标会自动跳过这个汉字,定位到下一个与长按键的键值匹配的汉字首编码对应的汉字上;可以连续长按首编码键,直到停在想修改的汉字上时才放开。
当收到连续多个长按键时,在缓冲提示行内容中从前向后依次查询,找到下一个首编码与长按键匹配的汉字位置,将修改光标定位到这个汉字上等待修改。
比如,当前编码为全拼,发现输入的句子中某个汉字是错的,则按住这个错误汉字的声母键不放开,系统就会自动将修改位置定位在这个错误的汉字上。如果缓冲行上有多个相同声母的汉字,而第一次定位的不是所希望修改的汉字,可以一直按住这个声母键不放,则会自动跳过这个汉字,定位到下一个相同声母的汉字上。如果使用“五笔、首位、声形、数码”等其他编码,定位方法也相同,都是长按需要定位的编码的第一个字母键。
参见图3,上述步骤201在处理按键消息时检查当前按键的重复键次数和状态,根据重复键次数和状态确定当前按键是否为长按键。具体过程如下 步骤2001判断当前按键是否为第一次重复按键,如果不是第一次重复按键,执行步骤2002;否则,执行步骤2004; 步骤2002该按键为连续的重复键,判断有效重复次数是否达到成立条件,如果达到,执行步骤2003;否则,直接返回不处理。
步骤2003降低有效重复次数,即逐渐减少搜索定位时间,记录下次有效重复次数。其效果是长时间按住重复键,后面定位速度会比前面的要快一些。
步骤2004第一次产生重复键,记录初始值和下次有效重复次数。
此程序用于判断当前重复键是否为有效处理键。由于连续长按键时的重复速率太高,不能在每个重复键产生时都进行搜索。否则如果一直按下某个首编码不放开,而当前缓冲行上又有多个可匹配的汉字时,则会造成光标在这几个汉字上快速跳动,而无法准确停在希望定位的汉字上。
利用本发明的长按键功能还可以用于状态切换和位置移动。因为第一次定位修改后,可能还需要修改编码或其他汉字,或者使用普通符号作为切换或移动时不小心移动过缩了,这些情况下也可以利用同一符号的长按键功能进行操作,避免频繁换键,例如 A、在输入过程中遇到最前面有错误时,可按住1秒左右(一次长按键),光标可定位到最后一次空格分隔的位置上。如果当前在语句方式或者没有分隔,则定位到行首。
B、通常用于移动修改,首次会移到最后一个分隔位置的开始处,若没有分隔则是最开始的位置,并处于修改词组的状态。当不小心移动超过了所改的汉字,连续长按(按住不放超过1秒)就会反过来向前逐字移位。
C、通常在遇到前面输入内容有错误时,按[向前逐字移动。若不小心移过了,连续长按[(按住不放超过1秒)就会以较缓慢的速度反过来向后逐字移位,免除换键的麻烦。
本发明采用底层软件技术实现了长按键的识别,并在输入软件中实现多种实用功能,大大增强了键盘功能。
利用本发明可直接长按待修改汉字的“首编码”或“错误编码”快速定位,而无需将手移开字母区,巧妙地解决了整句输入修改难的瓶颈问题。
利用本发明还可以在中西文输入时实现“功能切换”、“信息提示”和“功能选择”等,而不必使用功能键或用鼠标选择操作。配合网络搜索或其他软件还能快速执行更多任务。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种通用键盘长按键实现方法,其特征在于,所述方法包括以下步骤
步骤A创建并安装键盘钩子动态链接程序,当使用键盘时,获取底层键盘消息;
步骤B分别记录键盘的“按下消息”和“放开消息”的顺序和次数;
步骤C根据系统长时间按住一个按键所产生的重复键与“按下消息”和“放开消息”顺序和次数的关系判断出当前按键是否为长按键。
2.一种长按键在输入中的应用方法,其特征在于,当处于中文输入状态时,所述方法包括
监控当前按键是否为长按键,如果是,在缓冲提示行内容中查询是否存在与所述当前按键匹配的汉字首编码,如果存在,将修改光标定位到所查到汉字首编码对应的汉字或编码上,更新显示提示行并等待修改。
3.根据权利要求2所述的长按键在输入中的应用方法,其特征在于,当用户在中文输入法状态收到连续多个长按键时,所述方法还包括
在缓冲提示行内容中从前向后继续查询,找到下一个首编码与长按键匹配的汉字位置,将修改光标定位到这个汉字上等待修改。
4.根据权利要求2所述的长按键在输入中的应用方法,其特征在于,当处于中文输入状态,并且缓冲行中已经有输入的汉字内容时,所述方法还包括
用符号长按键进行反向移动,移动到需要的汉字位置时放开符号长按键。
全文摘要
本发明提供了通用键盘长按键实现方法及其在输入中的应用方法,属于计算机应用领域。通用键盘长按键实现方法包括创建并安装键盘钩子动态链接程序,当使用键盘时,获取底层键盘消息并记录键盘的“按下消息”和“放开消息”的顺序和次数;根据重复键与“按下消息”和“放开消息”顺序和次数的关系判断出当前按键是否为长按键。长按键在输入中的应用方法包括监控当前按键是否为长按键,如果是,查询是否存在与当前按键匹配的汉字首编码,如果存在,将修改光标定位到对应的汉字或编码上,更新显示提示行并等待修改。本发明通过识别通用键盘的长按键,实现了输入时快速定位和修改错误汉字功能,明显地增强了通用键盘的实用功能。
文档编号G06F3/023GK101315581SQ20071009977
公开日2008年12月3日 申请日期2007年5月30日 优先权日2007年5月30日
发明者周志农 申请人:周志农
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1