CN105549896B - 一种虚拟键盘的排列方法及其排列系统 - Google Patents
一种虚拟键盘的排列方法及其排列系统 Download PDFInfo
- Publication number
- CN105549896B CN105549896B CN201610105236.0A CN201610105236A CN105549896B CN 105549896 B CN105549896 B CN 105549896B CN 201610105236 A CN201610105236 A CN 201610105236A CN 105549896 B CN105549896 B CN 105549896B
- Authority
- CN
- China
- Prior art keywords
- character
- keyboard
- input
- line
- location
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000006073 displacement reaction Methods 0.000 claims description 26
- 206010034719 Personality change Diseases 0.000 claims description 7
- 238000012790 confirmation Methods 0.000 abstract description 4
- 230000009466 transformation Effects 0.000 description 8
- 208000008918 voyeurism Diseases 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000011549 displacement method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000739 chaotic effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04809—Textured surface identifying touch areas, e.g. overlay structure for a virtual keyboard
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明公开了一种虚拟键盘的排列方法及其排列系统,所述虚拟键盘的排列方法包括:进入键盘界面时初始化虚拟键盘,输入字符之后初始化虚拟键盘,在所述虚拟键盘之上将与输入字符相邻的两个字符设置为第一字符和第二字符,以使所述第一字符、所述输入字符与所述第二字符根据第一预定规则排列。本发明提供的技术方案在进入键盘界面时初始化虚拟键盘,每次输入字符之后再次初始化虚拟键盘,同时对输入的字符是否正确进行确认。因此,本发明提供的技术方案在保证输入安全的前提下,可以从输入字符之后虚拟键盘的字符排列的规律上确认上次输入的字符是否正确。
Description
技术领域
本发明涉及触控显示技术领域,尤其涉及一种虚拟键盘的排列方法及其排列系统。
背景技术
现有的移动电话使用触控显示屏取代实体键盘,在此前提之下用户通过虚拟键盘进行文字输入。在公共场合,为了保证输入密码不被旁人偷窥,通常采用乱序键盘,使得偷窥者不能凭借按键的位置排列的经验猜测输入的字符。然而,上述乱序键盘具有明显的缺点:首先,由于乱序键盘的按键位置排列十分混乱,输入者本人也要花费更多时间找到需要的字符;其次,输入者无法确定刚才输入的字符是否正确。
发明内容
为解决上述问题,本发明提供一种虚拟键盘的排列方法及其排列系统,用于解决输入者使用现有的虚拟键盘时无法确定刚才输入的字符是否正确的问题。
为此,本发明提供一种虚拟键盘的排列方法,包括:
进入键盘界面时初始化虚拟键盘;
输入字符之后初始化虚拟键盘;
在所述虚拟键盘之上将与输入字符相邻的两个字符设置为第一字符和第二字符,以使所述第一字符、所述输入字符与所述第二字符根据第一预定规则排列。
可选的,所述进入键盘界面时初始化虚拟键盘的步骤包括:
将标准键盘的第一行字符整体位移第一随机位数,所述第一随机位数为大于等于0而且小于等于9的整数;
将第二行字符根据第一行字符的位置变化按照第二预定规则进行位置变化;
将第三行字符根据第二行字符的位置变化按照第三预定规则进行位置变化。
可选的,所述输入字符之后初始化虚拟键盘的步骤包括:
将第一行字符随机整体位移第二随机位数,所述第二随机位数为大于等于0而且小于等于9的整数;
将第二行字符根据第一行字符的位置变化根据第二预定规则进行位置变化;
将第三行字符根据第二行字符的位置变化根据第三预定规则进行位置变化。
可选的,所述第一随机位数与所述第二随机位数不相同。
可选的,所述在所述虚拟键盘之上将与输入字符相邻的两个字符设置为第一字符和第二字符,以使所述第一字符、所述输入字符与所述第二字符根据第一预定规则排列的步骤包括:
将输入字符的前一字符设置为第一字符;
将输入字符的后一字符设置为第二字符;
将所述第一字符、所述输入字符与所述第二字符设置成根据第一预定规则排列。
本发明还提供一种虚拟键盘的排列系统,包括:
第一初始化单元,用于进入键盘界面时初始化虚拟键盘;
第二初始化单元,用于输入字符之后初始化虚拟键盘;
第一设置单元,用于在所述虚拟键盘之上将与输入字符相邻的两个字符设置为第一字符和第二字符,以使所述第一字符、所述输入字符与所述第二字符根据第一预定规则排列。
可选的,所述第一初始化单元包括:
第一位移模块,用于将标准键盘的第一行字符整体位移第一随机位数,所述第一随机位数为大于等于0而且小于等于9的整数;
第一变化模块,用于将第二行字符根据第一行字符的位置变化按照第二预定规则进行位置变化;
第二变化模块,用于将第三行字符根据第二行字符的位置变化按照第三预定规则进行位置变化。
可选的,所述第二初始化单元包括:
第二位移模块,用于将第一行字符随机整体位移第二随机位数,所述第二随机位数为大于等于0而且小于等于9的整数;
第三变化模块,用于将第二行字符根据第一行字符的位置变化根据第二预定规则进行位置变化;
第四变化模块,用于将第三行字符根据第二行字符的位置变化根据第三预定规则进行位置变化。
可选的,所述第一随机位数与所述第二随机位数不相同。
可选的,所述第一设置单元包括:
第一设置模块,用于将输入字符的前一字符设置为第一字符;
第二设置模块,用于将输入字符的后一字符设置为第二字符;
第三设置模块,用于将所述第一字符、所述输入字符与所述第二字符设置成根据第一预定规则排列。
本发明具有下述有益效果:
本发明提供的虚拟键盘的排列方法及其排列系统中,所述虚拟键盘的排列方法包括:进入键盘界面时初始化虚拟键盘,输入字符之后初始化虚拟键盘,在所述虚拟键盘之上将与输入字符相邻的两个字符设置为第一字符和第二字符,以使所述第一字符、所述输入字符与所述第二字符根据第一预定规则排列。本发明提供的技术方案在进入键盘界面时初始化虚拟键盘,每次输入字符之后再次初始化虚拟键盘,同时对输入的字符是否正确进行确认。因此,本发明提供的技术方案在保证输入安全的前提下,可以从输入字符之后虚拟键盘的字符排列的规律上确认上次输入的字符是否正确。
附图说明
图1为本发明实施例一提供的一种虚拟键盘的排列方法的流程图;
图2为本发明实施例一提供的标准键盘的结构示意图;
图3-图5为实施例一中初始化虚拟键盘的过程示意图;
图6-图9为实施例一中确认输入字符是否正确的过程示意图;
图10为本发明实施例二提供的一种虚拟键盘的排列系统的结构示意图。
具体实施方式
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明提供的虚拟键盘的排列方法及其排列系统进行详细描述。
实施例一
图1为本发明实施例一提供的一种虚拟键盘的排列方法的流程图。如图1所示,所述虚拟键盘的排列方法包括:
步骤1001、进入键盘界面时初始化虚拟键盘。
图2为本发明实施例一提供的标准键盘的结构示意图。如图2所示,标准键盘的按键位置按顺序排列,第一行的第一个按键字符为Q,最后一个按键字符为P。第一行的最后一个按键字符P的下一个按键字符为第二行的第一个按键字符A,第二行的最后一个按键字符为L。第二行的最后一个按键字符L的下一个按键字符为第三行的第一个按键字符Z,第三行的最后一个按键字符为M。第三行的最后一个按键字符M的下一个按键字符为第一行的第一个按键字符Q。另外,第一行的上一行是第三行,第一行的下一行是第二行,第二行的上一行是第一行,第二行的下一行是第三行,第三行的上一行是第二行,第三行的下一行是第一行。
本实施例中,所述进入键盘界面时初始化虚拟键盘的步骤包括:将标准键盘的第一行字符整体位移第一随机位数,所述第一随机位数为大于等于0而且小于等于9的整数,将第二行字符根据第一行字符的位置变化按照第二预定规则进行位置变化,将第三行字符根据第二行字符的位置变化按照第三预定规则进行位置变化。
图3-图5为实施例一中初始化虚拟键盘的过程示意图。如图3-图5所 示,键盘初始化并不是纯随机完全打乱,而是采用整体位移的方法进行初始化。具体来说,第一行字符根据第一随机位数采用循环位移的方式向右整体位移。例如,所述第一随机位数X=3时,第一行字符的排列顺序是IOPQWERTYU;所述第一随机位数X=9时,第一行字符的排列顺序是WERTYUIOPQ;所述第一随机位数X=0时,第一行字符的排列顺序不变。
参见图3,本实施例设定第一随机位数X=3,第二行字符与第一行字符成对出现,第二行字符出现在第一行同组字符的右斜下方的位置。具体分组方式如下:【QA】【WS】【ED】【RF】【TG】【YH】【UJ】【IK】【OL】,字符P与第一行字符没有配对。当整体位移发生之后,没有配对的字符P的右斜下方会出现空缺,同时第一行的最后一个字符U又会溢出一个对应关系【UJ】,因此本实施例采用溢出的字符顺序向前填充空缺的方法维持虚拟键盘的原始形状。参见图4,本实施例将溢出的字符J向前填充,于是字符P的右斜下方的空缺设置为字符J。
参见图5,第三行字符与第二行字符成对出现,第三行字符出现在第二行同组字符的右斜下方的位置。具体分组方式如下:【AZ】【SX】【DC】【FV】【GB】【HN】【JM】,字符KL与第二行字符没有配对。当整体位移发生之后,没有配对的字符KL的右斜下方会出现空缺,同时第二行的最后两个字符GH又会溢出两个对应关系【GB】【HN】,因此本实施例将溢出的字符BN向前填充,于是字符KL的右斜下方的空缺设置为字符BN。通过上述方式形成的半乱序键盘给人的感觉既熟悉又陌生。从心理学的角度来说,这种半乱序键盘能够使直接观察的人更容易找到相应的键位,而对于偷窥者,无论键盘怎么变,给他的第一印象总是一个很像标准键盘但又不是标准键盘的虚拟键盘。因此,本实施例提供的技术方案既能方便使用者定位按键的位置,又能防止偷窥者偷窥,从而保证了信息安全。
步骤1002、输入字符之后初始化虚拟键盘。
本实施例中,所述输入字符之后初始化虚拟键盘的步骤包括:将第一行字符随机整体位移第二随机位数,所述第二随机位数为大 于等于0而且小于等于9的整数,将第二行字符根据第一行字符的位置变化根据第二预定规则进行位置变化,将第三行字符根据第二行字符的位置变化根据第三预定规则进行位置变化。优选的,所述第一随机位数与所述第二随机位数不相同。
除了所述第一随机位数与所述第二随机位数不相同之外,输入字符之后的初始化虚拟键盘与进入键盘界面时的初始化虚拟键盘具有大致相同的思路,具体内容可参照上述进入键盘界面时的初始化虚拟键盘的描述,此处不再赘述。
步骤1003、在所述虚拟键盘之上将与输入字符相邻的两个字符设置为第一字符和第二字符,以使所述第一字符、所述输入字符与所述第二字符根据第一预定规则排列。
本实施例中,所述在所述虚拟键盘之上将与输入字符相邻的两个字符设置为第一字符和第二字符,以使所述第一字符、所述输入字符与所述第二字符根据第一预定规则排列的步骤包括:将输入字符的前一字符设置为第一字符,将输入字符的后一字符设置为第二字符,将所述第一字符、所述输入字符与所述第二字符设置成根据第一预定规则排列。
本实施例在输入字符前后设置有特殊的字符排列,输入者通过观察这个排列规律即可推算出刚刚输入的字符是什么,从而可以确认输入字符是否正确。具体来说,首先要定义这种特殊的字符排列规则,使得这个排列规则只有输入者自己认可,本实施例通过4种方式定义上述排列规则。第一种方式:前一字符、输入字符与后一字符共3个字符形成顺序排列,所述顺序排列通常是指abcdefg…的顺序。例如,刚刚输入的字符是H,如果虚拟键盘上字符H的上一个字符是G,下一个字符是I,则可以确认输入字符正确。第二种方式:预先定义两个不同的字符,这两个字符会依次出现在刚刚输入字符的前后位置。如果刚刚输入的字符是预先定义字符中的一个,则通过下述方式定义排列规则:如果输入字符与左侧字符重复,则左侧位置设置为输入字符的顺序排列的前一个字母(顺序排列是指abcdefg…的顺序,字母z的下一个字母是a,字母a的上一个字母是 z);如果输入字符与右侧字符重复,则右侧位置设置为输入字符的排列顺序的后一个字母。另外,如果输入字符的前一个字母或者后一个字母已经出现在虚拟键盘上,则按照顺序排列继续前移或后移一个字母。例如,预先定义的字符是ZB,输入字符H时虚拟键盘会出现ZHB的排列,输入字符B时会出现ZBC的排列,输入字符Z时会出现YZB。预先定义的字符是CB,输入字符C时与左侧字符C字符重复,虚拟键盘上应当出现BCB,此时由于右侧字符B已经出现在虚拟键盘上,因此虚拟键盘上应当出现ACB。
第三种方式、预先定义两个不同的第一字符和第二字符,这两个字符会依次出现在刚刚输入字符的左侧。如果刚刚输入的字符与预先定义的第一字符重复,则预先定义的第一字符变成第二字符的前一个顺序字母。如果变换之后的第一字符还是与输入的字符重复,则变换之后的第一字符变成输入字符的前一个字母。例如,预先定义第一字符和第二字符BC,输入字符B时应当按照BCB进行排列,由于输入字符B与第一字符B重复,则第一字符B应当变成第二字符C的前一个字母B,排列依然是BCB,此时变换之后的第一字符B还是与输入字符B重复,则变换之后的第一字符B变成输入字符B的前一个字母A,因此应当按照ACB进行排列。如果刚刚输入的字符和预先定义的第二字符重复,则输入字符对应的按键位置变成输入字符的下一个顺序字母。如果变换之后的输入字符与第一字符重复,则变换之后的输入字符继续变换成第一字符的下一个顺序字母。例如,预先定义第一字符和第二字符DC,输入字符C时应当按照DCC进行排列,由于输入字符C与第二字符C重复,输入字符对应的按键位置变成输入字符的下一个顺序字母,此时排列就成了DCD,由于变换之后的输入字符D与第一字符D重复,则变换之后的输入字符D继续变换成第一字符D的下一个顺序字母E,因此应当按照DCE进行排列。第四种方式、预先定义两个不同的第一字符和第二字符,这两个字符会依次出现在刚刚输入字符的右侧。当出现重复情况时,这里采用与第三种方式类似的方法,具体内容可参照第三种方式的描述,此处不再赘述。
上面四种方式的目的都是形成一个能被识别的排列,之所以选择3个字符而不是4个或者5个字符,是因为3个字符足以识别排列规律。另外,如果上述3个字符恰好遇到虚拟键盘的某一行的结尾,则自动顺延到下一行排列,相当于自动换行。
对输入字符是否正确进行确定的特殊排列会在与输入字符相邻的按键位置引入两个其他位置的字符。当然,引入字符所在位置可能正好与输入字符相邻的按键位置相同,但大多数情况下不是这样的。上述引用字符会替换本来应当出现在与输入字符相邻的按键位置上的两个字符,同时由于从其他位置直接引入字符,引入字符所在位置会空缺两个位置。此时,本实施例采用替换成谁就与谁交换的原则,将特殊排列融合到半乱序键盘里面。
本实施例采用第二种方式进行具体说明,设置第一随机位数为3,以及第二随机位数为2。图6-图9为实施例一中确认输入字符是否正确的过程示意图。进入键盘界面时初始化虚拟键盘,输入字符P之后再次初始化虚拟键盘,并结合刚才的输入字符P重新排列键盘。重新排列之后的虚拟键盘如图6所示,填充图案的四个字符ZLQA交换了顺序,其中Z和O交换,L和Q交换。实际应用中,字符按键位置是没有填充图案的,这里填充图案是为了表述方便。输入者通过观察字母ZL的位置就可以得知刚才的输入字符是P,从而对输入字符P是否正确进行确定。接下来继续输入字符A,输入字符A被系统接受,系统产生随机数8,并结合刚才的输入字符A重新排列键盘。重新排列之后的虚拟键盘如图7所示,输入者通过观察字母ZL的位置就可以得知刚才的输入字符是A,从而对输入字符A是否正确进行确定。接下来继续输入字符S,输入字符S被系统接受,系统产生随机数5,并结合刚才的输入字符S重新排列键盘。重新排列之后的虚拟键盘如图8所示,输入者通过观察字母ZL的位置就可以得知刚才的输入字符是S,从而对输入字符S是否正确进行确定。接下来继续输入字符S,输入字符S被系统接受,系统产生随机数6,并结合刚才的输入字符S重新排列键盘。重新排列之后的虚拟键盘如图9所示,输入者通过观察字母ZL的位置就可以得知刚才的输入 字符是S,从而对输入字符S是否正确进行确定。至此,输入结束。
本实施例提供的虚拟键盘的排列方法包括:进入键盘界面时初始化虚拟键盘,输入字符之后初始化虚拟键盘,在所述虚拟键盘之上将与输入字符相邻的两个字符设置为第一字符和第二字符,以使所述第一字符、所述输入字符与所述第二字符根据第一预定规则排列。本实施例提供的技术方案在进入键盘界面时初始化虚拟键盘,每次输入字符之后再次初始化虚拟键盘,同时对输入的字符是否正确进行确认。因此,本实施例提供的技术方案在保证输入安全的前提下,可以从输入字符之后虚拟键盘的字符排列的规律上确认上次输入的字符是否正确。
实施例二
图10为本发明实施例二提供的一种虚拟键盘的排列系统的结构示意图。如图10所示,所述虚拟键盘的排列系统包括第一初始化单元101、第二初始化单元102和第一设置单元103。第一初始化单元101用于进入键盘界面时初始化虚拟键盘,第二初始化单元102用于输入字符之后初始化虚拟键盘,第一设置单元103用于在所述虚拟键盘之上将与输入字符相邻的两个字符设置为第一字符和第二字符,以使所述第一字符、所述输入字符与所述第二字符根据第一预定规则排列。
参见图2,标准键盘的按键位置按顺序排列,第一行的第一个按键字符为Q,最后一个按键字符为P。第一行的最后一个按键字符P的下一个按键字符为第二行的第一个按键字符A,第二行的最后一个按键字符为L。第二行的最后一个按键字符L的下一个按键字符为第三行的第一个按键字符Z,第三行的最后一个按键字符为M。第三行的最后一个按键字符M的下一个按键字符为第一行的第一个按键字符Q。另外,第一行的上一行是第三行,第一行的下一行是第二行,第二行的上一行是第一行,第二行的下一行是第三行,第三行的上一行是第二行,第三行的下一行是第一行。
本实施例中,所述第一初始化单元包括第一位移模块、第一变 化模块和第二变化模块。第一位移模块用于将标准键盘的第一行字符整体位移第一随机位数,所述第一随机位数为大于等于0而且小于等于9的整数,第一变化模块用于将第二行字符根据第一行字符的位置变化按照第二预定规则进行位置变化,第二变化模块用于将第三行字符根据第二行字符的位置变化按照第三预定规则进行位置变化。
本实施例中,键盘初始化并不是纯随机完全打乱,而是采用整体位移的方法进行初始化。具体来说,第一行字符根据第一随机位数采用循环位移的方式向右整体位移。例如,所述第一随机位数X=3时,第一行字符的排列顺序是IOPQWERTYU;所述第一随机位数X=9时,第一行字符的排列顺序是WERTYUIOPQ;所述第一随机位数X=0时,第一行字符的排列顺序不变。
参见图3,本实施例设定第一随机位数X=3,第二行字符与第一行字符成对出现,第二行字符出现在第一行同组字符的右斜下方的位置。具体分组方式如下:【QA】【WS】【ED】【RF】【TG】【YH】【UJ】【IK】【OL】,字符P与第一行字符没有配对。当整体位移发生之后,没有配对的字符P的右斜下方会出现空缺,同时第一行的最后一个字符U又会溢出一个对应关系【UJ】,因此本实施例采用溢出的字符顺序向前填充空缺的方法维持虚拟键盘的原始形状。参见图4,本实施例将溢出的字符J向前填充,于是字符P的右斜下方的空缺设置为字符J。
参见图5,第三行字符与第二行字符成对出现,第三行字符出现在第二行同组字符的右斜下方的位置。具体分组方式如下:【AZ】【SX】【DC】【FV】【GB】【HN】【JM】,字符KL与第二行字符没有配对。当整体位移发生之后,没有配对的字符KL的右斜下方会出现空缺,同时第二行的最后两个字符GH又会溢出两个对应关系【GB】【HN】,因此本实施例将溢出的字符BN向前填充,于是字符KL的右斜下方的空缺设置为字符BN。通过上述方式形成的半乱序键盘给人的感觉既熟悉又陌生。从心理学的角度来说,这种半乱序键盘能够使直接观察的人更容易找到相应的键位,而对于偷窥者, 无论键盘怎么变,给他的第一印象总是一个很像标准键盘但又不是标准键盘的虚拟键盘。因此,本实施例提供的技术方案既能方便使用者定位按键的位置,又能防止偷窥者偷窥,从而保证了信息安全。
本实施例中,所述第二初始化单元包括第二位移模块、第三变化模块和第四变化模块。所述第二位移模块用于将第一行字符随机整体位移第二随机位数,所述第二随机位数为大于等于0而且小于等于9的整数,第三变化模块用于将第二行字符根据第一行字符的位置变化根据第二预定规则进行位置变化,第四变化模块用于将第三行字符根据第二行字符的位置变化根据第三预定规则进行位置变化。优选的,所述第一随机位数与所述第二随机位数不相同。
除了所述第一随机位数与所述第二随机位数不相同之外,第二初始化单元102在输入字符之后的初始化虚拟键盘与第一初始化单元101在进入键盘界面时的初始化虚拟键盘具有大致相同的思路,具体内容可参照上述第一初始化单元101在进入键盘界面时的初始化虚拟键盘的描述,此处不再赘述。
本实施例中,所述第一设置单元包括第一设置模块、第二设置模块和第三设置模块。第一设置模块用于将输入字符的前一字符设置为第一字符,第二设置模块用于将输入字符的后一字符设置为第二字符,第三设置模块用于将所述第一字符、所述输入字符与所述第二字符设置成根据第一预定规则排列。
本实施例在输入字符前后设置有特殊的字符排列,输入者通过观察这个排列规律即可推算出刚刚输入的字符是什么,从而可以确认输入字符是否正确。具体来说,首先要定义这种特殊的字符排列规则,使得这个排列规则只有输入者自己认可,本实施例通过4种方式定义上述排列规则。第一种方式:前一字符、输入字符与后一字符共3个字符形成顺序排列,所述顺序排列通常是指abcdefg…的顺序。例如,刚刚输入的字符是H,如果虚拟键盘上字符H的上一个字符是G,下一个字符是I,则可以确认输入字符正确。第二种方式:预先定义两个不同的字符,这两个字符会依次出现在刚刚输入字符的前后位置。如果刚刚输入的字符是预先定义字符中的一个, 则通过下述方式定义排列规则:如果输入字符与左侧字符重复,则左侧位置设置为输入字符的顺序排列的前一个字母(顺序排列是指abcdefg…的顺序,字母z的下一个字母是a,字母a的上一个字母是z);如果输入字符与右侧字符重复,则右侧位置设置为输入字符的排列顺序的后一个字母。另外,如果输入字符的前一个字母或者后一个字母已经出现在虚拟键盘上,则按照顺序排列继续前移或后移一个字母。例如,预先定义的字符是ZB,输入字符H时虚拟键盘会出现ZHB的排列,输入字符B时会出现ZBC的排列,输入字符Z时会出现YZB。预先定义的字符是CB,输入字符C时与左侧字符C字符重复,虚拟键盘上应当出现BCB,此时由于右侧字符B已经出现在虚拟键盘上,因此虚拟键盘上应当出现ACB。
第三种方式、预先定义两个不同的第一字符和第二字符,这两个字符会依次出现在刚刚输入字符的左侧。如果刚刚输入的字符与预先定义的第一字符重复,则预先定义的第一字符变成第二字符的前一个顺序字母。如果变换之后的第一字符还是与输入的字符重复,则变换之后的第一字符变成输入字符的前一个字母。例如,预先定义第一字符和第二字符BC,输入字符B时应当按照BCB进行排列,由于输入字符B与第一字符B重复,则第一字符B应当变成第二字符C的前一个字母B,排列依然是BCB,此时变换之后的第一字符B还是与输入字符B重复,则变换之后的第一字符B变成输入字符B的前一个字母A,因此应当按照ACB进行排列。如果刚刚输入的字符和预先定义的第二字符重复,则输入字符对应的按键位置变成输入字符的下一个顺序字母。如果变换之后的输入字符与第一字符重复,则变换之后的输入字符继续变换成第一字符的下一个顺序字母。例如,预先定义第一字符和第二字符DC,输入字符C时应当按照DCC进行排列,由于输入字符C与第二字符C重复,输入字符对应的按键位置变成输入字符的下一个顺序字母,此时排列就成了DCD,由于变换之后的输入字符D与第一字符D重复,则变换之后的输入字符D继续变换成第一字符D的下一个顺序字母E,因此应当按照DCE进行排列。第四种方式、预先定义两个不同的第一字符 和第二字符,这两个字符会依次出现在刚刚输入字符的右侧。当出现重复情况时,这里采用与第三种方式类似的方法,具体内容可参照第三种方式的描述,此处不再赘述。
上面四种方式的目的都是形成一个能被识别的排列,之所以选择3个字符而不是4个或者5个字符,是因为3个字符足以识别排列规律。另外,如果上述3个字符恰好遇到虚拟键盘的某一行的结尾,则自动顺延到下一行排列,相当于自动换行。
对输入字符是否正确进行确定的特殊排列会在与输入字符相邻的按键位置引入两个其他位置的字符。当然,引入字符所在位置可能正好与输入字符相邻的按键位置相同,但大多数情况下不是这样的。上述引用字符会替换本来应当出现在与输入字符相邻的按键位置上的两个字符,同时由于从其他位置直接引入字符,引入字符所在位置会空缺两个位置。此时,本实施例采用替换成谁就与谁交换的原则,将特殊排列融合到半乱序键盘里面。
本实施例采用第二种方式进行具体说明,设置第一随机位数为3,以及第二随机位数为2。进入键盘界面时初始化虚拟键盘,输入字符P之后再次初始化虚拟键盘,并结合刚才的输入字符P重新排列键盘。重新排列之后的虚拟键盘如图6所示,填充图案的四个字符ZLQA交换了顺序,其中Z和O交换,L和Q交换。实际应用中,字符按键位置是没有填充图案的,这里填充图案是为了表述方便。输入者通过观察字母ZL的位置就可以得知刚才的输入字符是P,从而对输入字符P是否正确进行确定。接下来继续输入字符A,输入字符A被系统接受,系统产生随机数8,并结合刚才的输入字符A重新排列键盘。重新排列之后的虚拟键盘如图7所示,输入者通过观察字母ZL的位置就可以得知刚才的输入字符是A,从而对输入字符A是否正确进行确定。接下来继续输入字符S,输入字符S被系统接受,系统产生随机数5,并结合刚才的输入字符S重新排列键盘。重新排列之后的虚拟键盘如图8所示,输入者通过观察字母ZL的位置就可以得知刚才的输入字符是S,从而对输入字符S是否正确进行确定。接下来继续输入字符S,输入字符S被系统接受,系统产生随 机数6,并结合刚才的输入字符S重新排列键盘。重新排列之后的虚拟键盘如图9所示,输入者通过观察字母ZL的位置就可以得知刚才的输入字符是S,从而对输入字符S是否正确进行确定。至此,输入结束。
本实施例提供的虚拟键盘的排列系统包括第一初始化单元、第二初始化单元和第一设置单元。第一初始化单元用于进入键盘界面时初始化虚拟键盘,第二初始化单元用于输入字符之后初始化虚拟键盘,第一设置单元用于在所述虚拟键盘之上将与输入字符相邻的两个字符设置为第一字符和第二字符,以使所述第一字符、所述输入字符与所述第二字符根据第一预定规则排列。本实施例提供的技术方案在进入键盘界面时初始化虚拟键盘,每次输入字符之后再次初始化虚拟键盘,同时对输入的字符是否正确进行确认。因此,本实施例提供的技术方案在保证输入安全的前提下,可以从输入字符之后虚拟键盘的字符排列的规律上确认上次输入的字符是否正确。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (6)
1.一种虚拟键盘的排列方法,其特征在于,包括:
进入键盘界面时初始化虚拟键盘;
输入字符之后初始化虚拟键盘;
在所述虚拟键盘之上将与输入字符相邻的两个字符设置为第一字符和第二字符,以使所述第一字符、所述输入字符与所述第二字符根据第一预定规则排列;
所述进入键盘界面时初始化虚拟键盘的步骤包括:
将标准键盘的第一行字符整体位移第一随机位数,所述第一随机位数为大于等于0而且小于等于9的整数;
将第二行字符根据第一行字符的位置变化按照第二预定规则进行位置变化;
将第三行字符根据第二行字符的位置变化按照第三预定规则进行位置变化;
所述输入字符之后初始化虚拟键盘的步骤包括:
将第一行字符随机整体位移第二随机位数,所述第二随机位数为大于等于0而且小于等于9的整数;
将第二行字符根据第一行字符的位置变化根据第二预定规则进行位置变化;
将第三行字符根据第二行字符的位置变化根据第三预定规则进行位置变化。
2.根据权利要求1所述的虚拟键盘的排列方法,其特征在于,所述第一随机位数与所述第二随机位数不相同。
3.根据权利要求1所述的虚拟键盘的排列方法,其特征在于,所述在所述虚拟键盘之上将与输入字符相邻的两个字符设置为第一字符和第二字符,以使所述第一字符、所述输入字符与所述第二字符根据第一预定规则排列的步骤包括:
将输入字符的前一字符设置为第一字符;
将输入字符的后一字符设置为第二字符;
将所述第一字符、所述输入字符与所述第二字符设置成根据第一预定规则排列。
4.一种虚拟键盘的排列系统,其特征在于,包括:
第一初始化单元,用于进入键盘界面时初始化虚拟键盘;
第二初始化单元,用于输入字符之后初始化虚拟键盘;
第一设置单元,用于在所述虚拟键盘之上将与输入字符相邻的两个字符设置为第一字符和第二字符,以使所述第一字符、所述输入字符与所述第二字符根据第一预定规则排列;
所述第一初始化单元包括:
第一位移模块,用于将标准键盘的第一行字符整体位移第一随机位数,所述第一随机位数为大于等于0而且小于等于9的整数;
第一变化模块,用于将第二行字符根据第一行字符的位置变化按照第二预定规则进行位置变化;
第二变化模块,用于将第三行字符根据第二行字符的位置变化按照第三预定规则进行位置变化;
所述第二初始化单元包括:
第二位移模块,用于将第一行字符随机整体位移第二随机位数,所述第二随机位数为大于等于0而且小于等于9的整数;
第三变化模块,用于将第二行字符根据第一行字符的位置变化根据第二预定规则进行位置变化;
第四变化模块,用于将第三行字符根据第二行字符的位置变化根据第三预定规则进行位置变化。
5.根据权利要求4所述的虚拟键盘的排列系统,其特征在于,所述第一随机位数与所述第二随机位数不相同。
6.根据权利要求4所述的虚拟键盘的排列系统,其特征在于,所述第一设置单元包括:
第一设置模块,用于将输入字符的前一字符设置为第一字符;
第二设置模块,用于将输入字符的后一字符设置为第二字符;
第三设置模块,用于将所述第一字符、所述输入字符与所述第二字符设置成根据第一预定规则排列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610105236.0A CN105549896B (zh) | 2016-02-25 | 2016-02-25 | 一种虚拟键盘的排列方法及其排列系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610105236.0A CN105549896B (zh) | 2016-02-25 | 2016-02-25 | 一种虚拟键盘的排列方法及其排列系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105549896A CN105549896A (zh) | 2016-05-04 |
CN105549896B true CN105549896B (zh) | 2018-10-09 |
Family
ID=55829101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610105236.0A Active CN105549896B (zh) | 2016-02-25 | 2016-02-25 | 一种虚拟键盘的排列方法及其排列系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105549896B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631507A (zh) * | 2012-08-27 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 虚拟键盘提供方法和装置 |
EP2963536A1 (en) * | 2014-06-30 | 2016-01-06 | BlackBerry Limited | Electronic device and method for rendering secondary characters |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713833A (zh) * | 2013-12-26 | 2014-04-09 | 京东方科技集团股份有限公司 | 一种电子设备及按键提示方法 |
-
2016
- 2016-02-25 CN CN201610105236.0A patent/CN105549896B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631507A (zh) * | 2012-08-27 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 虚拟键盘提供方法和装置 |
EP2963536A1 (en) * | 2014-06-30 | 2016-01-06 | BlackBerry Limited | Electronic device and method for rendering secondary characters |
Also Published As
Publication number | Publication date |
---|---|
CN105549896A (zh) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100552667C (zh) | 防止输入信息暴露给旁观者的方法 | |
Tan et al. | Spy-resistant keyboard: more secure password entry on public touch screen displays | |
US20060174339A1 (en) | An arrangement and method of graphical password authentication | |
CN103677644A (zh) | 一种智能移动终端的解锁方法及系统 | |
US20140053254A1 (en) | Graphical authentication system and method for anti-shoulder surfing attack | |
WO2011124275A1 (en) | Authentication system and method thereof | |
CN101499907B (zh) | 基于动态图形口令的防肩窥身份认证系统及方法 | |
JP5160908B2 (ja) | 認証システム | |
CN103077342A (zh) | 图形化随机密码输入方法 | |
CN110050271A (zh) | 图像密码系统及利用其来认证用户的方法 | |
CN103607274B (zh) | 一种以静态密码为源生成动态密码的方法 | |
Arif et al. | A tap and gesture hybrid method for authenticating smartphone users | |
CN101645123A (zh) | 带触摸屏的手持移动设备身份认证系统及认证方法 | |
CN104112096B (zh) | 多点触碰方法与装置 | |
CN105549896B (zh) | 一种虚拟键盘的排列方法及其排列系统 | |
Salman et al. | A graphical PIN entry system with shoulder surfing resistance | |
WO2019165976A1 (zh) | 一种密码输入方法和装置 | |
CN103034442A (zh) | 电子设备及其屏幕的解锁、解锁信息的设置装置及方法 | |
Seo et al. | Personal identification number entry for Google glass | |
WO2017030210A1 (ko) | 그래픽 오티피를 이용한 사용자 인증 방법 | |
CN107590376A (zh) | 一种图形辅助记忆的密码输入方法及系统 | |
Kasat et al. | Study and analysis of shoulder-surfing methods | |
CN108345784A (zh) | 有图符和随机字符段标记的密码输入方法及设备 | |
KR102246446B1 (ko) | 문자와 패턴을 조합한 인증암호의 인증방법 및 인증장치 | |
JP2005208996A (ja) | 認証システム及び端末装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |