当前位置: 首页 > 专利查询>周志农专利>正文

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

技术编号:2822322 阅读:378 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了通用键盘长按键实现方法及其在输入中的应用方法,属于计算机应用领域。通用键盘长按键实现方法包括:创建并安装键盘钩子动态链接程序,当使用键盘时,获取底层键盘消息并记录键盘的“按下消息”和“放开消息”的顺序和次数;根据重复键与“按下消息”和“放开消息”顺序和次数的关系判断出当前按键是否为长按键。长按键在输入中的应用方法包括:监控当前按键是否为长按键,如果是,查询是否存在与当前按键匹配的汉字首编码,如果存在,将修改光标定位到对应的汉字或编码上,更新显示提示行并等待修改。本发明专利技术通过识别通用键盘的长按键,实现了输入时快速定位和修改错误汉字功能,明显地增强了通用键盘的实用功能。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,特别涉及。
技术介绍
在普通计算机上,如果按住一个键不放,就会出现连续的重复字符,第一次产生重复字符的等待时间由系统键盘属性中的“重复延迟”设定,按住按键之后相应字符的重复速度为“重复率”。现有技术中获取字符消息的程序无法分辨出是逐个输入的,还是按住不放自动产生的重复字符。 计算机键盘输入未来的发展方向是整句输入,然而在整句输入时不可能做到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:创建并安装键盘钩子动态链接程序,当使用键盘时,获取底层键盘消息;步骤B:分别记录键盘的“按下消息”和“放开消息”的顺序和次数;步骤C:根据系统长时间按住一个按键所产生的重复键与“按下消息”和“放开消息”顺序和次数的关系判断出当前按键是否为长按键。

【技术特征摘要】

【专利技术属性】
技术研发人员:周志农
申请(专利权)人:周志农
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1