WO2010057433A1 - 多输入焦点的软键盘输入装置和方法 - Google Patents

多输入焦点的软键盘输入装置和方法 Download PDF

Info

Publication number
WO2010057433A1
WO2010057433A1 PCT/CN2009/075021 CN2009075021W WO2010057433A1 WO 2010057433 A1 WO2010057433 A1 WO 2010057433A1 CN 2009075021 W CN2009075021 W CN 2009075021W WO 2010057433 A1 WO2010057433 A1 WO 2010057433A1
Authority
WO
WIPO (PCT)
Prior art keywords
input
soft keyboard
character
keyboard
output unit
Prior art date
Application number
PCT/CN2009/075021
Other languages
English (en)
French (fr)
Inventor
陆舟
于华章
Original Assignee
北京飞天诚信科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from CN 200810226881 external-priority patent/CN101414242B/zh
Priority claimed from CN2008102268828A external-priority patent/CN101403957B/zh
Application filed by 北京飞天诚信科技有限公司 filed Critical 北京飞天诚信科技有限公司
Priority to US12/667,235 priority Critical patent/US8146011B2/en
Publication of WO2010057433A1 publication Critical patent/WO2010057433A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Definitions

  • the present invention relates to the field of information security, and in particular to a soft keyboard input device and method for multi-input focus.
  • BACKGROUND OF THE INVENTION Key box monitoring and window text interception are two common types of attacks that steal passwords.
  • a soft keyboard is a program that simulates the behavior of a keyboard in software and clicks on a character by clicking the mouse.
  • the soft keyboard can be used to prevent Trojans from recording passwords entered through the physical keyboard.
  • the mouse necessarily clicks on the soft keyboard, which causes the input control to lose focus and cannot accept the input characters.
  • the use of the soft keyboard must predetermine the focus position, which brings inconvenience to the use.
  • a soft keyboard that comes with the system in Windows XP does not cause the control to lose focus, but it uses a keyboard code that is identical to the physical keyboard and does not have anti-trojan functionality.
  • the self-drawn control with the non-input control without input focus is used for output display, and the human keyboard interaction is completed together with the soft keyboard. Since the output control itself has no focus, when there are multiple outputs (such as an interface for modifying the PIN code), a method is needed to determine the output control corresponding to the current input.
  • an embodiment of the present invention provides a soft keyboard input device and method for multiple input focus.
  • the technical solution is as follows:
  • a soft keyboard input device with multiple input focus characterized in that the device comprises a main control module and a soft keyboard, wherein the soft keyboard is a soft keyboard unit controlled by the main control module or communicates with the main control module.
  • Soft keyboard module when the soft keyboard is a soft keyboard unit controlled by the main control module,
  • the main control module includes: a plurality of standard input/output units for receiving mouse click messages; a plurality of analog input/output units for receiving mouse click messages, the plurality of analog input/output units and the plurality of The number of standard input/output units is equal, and - corresponding; an input focus flag setting unit, for when the standard input/output unit is clicked by a mouse, according to the correspondence between the standard input/output unit and the focus mark, the current The input focus flag is set to a focus mark of the standard input/output unit; when the analog input/output unit is clicked by a mouse, the current input focus flag is set to be according to a correspondence relationship between the analog input/output unit and the focus mark
  • a soft keyboard input method with multiple input focus characterized in that: the method comprises: displaying a soft keyboard and a plurality of analog input/output units in a specified area in a soft keyboard input mode, and for each simulation The input/output unit sets a corresponding focus flag, and the soft keyboard is a soft keyboard unit controlled by the main control module or a soft keyboard module that communicates with the main control module;
  • the main control module waits to receive a mouse message, wherein the main control module determines whether the mouse click message is generated by the user clicking the soft keyboard.
  • the main control module controls the soft keyboard unit to determine a corresponding character according to the position of the mouse click, and determines whether the character is a keyboard character, a control character, or a status character; if the character is a keyboard character, the main The control module controls the soft keyboard unit to find a corresponding analog input/output unit according to the current input focus flag, and find a storage unit corresponding to the found analog input/output unit among the plurality of existing storage units, and The keyboard characters are stored in the found storage unit, the plurality of storage units are equal in number to the plurality of analog input/output units, and - corresponding; if the characters are status characters, the main The control module controls the soft keyboard unit to perform corresponding state processing; if the character is a control character, the master control The module controls the soft keyboard unit to find a corresponding analog input/output unit according to the current input focus flag, and controls the analog input/output unit to redraw the appearance of the analog input/output unit according to the control character,
  • the soft keyboard is a soft keyboard module that communicates with the main control module
  • the main control module and the soft keyboard module wait to receive a mouse message, and the soft keyboard module determines a corresponding character according to the position of the mouse click; Determining whether the character is a keyboard character, a control character, or a status character; if the character is a keyboard character, the main control module acquires the character from the soft keyboard module, and finds a corresponding analog input according to the current input focus flag.
  • /output unit finds a storage unit corresponding to the found analog input/output unit among the plurality of existing storage units, and stores the keyboard character into the found storage unit, the plurality of storage
  • the unit is equal to the number of the plurality of analog input/output units, and corresponding to; if the character is a status character, the soft keyboard module performs corresponding state processing; if the character is a control character, the The main control module finds the corresponding analog input/output unit according to the current input focus flag, and controls the analog input/output Element according to said control word
  • Redrawing the appearance of the analog input/output unit, the redrawing the appearance of the analog input/output unit includes moving the cursor and/or including content displayed in the analog input/output unit and content stored in the storage area Deleted operation.
  • FIG. 1 is a flow chart showing a method for inputting a soft keyboard of a multi-input focus according to a first embodiment of the present invention
  • FIG. 2 is a structural diagram of a soft keyboard input device for multi-input focus according to a second embodiment of the present invention
  • FIG. 1 is a flow chart showing a method for inputting a soft keyboard of a multi-input focus according to a first embodiment of the present invention
  • FIG. 2 is a structural diagram of a soft keyboard input device for multi-input focus according to a second embodiment of the present invention
  • Embodiment 4 is a structural diagram of a soft keyboard input device of a multi-input focus provided in Embodiment 4 of the present invention.
  • DETAILED DESCRIPTION OF THE EMBODIMENTS In order to make the objects, technical solutions and advantages of the present invention more comprehensible, the embodiments of the present invention will be further described in detail with reference to the accompanying drawings.
  • Embodiment 1 Referring to FIG. 1 , an embodiment of the present invention provides a soft keyboard input method for multiple input focus. Step 101: The main control module determines whether the current input mode is a soft keyboard input mode. If yes, step 102 is performed.
  • Step 4 In the specified area, the main control module displays a soft keyboard and a plurality of analog input/output units, and sets a corresponding focus flag for each analog input/output unit; usually, a soft keyboard Displayed in the specified area in the form of a sub-window, and in the soft keyboard input mode, the main control module can also hide the standard input/output unit, that is, the standard input/output unit is not displayed to the user; wherein, the analog input/output unit Usually has a drawing function, which can draw the appearance of the analog input/output unit.
  • the analog input/output unit can also draw symbols in the display frame, such as dots or *, Analog character input; In addition, you can draw an inverted vertical line at the position specified in the cursor area to simulate the input light. ; At fixed time The interval is at the position specified by the cursor area, and the inverted vertical line and the same color vertical line are drawn alternately, the blinking of the simulated cursor, and the like.
  • the analog input/output unit also has a function of calculating the position of the cursor. As the input character moves, the position of the cursor can be automatically calculated. If the input character is increased, the position where the cursor moves to the right is calculated, and when the input character is deleted, the calculation is performed.
  • Step 103 The main control module receives the mouse click message (WM_BUTTONDOWN), and determines whether the mouse clicks on the analog input/output unit, the input mode switching key or the operation end key, if the mouse clicks on the plurality of analog input/output units In an analog input/output unit, step 104 is performed; if the mouse clicks on the soft keyboard, step 105 is performed; if the mouse clicks on the input mode switching button, step 109 is performed; if the mouse clicks is the operation end button
  • Step 105 The main control module controls the soft keyboard unit The position of the mouse click determines the corresponding character, and determines whether the character is a keyboard character, a control character, or
  • step 106 If it is a keyboard character, step 106 is performed, if it is a status character, step 107 is performed, and if it is a control character, Step 108 is performed; wherein the soft keyboard unit is pre-stored with the current soft keyboard And the mapping relationship between the character, i.e., a mouse click on different coordinate screen, corresponding to different input character, which includes a keyboard and a character state character.
  • Keyboard characters include letters and numbers
  • status characters refer to characters other than keyboard characters, such as shift keys, CapsLock keys, and so on.
  • Step 106 The main control module controls the soft keyboard unit #> according to the current input focus flag, finds the corresponding analog input/output unit, and finds the storage corresponding to the found analog input/output unit among the existing plurality of storage units.
  • the unit stores the keyboard character in the found storage unit, and then returns to step 103.
  • the standard input/output unit and the analog input/output unit are multiple, and the number is the same, corresponding, and each pair Standard input/output unit and analog input with correspondence
  • each /output unit each corresponding to a storage unit, that is, having a shared storage unit for storing characters input by the user to the standard input/output unit or the analog input/output unit, Whether a user inputs a character to a standard input/output unit or a character to an analog input/output unit is stored in the shared memory unit. For example, if the user inputs the character AB through the standard keyboard and then inputs the character CD through the soft keyboard, the character ABCD is saved in the shared storage unit.
  • Step 107 The main control module controls the soft keyboard unit to perform corresponding state processing on the soft keyboard according to the state character, and then returns to step 103; for example, if the status character is a CapsLock key, the soft keyboard unit repaints the soft keyboard, wherein the displayed characters All are uppercase letters.
  • the mapping relationship between the coordinates and characters of the newly drawn soft keyboard is different from the mapping relationship between the coordinates and characters of the original soft keyboard. After drawing a new soft keyboard, subsequent processing is based on the new soft keyboard. The mapping between coordinates and characters is processed.
  • Step 108 The main control module controls the soft keyboard unit, finds a corresponding analog input/output unit according to the current input focus flag, and controls the analog input/output unit to redraw the appearance of the analog input/output unit according to the control character.
  • Repainting the appearance of the analog input/output unit includes moving the cursor and/or including deleting the content displayed in the analog input/output unit and the content stored in the storage area, and then returning to step 103;
  • the control character is a character that controls the position of the cursor, including backspace, left shift, right shift, Home and End, etc., and redraws the appearance of the analog input/output unit according to the control character, and can be in the analog input/output unit Changes in the cursor position (including left and right shifts), and changes in display contents and storage contents of the storage area (delete) are displayed on the display.
  • the control character when the control character is shifted to the left, the appearance of the analog input/output unit is redrawed so that the cursor position is shifted to the left by one bit; when the control character is the End key, the appearance of the analog input/output unit is redrawn, so that the cursor The position moves to the end of the current string; when the control character is the backspace key, the character at the cursor position is deleted from the storage unit, and the cursor position is shifted to the left by one bit, and then the content of the storage unit is redrawn to the character string or Dot string.
  • the content drawn and displayed in the analog input/output unit is represented by a dot string.
  • Step 109 The main control module changes the current soft keyboard input mode to the standard keyboard input mode, and then returns to step 101.
  • Step 110 The main control module stops operating, and the process ends.
  • Step 111 Currently, the standard keyboard input mode, the main control module displays a plurality of standard input/output units, and receives a mouse click message, and determines that the mouse click is a standard input/output unit, and the input
  • the mode switching key is also an operation end key.
  • step 112 If it is a standard input/output unit, step 112 is performed; if it is an input mode switching key, step 114 is performed; if it is an operation end key, step 110 is performed; usually, inputting on a standard keyboard In the mode, the main control module can also hide the analog input/output unit, that is, the analog input/output unit is not displayed to the user.
  • Step 112 The main control module sets the current input focus flag as the focus flag of the standard input/output unit
  • step 113 The main control module receives the character input by the user through the physical keyboard, and finds the corresponding standard input according to the current input focus flag.
  • An output unit that is, a standard input/output unit clicked by the user, and finds a storage unit corresponding to the standard input/output unit clicked by the user among the plurality of storage units, stores the character in the found storage unit, and then returns Step 111;
  • the main control module stores the characters input by the user through the physical keyboard to the standard input/output unit to the corresponding storage unit, and can also adopt the standard input mode.
  • step 113 the manner in which the character input by the user through the soft keyboard to the standard input/output unit is stored in the corresponding storage unit, that is, step 113 can be replaced by the following steps:
  • the main control module displays a soft keyboard, and the user clicks the soft keyboard through the mouse,
  • the control module controls the soft keyboard unit ⁇ according to the position of the mouse click Corresponding characters, and determining whether the corresponding character is a keyboard character or a status character; if the corresponding character is a keyboard character, the main control module controls the soft keyboard unit, according to the current input focus flag, finds the corresponding standard input/output unit, and A storage unit corresponding to the found standard input/output unit is found in the plurality of storage units, and the keyboard character is stored in the found storage unit; if the corresponding character is a status character, the main control module controls the soft keyboard unit Perform corresponding state processing on the soft keyboard; if the corresponding character is a control character, the main control module controls the soft keyboard unit, finds the corresponding standard input/
  • the content drawn and displayed in the standard input/output unit is represented by a character string, and adding or deleting the displayed content means adding a character string or deleting a character string.
  • Step 114 The main control module changes the current standard keyboard input mode to the soft keyboard input mode. Then go back to 4 to get 101. Further, the method further includes: the main control module periodically checks the current input focus, and sets the current input focus flag as the focus flag of the input/output unit according to the input/output unit where the current input focus is located.
  • the MFC timing message (WM_TIMER) is triggered at a preset time interval, and after receiving the message, the main control module checks the current input focus and sets the current input focus according to the input/output unit where the current input focus is located. The flag is set to the focus mark of the input/output unit.
  • the soft keyboard unit can also randomly modify the mapping relationship between the stored coordinates and characters at any time, thereby further improving security.
  • the main control module is composed of a window interface and a windows message processing program, and the windows message processing program is bound to the window interface through the windows function DialogBox.
  • the Windows message handler is bound to the control through the windows functions SetWindowLang and GetWindowLang, instead of the MFC predefined default message map.
  • the input mode can be switched by the CheckBox control in the main control module window.
  • the standard input/output unit can be the Edit control in the main control module window.
  • the analog input/output unit can be based on the Button control without input function. The self-drawn control and the custom windows message handler are composed. Since the Button control does not have an input function, the analog input/output unit does not have the input focus defined by the MFC.
  • the main control module in addition to the manner in which the main control module controls the soft keyboard unit to store the characters input by the user through the soft keyboard to the analog input/output unit to the corresponding storage unit, in the soft keyboard input mode, stores the characters input by the user through the physical keyboard to the analog input/output unit to the corresponding storage unit, that is, steps 105-107 can also be replaced by the following steps:
  • the main control module receives The character input by the user through the physical keyboard, according to the current input focus flag, finds a corresponding analog input/output unit, finds the storage unit corresponding to the found analog input/output unit among the plurality of storage units, and stores the character Go to the found storage unit.
  • there are many kinds of windows messages that the main control module can process The following examples are as follows:
  • an embodiment of the present invention further provides a soft keyboard input device with multiple input focus, including a main control module 200 and a storage module 300.
  • the main control module 200 includes: a plurality of standard input/output units 201 for receiving a mouse click message; a plurality of analog input/output units 202 for receiving a mouse click message, the plurality of standard inputs
  • /output unit 201 is equal in number to the plurality of analog input/output units 202, and - corresponding; input focus flag setting unit 203 for when the standard input/output unit 201 is clicked by a mouse, according to the standard input/output unit 201 Corresponding relationship with the focus mark, the current input focus flag is set as the focus mark of the standard input/output unit 201, and when the analog input/output unit 202 is clicked by the mouse, according to the correspondence relationship between the analog input/output unit 202 and the focus mark, The current focus index is set to the focus flag of the analog input/output unit 202; the soft keyboard unit 204 is configured to store the mapping relationship between the coordinates and the characters, and when the user clicks the soft keyboard to click the message, The position of the mouse click determines the corresponding character.
  • the corresponding analog input/output unit 202 is found, and the keyboard character is stored and found.
  • the storage unit corresponding to the analog input/output unit 202 if the character is a status word , the corresponding state processing is performed on the soft keyboard. If the character is a control character, then according to the current input focus flag, the corresponding analog input/output unit is found, and the analog input/output unit is controlled to be redrawn according to the control character.
  • the appearance of the analog input/output unit, the redrawing the appearance of the analog input/output unit includes moving the cursor and/or including deleting the content displayed in the analog input/output unit and storing the stored content of the storage area;
  • the unit 205 is configured to display a soft keyboard and a plurality of analog input/output units 202 in the soft keyboard input mode.
  • the storage module 300 includes: a plurality of storage units 301 for storing characters input by a user through a standard keyboard or a soft keyboard.
  • the plurality of storage units are equal in number to the plurality of standard input/output units, and each of the storage units corresponds to a pair of standard input/output units and analog input/output units having a corresponding relationship.
  • the analog input/output unit 202 generally has a drawing function.
  • the analog input/output unit 202 can also be drawn in the display frame.
  • the symbol such as a dot or *, is used to simulate character input.
  • an inverted vertical line can be drawn at the position specified by the cursor area to simulate the input cursor; at a fixed time interval in the specified position of the cursor area, the drawing is reversed. Vertical lines and vertical lines of the same color, simulating the blinking of the cursor, and so on.
  • the main control module 200 further includes: a switching unit, configured to switch between the soft keyboard input mode and the standard keyboard input mode when the received mouse click message is an input mode switching message.
  • the display unit 205 specifically includes: a determining subunit, configured to determine whether the current input mode is a soft keyboard input mode; and a first display subunit, configured to determine, when the determining subunit, that the current input mode is a soft keyboard input mode Displaying a soft keyboard and the plurality of analog input/output units 202; the second display subunit is configured to display the plurality of standard input/outputs when the determining subunit determines that the current input mode is a standard keyboard input mode Unit 201.
  • the main control module 200 can receive the character input by the user through the physical keyboard in the standard keyboard input mode, that is, the main control
  • the module 200 may further include: a first standard keyboard character receiving unit, configured to: after the display unit 206 displays the plurality of standard input/output units 201, receive characters input by the user through a physical keyboard, and according to the current input focus flag, The corresponding standard input/output unit 201 is found, and the character is stored in the storage unit 301 corresponding to the found standard input/output unit 201.
  • the second display subunit in this embodiment may be specifically configured to: when the determining subunit determines that the current input mode is the standard keyboard input mode, display the plurality of standard input/output units 201, and display a soft keyboard;
  • the soft keyboard unit 204 is further configured to: after determining the corresponding character according to the position of the mouse click, in the standard keyboard input mode, if the determined character is a keyboard character, the corresponding standard input/output unit 201 is found according to the current input focus flag. And storing the determined characters in the storage unit 301 corresponding to the found standard input/output unit 201.
  • the redrawing the appearance of the standard input/output unit includes Move the cursor and/or include the standard input/output
  • the unit and the storage area store the content for deletion.
  • the content drawn and displayed in the analog input/output unit is represented by a dot string
  • the contents drawn and displayed in the standard input/output unit are represented by a character string.
  • control character refers to a character that controls the position of the cursor, including backspace, left shift, right shift, Home and End, etc., according to the control character, the appearance of the analog input and output unit is redrawn, and the simulation can be performed in the simulation. Changes in the position of the cursor (including left and right shifts), and changes in the contents of the display and the contents of the storage area (including additions and deletions) are displayed on the input/output unit, as described in the first embodiment, where ⁇ 3 ⁇ 4 is no longer present. Narration.
  • the main control module 200 can also receive characters input by the user through the physical keyboard, that is, the main control module 200 further includes: a second standard keyboard character receiving unit, which is used in the soft keyboard.
  • the main control module 200 further includes: an inspection unit, configured to periodically check the current input focus, and set the current input focus flag to the focus of the input/output unit according to the input/output unit where the current input focus is located. Sign.
  • the MFC timing message (WM_TIMER) is triggered at a preset time interval, and after the check unit receives the message, the current input focus is checked, and the current input focus flag is set according to the input/output unit where the current input focus is located. Set to the focus mark of the input/output unit.
  • the soft keyboard unit 204 is also used to randomly modify the mapping relationship between the stored coordinates and characters.
  • the standard input/output unit 201 in this embodiment may be a window control having a character input function.
  • the analog input/output unit 202 further includes: a cursor calculation subunit for calculating the position of the cursor. For example, as the input character moves, the position of the cursor is automatically calculated. When the input character is increased, the position where the cursor moves to the right is calculated. When the input character is deleted, the position where the cursor moves to the left is calculated, etc., when the mouse clicks to the analog input /output unit
  • the analog input/output unit 202 further includes: the main control module is composed of a window interface and a windows message processing program, and the windows message processing program is bound to the window interface through the windows function DialogBox.
  • the windows message handler is bound to the control through the windows functions SetWindowLang and GetWindowLang, instead of the MFC predefined default message map.
  • the input mode can be switched by the CheckBox control in the main control module window.
  • the standard input/output unit can be the Edit control in the main control module window.
  • the analog input/output unit can be based on the Button control without input function.
  • the self-drawn control and the custom windows message handler are composed.
  • an embodiment of the present invention provides a soft keyboard input method for multiple input focus.
  • Step 401 The main control module determines whether the current input mode is a soft keyboard input mode. If yes, step 402 is performed.
  • Step 410 Step 402: In the designated area, the main control module displays a soft keyboard and a plurality of analog input/output units, and the soft keyboard module sets a corresponding focus mark for each analog input/output unit; usually, soft The keyboard is displayed in the specified area in the form of a sub-window, and in the soft keyboard input mode, the standard input/output unit can also be hidden, that is, the standard input/output unit is not displayed to the user; wherein, the analog input/output unit usually has The drawing function can draw the appearance of the analog input/output unit. When the user inputs characters into the analog input/output unit, the analog input/output unit can also draw symbols in the display frame, such as dots or *, to simulate characters.
  • the analog input/output unit also has a function of calculating the position of the cursor. As the input character moves, the position of the cursor can be automatically calculated. If the input character is increased, the position where the cursor moves to the right is calculated, and when the input character is deleted, the calculation is performed. Move the cursor to the left, etc., when the mouse clicks to the simulation When inputting/outputting the unit, calculate the position where the cursor moves to the mouse click, and so on.
  • Step 403 The main control module receives the mouse click message, and determines whether the mouse clicks on the analog input/output unit, the input mode switching key or the operation end key, if the mouse clicks on one of the plurality of analog input/output units If the mouse clicks on the input mode switching key, step 308 is performed; if the mouse clicks the operation end key, step 409 is performed; step 404: the main control module sets the current input focus flag to The focus indicator of the analog input/output unit clicked by the mouse; Step 405: The soft keyboard module receives the mouse click message, and determines the corresponding character according to the position of the mouse click, and determines whether the character is a keyboard character or a status character, and if it is a keyboard character, In step 406, if it is a status character, step 407 is performed; wherein the soft keyboard module pre-stores the mapping relationship between the coordinates of the current soft keyboard and the characters, that is, when the mouse clicks on different coordinates on the screen, correspondingly inputs different characters,
  • Keyboard characters include letters and numbers, and status characters refer to characters other than keyboard characters, such as shift keys, CapsLock keys, and so on.
  • Step 406 The soft keyboard module caches the keyboard characters, and sends a soft keyboard message to the main control module. After receiving the focus flag, the main control module notifies the corresponding analog input/output unit to receive the keyboard characters from the cache, and then returns to the step.
  • Step 407 The soft keyboard module occupies the state character, performs corresponding state processing on the soft keyboard, and then returns to step 4 403; for example, if the state character is CapsLock key, the soft keyboard module redraws the soft keyboard, wherein the displayed letters are all For uppercase letters, the mapping relationship between the coordinates and characters of the newly drawn soft keyboard is different from the mapping relationship between the coordinates and characters of the original soft keyboard. After drawing a new soft keyboard, subsequent processing is based on the coordinates of the new soft keyboard. The mapping relationship with characters is processed.
  • Step 408 The main control module changes the current soft keyboard input mode to the standard keyboard input mode, and then returns to the next step 301.
  • Step 409 The main control module and the soft keyboard module stop operating, and the process ends.
  • Step 410 The current keyboard input mode, the main control module displays multiple standard input/output Unit, and receiving a mouse click message, and determining whether the mouse click is a standard input/output unit, an input mode switching key or an operation end key, if it is a standard input/output unit, step 411 is performed; if it is an input mode switching key, Step 413 is performed; if it is the operation end key, step 409 is performed; generally, in the standard keyboard input mode, the analog input/output unit can also be hidden, that is, the analog input/output unit is not displayed to the user.
  • the standard input/output unit and the analog input/output unit are multiple, and the number is the same, corresponding to each, and each pair of standard input/output units and analog input/output units having corresponding relationships have a shared memory area used to store characters received by standard input/output units and analog input/output units, whether it is a standard input/output unit or a character input by the analog input/output unit. Saved in this shared storage area. For example, if the user inputs the character AB through the standard keyboard and then inputs the character CD through the soft keyboard, the character ABCD is saved in the shared storage area.
  • Step 411 The main control module sets the current input focus flag as the focus flag of the standard input/output unit.
  • Step 412 The main control module receives the character input by the user through the physical keyboard, and the # is currently input the focus flag, and notifies the corresponding standard input/ The output unit receives the character, and then returns to step 410.
  • the main control module in addition to the above-mentioned standard input mode, notifies the standard input/output unit that the user inputs the character through the physical keyboard, and can also adopt the standard input.
  • the soft keyboard module receives the characters input by the user through the soft keyboard and sends them to the standard input/output unit, that is, the step 4 412 can be replaced by the following step 4: The main control module displays the soft keyboard, and the user clicks the soft mouse.
  • the keyboard and the soft keyboard module determine corresponding characters according to the position of the mouse click, and determine whether the corresponding character is a keyboard character or a status character; if the corresponding character is a keyboard character, the soft keyboard module sends the keyboard character to the main control module, and the main control After the module is received, according to the current input focus flag, Disc standard character is sent to the corresponding input / output unit; if the character corresponding to the character state, the soft keyboard soft keyboard module corresponding processing state; then returns to step 43 ⁇ 4 410.
  • Step 413 The main control module changes the current standard keyboard input mode to the soft keyboard input mode, and then returns to step 4 to 401.
  • the method further includes: the main control module periodically checks the current input focus, and sets the current input focus flag as the focus flag of the input/output unit according to the input/output unit where the current input focus is located.
  • the MFC timing message WM_TIMER
  • the main control module checks the current input focus and sets the current input focus according to the input/output unit where the current input focus is located.
  • the flag is set to the focus mark of the input/output unit.
  • the soft keyboard module can also randomly modify the mapping relationship between the stored coordinates and characters at any time, thereby further improving security.
  • the main control module and the soft keyboard module can be implemented by two MFC window classes respectively, and the input mode switching can be implemented by the CheckBox control in the main control module window, and the standard input/output unit can be the main control module window.
  • the analog input/output unit can be a self-drawn control based on a Button control that does not have an input function. Since the Button control does not have an input function, the analog input/output unit does not have an input focus defined by the MFC.
  • the soft keyboard input mode in addition to the manner in which the soft keyboard module receives the user inputting characters through the soft keyboard, the soft keyboard input mode can also be used in the soft keyboard input mode, and the main control module receives the user through the physical keyboard.
  • the manner of inputting characters that is, steps 305 ⁇ 307 can also be replaced by the following steps:
  • the main control module receives the character input by the user through the physical keyboard, and notifies the corresponding analog input/output unit to receive the character according to the current input focus flag.
  • the main control module and the soft keyboard module can process a variety of MFC messages, for example, 3 ⁇ 4:
  • OnMyCancel() ⁇ Click "Cancel,,,Respond to WM_COMMAND+ IDCANCEL OnMyCheck(); ⁇ Switch input mode, respond to WM-COMMAND+ IDC- CHECK
  • OnMyChangeEdit (); ⁇ Enter the password, respond to WM — COMMAND+ IDC — EDIT: + EN CHANGE OnMyDrawItem(wParam,lParam); ⁇ Control self-painting, used to simulate the drawing of input and output units
  • OnMyLButtonDown (wParam, lParam); II mouse click OnMyShowWindow (); / / interface refresh OnMyPaintO; ⁇ interface drawing
  • the embodiment of the present invention also provides a multi-input focus soft keyboard input device, including the main control module 500 and soft keyboard module 600;
  • the main control module 500 includes: a standard input/output unit 501 for receiving a mouse click message and a character input by a user through a standard keyboard; an analog input/output unit 502 for receiving a mouse click message and a user a character input through the soft keyboard; a zoom-in focus flag setting unit 503 for setting the current input focus flag to the focus flag of the standard input/output unit 501 when the standard input/output unit 501 is clicked by the mouse, when the analog input/ When the output unit 502 is clicked by the mouse, the current input focus flag is set to the focus flag of the analog input/output unit 502;
  • the soft keyboard message processing unit 504 is configured to receive the soft keyboard message sent by the soft keyboard module according to the current input.
  • the storage unit 505 is configured to store characters input by the user through a standard keyboard or a soft keyboard; the display unit 506 is configured to display the standard input/output unit 501 in the standard keyboard input mode, and display the soft in the soft keyboard input mode.
  • the soft keyboard module 600 includes: a mapping unit 601 configured to store a mapping relationship between coordinates and characters, a correspondence between the analog input/output unit 502 and the focus flag, and a correspondence between the standard input/output unit 501 and the focus flag, and When there is a mouse click message, the corresponding character is output according to the position of the mouse click; the buffer unit 602 is configured to cache the keyboard character when the mapping unit 601 outputs the keyboard character; the soft keyboard message sending unit 603 is configured to be used as the cache unit When the keyboard character is cached, the soft keyboard message is sent to the main control module 500.
  • the state processing unit 604 is configured to perform corresponding state processing on the soft keyboard when the output unit is output by the mapping unit 601.
  • the analog input/output unit 502 generally has a drawing function. When the user inputs characters into the analog input/output unit 502, the analog input/output unit 502 can also draw symbols, such as dots or *, in the display frame. Analog character input; In addition, you can draw an inverted vertical line at the position specified by the cursor area to simulate the input cursor; at a fixed time interval at the specified position in the cursor area, alternately draw the inverted vertical line and the same color vertical line, simulate the cursor The flashing and so on.
  • the main control module 600 further includes: a switching unit, configured to change the current soft keyboard input mode to a standard keyboard input mode when the mouse click message received by the analog input/output unit 502 is an input mode switching message; When the mouse click message received by the output unit 501 is an input mode switching message, the current standard keyboard input mode is changed to the soft keyboard input mode.
  • the main control module 500 further includes: a determining unit, configured to determine whether the current input mode is a soft keyboard input mode; and a first notification unit, configured to: when the determining unit determines that the current input mode is a soft keyboard input mode, The notification display unit 506 displays a soft keyboard and an analog input/output unit 502.
  • the second notification unit is configured to notify the display unit 506 to display the standard input/output unit 501 when the determination unit determines that the current input mode is the standard keyboard input mode.
  • the main control module 500 when the main control module 500 includes a determining unit, a first notification unit, and a second notification In the unit, the main control module 500 can receive the characters input by the user through the physical keyboard in the standard keyboard input mode, that is, the main control module 500 can further include: a first standard keyboard character receiving unit, which is used in the display unit 506. After the notification sent by the second notification unit displays the standard input/output unit 501, the character input by the user through the physical keyboard is received, and the corresponding standard input/output unit 501 is notified to receive the input character according to the current input focus flag.
  • the second notification unit in this embodiment may be specifically configured to: when the determining unit determines that the current input mode is the standard keyboard input mode, notify the display unit 506 to display the standard input/output unit 501 and display the soft keyboard; correspondingly, the soft keyboard
  • the module 600 further includes: a soft keyboard character sending unit, configured to send the keyboard character output by the mapping unit 601 to the main control module 500 in the standard keyboard input mode; and the main control module 500 further includes: a soft keyboard character receiving unit, After receiving the keyboard character sent by the soft keyboard module 600, #> according to the current input focus flag, the keyboard character is sent to the corresponding standard input/output unit 501.
  • the main control module 500 can also receive characters input by the user through the physical keyboard, that is, the main control module 500 further includes: a second standard keyboard character receiving unit, which is used in the soft keyboard.
  • the main control module 500 further includes: an inspection unit, configured to periodically check the current input focus, and set the current input focus flag to the focus of the input/output unit according to the input/output unit where the current input focus is located. Sign.
  • the MFC timing message (WM_TIMER) is triggered at a preset time interval, and after the check unit receives the message, the current input focus is checked, and the current input focus flag is set according to the input/output unit where the current input focus is located. Set to the focus mark of the input/output unit.
  • the soft keyboard module 600 further includes: The scrambling unit is configured to randomly modify the mapping relationship between the coordinates and the characters stored by the mapping unit 601.
  • the standard input/output unit 501 in this embodiment may be an MFC control having a character input function.
  • the analog input/output unit 502 further includes: a cursor calculation subunit for calculating the position of the cursor. For example, as the input character moves, the position of the cursor is automatically calculated.
  • the analog input/output unit 502 further includes: a drawing subunit for drawing the appearance of the analog input/output unit 502.
  • the main control module 500 and the soft keyboard module 600 can be implemented by two MFC window classes respectively, and the switching unit can be implemented by the CheckBox control in the main control module 500 window, and the standard input/output unit 501 can be the main control.
  • the Edit control in the module 500 window, the analog input/output unit 502 may be a self-drawn control based on a Button control having no input function. Since the Button control does not have an input function, the analog input/output unit 202 does not have an MFC. The defined input focus.
  • the embodiment of the invention solves the deficiencies of the prior art.
  • the multiple output controls share a soft keyboard, the structure is simpler, the operation is more stable, thereby better meeting the actual needs, and providing a more complete and safe human-computer interaction body-risk.
  • the above is only the preferred embodiment of the present invention, and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., which are within the spirit and scope of the present invention, should be included in the protection of the present invention. Within the scope.

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)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Description

多输入焦点的欠 4建盘输入装置和方法 技术领域 本发明涉及信息安全领域,特别涉及一种多输入焦点的软键盘输入装置 和方法。 背景技术 键盒监视和窗口文本截取是常见的两种窃取密码的攻击手段。 为了解决键盘监视的问题, 可以使用软键盘进行输入。 软键盘是以软件 方式模拟键盘行为, 通过鼠标点击输入字符的程序。 软键盘可以用于防止木 马记录通过物理键盘输入的密码。 然而, 用户通过软键盘输入字符时, 鼠标 必然点击在软键盘上, 会导致输入控件失去焦点, 无法接受输入的字符, 因 此, 使用软键盘必须预先确定焦点位置, 这给使用带来了不便。 Windows XP 中系统自带的一个软键盘不会导致控件失去焦点, 但它使用的是键盘码, 和 物理键盘完全一致, 不具备防木马功能。 为了增加窗口文本截取的难度,使用以不具有输入焦点的非输入控件为 基类的自绘控件进行输出显示, 与软键盘一起完成人机交互。 由于所述输出 控件自身没有焦点, 当存在多个输出时 (如修改 PIN码的界面 ) , 需要一种 方法来确定当前输入对应的输出控件。 常规的做法是根据鼠标点击的落点所 在的位置来判断, 但与软键盘配合使用时, 每当需要判断当前输出位置时, 鼠标的落点总是在软键盘上, 因此无法使用常规做法。 发明内容 为了提高软键盘输入的安全性,本发明实施例提供了一种多输入焦点的 软键盘输入装置和方法。 所述技术方案如下:
一种多输入焦点的软键盘输入装置, 其特征在于, 所述装置包括主控模 块和软键盘, 其中, 所述软键盘为受主控模块控制的软键盘单元或与主控模 块进行通信的软键盘模块; 当所述软键盘为受主控模块控制的软键盘单元时, 所述主控模块包括: 多个标准输入 /输出单元, 用于接收鼠标点击消息; 多个模拟输入 /输出单元, 用于接收鼠标点击消息, 所述多个模拟输入 / 输出单元与所述多个标准输入 /输出单元数目相等, 且——对应; 输入焦点标志设置单元, 用于当所述标准输入 /输出单元被鼠标点击时, 根据标准输入 /输出单元与焦点标志的对应关系,将当前输入焦点标志设置为 所述标准输入 /输出单元的焦点标志; 当所述模拟输入 /输出单元被鼠标点击 时, 根据模拟输入 /输出单元与焦点标志的对应关系, 将当前输入焦点标志设 置为所述模拟输入 /输出单元的焦点标志; 软键盘单元, 用于存储坐标与字符之间的映射关系, 并在有用户点击软 键盘的鼠标点击消息时, 根据鼠标点击的位置确定相应的字符, 在软键盘输 入模式下, 如果所述字符为键盘字符, 则根据当前输入焦点标志, 找到对应 的模拟输入 /输出单元, 将所述键盘字符存储到该模拟输入 /输出单元对应的 存储单元中; 如果所述字符为状态字符, 则对所述软键盘进行相应的状态处 理; 如果所述字符为控制字符, 则根据当前输入焦点标志, 找到对应的模拟 输入 /输出单元, 并控制该模拟输入 /输出单元根据所述控制字符重新绘制该 模拟输入 /输出单元的外观, 所述重新绘制该模拟输入 /输出单元的外观包括 移动光标和 /或包括对该模拟输入 /输出单元内显示的内容和存储区内存储的 内容进行删除的操作; 显示单元, 用于在标准键盘输入模式下, 显示所述多个标准输入 /输出 单元,用于在软键盘输入模式下,显示软键盘和所述多个模拟输入 /输出单元; 所述存储模块包括: 多个存储单元, 用于存储用户通过标准键盘或软键盘输入的字符, 所述 多个存储单元与所述多个标准输入 /输出单元数目相等,且每个存储单元对应 一对具有对应关系的标准输入 /输出单元和模拟输入 /输出单元; 以及, 当所述软键盘为所述主控模块进行通信的软键盘模块时, 所述主控模块包括: 标准输入 /输出单元, 用于接收鼠标点击消息和用户通过标准键盘输入 的字符; 模拟输入 /输出单元, 用于接收鼠标点击消息和用户通过软键盘输入的 字符; 输入焦点标志设置单元, 用于当所述标准输入 /输出单元被鼠标点击时, 将当前输入焦点标志设置为所述标准输入 /输出单元的焦点标志, 当所述模拟 输入 /输出单元被鼠标点击时, 将当前输入焦点标志设置为所述模拟输入 /输 出单元的焦点标志; 软键盘消息处理单元, 用于收到所述软键盘模块发来的软键盘消息后, 根据当前输入焦点标志,通知对应的模拟输入 /输出单元接收所述软键盘模块 緩存的键盘字符; 存储单元, 用于存储用户通过标准键盘或软键盘输入的字符; 显示单元, 用于在标准键盘输入模式下, 显示标准输入 /输出单元, 在 软键盘输入模式下, 显示软键盘和模拟输入 /输出单元; 所述软键盘模块包括: 映射单元, 用于存储坐标与字符之间的映射关系, 模拟输入 /输出单元 与焦点标志的对应关系, 以及标准输入 /输出单元与焦点标志的对应关系, 并 在有鼠标点击消息时, 艮据鼠标点击的位置输出相应的字符; 緩存单元, 用于当所述映射单元输出的为键盘字符时, 緩存所述键盘字 符; 软键盘消息发送单元, 用于当所述緩存单元緩存有键盘字符时, 向所述 主控模块发送软键盘消息; 状态处理单元, 用于当所述映射单元输出的为状态字符时,对所述软键 盘进行相应的大态处理。 一种多输入焦点的软键盘输入方法, 其特征在于, 所述方法包括: 在软键盘输入模式下, 在指定的区域内, 显示软键盘和多个模拟输入 / 输出单元, 并为每个模拟输入 /输出单元设置对应的焦点标志, 所述软键盘是 受主控模块控制的软键盘单元, 或与主控模块进行通信的软键盘模块; 当所述软键盘是受主控模块控制的软键盘单元时,所述主控模块等待接 收鼠标消息, 其中, 所述主控模块判断所述鼠标点击消息是否是用户点击所 述软键盘产生的消息, 如果是, 则主控模块控制软键盘单元根据鼠标点击的 位置确定对应的字符, 并判断所述字符是键盘字符、 控制字符、 还是状态字 符; 如果所述字符为键盘字符,所述主控模块控制所述软键盘单元根据当前 输入焦点标志, 找到对应的模拟输入 /输出单元, 在已有的多个存储单元中找 到与所述找到的模拟输入 /输出单元对应的存储单元,并将所述键盘字符存储 到所述找到的存储单元中,所述多个存储单元与所述多个模拟输入 /输出单元 数目相等, 且——对应; 如果所述字符为状态字符,则所述主控模块控制所述软键盘单元进行相 应的状态处理; 如果所述字符为控制字符,则所述主控模块控制所述软键盘单元根据当 前输入焦点标志, 找到对应的模拟输入 /输出单元, 并控制该模拟输入 /输出 单元根据所述控制字符重新绘制该模拟输入 /输出单元的外观,所述重新绘制 该模拟输入 /输出单元的外观包括移动光标和 /或包括对该模拟输入 /输出单元 内显示的内容和存储区内存储的内容进行删除的操作; 如果否, 则不作处理。 当所述软键盘是与主控模块进行通信的软键盘模块时 ,所述主控模块和 所述软键盘模块等待接收鼠标消息, 所述软键盘模块根据鼠标点击的位置确 定对应的字符; 并判断所述字符是键盘字符、 控制字符、 还是状态字符; 如果所述字符为键盘字符 ,所述主控模块从所述软键盘模块获取所述字 符, 根据当前输入焦点标志, 找到对应的模拟输入 /输出单元, 在已有的多个 存储单元中找到与所述找到的模拟输入 /输出单元对应的存储单元,并将所述 键盘字符存储到所述找到的存储单元中, 所述多个存储单元与所述多个模拟 输入 /输出单元数目相等, 且——对应; 如果所述字符为状态字符, 则所述软键盘模块进行相应的状态处理; 如果所述字符为控制字符, 则所述主控模块根据当前输入焦点标志, 找 到对应的模拟输入 /输出单元, 并控制该模拟输入 /输出单元根据所述控制字 符重新绘制该模拟输入 /输出单元的外观, 所述重新绘制该模拟输入 /输出单 元的外观包括移动光标和 /或包括对该模拟输入 /输出单元内显示的内容和存 储区内存储的内容进行删除的操作。 本发明实施例提供的技术方案的有益效果是: 解决了现有技术的不足, 多个输出控件共用一个软键盘, 结构更筒单, 运行更稳定, 从而更好地满足 实际需要, 提供更完善而安全的人机交互体验。 附图说明 图 1是本发明实施例 1提供的多输入焦点的软键盘输入方法流程图; 图 2是本发明实施例 2提供的多输入焦点的软键盘输入装置结构图; 图 3是本发明实施例 3提供的多输入焦点的软键盘输入方法流程图; 图 4是本发明实施例 4提供的多输入焦点的软键盘输入装置结构图。 具体实施方式 为使本发明的目的、技术方案和优点更加清楚, 下面将结合附图对本发 明实施方式作进一步地详细描述。 实施例 1 参见图 1 , 本发明实施例提供了一种多输入焦点的软键盘输入方法, 步骤 101 :主控模块判断当前输入模式是否为软键盘输入模式,如果是, 则执行步骤 102, 否则, 执行步 4聚 111 ; 步骤 102: 在指定的区域内, 主控模块显示软键盘和多个模拟输入 /输出 单元, 并且为每个模拟输入 /输出单元设置对应的焦点标志; 通常, 软键盘以 子窗口的形式显示在指定的区域内, 而且在软键盘输入模式下, 主控模块还 可以隐藏标准输入 /输出单元, 即不显示标准输入 /输出单元给用户; 其中, 模拟输入 /输出单元通常具有绘制功能, 可以绘制模拟输入 /输出 单元的外观, 在用户向模拟输入 /输出单元内输入字符时, 该模拟输入 /输出 单元还可以在显示框内绘制符号, 如圆点或者 * , 来模拟字符输入; 另外, 还可以在光标区指定的位置画一条反色竖线, 模拟输入光标; 以固定的时间 间隔在光标区指定的位置, 轮流绘制反色竖线和同色竖线, 模拟光标的闪烁 等等。 另外, 模拟输入 /输出单元还具有计算光标位置的功能, 随着输入的字 符移动, 可以自动计算光标的位置, 如输入字符增加时, 计算出光标向右移 动的位置, 删除输入字符时, 计算出光标向左移动等等, 当鼠标点击到模拟 输入 /输出单元时, 计算出光标移动到鼠标点击的位置等等。 步骤 103: 主控模块接收鼠标点击消息( WM— BUTTONDOWN ), 并判 断鼠标点击的是模拟输入 /输出单元、 输入模式切换键还是操作结束键, 如果 鼠标点击的是上述多个模拟输入 /输出单元中的一个模拟输入 /输出单元, 则 执行步骤 104; 如果鼠标点击的是软键盘, 则执行步骤 105; 如果鼠标点击 的是输入模式切换键, 则执行步骤 109; 如果鼠标点击的是操作结束键, 则 执行步 ^ 110; 步骤 104: 主控模块将当前输入焦点标志设置为鼠标点击的模拟输入 / 输出单元的焦点标志, 然后返回步 103; 步骤 105 : 主控模块控制软键盘单元^^据鼠标点击的位置确定对应的字 符, 并判断该字符是键盘字符、 控制字符、 还是状态字符, 如果为键盘字符, 则执行步骤 106, 如果为状态字符, 则执行步骤 107 , 如果为控制字符, 则 执行步骤 108; 其中, 软键盘单元预先存储有当前软键盘的坐标和字符的映射关系, 即 鼠标点击屏幕上的不同坐标时, 对应输入不同的字符, 该字符包括键盘字符 和状态字符。 键盘字符包括字母和数字, 状态字符是指除键盘字符以外的其 它字符, 如 shift键、 CapsLock键等等。 步骤 106: 主控模块控制软键盘单元 #>据当前输入焦点标志, 找到对应 的模拟输入 /输出单元,并在已有的多个存储单元中找到与该找到的模拟输入 /输出单元对应的存储单元, 将该键盘字符存储到找到的存储单元中, 然后返 回步聚 103 ; 本实施例中, 标准输入 /输出单元和模拟输入 /输出单元均为多个, 且数 目相同, 对应, 而且每对具有对应关系的标准输入 /输出单元和模拟输入
/输出单元, 都对应一个存储单元, 即具有共用的存储单元, 该共用的存储单 元用来存储用户向标准输入 /输出单元或模拟输入 /输出单元输入的字符, 无 论用户向标准输入 /输出单元输入字符, 还是向模拟输入 /输出单元输入字符, 都会保存在该共用的存储单元中。 例如, 用户通过标准键盘输入了字符 AB , 然后又通过软键盘输入了字符 CD, 则该共用的存储单元中会保存有字符 ABCD。 步骤 107: 主控模块控制软键盘单元根据该状态字符, 对软键盘进行相 应的状态处理, 然后返回步骤 103; 例如, 状态字符为 CapsLock键, 则软键盘单元重新绘制软键盘, 其中 显示的字母均为大写字母, 通常新绘制的软键盘的坐标和字符的映射关系, 与原来的软键盘的坐标和字符的映射关系不同, 绘制新的软键盘后, 后续的 处理均根据该新软键盘的坐标和字符的映射关系进行处理。 步骤 108: 主控模块控制软键盘单元, 根据当前输入焦点标志, 找到对 应的模拟输入 /输出单元, 并控制该模拟输入 /输出单元根据该控制字符重新 绘制该模拟输入 /输出单元的外观, 所述重新绘制该模拟输入 /输出单元的外 观包括移动光标和 /或包括对该模拟输入 /输出单元内显示的内容和存储区内 存储的内容进行删除的操作, 然后返回步骤 103; 本实施例中, 控制字符是指对光标位置进行控制的字符, 包括退格、 左 移、 右移、 Home和 End等等, 根据该控制字符重新绘制模拟输入输出单元 的外观, 可以在该模拟输入 /输出单元上显示出光标位置的变化(包括左移和 右移)、 以及显示内容和存储区存储内容的变化 (删除)。 例如, 当控制字符 为左移时, 重新绘制该模拟输入 /输出单元的外观, 使得光标位置左移一位; 当控制字符为 End键时, 重新绘制该模拟输入 /输出单元的外观,使得光标位 置移到当前字符串的末尾; 当控制字符是退格键时, 将光标所在位置的字符 从存储单元中删除, 并且光标位置左移一位, 再 #居存储单元的内容重新绘 制字符串或圆点串。 在本实施例中, 在模拟输入 /输出单元中绘制和显示的内 容用圆点串来表示。 步骤 109: 主控模块将当前软键盘输入模式更改为标准键盘输入模式, 然后返回步 101。 步骤 110: 主控模块停止操作, 流程结束。 步骤 111 : 当前为标准键盘输入模式, 主控模块显示多个标准输入 /输出 单元, 并接收鼠标点击消息, 并判断鼠标点击的是标准输入 /输出单元、 输入 模式切换键还是操作结束键, 如果是标准输入 /输出单元, 则执行步骤 112; 如果是输入模式切换键, 则执行步骤 114; 如果是操作结束键, 则执行步驟 110; 通常, 在标准键盘输入模式下, 主控模块也可以隐藏模拟输入 /输出单 元, 即不显示模拟输入 /输出单元给用户。 步骤 112:主控模块将当前输入焦点标志设置为标准输入 /输出单元的焦 点标志、; 步骤 113: 主控模块接收用户通过物理键盘输入的字符, 根据当前输入 焦点标志, 找到对应的标准输入 /输出单元, 即用户点击的标准输入 /输出单 元,并在所述多个存储单元中找到与用户点击的标准输入 /输出单元对应的存 储单元, 将该字符存储到找到的存储单元中, 然后返回步骤 111 ; 本实施例中, 除了上述在标准输入模式下, 主控模块将用户通过物理键 盘向标准输入 /输出单元输入的字符存储到相应的存储单元的方式外,还可以 采用在标准输入模式下,将用户通过软键盘向标准输入 /输出单元输入的字符 存储到相应的存储单元的方式, 即步骤 113可以由以下步骤替换: 主控模块显示软键盘, 用户通过鼠标点击该软键盘, 主控模块控制软键 盘单元 ^^据鼠标点击的位置确定对应的字符, 并判断对应的字符是键盘字符 还是状态字符; 如果对应的字符为键盘字符, 则主控模块控制软键盘单元, 根据当前输入焦点标志, 找到对应的标准输入 /输出单元, 并在所述多个存储 单元中找到与该找到的标准输入 /输出单元对应的存储单元,将该键盘字符存 储到找到的存储单元中; 如果对应的字符为状态字符, 则主控模块控制软键 盘单元对软键盘进行相应的状态处理; 如果对应的字符为控制字符, 则主控 模块控制软键盘单元, 根据当前输入焦点标志, 找到对应的标准输入 /输出单 元, 并控制该标准输入 /输出单元冲艮据该控制字符重新绘制该标准输入 /输出 单元的外观, 所述重新绘制该标准输入 /输出单元的外观包括移动光标和 /或 包括对该标准输入 /输出单元显示的内容和存储区存储内容进行删除的操作, 然后返回步骤 111。 在本实施例中, 在标准输入 /输出单元中绘制并显示的内 容用字符串来表示, 对该显示的内容进行增加或删除是指增加字符串或删除 字符串。 步骤 114: 主控模块将当前标准键盘输入模式更改为软键盘输入模式, 然后近回步 4聚 101。 进一步地, 上述方法还包括: 主控模块定期检查当前的输入焦点,并根据当前的输入焦点所在的输入 /输出单元, 将当前输入焦点标志设置为输入 /输出单元的焦点标志。 例如, 以预设的时间间隔触发 MFC定时消息 (WM— TIMER ), 主控模块收到该消 息后, 检查当前的输入焦点, 并根据当前的输入焦点所在的输入 /输出单元, 将当前输入焦点标志设置为输入 /输出单元的焦点标志。 另外, 本实施例中, 软键盘单元还可以随时随机修改已存储的坐标与字 符的映射关系, 从而可以进一步提高安全性。 本实施例中, 主控模块由窗口界面和 windows 消息处理程序组成, windows消息处理程序通过 windows函数 DialogBox与窗口界面绑定。另夕卜, windows消息处理程序通过 windows函数 S etWindowLang和 GetWindowLang 与控件绑定, 代替 MFC预定义的缺省消息映射。 输入模式的切换可以由主 控模块窗口中的 CheckBox控件来实现, 标准输入 /输出单元可以为主控模块 窗口中的 Edit控件, 模拟输入 /输出单元可以是以不具有输入功能的 Button 控件为基础的自绘控件和自定义的 windows消息处理程序组成, 由于 Button 控件不具备输入功能, 因此模拟输入 /输出单元不存在 MFC所定义的输入焦
另外, 本实施例中, 在软键盘输入模式下, 除了上述主控模块控制软键 盘单元将用户通过软键盘向模拟输入 /输出单元输入的字符存储到相应的存 储单元的方式外, 还可以采用在软键盘输入模式下, 由主控模块将用户通过 物理键盘向模拟输入 /输出单元输入的字符存储到相应的存储单元的方式, 即 步骤 105 - 107还可以由以下步骤替换: 主控模块接收用户通过物理键盘输入的字符, 根据当前输入焦点标志, 找到对应的模拟输入 /输出单元,在所述多个存储单元中找到该找到的模拟输 入 /输出单元对应的存储单元, 并将该字符存储到找到的存储单元中。 本实施例中, 主控模块可以处理的 windows 消息有艮多种, 下面举例 说明:
INT PTR CALLBACK MyWndProc(HWND hWnd,UINT message, WPARAM wParam,LPARAM IParam) {
UINT wmld, wmEvent;
switch (message)
{
case WM INITDIALOG:
〃对话框初始化
OnMylnitDialog ();
break;
case WM COMMAND:
wmld = LOWORD(wParam);
wmEvent = HIWORD(wParam); switch (wmld)
{
〃点击"确定"
case IDOK:
OnMyOK();
break;
〃点击"取消"
case IDCANCEL:
OnMyCancel(); break; //切换输入模式
case IDC— CHECK:
OnMyCheck();
break;
//输入密码
case IDC— EDIT:
if (西 Event == EN— CHANGE) OnMyChangeEdit ();
break;
default:
break;
}
break;
〃控件自绘
case WM DRAWITEM:
OnMyDrawItem(wParam,lParam);
break;
〃鼠标点击
case WM LBUTTONDOWN:
OnMyLButtonDown (wParam.lParam); break;
〃界面刷新 case WM— SHOWWINDOW:
OnMy ShowWindow() ;
break;
〃界面绘制
case WM PAINT:
OnMyPaint();
break;
〃界面销毁
case WM DESTROY:
OnMyDestroy ();
break;
〃休眠唤醒
case WM POWERBROADCAST:
OnMyPowerBroadcast();
break;
default:
break;
} return DefWindowProc(hWnd, message, wParam, IParam);
}
实施例 2 参见图 2 , 本发明实施例还提供了一种多输入焦点的软键盘输入装置, 包括主控模块 200和存储模块 300; 主控模块 200包括: 多个标准输入 /输出单元 201 , 用于接收鼠标点击消息; 多个模拟输入 /输出单元 202 , 用于接收鼠标点击消息, 该多个标准输入
/输出单元 201与该多个模拟输入 /输出单元 202数目相等, 且——对应; 输入焦点标志设置单元 203,用于当标准输入 /输出单元 201被鼠标点击 时, 根据标准输入 /输出单元 201与焦点标志的对应关系, 将当前输入焦点标 志设置为标准输入 /输出单元 201 的焦点标志, 当模拟输入 /输出单元 202被 鼠标点击时, 根据模拟输入 /输出单元 202与焦点标志的对应关系, 将当前徐 入焦点标志设置为模拟输入 /输出单元 202的焦点标志; 软键盘单元 204, 用于存储坐标与字符之间的映射关系, 并在有用户点 击软键盘的鼠标点击消息时, 才 居鼠标点击的位置确定相应的字符, 在软键 盘输入模式下, 如果该字符为键盘字符, 则根据当前输入焦点标志, 找到对 应的模拟输入 /输出单元 202 ,将该键盘字符存储到与该找到的模拟输入 /输出 单元 202对应的存储单元中, 如果该字符为状态字符, 则对软键盘进行相应 的状态处理, 如果该字符为控制字符, 则^^据当前输入焦点标志, 找到对应 的模拟输入 /输出单元, 并控制该模拟输入 /输出单元根据该控制字符重新绘 制该模拟输入 /输出单元的外观, 所述重新绘制该模拟输入 /输出单元的外观 包括移动光标和 /或包括对该模拟输入 /输出单元内显示的内容和存储区存储 内容进行删除的操作; 显示单元 205, 用于在软键盘输入模式下, 显示软键盘和多个模拟输入 /输出单元 202; 存储模块 300包括: 多个存储单元 301 , 用于存储用户通过标准键盘或软键盘输入的字符, 该多个存储单元与所述多个标准输入 /输出单元数目相等,且每个存储单元对 应一对具有对应关系的标准输入 /输出单元和模拟输入 /输出单元。 其中, 模拟输入 /输出单元 202通常具有绘制功能, 在用户向模拟输入 / 输出单元 202内输入字符时,该模拟输入 /输出单元 202还可以在显示框内绘 制符号, 如圓点或者 *, 来模拟字符输入; 另外, 还可以在光标区指定的位 置画一条反色竖线,模拟输入光标; 以固定的时间间隔在光标区指定的位置, 轮流绘制反色竖线和同色竖线, 模拟光标的闪烁等等。 进一步地, 主控模块 200还包括: 切换单元, 用于当接收到的鼠标点击消息为输入模式切换消息时, 软键 盘输入模式和标准键盘输入模式之间进行切换。 本实施例中, 显示单元 205具体包括: 判断子单元, 用于判断当前输入模式是否为软键盘输入模式; 第一显示子单元,用于当判断子单元判断出当前输入模式为软键盘输入 模式时, 显示软键盘和所述多个模拟输入 /输出单元 202; 第二显示子单元,用于当判断子单元判断出当前输入模式为标准键盘输 入模式时, 显示所述多个标准输入 /输出单元 201。 本实施例中, 当显示单元包括判断子单元、 第一显示子单元和第二显示 子单元时, 主控模块 200可以在标准键盘输入模式下, 接收用户通过物理键 盘输入的字符, 即主控模块 200还可以包括: 第一标准键盘字符接收单元,用于在显示单元 206显示所述多个标准输 入 /输出单元 201后, 接收用户通过物理键盘输入的字符, 4艮据当前输入焦点 标志, 找到对应的标准输入 /输出单元 201, 将该字符存储到与所述找到的标 准输入 /输出单元 201对应的存储单元 301中。 本实施例中的第二显示子单元可以具体用于当判断子单元判断出当前 输入模式为标准键盘输入模式时, 显示所述多个标准输入 /输出单元 201 , 并 显示软键盘; 相应地, 软键盘单元 204还用于在根据鼠标点击的位置确定相 应的字符后, 在标准键盘输入模式下, 如果确定的字符为键盘字符, 则根据 当前输入焦点标志, 找到对应的标准输入 /输出单元 201 , 将确定的字符存储 到找到的标准输入 /输出单元 201对应的存储单元 301中,如果确定的字符为 状态字符, 则对软键盘进行相应的状态处理, 如果确定的字符为控制字符, 则根据当前输入焦点标志, 找到对应的标准输入 /输出单元, 并控制该标准输 入 /输出单元根据该控制字符重新绘制该标准输入 /输出单元的外观, 所述重 新绘制该标准输入 /输出单元的外观包括移动光标和 /或包括对该标准输入 /输 出单元和存储区存储内容进行删除的操作。 在本实施例中, 在模拟输入 /输出单元中绘制和显示的内容用圓点串来 表示, 在标准输入 /输出单元中绘制和显示的内容用字符串来表示。 本实施例 中,控制字符是指对光标位置进行控制的字符, 包括退格、左移、右移、 Home 和 End等等, 据该控制字符重新绘制模拟输入输出单元的外观, 可以在该 模拟输入 /输出单元上显示出光标位置的变化 (包括左移和右移)、 以及显示 内容和存储区存储内容的变化 (包括增加和删除), 具体同实施例 1 中的描 述, α¾处不再赘述。 另外, 本实施例中, 在软键盘输入模式下, 主控模块 200还可以接收用 户通过物理键盘输入的字符, 即主控模块 200还包括: 第二标准键盘字符接收单元, 用于在软键盘输入模式下,接收用户通过 物理键盘输入的字符, 根据当前输入焦点标志, 找到对应的模拟输入 /输出单 元 202, 并将该字符存储到与所述找到的模拟输入 /输出单元 202对应的存储 单元 301中。 本实施例中, 主控模块 200还包括: 检查单元, 用于定期检查当前的输入焦点, 并根据当前的输入焦点所在 的输入 /输出单元, 将当前输入焦点标志设置为输入 /输出单元的焦点标志。 例如, 以预设的时间间隔触发 MFC 定时消息 (WM— TIMER ), 检查单元收 到该消息后, 检查当前的输入焦点, 并根据当前的输入焦点所在的输入 /输出 单元, 将当前输入焦点标志设置为输入 /输出单元的焦点标志。 进一步地,软键盘单元 204还用于随机修改已存储的坐标和字符的映射 关系。 本实施例中的标准输入 /输出单元 201 可以为具有字符输入功能的窗口 控件。 进一步地, 模拟输入 /输出单元 202还包括: 光标计算子单元, 用于计算光标的位置。 如随着输入的字符移动, 自动 计算光标的位置, 输入字符增加时, 计算出光标向右移动的位置, 删除输入 字符时, 计算出光标向左移动的位置等等, 当鼠标点击到模拟输入 /输出单元
202时, 计算出光标移动到鼠标点击的位置等等。 本实施例中, 模拟输入 /输出单元 202还包括: 主控模块由窗口界面和 windows消息处理程序组成, windows消息处理 程序通过 windows函数 DialogBox与窗口界面绑定。 另夕卜, windows消息处 理程序通过 windows函数 SetWindowLang和 GetWindowLang与控件绑定, 代替 MFC预定义的缺省消息映射。 输入模式的切换可以由主控模块窗口中 的 CheckBox控件来实现, 标准输入 /输出单元可以为主控模块窗口中的 Edit 控件, 模拟输入 /输出单元可以是以不具有输入功能的 Button控件为基础的 自绘控件和自定义的 windows消息处理程序组成,由于 Button控件不具备搶 入功能, 因此模拟输入 /输出单元不存在 MFC所定义的输入焦点。 本发明实施例解决了现有技术的不足, 多个输出控件共用一个软键盘, 结构更筒单, 运行更稳定, 从而更好地满足实际需要, 提供更完善而安全的 人机交互体验。 实施例 3 参见图 3 , 本发明实施例提供了一种多输入焦点的软键盘输入方法, 步骤 401 :主控模块判断当前输入模式是否为软键盘输入模式,如果是, 则执行步骤 402, 否则, 执行步骤 410; 步骤 402: 在指定的区域内, 主控模块显示软键盘和多个模拟输入 /输出 单元,并且软键盘模块为每个模拟输入 /输出单元设置对应的焦点标志;通常, 软键盘以子窗口的形式显示在指定的区域内, 而且在软键盘输入模式下, 还 可以隐藏标准输入 /输出单元, 即不显示标准输入 /输出单元给用户; 其中, 模拟输入 /输出单元通常具有绘制功能, 可以绘制模拟输入 /输出 单元的外观, 在用户向模拟输入 /输出单元内输入字符时, 该模拟输入 /输出 单元还可以在显示框内绘制符号, 如圆点或者 * , 来模拟字符输入; 另外, 还可以在光标区指定的位置画一条反色竖线, 模拟输入光标; 以固定的时间 间隔在光标区指定的位置, 轮流绘制反色竖线和同色竖线, 模拟光标的闪烁 等等。 另外, 模拟输入 /输出单元还具有计算光标位置的功能, 随着输入的字 符移动, 可以自动计算光标的位置, 如输入字符增加时, 计算出光标向右移 动的位置, 删除输入字符时, 计算出光标向左移动等等, 当鼠标点击到模拟 输入 /输出单元时, 计算出光标移动到鼠标点击的位置等等。 步骤 403: 主控模块接收鼠标点击消息, 并判断鼠标点击的是模拟输入 /输出单元、 输入模式切换键还是操作结束键, 如果鼠标点击的是上述多个模 拟输入 /输出单元中的一个模拟输入 /输出单元, 则执行步骤 404; 如果鼠标点 击的是输入模式切换键, 则执行步骤 308; 如果鼠标点击的是操作结束键, 则执行 409; 步骤 404: 主控模块将当前输入焦点标志设置为鼠标点击的模拟输入 / 输出单元的焦点标志; 步骤 405 : 软键盘模块接收鼠标点击消息, 并根据鼠标点击的位置确定 对应的字符, 并判断字符是键盘字符还是状态字符, 如果为键盘字符, 则执 行步骤 406, 如果为状态字符, 则执行步驟 407; 其中, 软键盘模块预先存储有当前软键盘的坐标和字符的映射关系, 即 鼠标点击屏幕上的不同坐标时, 对应输入不同的字符, 该字符包括键盘字符 和状态字符。 键盘字符包括字母和数字, 状态字符是指除键盘字符以外的其 它字符, 如 shift键、 CapsLock键等等。 步骤 406: 软键盘模块緩存键盘字符, 并向主控模块发送软键盘消息, 主控模块收到后, 根据当前输入焦点标志, 通知对应的模拟输入 /输出单元从 緩存接收键盘字符, 然后返回步驟 403; 步骤 407:软键盘模块 居该状态字符,对软键盘进行相应的状态处理, 然后返回步 4 403; 例如, 状态字符为 CapsLock键, 则软键盘模块重新绘制软键盘, 其中 显示的字母均为大写字母, 通常新绘制的软键盘的坐标和字符的映射关系, 与原来的软键盘的坐标和字符的映射关系不同, 绘制新的软键盘后, 后续的 处理均根据该新软键盘的坐标和字符的映射关系进行处理。 步骤 408: 主控模块将当前软键盘输入模式更改为标准键盘输入模式, 然后近回步 4聚 301。 步骤 409: 主控模块和软键盘模块停止操作, 流程结束。 步骤 410: 当前为标准键盘输入模式,主控模块显示多个标准输入 /输出 单元, 并接收鼠标点击消息, 并判断鼠标点击的是标准输入 /输出单元、 输入 模式切换键还是操作结束键, 如果是标准输入 /输出单元, 则执行步骤 411 ; 如果是输入模式切换键, 则执行步骤 413; 如果是操作结束键, 则执行步骤 409; 通常, 在标准键盘输入模式下, 也可以隐藏模拟输入 /输出单元, 即不 显示模拟输入 /输出单元给用户。 本实施例中, 标准输入 /输出单元和模拟输入 /输出单元均为多个, 且数 目相同, ——对应, 而且每对具有对应关系的标准输入 /输出单元和模拟输入 /输出单元, 都具有共用的存储区, 该共用的存储区用来存储标准输入 /输出 单元和模拟输入 /输出单元接收的字符, 无论是标准输入 /输出单元, 还是模 拟输入 /输出单元接收到用户输入的字符, 都会保存在该共用的存储区中。 例 如, 用户通过标准键盘输入了字符 AB, 然后又通过软键盘输入了字符 CD, 则该共用的存储区中会保存有字符 ABCD。 步驟 411:主控模块将当前输入焦点标志设置为标准输入 /输出单元的焦 点标志; 步驟 412: 主控模块接收用户通过物理键盘输入的字符, #居当前输入 焦点标志, 通知对应的标准输入 /输出单元接收该字符, 然后返回步骤 410; 本实施例中, 除了上述在标准输入模式下, 主控模块通知标准输入 /输 出单元接收用户通过物理键盘输入字符的方式外, 还可以采用在标准输入模 式下,软键盘模块接收用户通过软键盘输入的字符并发送给标准输入 /输出单 元的方式, 即步 4聚 412可以由以下步 4替换: 主控模块显示软键盘, 用户通过鼠标点击该软键盘,软键盘模块根据鼠 标点击的位置确定对应的字符,并判断对应的字符是键盘字符还是状态字符; 如果对应的字符为键盘字符, 则软键盘模块将键盘字符发送给主控模块, 主 控模块收到后, 根据当前输入焦点标志, 将键盘字符发送给对应的标准输入 / 输出单元; 如果对应的字符为状态字符, 则软键盘模块对软键盘进行相应的 态处理; 然后返回步 4¾ 410。 步骤 413 : 主控模块将当前标准键盘输入模式更改为软键盘输入模式, 然后返回步 4聚 401。 进一步地, 上述方法还包括: 主控模块定期检查当前的输入焦点,并根据当前的输入焦点所在的输入 /输出单元, 将当前输入焦点标志设置为输入 /输出单元的焦点标志。 例如, 以预设的时间间隔触发 MFC定时消息 (WM— TIMER ), 主控模块收到该消 息后, 检查当前的输入焦点, 并根据当前的输入焦点所在的输入 /输出单元, 将当前输入焦点标志设置为输入 /输出单元的焦点标志。 另夕卜, 本实施例中, 软键盘模块还可以随时随机修改已存储的坐标与字 符的映射关系, 从而可以进一步提高安全性。 本实施例中,主控模块和软键盘模块可以分别由两个 MFC窗口类实现, 输入模式的切换可以由主控模块窗口中的 CheckBox控件来实现, 标准输入 / 输出单元可以为主控模块窗口中的 Edit控件,模拟输入 /输出单元可以是以不 具有输入功能的 Button控件为基础的自绘控件,由于 Button控件不具备输入 功能, 因此模拟输入 /输出单元不存在 MFC所定义的输入焦点。 另外, 本实施例中, 在软键盘输入模式下, 除了上述软键盘模块接收用 户通过软键盘输入字符的方式外, 还可以釆用在软键盘输入模式下, 由主控 模块接收用户通过物理键盘输入字符的方式, 即步骤 305 ~ 307 还可以由以 下步驟替换: 主控模块接收用户通过物理键盘输入的字符, 根据当前输入焦点标志, 通知对应的模拟输入 /输出单元接收该字符。 本实施例中, 主控模块和软键盘模块可以处理的 MFC消息有艮多种, 例 ¾ :
OnMylnitDialog (); 〃对话 4匡初始 4 , 响应 WM— INITDIALOG:
OnMyOK(); /点击"确定", 响应 WM— COMMAND+ IDOK
OnMyCancel(); 〃点击 "取消,,, 响应 WM— COMMAND+ IDCANCEL OnMyCheck(); 〃切换输入模式, 响应 WM—COMMAND+ IDC— CHECK
OnMyChangeEdit (); 〃输入密码, 响应 WM— COMMAND+ IDC— EDIT:+ EN CHANGE OnMyDrawItem(wParam,lParam); 〃控件自绘, 用于模拟输入输出单元 的绘制
OnMyLButtonDown (wParam,lParam); II鼠标点击 OnMyShowWindow(); //界面刷新 OnMyPaintO; 〃界面绘制
OnMyDestroy (); //界面销毁, 模块停止运行 OnMyPowerBroadcast(); II系统休眠 /唤醒 实施例 4 参见图 4, 本发明实施例还提供了一种多输入焦点的软键盘输入装置, 包括主控模块 500和软键盘模块 600; 主控模块 500包括: 标准输入 /输出单元 501,用于接收鼠标点击消息和用户通过标准键盘输 入的字符; 模拟输入 /输出单元 502,用于接收鼠标点击消息和用户通过软键盘输入 的字符; 徐入焦点标志设置单元 503 ,用于当标准输入 /输出单元 501被鼠标点击 时, 将当前输入焦点标志设置为标准输入 /输出单元 501的焦点标志, 当模拟 输入 /输出单元 502 被鼠标点击时, 将当前输入焦点标志设置为模拟输入 /输 出单元 502的焦点标志; 软键盘消息处理单元 504, 用于收到软键盘模块发来的软键盘消息后, 根据当前输入焦点标志,通知对应的模拟输入 /输出单元 502接收软键盘模块 緩存的键盘字符; 存储单元 505, 用于存储用户通过标准键盘或软键盘输入的字符; 显示单元 506, 用于在标准键盘输入模式下, 显示标准输入 /输出单元 501 , 在软键盘输入模式下, 显示软键盘和模拟输入 /输出单元 502; 软键盘模块 600包括: 映射单元 601 ,用于存储坐标与字符之间的映射关系,模拟输入 /输出单 元 502与焦点标志的对应关系, 以及标准输入 /输出单元 501与焦点标志的对 应关系, 并在有鼠标点击消息时, 根据鼠标点击的位置输出相应的字符; 緩存单元 602, 用于当映射单元 601输出的为键盘字符时, 緩存键盘字 符; 软键盘消息发送单元 603, 用于当緩存单元 602緩存有键盘字符时, 向 主控模块 500发送软键盘消息; 状态处理单元 604, 用于当映射单元 601输出的为状态字符时, 对软键 盘进行相应的状态处理。 其中, 模拟输入 /输出单元 502通常具有绘制功能, 在用户向模拟输入 / 输出单元 502内输入字符时,该模拟输入 /输出单元 502还可以在显示框内绘 制符号, 如圓点或者 *, 来模拟字符输入; 另外, 还可以在光标区指定的位 置画一条反色竖线,模拟输入光标; 以固定的时间间隔在光标区指定的位置, 轮流绘制反色竖线和同色竖线, 模拟光标的闪烁等等。 进一步地, 主控模块 600还包括: 切换单元, 用于当模拟输入 /输出单元 502接收的鼠标点击消息为输入 模式切换消息时, 将当前软键盘输入模式更改为标准键盘输入模式; 当标准 输入 /输出单元 501接收的鼠标点击消息为输入模式切换消息时,将当前标准 键盘输入模式更改为软键盘输入模式。 本实施例中, 主控模块 500还包括: 判断单元, 用于判断当前输入模式是否为软键盘输入模式; 第一通知单元,用于当判断单元判断出当前输入模式为软键盘输入模式 时, 通知显示单元 506显示软键盘和模拟输入 /输出单元 502; 第二通知单元,用于当判断单元判断出当前输入模式为标准键盘输入模 式时, 通知显示单元 506显示标准输入 /输出单元 501。 本实施例中, 当主控模块 500包括判断单元、 第一通知单元和第二通知 单元时, 主控模块 500可以在标准键盘输入模式下, 接收用户通过物理键盘 输入的字符, 即主控模块 500还可以包括: 第一标准键盘字符接收单元,用于在显示单元 506才艮据第二通知单元发 来的通知显示标准输入 /输出单元 501 后, 接收用户通过物理键盘输入的字 符, #>据当前输入焦点标志, 通知对应的标准输入 /输出单元 501接收输入的 字符。 本实施例中的第二通知单元可以具体用于当判断单元判断出当前输入 模式为标准键盘输入模式时,通知显示单元 506显示标准输入 /输出单元 501 , 并显示软键盘; 相应地, 软键盘模块 600还包括: 软键盘字符发送单元, 用于在标准键盘输入模式下, 将映射单元 601 输出的键盘字符发送给主控模块 500; 并且, 主控模块 500还包括: 软键盘字符接收单元,用于接收到软键盘模块 600发来的所述键盘字符 后, #>据当前输入焦点标志, 将该键盘字符发送给对应的标准输入 /输出单元 501。 另外, 本实施例中, 在软键盘输入模式下, 主控模块 500还可以接收用 户通过物理键盘输入的字符, 即主控模块 500还包括: 第二标准键盘字符接收单元, 用于在软键盘输入模式下,接收用户通过 物理键盘输入的字符, 根据当前输入焦点标志, 通知对应的模拟输入 /输出单 元 502接收该字符。 本实施例中, 主控模块 500还包括: 检查单元, 用于定期检查当前的输入焦点, 并根据当前的输入焦点所在 的输入 /输出单元, 将当前输入焦点标志设置为输入 /输出单元的焦点标志。 例如, 以预设的时间间隔触发 MFC 定时消息 (WM— TIMER ), 检查单元收 到该消息后, 检查当前的输入焦点, 并根据当前的输入焦点所在的输入 /输出 单元, 将当前输入焦点标志设置为输入 /输出单元的焦点标志。 进一步地, 软键盘模块 600还包括: 置乱单元, 用于随机修改映射单元 601存储的坐标和字符的映射关系。 本实施例中的标准输入 /输出单元 501可以为具有字符输入功能的 MFC 控件。 进一步地, 模拟输入 /输出单元 502还包括: 光标计算子单元, 用于计算光标的位置。 如随着输入的字符移动, 自动 计算光标的位置, 输入字符增加时, 计算出光标向右移动的位置, 删除输入 字符时, 计算出光标向左移动的位置等等, 当鼠标点击到模拟输入 /输出单元 502时, 计算出光标移动到鼠标点击的位置等等。 本实施例中, 模拟输入 /输出单元 502还包括: 绘图子单元, 用于绘制模拟输入 /输出单元 502的外观。 本实施例中, 主控模块 500和软键盘模块 600可以分别由两个 MFC窗 口类实现, 切换单元可以由主控模块 500窗口中的 CheckBox控件来实现, 标准输入 /输出单元 501可以为主控模块 500窗口中的 Edit控件, 模拟输入 / 输出单元 502可以是以不具有输入功能的 Button控件为基础的自绘控件, 由 于 Button控件不具备输入功能, 因此模拟输入 /输出单元 202不存在 MFC所 定义的输入焦点。 本发明实施例解决了现有技术的不足, 多个输出控件共用一个软键盘, 结构更简单, 运行更稳定, 从而更好地满足实际需要, 提供更完善而安全的 人机交互体 -险。 以上所述仅为本发明的较佳实施例, 并不用以限制本发明, 凡在本发明 的精神和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发 明的保护范围之内。

Claims

权 利 要 求 书
1. 一种多输入焦点的软键盘输入装置, 其特征在于, 所述装置包括主控 模块和软键盘, 其中, 所述软键盘为受主控模块控制的软键盘单元或 与主控模块进行通信的软键盘模块;
当所述软键盘为受主控模块控制的软键盘单元时,
所述主控模块包括:
多个标准输入 /输出单元, 用于接收鼠标点击消息; 多个模拟输入 /输出单元,用于接收鼠标点击消息,所述多个模拟 输入 /输出单元与所述多个标准输入 /输出单元数目相等, 且——对应; 输入焦点标志设置单元,用于当所述标准输入 /输出单元被鼠标点 击时, 根据标准输入 /输出单元与焦点标志的对应关系, 将当前输入焦 点标志设置为所述标准输入 /输出单元的焦点标志; 当所述模拟输入 / 输出单元被鼠标点击时, 根据模拟输入 /输出单元与焦点标志的对应关 系, 将当前输入焦点标志设置为所述模拟输入 /输出单元的焦点标志; 软键盘单元, 用于存储坐标与字符之间的映射关系, 并在有用户 点击软键盘的鼠标点击消息时,根据鼠标点击的位置确定相应的字符, 在软键盘输入模式下, 如果所述字符为键盘字符, 则根据当前输入焦 点标志, 找到对应的模拟输入 /输出单元, 将所述键盘字符存储到该模 拟输入 /输出单元对应的存储单元中; 如果所述字符为状态字符, 则对 所述软键盘进行相应的状态处理; 如果所述字符为控制字符, 则根据 当前输入焦点标志, 找到对应的模拟输入 /输出单元, 并控制该模拟输 入 /输出单元根据所述控制字符重新绘制该模拟输入 /输出单元的外观, 所述重新绘制该模拟输入 /输出单元的外观包括移动光标和 /或包括对 该模拟输入 /输出单元内显示的内容和存储区内存储的内容进行删除 的操作;
显示单元, 用于在标准键盘输入模式下, 显示所述多个标准输入 /输出单元, 用于在软键盘输入模式下, 显示软键盘和所述多个模拟输 入 /输出单元;
所述装置还包括存储模块, 所述存储模块包括: 多个存储单元, 用于存储用户通过标准键盘或软键盘输入的字 符, 所述多个存储单元与所述多个标准输入 /输出单元数目相等, 且每 个存储单元对应一对具有对应关系的标准输入 /输出单元和模拟输入 / 输出单元;
以及, 当所述软键盘为所述主控模块进行通信的软键盘模块时, 所述主控模块包括:
标准输入 /输出单元,用于接收鼠标点击消息和用户通过标准键盘 输入的字符;
模拟输入 /输出单元,用于接收鼠标点击消息和用户通过软键盘输 入的字符;
输入焦点标志设置单元,用于当所述标准输入 /输出单元被鼠标点 击时, 将当前输入焦点标志设置为所述标准输入 /输出单元的焦点标 志, 当所述模拟输入 /输出单元被鼠标点击时, 将当前输入焦点标志设 置为所述模拟输入 /输出单元的焦点标志;
软键盘消息处理单元, 用于收到所述软键盘模块发来的软键盘消 息后, 根据当前输入焦点标志, 通知对应的模拟输入 /输出单元接收所 述软键盘模块緩存的键盘字符;
存储单元, 用于存储用户通过标准键盘或软键盘输入的字符; 显示单元,用于在标准键盘输入模式下,显示标准输入 /输出单元, 在软键盘输入模式下, 显示软键盘和模拟输入 /输出单元;
所述软键盘模块包括:
映射单元,用于存储坐标与字符之间的映射关系,模拟输入 /输出 单元与焦点标志的对应关系, 以及标准输入 /输出单元与焦点标志的对 应关系, 并在有鼠标点击消息时, 才艮据鼠标点击的位置输出相应的字 符;
緩存单元, 用于当所述映射单元输出的为键盘字符时, 緩存所述 键盘字符;
软键盘消息发送单元, 用于当所述緩存单元緩存有键盘字符时, 向所述主控模块发送软键盘消息;
状态处理单元, 用于当所述映射单元输出的为状态字符时, 对所 述软键盘进行相应的状态处理。
2. 根据权利要求 1所述的多输入焦点的软键盘输入装置, 其特征在于, 所述主控模块还包括:
切换单元,用于当所述模拟输入 /输出单元接收的鼠标点击消息为 输入模式切换消息时, 将当前软键盘输入模式更改为标准键盘输入模 式; 当所述标准输入 /输出单元接收的鼠标点击消息为输入模式切换消 息时, 将当前标准键盘输入模式更改为软键盘输入模式。
3. 根据权利要求 1所述的多输入焦点的软键盘输入装置, 其特征在于, 所述主控模块还包括:
判断单元, 用于判断当前输入模式是否为软键盘输入模式; 第一通知单元, 用于当所述判断单元判断出当前输入模式为软键 盘输入模式时, 通知所述显示单元显示所述软键盘和模拟输入 /输出单 元;
第二通知单元, 用于当所述判断单元判断出当前输入模式为标准 键盘输入模式时, 通知所述显示单元显示所述标准输入 /输出单元, 其中, 所述显示单元在所述判断单元判断出当前输入模式为软键 盘输入模式时显示所述软键盘和模拟输入 /输出单元, 在所述判断单元 判断出当前输入模式为标准键盘输入模式时显示所述标准输入 /输出 单元。
4. 根据权利要求 3所述的多输入焦点的软键盘输入装置, 其特征在于, 当所述软键盘为受所述主控模块控制的软键盘单元时, 所述主控 模块还包括:
第一标准键盘字符接收单元, 用于在所述显示单元显示所述多个 标准输入 /输出单元后, 接收用户通过物理键盘输入的字符, 根据当前 输入焦点标志, 找到对应的标准输入 /输出单元, 并将所述字符存储到 所述找到的标准输入 /输出单元对应的存储单元中;
当所述软键盘为所述主控模块进行通信的软键盘模块时, 所述主 控模块还包括:
第二标准键盘字符接收单元, 用于在所述显示单元根据所述第二 通知单元发来的通知显示所述标准输入 /输出单元后, 接收用户通过物 理键盘输入的字符, 根据当前输入焦点标志, 通知对应的标准输入 /输 出单元接收所述字符。
5. 根据权利要求 3所述的多输入焦点的软键盘输入装置, 其特征在于, 当所述软键盘为所述主控模块进行通信的软键盘模块时, 所述第二通 知单元具体用于当所述判断单元判断出当前输入模式为标准键盘输入 模式时, 通知所述显示单元显示所述标准输入 /输出单元, 并显示所述 软键盘;
所述软键盘模块还包括:
软键盘字符发送单元, 用于在标准键盘输入模式下, 将所述映射 单元输出的键盘字符发送给所述主控模块;
所述主控模块还包括:
软键盘字符接收单元, 用于接收到所述软键盘模块发来的所述键 盘字符后, 根据当前输入焦点标志, 将所述键盘字符发送给对应的标 准输入 /输出单元。
6. 根据权利要求 3所述的多输入焦点的软键盘输入装置, 其特征在于, 当所述软键盘为受所述主控模块控制的软键盘单元时, 所述第二通知 单元具体用于当所述判断单元判断出当前输入模式为标准键盘输入模 式时, 显示所述多个标准输入 /输出单元, 并显示所述软键盘;
所述软键盘单元还用于在根据鼠标点击的位置确定相应的字符 后, 在标准键盘输入模式下, 如果所述字符为键盘字符, 则根据当前 输入焦点标志, 找到对应的标准输入 /输出单元, 将所述确定的字符存 储到所述找到的标准输入 /输出单元对应的存储单元中; 如果所述字符 为状态字符, 则对所述软键盘进行相应的状态处理; 如果所述字符为 控制字符,则^ ^据当前输入焦点标志,找到对应的标准输入 /输出单元, 并控制该标准输入 /输出单元根据所述控制字符重新绘制该标准输入 / 输出单元的外观, 所述重新绘制该标准输入 /输出单元的外观包括移动 光标和 /或包括对该标准输入 /输出单元显示的内容和存储区内存储的 内容进行删除的操作。
7. 根据权利要求 3所述的多输入焦点的软键盘输入装置, 其特征在于, 当所述软键盘为受所述主控模块控制的软键盘单元时, 所述主控 模块还包括:
第三标准键盘字符接收单元, 用于在所述显示单元显示所述多个 标准输入 /输出单元后, 接收用户通过物理键盘输入的字符, 居当前 输入焦点标志, 找到对应的标准输入 /输出单元, 并将所述字符存储到 所述找到的标准输入 /输出单元对应的存储单元中;
当所述软键盘为所述主控模块进行通信的软键盘模块时, 当所述 主控模块还包括:
第四标准键盘字符接收单元, 用于在软键盘输入模式下, 接收用 户通过物理键盘输入的字符, 根据当前输入焦点标志, 通知对应的模 拟输入 /输出单元接收所述字符。
8. 根据权利要求 1所述的多输入焦点的软键盘输入装置, 其特征在于, 所述主控模块还包括:
检查单元, 用于定期检查当前的搶入焦点, 并 #居所述当前的输 入焦点所在的输入 /输出单元, 将当前输入焦点标志设置为所述输入 / 输出单元的焦点标志。
9. 根据权利要求 1所述的多输入焦点的软键盘输入装置, 其特征在于, 所述软键盘还包括:
置乱单元, 用于随机 改所述映射单元存储的坐标和字符的映射 关系。
10. 一种多输入焦点的软键盘输入方法, 其特征在于, 所述方法包括: 在软键盘输入模式下, 在指定的区域内, 显示软键盘和多个模拟 输入 /输出单元, 并为每个模拟输入 /输出单元设置对应的焦点标志, 所 述软键盘是受主控模块控制的软键盘单元, 或与主控模块进行通信的 软键盘模块;
当所述软键盘是受主控模块控制的软键盘单元时, 所述主控模块 等待接收鼠标消息, 其中, 所述主控模块判断所述鼠标点击消息是否 是用户点击所述软键盘产生的消息, 如果是, 则主控模块控制软键盘 单元根据鼠标点击的位置确定对应的字符, 并判断所述字符是键盘字 符、 控制字符、 还是状态字符;
如果所述字符为键盘字符, 所述主控模块控制所述软键盘单元根 据当前输入焦点标志, 找到对应的模拟输入 /输出单元, 在已有的多个 存储单元中找到与所述找到的模拟输入 /输出单元对应的存储单元, 并 将所述键盘字符存储到所述找到的存储单元中, 所述多个存储单元与 所述多个模拟输入 /输出单元数目相等, 且——对应;
如果所述字符为状态字符, 则所述主控模块控制所述软键盘单元 进行相应的状态处理;
如果所述字符为控制字符, 则所述主控模块控制所述软键盘单元 根据当前输入焦点标志, 找到对应的模拟输入 /输出单元, 并控制该模 拟输入 /输出单元根据所述控制字符重新绘制该模拟输入 /输出单元的 外观,所述重新绘制该模拟输入 /输出单元的外观包括移动光标和 /或包 括对该模拟输入 /输出单元内显示的内容和存储区内存储的内容进行 删除的操作;
如果否, 则不作处理。
当所述软键盘是与主控模块进行通信的软键盘模块时, 所述主控 模块和所述软键盘模块等待接收鼠标消息, 所述软键盘模块根据鼠标 点击的位置确定对应的字符; 并判断所述字符是键盘字符、 控制字符、 还是状态字符;
如果所述字符为键盘字符, 所述主控模块从所述软键盘模块获取 所述字符, 根据当前输入焦点标志 , 找到对应的模拟输入 /输出单元, 在已有的多个存储单元中找到与所述找到的模拟输入 /输出单元对应 的存储单元, 并将所述键盘字符存储到所述找到的存储单元中, 所述 多个存储单元与所述多个模拟输入 /输出单元数目相等, 且——对应; 如果所述字符为状态字符, 则所述软键盘模块进行相应的状态处 理;
如果所述字符为控制字符, 则所述主控模块根据当前输入焦点标 志, 找到对应的模拟输入 /输出单元, 并控制该模拟输入 /输出单元根据 所述控制字符重新绘制该模拟输入 /输出单元的外观, 所述重新绘制该 模拟输入 /输出单元的外观包括移动光标和 /或包括对该模拟输入 /输出 单元内显示的内容和存储区内存储的内容进行删除的操作。
11. 根据权利要求 10所述的多输入焦点的软键盘输入方法, 其特征在于, 所述当所述软键盘是受主控模块控制的软键盘单元时, 所述方法中, 判断所述鼠标点击消息是否是用户点击所述软键盘产生的消息具体包 括在判断所述鼠标点击消息是否是用户点击所述软键盘产生的消息的 同时, 所述主控模块还判断所述鼠标点击消息,
如果是用户点击输入模式切换控件产生的消息, 所述主控模块将 当前软键盘输入模式更改为标准键盘输入模式;
如果是用户点击所述任一模拟输入 /输出单元产生的消息,所述主 控模块将当前输入焦点标志设为用户所点击的模拟输入 /输出单元;
12. 根据权利要求 10所述的多输入焦点的软键盘输入方法, 其特征在于, 所述在指定的区域内, 显示软键盘和多个模拟输入 /输出单元之前, 还 包括:
所述主控模块判断当前输入模式是否为软键盘输入模式; 如果是, 则执行在软键盘输入模式下, 在指定的区域内, 显示软 键盘和多个模拟输入 /输出单元的步骤;
否则,所述主控模块显示多个标准输入 /输出单元并接收鼠标点击 消息, 并判断鼠标点击的是否为所述标准输入 /输出单元, 如果是, 则 所述主控模块将当前输入焦点标志设置为所述标准输入 /输出单元的 焦点标志,所述多个标准输入 /输出单元与所述多个模拟输入 /输出单元 数目相等, 且——对应, 并且所述多个存储单元中的每个存储单元对 应一对具有对应关系的标准输入 /输出单元和模拟输入 /输出单元。
13. 根据权利要求 12所述的多输入焦点的软键盘输入方法, 其特征在于, 当所述软键盘是与主控模块通信的软键盘模块时, 所述主控模块将当 前输入焦点标志设置为所述标准输入 /输出单元的焦点标志之后, 还包 括:
所述主控模块接收用户通过物理键盘输入的字符,根据所述当前 输入焦点标志, 通知对应的标准输入 /输出单元接收所述字符。
14. 根据权利要求 12所述的多输入焦点的软键盘输入方法, 其特征在于, 当所述软键盘是受主控模块控制的软键盘单元时, 所述主控模块将当 前输入焦点标志设置为所述标准输入 /输出单元的焦点标志之后, 还包 括:
所述主控模块接收用户通过物理键盘输入的字符,根据所述当前 输入焦点标志找到对应的标准输入 /输出单元, 在所述多个存储单元中 找到与所述找到的标准输入 /输出单元对应的存储单元, 并将所述字符 存储到所述找到的存储单元中。
15. 根据权利要求 12所述的多输入焦点的软键盘输入方法, 其特征在于, 当所述软键盘是受主控模块控制的软键盘单元时, 所述主控模块将当 前输入焦点标志设置为所述标准输入 /输出单元的焦点标志之后, 还包 括:
所述主控模块显示软键盘, 并且用户通过鼠标点击所述软键盘; 所述主控模块控制所述软键盘单元才 M居鼠标点击的位置确定对 应的字符, 并判断所述字符是键盘字符、 控制字符、 还是状态字符; 如果所述字符为键盘字符, 则所述主控模块控制所述软键盘单元 才艮据当前输入焦点标志, 找到对应的标准输入 /输出单元, 并将所述键 盘字符存储到所述找到的标准输入 /输出单元对应的存储单元中; 如果所述字符为状态字符, 则所述主控模块控制所述软键盘单元 进行相应的^ t态处理;
如果所述字符为控制字符, 则所述主控模块控制所述软键盘单元 根据当前输入焦点标志, 找到对应的标准输入 /输出单元, 并控制该标 准输入 /输出单元根据所述控制字符重新绘制该标准输入 /输出单元的 外观,所述重新绘制该标准输入 /输出单元的外观包括移动光标和 /或包 括对该标准输入 /输出单元显示的内容和存储区内存储的内容进行删 除的操作。
16. 根据权利要求 12所述的多输入焦点的软键盘输入方法, 其特征在于, 当所述软键盘是与主控模块通信的软键盘模块时, 所述主控模块将当 前输入焦点标志设置为所述标准输入 /输出单元的焦点标志之后, 还包 括:
所述主控模块显示软键盘, 并且用户通过鼠标点击所述软键盘; 所述软键盘模块艮据鼠标点击的位置确定对应的字符, 并判断所 述字符是键盘字符还是状态字符;
如果所述字符为键盘字符, 则所述软键盘模块将所述键盘字符发 送给所述主控模块, 所述主控模块收到后, 根据当前输入焦点标志, 将所述键盘字符发送给对应的标准输入 /输出单元;
如果所述字符为状态字符, 则所述软键盘模块进行相应的状态处 理。
17. 根据权利要求 12所述的多输入焦点的软键盘输入方法, 其特征在于, 所述判断鼠标点击的是否为标准输入 /输出单元之后 , 还包括:
如果所述鼠标点击消息为输入模式切换消息, 则所述主控模块将 当前标准键盘输入模式更改为软键盘输入模式。
18. 根据权利要求 12所述的多输入焦点的软键盘输入方法, 其特征在于, 当所述软键盘是受主控模块控制的软键盘单元时, 所述将当前输入焦 点标志设置为所述模拟输入 /输出单元的焦点标志之后, 还包括: 所述主控模块接收所述用户通过物理键盘输入的字符, ^^据所述 当前输入焦点标志, 找到对应的模拟输入 /输出单元, 并将所述字符存 储到与所述找到的模拟输入 /输出单元对应的存储单元中;
当所述软键盘是与主控模块进行通信的软键盒模块时, 所述将当 前输入焦点标志设置为所述模拟输入 /输出单元的焦点标志之后, 还包 括:
所述软键盘模块接收所述用户通过物理键盘输入的字符,根据所 述当前输入焦点标志, 通知对应的模拟输入 /输出单元接收所述字符。
19. 根据权利要求 10所述的多输入焦点的软键盘输入方法, 其特征在于, 当所述软键盘为所述主控模块进行通信的软键盘模块时, 所述方法还 包括:
所述主控模块定期检查当前的输入焦点, 并#_据所述当前的输入 焦点所在的输入 /输出单元,将当前输入焦点标志设置为所述输入 /输出 单元的焦点标志。 根据权利要求 10所述的多输入焦点的软键盘输入方法, 其特征在于, 所述方法还包括:
所述软键盘随机修改已有的鼠标点击位置与字符的映射关系。
PCT/CN2009/075021 2008-11-19 2009-11-18 多输入焦点的软键盘输入装置和方法 WO2010057433A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/667,235 US8146011B2 (en) 2008-11-19 2009-11-18 Virtual keyboard input means with multiple input focuses and method thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN 200810226881 CN101414242B (zh) 2008-11-19 2008-11-19 多输入焦点的软键盘输入装置和方法
CN200810226882.8 2008-11-19
CN2008102268828A CN101403957B (zh) 2008-11-19 2008-11-19 多输入焦点的软键盘输入装置和方法
CN200810226881.3 2008-11-19

Publications (1)

Publication Number Publication Date
WO2010057433A1 true WO2010057433A1 (zh) 2010-05-27

Family

ID=42197845

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/075021 WO2010057433A1 (zh) 2008-11-19 2009-11-18 多输入焦点的软键盘输入装置和方法

Country Status (2)

Country Link
US (1) US8146011B2 (zh)
WO (1) WO2010057433A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10423328B2 (en) * 2011-12-28 2019-09-24 Hiroyuki Ikeda Portable terminal for controlling two cursors within a virtual keyboard according to setting of movement by a single key at a time or a plurality of keys at a time
JP6071107B2 (ja) 2012-06-14 2017-02-01 裕行 池田 携帯端末
KR101431581B1 (ko) * 2012-06-22 2014-09-23 성균관대학교산학협력단 모바일 단말기를 기반으로 한 가상 게임 컨트롤러 장치 및 이를 이용한 원격 컨트롤 시스템
KR101987246B1 (ko) * 2012-11-26 2019-06-12 한국전자통신연구원 휴대용 단말기의 사용자 인증 장치
US20140333537A1 (en) * 2013-05-10 2014-11-13 Moon J. Kim Pointing device with integrated keyboard

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936808A (zh) * 2005-04-18 2007-03-28 阿瓦戈科技Ecbuip(新加坡)股份有限公司 用于使用软键盘来简化文本输入的电子设备和方法
CN101089806A (zh) * 2007-07-24 2007-12-19 中兴通讯股份有限公司 一种字符输入装置及方法
WO2008102665A1 (ja) * 2007-02-20 2008-08-28 Nec Corporation 携帯端末および携帯端末の操作方法
CN101403957A (zh) * 2008-11-19 2009-04-08 北京飞天诚信科技有限公司 多输入焦点的软键盘输入装置和方法
CN101414242A (zh) * 2008-11-19 2009-04-22 北京飞天诚信科技有限公司 多输入焦点的软键盘输入装置和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5008847A (en) * 1983-01-21 1991-04-16 The Laitram Corporation Cursor selected keyboard keys displayed on the computer screen for entering alphanumeric characters and instructions, particularly for creating computer aided design and drafting patterns
US6104384A (en) * 1997-09-12 2000-08-15 Ericsson, Inc. Image based keyboard for a small computing device
US7030863B2 (en) * 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
KR20080101333A (ko) * 2007-05-17 2008-11-21 (주)이스트소프트 가상키보드를 이용한 보안방법
US8078984B2 (en) * 2007-06-19 2011-12-13 Microsoft Corporation Virtual keyboard text replication
US20090251422A1 (en) * 2008-04-08 2009-10-08 Honeywell International Inc. Method and system for enhancing interaction of a virtual keyboard provided through a small touch screen

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936808A (zh) * 2005-04-18 2007-03-28 阿瓦戈科技Ecbuip(新加坡)股份有限公司 用于使用软键盘来简化文本输入的电子设备和方法
WO2008102665A1 (ja) * 2007-02-20 2008-08-28 Nec Corporation 携帯端末および携帯端末の操作方法
CN101089806A (zh) * 2007-07-24 2007-12-19 中兴通讯股份有限公司 一种字符输入装置及方法
CN101403957A (zh) * 2008-11-19 2009-04-08 北京飞天诚信科技有限公司 多输入焦点的软键盘输入装置和方法
CN101414242A (zh) * 2008-11-19 2009-04-22 北京飞天诚信科技有限公司 多输入焦点的软键盘输入装置和方法

Also Published As

Publication number Publication date
US20110191709A1 (en) 2011-08-04
US8146011B2 (en) 2012-03-27

Similar Documents

Publication Publication Date Title
US8656296B1 (en) Selection of characters in a string of characters
KR101718253B1 (ko) 문자 입력을 위한 디바이스, 방법 및 그래픽 유저 인터페이스
US4587630A (en) Intelligent programmable touchscreen system
KR20150049700A (ko) 전자 장치에서 입력을 제어하는 방법 및 장치
WO2020164268A1 (zh) 验证码生成方法、装置及存储介质、计算机设备
CN107193476B (zh) 信息输入方法及装置、计算机设备与可读介质
WO2010057433A1 (zh) 多输入焦点的软键盘输入装置和方法
US20120287061A1 (en) Method and apparatus for providing graphic user interface having item deleting function
CN107797971A (zh) 文档批注方法、装置和电子设备
JP7426367B2 (ja) 動的スペースバー
JP2016525248A (ja) タッチキーボードのキーを可変にする方法及び端末
CN101414242B (zh) 多输入焦点的软键盘输入装置和方法
JP2018512676A (ja) テキスト選択制御への向上
CN101403957B (zh) 多输入焦点的软键盘输入装置和方法
US8949731B1 (en) Input from a soft keyboard on a touchscreen display
CN102193905A (zh) 基于gdi/gdi+的虚拟文本编辑方法及装置
AU2014374195A1 (en) Disambiguation of user intent on a touchscreen keyboard
CN107092433A (zh) 触控一体机的触摸控制方法及装置
TW201734709A (zh) 可切換輸入法的電子裝置及其輸入法切換方法、系統
CN105353883A (zh) 人机交互方法、人机交互系统和计算装置
TW201415349A (zh) 電子裝置和虛擬鍵盤定位方法
WO2014082223A1 (zh) 信息输入方法及触摸屏终端
CN113795819A (zh) 用于删除键手势以及在触敏键盘处提供连续路径手势的系统和方法
JP4452989B2 (ja) 情報処理装置及びその仮想入力方法
TWM598438U (zh) 模擬真人操作之電子裝置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 12667235

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09827182

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09827182

Country of ref document: EP

Kind code of ref document: A1