WO2011129398A1 - 文字入力装置および文字入力方法 - Google Patents
文字入力装置および文字入力方法 Download PDFInfo
- Publication number
- WO2011129398A1 WO2011129398A1 PCT/JP2011/059273 JP2011059273W WO2011129398A1 WO 2011129398 A1 WO2011129398 A1 WO 2011129398A1 JP 2011059273 W JP2011059273 W JP 2011059273W WO 2011129398 A1 WO2011129398 A1 WO 2011129398A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- contact
- character
- button
- touch panel
- control unit
- Prior art date
Links
Images
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
Definitions
- the present invention relates to a character input device and a character input method.
- touch panels have been widely used to realize a small character input device that enables intuitive operation and does not include a device that requires a physically large area such as a keyboard. Yes.
- a technique for inputting characters using the touch panel a technique for inputting characters by handwriting on the touch panel (for example, Patent Document 1) and a virtual keyboard (hereinafter referred to as “virtual keyboard”) displayed on the touch panel.
- a technique (for example, Patent Document 2) for inputting characters using a character is known.
- the conventional technique of inputting characters by handwriting on the touch panel has a problem that it is difficult to input characters at high speed because it takes time for input and character recognition processing. Further, even in the conventional technique for inputting characters using a virtual keyboard, it is necessary to repeat the operation of raising and lowering the finger with respect to the touch panel for each key corresponding to the character to be input, so that high-speed character input is difficult.
- the present invention has been made in view of the above, and an object of the present invention is to provide a character input device and a character input method that enable high-speed character input on a touch panel.
- the present invention is a character input device, a touch panel capable of detecting contact with a plurality of locations, and a plurality of buttons displayed on the display surface of the touch panel, A control unit that determines that a first contact operation in which a contact position with respect to the touch panel is continuously displaced has occurred, and the control unit performs the first contact operation in an area where the plurality of buttons are displayed.
- control unit additionally displays a character of a button corresponding to the contact position of the first contact operation in the different area and detects a contact to the additional display as the second contact operation.
- control unit displays the additional display at a position that is equidistant from the contact position every time the contact position detected by the first contact operation is displaced.
- control unit may be located at a position where a specific action is detected in the first contact action among characters corresponding to buttons displayed on a locus connecting positions where the contact is detected by the first contact action. It is preferable that characters corresponding to the displayed button are further accepted as input.
- the specific operation is a start of contact in the first contact operation.
- the specific operation is an end of contact in the first contact operation.
- the specific operation is a change in a moving direction of a contact position in the first contact operation.
- the specific operation is a movement of a contact position that draws a locus of a specific shape in the first contact operation.
- control unit corresponds to a character corresponding to a button that is contacted by the first contact operation when the second contact operation is detected, and a button displayed at a position where the specific operation is detected. It is determined whether the character string combining the characters to be valid is valid, and when it is determined that the character string is not valid, the character corresponding to the button displayed on the locus is detected at the time of detecting the second contact operation. It is preferable to accept, as an input, a character string complemented with any one of the characters corresponding to the buttons other than the button in which the contact by the first contact operation has occurred and the specific operation has been detected.
- control unit compares a character string that is a combination of characters corresponding to the button displayed at the position where the specific action is detected with a dictionary, and if a matching character string is found, the retrieved character string It is preferable to accept a column as input.
- control unit associates weighting information with each of the characters corresponding to the button that has been contacted by the first contact operation, and increases the priority of the character associated with a large value of the weighting information. It is preferable to specify the input character string.
- control unit may detect the first contact operation without detecting the second contact operation on a character corresponding to a button that has been contacted by the first contact operation when the second contact operation is detected. It is preferable to associate weighting information larger than the character corresponding to the button on which the contact has occurred.
- the present invention is a character input method executed by a character input device having a touch panel capable of detecting contact with a plurality of locations, the character input device
- the control unit displays a plurality of buttons on the display surface of the touch panel, the touch panel has a first contact operation in which a contact position is continuously displaced, and the region where the plurality of buttons are displayed.
- the character input device and the character input method according to the present invention have the effect of allowing characters to be input at high speed on the touch panel.
- FIG. 1 is a front view showing an appearance of a mobile phone terminal.
- FIG. 2 is a diagram illustrating a virtual keyboard displayed on the touch panel.
- FIG. 3 is a diagram illustrating an operation example of character input.
- FIG. 4 is a diagram illustrating a virtual keyboard displayed on the touch panel.
- FIG. 5 is a diagram illustrating an example in which a finger passes through the button area.
- FIG. 6 is a diagram illustrating an example in which the finger moving direction is changed in the button area.
- FIG. 7 is a diagram illustrating an example of a trajectory in which a finger rotates within a button area.
- FIG. 8 is a diagram illustrating an operation example of character input.
- FIG. 9 is a block diagram showing a schematic configuration of functions of the mobile phone terminal.
- FIG. 9 is a block diagram showing a schematic configuration of functions of the mobile phone terminal.
- FIG. 10 is a diagram illustrating an example of virtual keyboard data.
- FIG. 11 is a flowchart showing a processing procedure of character input processing by the mobile phone terminal.
- FIG. 12 is a diagram illustrating an example of the input character buffer.
- FIG. 13 is a diagram illustrating an example of a temporary buffer.
- FIG. 14 is a diagram showing an input character string candidate display area displayed on the touch panel.
- FIG. 15 is a flowchart showing the processing procedure of the character input determination processing.
- FIG. 16A is a flowchart illustrating another example of the process procedure of the character input determination process.
- FIG. 16B is a flowchart illustrating another example of the processing procedure of the character input determination processing.
- FIG. 17 is a flowchart showing the processing procedure of the character string search processing.
- FIG. 11 is a flowchart showing a processing procedure of character input processing by the mobile phone terminal.
- FIG. 12 is a diagram illustrating an example of the input character buffer.
- FIG. 13 is a
- FIG. 18 is a diagram illustrating an example of a temporary buffer when priority is subdivided.
- FIG. 19 is a diagram illustrating an example of tap area setting processing.
- FIG. 20 is a flowchart showing a processing procedure of tap area setting processing by the mobile phone terminal.
- a mobile phone terminal will be described as an example of a character input device.
- various devices including a touch panel for example, PHS (Personal Handy-phone System) ), PDA (Personal Digital Assistant), portable navigation device, personal computer, game machine, and the like.
- FIG. 1 is a front view showing an appearance of a mobile phone terminal 1 which is an embodiment of the character input device of the present invention.
- the mobile phone terminal 1 includes a touch panel 2 and an input unit 3 including a button 3A, a button 3B, and a button 3C.
- the touch panel 2 displays characters, figures, images, and the like, and detects various operations performed on the touch panel 2 using a finger, stylus, pen, or the like (hereinafter simply referred to as “finger”).
- the touch panel 2 is a so-called multi-touch panel that can detect inputs to a plurality of points.
- the input unit 3 activates a function corresponding to the pressed button.
- the cellular phone terminal 1 displays a virtual keyboard 4 on the touch panel 2 as shown in FIG. 2 in order to accept input of characters from the user.
- FIG. 2 is a diagram illustrating a virtual keyboard displayed on the touch panel.
- the virtual keyboard 4 includes a plurality of virtual buttons that imitate physical keyboard keys. For example, when the user puts a finger on (touches) and releases the button “A” in the virtual keyboard 4, the operation is detected by the touch panel 2, and the mobile phone terminal 1 displays the character “A”. Is accepted as input.
- the mobile phone terminal 1 displays the virtual additional keyboards 42 and 44 in order to accept input of characters from the user.
- the virtual additional keyboards 42 and 44 include a plurality of virtual buttons that imitate various keys that are not displayed on the virtual keyboard 4.
- the virtual additional keyboards 42 and 44 include various keys other than kana characters. Specifically, the virtual additional keyboard 42 includes “°”, “′”, “-” “,”, “.”, And the like. The virtual additional keyboard 44 includes “ ⁇ ”, “ ⁇ ”, “ ⁇ ”, “ ⁇ ”, and the like.
- the cellular phone terminal 1 further accepts input of characters by a continuous method on the virtual keyboard 4.
- the continuous method is a method that allows a user to continuously input a plurality of characters by moving the virtual keyboard 4 while keeping a finger in contact with the touch panel 2.
- the continuous method for example, the user keeps his / her finger in contact with the touch panel 2 and slides the “A” button, the “KA” button, the “TA” button, and the “MA” button in order.
- the character string “Akatama” can be input.
- a plurality of characters can be input simply by sliding the finger on the touch panel 2 without performing the operation of raising and lowering the finger for each button. Can be entered.
- the layout of the virtual keyboard 4 is the layout of the Aiueo keyboard (50-sound hiragana layout in Japanese, “Aiueo” is arranged vertically and “Akasana” is arranged next to it).
- Aiueo keyboard 50-sound hiragana layout in Japanese, “Aiueo” is arranged vertically and “Akasana” is arranged next to it.
- the “KA”, “SA”, “TA”, “NA”, and “HA” buttons are located between those buttons. Will pass.
- the character string “Akasana Namah” is input as an input against the user's intention. It will be accepted.
- the mobile phone terminal 1 displays a tap area on the touch panel 2 corresponding to the button that the finger is in contact with. Specifically, the cellular phone terminal 1 displays a character corresponding to the button with which the finger is in contact in the tap area. In addition, the mobile phone terminal 1 displays the button displayed at the position where the touch (tap) to the tap area is detected by the touch panel 2 among the buttons on the locus where the user moves the finger. Is intentionally touched to input a character. Specifically, in the mobile phone terminal 1, when the touch on the tap area is detected by the touch panel 2 while the finger contact position is being moved, the button at the finger contact position is intentionally It is determined that it has been touched. In the present embodiment, the tap area is an area corresponding to a position where the user is touching with a finger. Therefore, when the position touched with the finger moves, the tap area also moves. The display position of the tap area can be set in advance by setting or the like.
- the mobile phone terminal 1 determines that the button is intentionally touched if there is a button at a position where the start of the contact is detected. Further, when the touch panel 2 detects an operation of moving the finger and moving away from the touch panel 2, the mobile phone terminal 1 is intentionally touched if there is a button at the position where the end of contact is detected. It is determined that
- FIG. 3 shows an operation example when the user inputs “Akatama” to the mobile phone terminal 1.
- the display of the virtual additional keyboards 42 and 44 is omitted.
- a finger is placed in the “A” button area, and the finger touches the touch panel 2.
- the mobile phone terminal 1 determines that the “A” button on which the finger is placed is intentionally touched.
- the finger is moving from the “A” button to the “K” button while touching the touch panel 2.
- the cellular phone terminal 1 displays a “ka” image 49 a in the tap area 48 a corresponding to the “ka” button touched by the finger.
- the finger touches the “ka” button on the touch panel 2, and another finger touches the tap area 48a.
- the cellular phone terminal 1 detects contact with the tap area 48a and determines that the “ka” button is intentionally touched.
- the finger moves from the “ka” button to the “sa” button while touching the touch panel 2.
- the cellular phone terminal 1 displays the “sa” image 49b in the tap area 48b corresponding to the “sa” button touched by the finger.
- the “sa” button is not intentionally touched.
- the finger is moving from the “sa” button to the “ma” button while touching the touch panel 2.
- the mobile phone terminal 1 displays an image 49c of “ma” in the tap area 48c corresponding to the “ma” button touched by the finger.
- the finger passes the “ta” button, another finger contacts the tap area. Thereby, the mobile phone terminal 1 determines that the “ta” button is intentionally touched.
- s215 another finger is touching the tap area 48c.
- the cellular phone terminal 1 detects contact with the tap area 48c, and determines that the “MA” button is intentionally touched.
- the mobile phone terminal 1 determines that the buttons are intentionally touched in the order of “a”, “ka”, “ta”, “ma”, and the characters corresponding to these buttons are arranged in time series. Concatenated “Akatama” is accepted as an input character string. This character string matches the character string that the user tried to input.
- the cellular phone terminal 1 has either intentionally touched each button on the trajectory that the user's finger moved while touching the touch panel 2 or simply passed over it. Whether or not it is too much is accurately determined based on a tap operation input by another finger and character input is accepted. That is, when the mobile phone terminal 1 detects a contact (tap operation) to a region (second region) different from the region (first region) in which contact is detected while being touched, The character corresponding to the button in the area where the contact moving while being touched is detected is accepted as the input character. Thereby, even when the mobile phone terminal 1 is moving with the finger touching the touch panel 2, it is possible to accurately determine and accept the input of the character. Therefore, the user can input characters to the mobile phone terminal 1 at high speed and accurately.
- the user can reduce the possibility of an input error of the button. That is, since the mobile phone terminal 1 can specify a button based on the locus of the user's finger moving while touching the touch panel 2, a key different from the desired key is input rather than the case of touching each time. It is possible to reduce the possibility of the occurrence. Thereby, the user can input characters more accurately and at high speed.
- the tap area is preferably a position that is equidistant from the position (finger contact position) where the finger drawing the locus is in contact. Even if the contact position of the finger drawing the trajectory moves, the user taps the tap area by setting the relationship between the tap area and the contact position of the finger drawing the trajectory at equal intervals (that is, constant). It becomes easy to do.
- the mobile phone terminal 1 determines whether the button is intentionally touched or merely passed over it based on the user's natural action (specific action) in addition to the tap action. It is preferable to make a judgment.
- specific action the case where the input of the button is determined based on the operation (specific operation) that the user naturally performs will be described with reference to FIGS. 4 to 8.
- the cellular phone terminal 1 displays a virtual keyboard 4a on the touch panel 2 as shown in FIG. 4 in order to accept input of characters from the user.
- the virtual keyboard 4a includes a plurality of virtual buttons that imitate physical keyboard keys. Note that the virtual keyboard 4a of this embodiment is a keyboard in which buttons (keys) are arranged in a QWERTY layout.
- the cellular phone terminal 1 is used for a user to input a character from among buttons on a locus on which a user moves his / her finger, a button displayed at a position where a specific operation is detected by the touch panel 2.
- Judged to have been intentionally touched Specifically, when the touch panel 2 detects an operation for starting finger contact, the mobile phone terminal 1 is said to be touched intentionally if there is a button at a position where the start of contact is detected. judge. Further, when the touch panel 2 detects an operation of moving the finger and moving away from the touch panel 2, the mobile phone terminal 1 is intentionally touched if there is a button at the position where the end of contact is detected. It is determined that
- the mobile phone terminal 1 when an operation for changing the movement direction is detected by the touch panel 2 while the finger is touching the touch panel 2, if the mobile phone terminal 1 has a button at a position where the change of the movement direction is detected, the button is intended. It is determined that it has been touched. Specifically, the mobile phone terminal 1 compares the moving direction when the finger enters the button and the moving direction when the finger comes out of the button, and if the angle difference between the moving directions is larger than the threshold, the user Determines that the button is intentionally touched.
- the button has been intentionally touched, so that the user can easily input the same character continuously. It becomes possible to do. For example, if the user wishes to input the letter “W” three times in succession, the user may move his / her finger to draw a circle three times within the “W” button area.
- the number of rotations can be counted by counting one rotation every time the total angle of finger movement vectors in the button region exceeds 360 degrees.
- FIG. 8 shows an operation example in the case where the user inputs “electronics” to the mobile phone terminal 1.
- the finger touches the touch panel 2 and the buttons are pressed in the order of “R”, “E”, “H”, “J”, “K”.
- the cellular phone terminal 1 intentionally includes an “E” button on which a finger is placed, and “R”, “E”, and “K” buttons in which the angle difference between the entry direction and the exit direction is greater than a threshold value. Judged that it was touched.
- the finger passes over the buttons in the order of “U”, “Y”, “T”, “Y”, “U”, “I” while touching the touch panel 2.
- the cellular phone terminal 1 determines that the “U” and “T” buttons whose angle difference between the approach direction and the exit direction is larger than the threshold value are intentionally touched.
- “O”, “I”, “U”, “Y”, “T”, “R”, “T”, “Y”, “U”, “I” ”Is passed over the buttons in the order.
- the mobile phone terminal 1 determines that the “O” and “R” buttons whose angle difference between the approach direction and the exit direction is larger than the threshold value are intentionally touched.
- the finger passes through the buttons in the order of “O”, “K”, “N”, and “J” while touching the touch panel 2.
- the mobile phone terminal 1 determines that the “O” and “N” buttons whose angle difference between the approach direction and the exit direction is larger than the threshold value are intentionally touched.
- “I”, “K”, “U”, “G”, “F”, “D”, “S”, “R”, “T”, “Y” ”Is passed over the buttons in the order.
- the mobile phone terminal 1 determines that the “I”, “K”, “U”, and “S” buttons whose angle difference between the approach direction and the exit direction is larger than the threshold value are intentionally touched.
- the finger moved to the “U” button while touching the touch panel 2 is separated from the touch panel 2 within the “U” button area.
- the mobile phone terminal 1 determines that the “U” button with the finger away from the touch panel 2 is intentionally touched.
- the cellular phone terminal 1 can be connected to “E”, “R”, “E”, “K”, “U”, “T”, “O”, “R”, “O”, “N”. , “I”, “K”, “U”, “S”, “U”, it is determined that the buttons are intentionally touched, and the characters corresponding to these buttons are connected in a time series “electronics (EREKTORONIKUSU). ) "Is accepted as the input character string. This character string matches the character string that the user tried to input.
- the cellular phone terminal 1 has either intentionally touched each button on the trajectory that the user's finger moved while touching the touch panel 2 or simply passed over it. Whether or not it is too much is accurately determined based on the action that the user naturally performs, and character input is accepted. Therefore, the user can input characters to the mobile phone terminal 1 at high speed and accurately.
- the mobile phone terminal 1 does not ignore characters corresponding to the button that is determined that the finger has just passed, but uses those characters to improve input accuracy. Specifically, the cellular phone terminal 1 concatenates characters corresponding to buttons (buttons input with a tap action or buttons with a specific action) determined to have been intentionally touched by the user in time series. When the character string is collated with the dictionary and the corresponding word is not found, the character corresponding to the button determined to have only passed the finger is complemented and the collation with the dictionary is performed again to find a valid word.
- the user when the user wants to input the word “WET” to the mobile phone terminal 1, the user places the finger in the “W” button area, and then touches the touch panel 2 with the finger “T”. "" Is moved in the direction of the button "”, and the finger is released from the touch panel 2 within the button area "T”. Also, an operation for bringing a finger into contact with the tap area is not input. In this case, it is determined that the “W” button on which the finger is placed and the “T” button on which the finger is separated are intentionally touched, but “E” and “R” on the trajectory along which the finger moves. Since the angle difference between the approach direction and the exit direction is small, it is determined that the button has only passed.
- “WT”, which is a character string obtained by concatenating characters corresponding to the button that the user has intentionally touched in time series, does not exist in the dictionary. Therefore, the mobile phone terminal 1 complements the characters corresponding to the buttons that are determined to have just passed through in time series to create candidates “WET”, “WRT”, and “WERT”, and sets each candidate as Check against a dictionary. In this case, since the word “WET” is included in the dictionary, the cellular phone terminal 1 accepts “WET” as the input character string. This character string matches the character string that the user tried to input.
- FIG. 9 is a block diagram showing a schematic configuration of functions of the mobile phone terminal 1 shown in FIG.
- the mobile phone terminal 1 includes a touch panel 2, an input unit 3, a power supply unit 5, a communication unit 6, a speaker 7, a microphone 8, a storage unit 9, a main control unit 10, RAM (Random Access Memory) 11.
- RAM Random Access Memory
- the touch panel 2 includes a display unit 2B and a touch sensor 2A superimposed on the display unit 2B.
- the touch sensor 2A detects various operations performed on the touch panel 2 using a finger together with the position on the touch panel 2 where the operation is performed.
- the operations detected by the touch sensor 2 ⁇ / b> A include an operation of bringing a finger into contact with the surface of the touch panel 2, an operation of moving a finger while keeping the surface in contact with the surface of the touch panel 2, and an operation of moving the finger away from the surface of the touch panel 2. It is.
- the touch sensor 2A may employ any detection method such as a pressure-sensitive method or an electrostatic method.
- the display unit 2B includes, for example, a liquid crystal display (LCD, Liquid Crystal Display), an organic EL (Organic Electro-Luminescence) panel, and the like, and displays characters, figures, images, and the like.
- the input unit 3 receives a user operation through a physical button or the like, and transmits a signal corresponding to the received operation to the main control unit 10.
- the power supply unit 5 supplies power obtained from a storage battery or an external power supply to each functional unit of the mobile phone terminal 1 including the main control unit 10.
- the communication unit 6 establishes a radio signal line by a CDMA system or the like with a base station via a channel assigned by the base station, and performs telephone communication and information communication with the base station.
- the speaker 7 outputs the other party's voice, ringtone, and the like in telephone communication.
- the microphone 8 converts the voice of the user or the like into an electrical signal.
- the storage unit 9 is, for example, a nonvolatile memory or a magnetic storage device, and stores programs and data used for processing in the main control unit 10. Specifically, the storage unit 9 includes a mail program 9A for sending / receiving and browsing mails, a browser program 9B for browsing WEB pages, and a character input program for receiving character input in the continuous mode described above. 9C, virtual keyboard data 9D including definitions related to the virtual keyboard displayed on the touch panel 2 when characters are input, dictionary data 9E in which valid character strings are registered, image data to be displayed in the tap area, and display of images The tap area display data 9F including the definition is stored. The storage unit 9 also stores an operating system program that realizes basic functions of the mobile phone terminal 1 and other programs and data such as address book data in which names, telephone numbers, mail addresses, and the like are registered.
- the main control unit 10 is, for example, a CPU (Central Processing Unit) and comprehensively controls the operation of the mobile phone terminal 1. Specifically, the main control unit 10 executes the program stored in the storage unit 9 while referring to the data stored in the storage unit 9 as necessary, so that the touch panel 2, the communication unit 6, etc. Various processes are executed by controlling. The main control unit 10 expands the program stored in the storage unit 9 and the data acquired / generated / processed by executing the process to the RAM 11 that provides a temporary storage area as necessary. The program executed by the main control unit 10 and the data to be referred to may be downloaded from the server device by wireless communication by the communication unit 6.
- a CPU Central Processing Unit
- FIG. 10 an example of the virtual keyboard data 9D stored in the storage unit 9 is shown in FIG.
- the character corresponding to the button, the position of the button (for example, upper left coordinates), the width, the height, and the like are registered.
- the character corresponding to a certain button is “WA”
- the width and height of the button are 20 and 40. Etc. are registered.
- the virtual keyboard data 9D in addition to the data of the virtual keyboard 4, data of the virtual keyboard 4a and the virtual additional keyboards 42 and 44 are also registered.
- images corresponding to keyboard buttons such as “A”, “I”, “U” are registered as images to be displayed in the tap area.
- data for defining a display position for displaying an image is also registered.
- FIG. 11 is a flowchart showing a processing procedure of character input processing by the mobile phone terminal 1.
- the character input process shown in FIG. 11 is realized by the main control unit 10 reading the character input program 9C from the storage unit 9 and executing it. Further, the character input process shown in FIG. 11 is repeatedly executed while the virtual keyboard 4 is displayed on the touch panel 2. The virtual keyboard 4 is displayed on the touch panel 2 when the main control unit 10 executes the character input program 9C or another program.
- the main control unit 10 clears the input character buffer 12 as step S10, and clears the temporary buffer 13 as step S11.
- the input character buffer 12 is a storage area in which characters corresponding to the respective buttons on the trajectory moved with the finger touching the touch panel 2 are stored in association with the priority, and are provided in the RAM 11.
- Temporary buffer 13 temporarily stores characters corresponding to buttons determined that the finger has just passed over the buttons on the locus where the finger has moved while touching touch panel 2. This is a storage area and is provided in the RAM 11.
- FIG. 12 shows the input character buffer 12 when the operation shown in FIG. 8 is performed on the touch panel 2.
- characters corresponding to the buttons on the locus where the finger moves while touching the touch panel 2 are stored in the upper part of the input character buffer 12, and the characters corresponding to the upper characters are stored in the lower part. Stores the priority.
- the input character buffer 12 stores characters corresponding to each button on the locus where the finger moves while touching the touch panel 2 in time series.
- FIG. 12 shows character information stored in the mobile phone terminal 1 when an electronic device (EREKTORONIKUSU) is to be input.
- the priority is used to determine whether or not to adopt the associated character when a character string is formed by concatenating characters included in the input character buffer 12.
- the smaller the priority value the more preferentially the associated character is adopted.
- the character corresponding to the button that is determined to have been intentionally touched by the finger is associated with “1” as the priority, and the character corresponding to the button that is determined to be that the finger has simply passed is used. Associates “2” as a priority.
- FIG. 13 shows the temporary buffer 13 when the finger comes out of the “J” button in s221 of FIG.
- the temporary buffer 13 determines that a character corresponding to a button determined that the finger has just passed over it has intentionally touched any button. Until it is stored in time series.
- the main control unit 10 sets an input completion flag provided in the RAM 11 to 0 as step S12.
- the input completion flag is used to determine whether or not one character input has been completed.
- the character input for one time here means character input performed between the time when the finger is brought into contact with the touch panel 2 and the time when the finger is released.
- the main control unit 10 acquires the latest detection result of the touch panel 2 as step S13, and executes a character input determination process as step S14.
- the main control unit 10 stores the characters corresponding to the buttons displayed on the trajectory where the finger moves while touching the touch panel 2 in the input character buffer 12 and the temporary buffer 13. Details of the character input determination process will be described later.
- the main control unit 10 determines whether or not the input completion flag remains 0 as step S15.
- the main control unit 10 performs the character string search process as step S16.
- the character string matching the character string obtained by concatenating the characters stored in the input character buffer 12 is searched from the dictionary data 9E. Details of the character string search process will be described later.
- step S17 the main control unit 10 displays one or more character strings obtained by the character string search process in the input character string candidate display area 14 as shown in FIG.
- the main control unit 10 then repeatedly executes step S13 to step S17 until it is determined in step S15 that the input completion flag is not 0, that is, one character input has been completed.
- step S15 When the input completion flag is not 0 in step S15 (No in step S15), the main control unit 10 executes a character string search process and concatenates characters stored in the input character buffer 12 in step S18.
- the character string matching the character string thus searched is searched from the dictionary data 9E.
- step S18 After performing the search process in step S18, the main control unit 10 determines in step S19 whether there is only one character string obtained as a process result (that is, a search result) of the character string search process.
- step S19, Yes the main control unit 10 performs the process result of the character string search process as step S20.
- the character string obtained as (that is, the search result) is accepted as the input character string.
- the main control unit 10 performs a plurality of character strings obtained as a result of the character string search process in step S21.
- the character string is displayed in the input character string candidate display area 14 as shown in FIG.
- the main control part 10 acquires the newest detection result of the touch panel 2 as step S22, and determines whether any of the character strings displayed on the input character string candidate display area 14 was selected as step S23.
- the main control unit 10 repeatedly executes Steps S22 to S23 until any character string is selected.
- toe touches areas other than the input character string candidate display area 14 is detected in step S22, the main control part 10 will complete
- step S23 If any of the character strings displayed in the input character string candidate display area 14 in step S23 has been selected (step S23, Yes), the main control unit 10 performs the character input with the selected character string as step S24. Accept as a column.
- step S30 the main control unit 10 determines whether the operation detected by the touch panel 2 is an operation of starting contact with the touch panel 2, that is, an operation of bringing a finger into contact with the surface of the touch panel 2 as a detection result of the touch panel 2. Judgment based on.
- the main control unit 10 compares the position where the contact is started with the virtual keyboard data 9D as step S31. Then, it is determined whether the position where the contact is started is in any button area. When the position where the contact is started is in any one of the button regions (step S31, Yes), the button is considered to have been touched intentionally, so the main control unit 10 responds to that button as step S32.
- the character to be added is associated with the priority “1” and added to the input character buffer 12.
- the character corresponding to the button is acquired from the virtual keyboard data 9D. Then, after adding the priority “1” to the input character buffer 12 in association with the priority “1”, the main control unit 10 ends the character input determination process.
- step S31 when the position where the contact is started is not in the button area (step S31, No), the main control unit 10 ends the character input determination process without performing any particular process.
- step S30 when the operation detected on the touch panel 2 is not an operation for starting contact with the touch panel 2 (No in step S30), the main control unit 10 performs the operation detected on the touch panel 2 as step S34. It is determined based on the detection result of the touch panel 2 whether the operation is to move the finger into the button area while keeping the touch to the touch panel 2. Whether or not the detected operation is an operation of moving a finger into the button area while maintaining contact with the touch panel 2 depends on the contact position indicated by the latest detection result of the touch panel 2 and the contact position indicated by the immediately preceding detection result. Are compared with the virtual keyboard data 9D.
- the main control unit 10 sets the tap area display data 9F as step S102. read out. Specifically, the main control unit 10 reads, from the tap area display data 9F, image data corresponding to a button that is touched by a finger and definition data for displaying the image. Then, the main control unit 10 displays a tap area as step S104. That is, the main control unit 10 displays an image in an area to be a tap area based on the data read in step S102. Here, the main control unit 10 displays, as an image, for example, characters of a button that is in contact with a finger (a button on which a locus has entered) in the tap area.
- the image may be displayed in a part of the tap area or may be displayed in the entire tap area.
- the tap area can also be an area overlapping the keyboard image.
- the main control part 10 will complete
- step S34 when the operation detected by the touch panel 2 is not an operation of moving a finger into the button area while maintaining contact with the touch panel 2 (step S34, No), the main control unit 10 performs step S106. Whether the tap to the tap area is input is determined based on the detection result of the touch panel 2. That is, the main control unit 10 determines whether the touch panel 2 has detected contact with the tap area displayed in step S104.
- step S106 When a tap in the tap area is detected (step S106, Yes), the main control unit 10 adds the character stored in the temporary buffer 13 to the input character buffer 12 in association with the priority “2” as step S107. To do. Subsequently, in step S108, the main control unit 10 adds the character corresponding to the button to the input character buffer 12 in association with the priority “1”. Then, after adding the association to the input character buffer 12, the main control unit 10 ends the character input determination process.
- step S106 when the operation of tapping the tap area on the touch panel 2 is not detected (No in step S106), the main control unit 10 determines that the operation detected on the touch panel 2 makes contact with the touch panel 2 as step S46. It is determined based on the detection result of the touch panel 2 whether the operation is to be ended, that is, the operation of releasing the finger from the touch panel 2.
- step S46, Yes When the detected operation is an operation for ending contact with the touch panel 2 (step S46, Yes), the main control unit 10 compares the position where the contact is ended with the virtual keyboard data 9D as step S47. Then, it is determined whether the position where the contact is ended is in any button area. When the position where the contact is terminated is in any one of the button areas (step S47, Yes), since the button is considered to have been touched intentionally, the main control unit 10 determines that the character corresponding to the button is The processing procedure after step S49 is executed so that the characters corresponding to the other buttons on the trajectory through which the finger passes are stored in the input character buffer 12 in time series.
- the main control unit 10 adds the character stored in the temporary buffer 13 to the input character buffer 12 in association with the priority “2” as step S49.
- the temporary buffer 13 stores buttons that have not been set to priority “1” in step S32 and step S108 among the buttons arranged on the trajectory through which the finger has passed. That is, it is a button memory that is not a button tapped at the time of passage and is not a button touched at the start of contact.
- the main control unit 10 adds the character corresponding to the button to the input character buffer 12 in association with the priority “1”.
- the fact that the operation for terminating the touch on the touch panel 2 has been performed means that the character input for one time has been completed, so the main control unit 10 sets the input completion flag to “1” in step S51. Is set to end the character input determination process.
- the main control unit 10 When the position where the contact is ended is not within the button area (No at Step S47), the main control unit 10 performs only the process of setting the input completion flag to “1” as Step S51 and performs the character input determination process. End.
- the character stored in the temporary buffer 13 may be added to the input character buffer 12 in association with the priority “2”.
- step S46 when the operation detected by the touch panel 2 is not an operation for ending the touch on the touch panel 2 (No in step S46), the character input determination process is ended.
- the cellular phone terminal 1 can appropriately detect the character that the user intended operation is input by adding the character in which the tap is detected as the priority 1 to the input character buffer 12.
- the mobile phone terminal 1 starts contact at the first position on the surface of the touch panel 2 and ends contact at the second position on the surface of the touch panel 2. That is, a specific operation input when the contact position is continuously displaced (first contact operation) may be detected. That is, a specific action may be detected from a trajectory input with a finger.
- FIGS. 16A and 16B are flowcharts illustrating another example of the processing procedure of the character input determination processing. Note that some of the processes in the flowcharts shown in FIGS. 16A and 16B are the same as the processes in the flowchart shown in FIG. Therefore, the same step number is assigned to the same process, and detailed description is omitted.
- the main control unit 10 determines whether the operation detected on the touch panel 2 is an operation for starting contact with the touch panel 2 as step S ⁇ b> 30.
- step S30 When the detected operation is an operation for starting contact with the touch panel 2 (step S30, Yes), the main control unit 10 determines in step S31 that the position where the contact is started is in any one of the buttons (that is, the button It is determined whether it was in the area. When the position where the contact is started is in any one of the button areas (step S31, Yes), the main control unit 10 associates the character corresponding to the button with the priority “1” as step S32. Append to input character buffer 12
- step S33 the main control unit 10 sets the output flag to “1” and ends the character input determination process.
- the output flag is provided in the RAM 11 and is used to determine whether or not the character corresponding to the button displayed at the position where the finger is currently in contact has been output to the input character buffer 12 or the temporary buffer 13. It is done.
- the value of the output flag being “0” indicates that the character corresponding to the button displayed at the position where the finger is currently in contact has not been output to any buffer yet. That the value of the output flag is “1” indicates that the character corresponding to the button displayed at the position where the finger is currently in contact has been output to any buffer.
- step S31 when the position where the contact is started is not in the button area (step S31, No), the main control unit 10 ends the character input determination process without performing any particular process.
- step S30 when the operation detected on the touch panel 2 is not an operation for starting contact with the touch panel 2 (No in step S30), the main control unit 10 performs the operation detected on the touch panel 2 as step S34. Based on the detection result of the touch panel 2, it is determined whether or not the operation is to move the finger into the button (that is, in the button area) while maintaining the touch to the touch panel 2.
- the main control unit 10 clears the movement direction history as step S35.
- the movement direction history is data in which a direction vector indicating in which direction the finger has moved in the button area is recorded in time series, and is stored in the RAM 11.
- step S36 the main control unit 10 acquires a direction vector indicating the direction in which the finger has entered the button area, and adds the acquired direction vector to the movement direction history.
- the direction vector is acquired from the detection result of the touch panel 2.
- the direction vector is calculated from the contact position indicated by the latest detection result of the touch panel 2 and the contact position indicated by the detection result immediately before that. .
- the main control unit 10 After adding the direction vector to the movement direction history, the main control unit 10 sets the output flag to “0” in step S37. Further, the main control unit 10 reads the tap area display data 9F as step S102. In step S104, the main control unit 10 displays the tap area and ends the character input determination process.
- step S34 when the operation detected by the touch panel 2 is not an operation of making a finger enter the button area while maintaining contact with the touch panel 2 (No in step S34), the main control unit 10 performs step S38. Based on the detection result of the touch panel 2, it is determined whether the operation detected by the touch panel 2 is an operation of putting a finger out of the button while maintaining contact with the touch panel 2. Whether or not the detected operation is an operation of moving a finger out of the button while maintaining contact with the touch panel 2 depends on the contact position indicated by the latest detection result of the touch panel 2 and the contact position indicated by the immediately preceding detection result. Is compared with the virtual keyboard data 9D.
- the main control unit 10 sets the output flag to “0” as step S39. Determine if there is.
- the output flag is not “0”, that is, when the character corresponding to the button that the finger has been positioned inside has already been output to any buffer (step S39, No)
- the main control The unit 10 ends the character input determination process without performing any particular process.
- the main control unit 10 obtains the latest movement vector, that is, a direction vector indicating the direction in which the finger has moved out of the button, as step S40. Obtain the angle difference from the head direction vector of the movement direction history. The calculated angle difference represents the magnitude of the difference between the direction when the finger enters the button and the direction when the finger exits the button.
- step S41, Yes since the button is considered to have been touched intentionally, the main control unit 10 causes the finger to pass the character corresponding to the button.
- the processing procedure after step S43 is executed so that the characters corresponding to the other buttons on the trajectory are stored in the input character buffer 12 in time series.
- step S43 the main control unit 10 adds the character stored in the temporary buffer 13 to the input character buffer 12 in association with the priority “2”, and then in step S44, adds the character corresponding to the button. It is added to the input character buffer 12 in association with the priority “1”.
- step S45 the main control unit 10 clears the temporary buffer 13 and ends the character input determination process.
- step S38 when the operation detected by the touch panel 2 is not an operation of moving a finger out of the button while maintaining contact with the touch panel 2 (No in step S38), the main control unit 10 performs step S46. Based on the detection result of the touch panel 2, it is determined whether the operation detected by the touch panel 2 is an operation for ending contact with the touch panel 2, that is, an operation for releasing a finger from the touch panel 2.
- step S46, Yes When the detected operation is an operation for ending contact with the touch panel 2 (step S46, Yes), the main control unit 10 compares the position where the contact is ended with the virtual keyboard data 9D as step S47. Then, it is determined whether the position where the contact is ended is in any button area. When the position where the contact is ended is in any one of the button areas (step S47, Yes), the main control unit 10 determines whether the output flag is “0” as step S48. judge.
- step S48 when the output flag is “0”, that is, when the character corresponding to the button that is considered to have been touched intentionally has not been output to any buffer yet (step S48, Yes), the main control unit In step S49, the character included in the temporary buffer 13 (that is, stored) is added to the input character buffer 12 in association with the priority “2”. In step S50, the main control unit 10 adds the character corresponding to the button to the input character buffer 12 in association with the priority “1”. Then, in step S51, the main control unit 10 sets the input completion flag to “1” and ends the character input determination process.
- step S47, No When the position where the contact is terminated is not within the button region (step S47, No), or when the output flag is not “0” (step S48, No), the main control unit 10 performs step S51. Only the process of setting the input completion flag to “1” is performed, and the character input determination process is terminated.
- the character stored in the temporary buffer 13 is associated with the priority “2”. It may be added to the input character buffer 12.
- step S46 when the operation detected on the touch panel 2 is not an operation for ending the contact with the touch panel 2 (No in step S46), the main control unit 10 performs the operation detected on the touch panel 2 as step S52. It is determined based on the detection result of the touch panel 2 whether the operation is to move the finger within the button area while keeping the touch to the touch panel 2.
- the main control unit 10 determines that the finger is within the button area as step S53. A direction vector indicating the direction of movement is acquired, and the acquired direction vector is added to the movement direction history. Then, in step S54, the main control unit 10 refers to each direction vector recorded in the movement direction history, and determines whether the finger moves while drawing a locus rotating in the button area while touching the touch panel 2. judge. When the finger touches the touch panel 2 and does not move while drawing a trajectory that rotates within the button area (No in step S54), the button is considered not intentionally touched. The character input determination process is terminated without performing any particular process.
- step S54 if the finger is touching the touch panel 2 and moving while drawing a trajectory rotating in the button area (Yes in step S54), the main control unit 10 is considered to have touched the button intentionally.
- the processing procedure after step S55 is executed so that the character corresponding to the button is stored in the input character buffer 12 in time series together with the characters corresponding to other buttons on the trajectory through which the finger has passed.
- step S55 the main control unit 10 adds the character stored in the temporary buffer 13 to the input character buffer 12 in association with the priority “2”, and then in step S56, selects the character corresponding to the button. It is added to the input character buffer 12 in association with the priority “1”.
- step S57 the main control unit 10 sets the output flag to “1”, and in step S58, clears the movement direction history and ends the character input determination process.
- step S ⁇ b> 52 when the operation detected by the touch panel 2 is not an operation of moving a finger within the button area while maintaining contact with the touch panel 2, that is, the finger is moving outside the button on the virtual keyboard 4. If it is determined (No at Step S52), the main control unit 10 determines whether a tap to the tap area has been input based on the detection result of the touch panel 2 as Step S106.
- step S106 When a tap in the tap area is detected (Yes in step S106), the main control unit 10 associates the character included (that is, stored) in the temporary buffer 13 with the priority “2” as step S107. To the input character buffer 12. Subsequently, in step S108, the main control unit 10 adds the character corresponding to the button corresponding to the tap area to the input character buffer 12 in association with the priority “1”. In step S109, the main control unit 10 sets the output flag to “1” and ends the character input determination process.
- step S106 when the operation of tapping the tap area on the touch panel 2 is not detected (step S106, No), the main control unit 10 ends the character input determination process without performing any particular process.
- step S70 the main control unit 10 acquires a character having a priority “1” from the input character buffer 12, and generates a first candidate character string by combining the acquired characters.
- the main control unit 10 For example, four character strings “A”, “B”, “C”, “D” are stored in the input character buffer 12 in this order, and the priority of “A” and “D” is “1”. It is assumed that the priority of “B” and “C” is “2”. In this case, the main control unit 10 generates a first candidate character string “AB” by concatenating characters having a priority “1” in the order of storage.
- step S71 the main control unit 10 searches the dictionary data 9E for a character string that matches the first candidate character string.
- the first candidate character string is “ABC”
- a character string that matches the pattern “A * B * C *” is searched from the dictionary data 9E.
- “*” is a wild card that matches any character. That is, in this embodiment, the first candidate character string and the first character match, and the second and subsequent characters of the first candidate character string are the same as the first candidate character string with zero or more characters interposed therebetween.
- a character string appearing in order matches the first candidate character string, it is searched as a character string.
- the main control unit 10 selects a character having a priority “2” from the input character buffer 12 as step S73 in order to narrow down the search result. And the acquired character is complemented to the first candidate character string to generate one or more second candidate character strings.
- the main control unit 10 supplements at least one character with a priority of “2” to the first candidate character string “AB” while maintaining the storage order, thereby obtaining “ABD”, “ACD”, Three second candidate character strings “ACDB” are generated.
- step S74 the main control unit 10 searches the dictionary data 9E for a character string that matches one of the second candidate character strings.
- the matching method is the same as that for the first candidate character string.
- step S75 when any character string is searched (step S75, Yes), the main control unit 10 ends the character string search process using the searched character string as a search result in step S76. On the other hand, if no character string is searched in step S75 (step S75, No), the main control unit 10 has searched using the first candidate character string in step S71 as step S77. The character string search process is terminated using the character string matched with one candidate character string as a search result.
- step S72 When only one character string is obtained as a search result in step S72 (step S72, No and step S78, Yes), the main control unit 10 uses the searched character string as a search result as a search result in step S76. End the column search process.
- step S78, No the main control unit 10 selects a first candidate character string, that is, a character having a priority of “1” as step S79. The character string search process is terminated with the character string concatenated in the storage order as a search result.
- the mobile phone terminal 1 allows the user to input characters by moving the virtual keyboard 4 without releasing the finger from the touch panel 2, high-speed character input can be realized.
- the configuration of the mobile phone terminal 1 can be arbitrarily changed without departing from the gist of the present invention.
- “1” or “2” is associated with the character corresponding to each button on the locus on which the finger is moved from the touch panel 2 as the priority. It may be further subdivided.
- the priority is stored as weighting information, for example. When storing as weighting information, a character having a high priority is associated with a large value of weighting information, and a character having a low priority is associated with a small value of weighting information.
- a character corresponding to a button determined to have been intentionally touched is associated with a priority “1”, and a character corresponding to a button determined to have only passed a finger has a priority. Any value of “2” to “5” may be associated.
- the priority is associated with each character stored in the temporary buffer 13 as in the example of FIG.
- the button with the tap input is associated with the highest priority. That is, it is preferable to associate a higher priority than when a specific operation is input. This is because the user actively inputs an operation for selecting a button, and it is highly likely that the button is touched intentionally.
- a higher priority may be associated with the closer the trajectory that the finger has passed to the center of the button. This is because the closer the trajectory passed through to the center of the button, the higher the possibility that the button is intentionally touched.
- the higher priority characters are preferentially used when creating the second candidate character string.
- a character having a priority of “2” is complemented to the first candidate character string.
- the character having the priority “3” is further supplemented to the first candidate character string to try to narrow down the search results.
- characters are used for completion in descending order of priority until the search result is narrowed down to one.
- by subdividing the priority it is possible to generate a character string to be verified by combining characters with the highest possibility of being touched intentionally. Can be improved.
- FIG. 19 is a diagram illustrating an example of tap area setting processing. The relationship between the finger contact position and the tap area is set by performing a setting process in advance.
- an operation for starting a process for setting the display position of the tap area that is, a process for setting the relationship between the contact position of the finger and the tap area is input.
- the mobile phone terminal 1 displays a screen for setting the tap position.
- a line for the user to trace and a message ⁇ Tap around the locus with another finger when ⁇ is displayed while tracing the locus with your finger '' are displayed.
- a finger is placed on the touch panel 2, and the contact position is moved while keeping the touched state on the touch panel 2, and the trace displayed by the finger is traced.
- the mobile phone terminal 1 detects the position where the finger is in contact, determines that the contact is started, and the contact position is moving along the trajectory.
- the moving distance and moving time tracing the trajectory displayed with the finger are over a predetermined condition.
- the mobile phone terminal 1 determines that the condition for displaying the mark is satisfied, and displays a circle (circle) mark (a circle mark in which the interior is smeared in FIG. 19) on the screen.
- s233 in addition to the finger tracing the locus, another finger (second finger) is touching the touch panel 2.
- the cellular phone terminal 1 detects two contact positions, that is, a contact position of a finger tracing the locus and a contact position of another finger. Furthermore, the mobile phone terminal 1 displays another mark of ⁇ at the contact position of another finger. Further, after detecting that another finger is in contact in s233, the cellular phone terminal 1 ends the display of the mark “ ⁇ ” (in FIG. 19, a circle with a smeared inside).
- the moving distance and the moving time tracing the locus displayed with the finger are over a predetermined condition.
- the mobile phone terminal 1 determines that the condition for displaying the mark is satisfied, and again displays the mark “ ⁇ ” (marked with a circle with a smeared inside in FIG. 19) on the screen.
- the cellular phone terminal 1 detects two contact positions, that is, a contact position of a finger tracing the locus and a contact position of another finger. In addition, after detecting that another finger is in contact in s235, the cellular phone terminal 1 ends the display of the mark “ ⁇ ” (the circle mark in which the inside is smeared in FIG. 19).
- the setting of the tap area position is completed based on the operations from s231 to s235.
- the mobile phone terminal 1 displays a setting completion message on the touch panel.
- the number of times of displaying the mark “ ⁇ ” (in FIG. 19, the circle mark with a smeared inside) is set to 2 and the contact with another finger is set to 2 times. Then, the number of display times of a circle mark with a smeared inside and the number of times of contact with another finger are not particularly limited.
- the main control unit 10 updates the display and displays a screen for setting the tap area in step S110. After updating the display, the main control unit 10 detects the trace operation of the trajectory based on the detection result of the touch panel 2 as step S112. That is, the main control unit 10 detects the movement of the position where the finger is in contact based on the detection result of the touch panel 2.
- the main control unit 10 determines whether or not it is a predetermined timing based on the detection result of the touch panel 2 as step S114. Note that the main control unit 10 makes a determination by comparing the time from the start of the trace, the moving distance from the trace start position, the contact position, and the like with preset conditions.
- step S114, No When the detection result on the touch panel 2 does not satisfy the condition and is not at a predetermined timing (step S114, No), the main control unit 10 proceeds to step S124.
- step S114 If the detection result on the touch panel 2 satisfies the condition and is at a predetermined timing (step S114, Yes), the main control unit 10 displays a mark requesting input of a tap operation as step S116. That is, the marks described in s232 and s235 are displayed.
- the main control unit 10 When the mark is displayed, the main control unit 10 performs tap detection in step S118, that is, detects the tap operation based on the detection result of the touch panel 2. That is, the main control unit 10 detects a contact detected at a position different from the contact position tracing the locus as a position where the tap operation is input.
- the main control unit 10 saves the distance and positional relationship between the locus and the tap position in the buffer of the main control unit 10, the storage unit 9 and the like, and temporarily stores the detected relationship in step S120. Thereafter, the main control unit 10 calculates an average value of the display positions of the tap areas as step S122. That is, the main control unit 10 calculates the distance between the locus saved in the buffer or the like in step S120 and the tap position, and the average value of the positional relationship between the locus and the tap position. Further, the main control unit 10 calculates the average distance and average positional relationship (direction on the touch panel 2) between the contact position on the trajectory and the position where the tap operation is input based on the calculated average value of the distance and positional relationship. Then, the average value of the positions where the tap operation with respect to the calculated position on the trajectory is input is calculated as the average value of the display positions of the tap areas.
- the main control unit 10 determines whether or not the trajectory trace is completed as step S124. It detects based on the detection result of the touch panel 2. For example, when the contact tracing the trajectory has reached the end point of the trajectory displayed on the touch panel 2, the main control unit 10 determines that the trajectory tracing has ended. Further, when the contact tracing the locus is in the middle of the locus displayed on the touch panel 2, the main control unit 10 determines that the locus tracing has not ended.
- Step S124 If the trace is not completed (No at Step S124), the main control unit 10 proceeds to Step S114 and repeats the above process.
- the main control unit 10 displays setting completion as step S126, and stores the calculation data (the value calculated in step S122) in the memory (storage unit 9) in step S128. And the tap position setting process is terminated.
- the cellular phone terminal 1 can calculate the relationship between the contact position of the finger that traces the trajectory and the contact position of the finger that inputs the tap by the setting process of FIGS. 19 and 20.
- a tap area can be set at a certain position. Thereby, the mobile phone terminal 1 can set the position where the user can easily input the tap operation as the tap area.
- the tap area is obtained from the average value, but the present invention is not limited to this.
- the position of the tap area may be determined based on the maximum value and the minimum value.
- an image is displayed in the tap area when characters are input.
- the present invention is not limited to this, and the image may not be displayed. That is, the setting of the position of the tap area may be switched in response to the contact drawing the locus without displaying the image.
- the tap area since the tap area can be easily understood and the tap operation can be easily input, the tap area is moved based on the touch position of the touch panel 2, but the tap area is fixed. May be. That is, it is good also considering the fixed position of the touch panel 2 as a tap area irrespective of the button which the keyboard is contacting.
- the tap area is a fixed display area, but the area need not be specified. That is, if the main control unit 10 detects a contact operation at another position of the touch panel 2 while detecting an operation (first contact operation) of moving the contact position while being in contact with the touch panel 2, the main control unit 10 has been tapped. It is good also as a setting to determine. As described above, the setting for detecting the second contact operation as the second contact operation eliminates the processing such as the setting of the display position described above. This makes the process easier. Further, the user can input a tap operation by appropriately touching a favorite position on the touch panel 2.
- the main control unit 10 displays the searched character string in the input character string candidate display area 14 every time a new detection result is acquired from the touch panel 2. However, such a display is not performed until the character input for one time is completed, and it is searched only when a plurality of character strings are searched in the character string search process after the character input for one time is completed.
- the character string may be displayed in the input character string candidate display area 14.
- the matching process with the dictionary data 9E in the character string search process described with reference to FIG. 17 may use another matching method such as complete matching or forward matching. Moreover, it is good also as predicting the character string which a user is going to input using an input prediction technique, and treating the predicted character string as a search result.
- the input prediction technique is a technique for predicting a character string that a user is about to input from a character string that has already been input and a character string that is being input, based on the strength of string connection and the frequency of use.
- the priority of the button is increased when the position where the contact starts and the position where the contact ends correspond to the button. That is, although the possibility that the input character is determined is increased, the present invention is not limited to this.
- the mobile phone terminal 1 draws a character corresponding to a button in which a tap detected by another finger is detected when a finger touching position (moving while touching the touch panel 2) is passing, What is necessary is just to determine as an input character (character with a high priority), and the priority with respect to another operation and the criteria for input are not particularly limited.
- the present invention is not limited to this, and the buttons displayed on or near the locus where the finger moves while touching the touch panel 2 are not limited to this. Any character string may be used as long as it accepts a character string including characters corresponding to the input character string.
- the software keyboard is described as an Aiueo (50-sound) keyboard and a keyboard arranged in a QWERTY layout.
- the present invention is not limited to this, and the keyboard has various key layouts.
- a Dvorak keyboard a thumb shift keyboard (NICOLA keyboard), a DSK keyboard, a JIS keyboard, and the like can be used.
- NICOLA keyboard thumb shift keyboard
- DSK keyboard a JIS keyboard
- JIS keyboard JIS keyboard
- the present invention is not limited to Japanese input, and can be used when inputting alphabets. In the above embodiment, the case where Japanese is input has been described, but the present invention is not limited to this.
- the mobile phone terminal 1 can be used when inputting various languages. For example, there are English, German, French, Chinese and Korean.
- the character input device and the character input method according to the present invention are effective for inputting characters, and are particularly suitable when it is necessary to input characters at high speed using a touch panel.
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)
- Position Input By Displaying (AREA)
- Telephone Function (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
携帯電話端末(文字入力装置)1は、複数箇所への接触を検出可能なタッチパネル2と、タッチパネル2の表示面に複数のボタンを表示させ、タッチパネル2に対する接触位置が継続的に変位する第1接触動作が生じたことを判断する主制御部10とを有する。主制御部10は、複数のボタンを表示する領域にて第1接触動作が生じていることが判定される状態で、当該第1接触動作の生じている領域とは異なる領域へのさらなる接触である第2接触動作の発生を検出すると、当該第2接触動作が発生したときに第1接触動作の接触位置に対応して表示される前記ボタンに対応する文字を入力として受け付ける。
Description
本発明は、文字入力装置および文字入力方法に関する。
近年、直感的な操作を可能にするとともに、キーボードのように物理的に大きな面積を必要とするデバイスを具備しない小型の文字入力装置を実現するために、タッチパネルが広く利用されるようになっている。タッチパネルを用いて文字を入力するための技術として、タッチパネル上で文字を手書き入力する技術(例えば、特許文献1)と、タッチパネル上に表示された仮想的なキーボード(以下、「仮想キーボード」という)を用いて文字を入力する技術(例えば、特許文献2)が知られている。
しかしながら、タッチパネル上で文字を手書き入力する従来技術には、入力と文字認識処理に時間がかかるため高速な文字入力が困難であるという問題があった。また、仮想キーボードを用いて文字を入力する従来技術でも、入力したい文字に対応するキーごとに指をタッチパネルに対して上げ下げする動作を繰り返す必要があったため、高速な文字入力が困難であった。
本発明は、上記に鑑みてなされたものであって、タッチパネル上で高速に文字を入力することを可能にする文字入力装置および文字入力方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、文字入力装置であって、複数箇所への接触を検出可能なタッチパネルと、前記タッチパネルの表示面に複数のボタンを表示させ、前記タッチパネルに対する接触位置が継続的に変位する第1接触動作が生じたことを判断する制御部と、を備え、前記制御部は、前記複数のボタンを表示する領域にて前記第1接触動作が生じていることが判定される状態で、当該第1接触動作の生じている領域とは異なる領域へのさらなる接触である第2接触動作の発生を検出すると、当該第2接触動作が発生したときに前記第1接触動作の接触位置に対応して表示されるボタンに対応する文字を入力として受け付けることを特徴とする。
ここで、前記制御部は、前記第1接触動作の接触位置に対応するボタンの文字を前記異なる領域へ付加表示させ、前記第2接触動作として、前記付加表示への接触を検出することが好ましい。
また、前記制御部は、前記付加表示を、前記第1接触動作で検出した接触位置が変位する都度、その接触位置と等間隔となる位置に表示させることが好ましい。
また、前記制御部は、前記第1接触動作によって接触が検出された位置を結ぶ軌跡上に表示されるボタンに対応する文字のうち、前記第1接触動作で特定の動作が検出された位置に表示されているボタンに対応する文字を入力としてさらに受け付けることが好ましい。
また、前記特定の動作は、前記第1接触動作における接触の開始であることが好ましい。
また、前記特定の動作は、前記第1接触動作における接触の終了であることが好ましい。
また、前記特定の動作は、前記第1接触動作における接触位置の移動方向の変化であることが好ましい。
また、前記特定の動作は、前記第1接触動作における特定の形状の軌跡を描く接触位置の移動であることが好ましい。
また、前記制御部は、前記第2接触動作の検出時に前記第1接触動作による接触が生じたボタンに対応する文字、及び、前記特定の動作が検出された位置に表示されているボタンに対応する文字を組み合わせた文字列が正当か否か判定し、正当な文字列でないと判定される場合に、前記軌跡上に表示されるボタンに対応する文字のうち、前記第2接触動作の検出時に前記第1接触動作による接触が生じたボタン以外であってなおかつ前記特定の動作が検出されたボタン以外のボタンに対応する文字のいずれかを補完した文字列を入力として受け付けることが好ましい。
また、前記制御部は、前記特定の動作が検出された位置に表示されるボタンに対応する文字を組み合わせた文字列を辞書と比較し、一致する文字列が検索された場合に検索された文字列を入力として受け付けることが好ましい。
また、前記制御部は、前記第1接触動作による接触が生じたボタンに対応する文字のそれぞれに対して重み付け情報を対応付け、重み付け情報が大きい値が対応付けられた文字の優先度を高くして入力文字列を特定することが好ましい。
また、前記制御部は、前記第2接触動作が検出されたときに前記第1接触動作による接触が生じたボタンに対応する文字に、前記第2接触動作が検出されずに前記第1接触動作による接触が生じたボタンに対応する文字よりも大きい重み付け情報を対応付けることが好ましい。
また、上述した課題を解決し、目的を達成するために、本発明は、複数箇所への接触を検出可能なタッチパネルを有する文字入力装置によって実行される文字入力方法であって、前記文字入力装置の制御部が、前記タッチパネルの表示面に複数のボタンを表示させるステップと、前記タッチパネルが、接触位置が継続的に変位する第1接触動作、及び、前記複数のボタンを表示する領域にて前記第1接触動作が生じていることが判定される状態で、当該第1接触動作の生じている領域とは異なる領域へのさらなる接触である第2接触動作の発生を検出するステップと、前記文字入力装置の制御部が、当該第2接触動作が発生したときに前記第1接触動作の接触位置に対応して表示されるボタンに対応する文字を入力として受け付けるステップと、を含むことを特徴とする。
本発明に係る文字入力装置および文字入力方法は、タッチパネル上で高速に文字を入力することを可能にするという効果を奏する。
以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下においては、文字入力装置として携帯電話端末を例として説明するが、本発明の適用対象は携帯電話端末に限定されるものではなく、タッチパネルを備える各種装置、例えば、PHS(Personal Handy-phone System)、PDA(Personal Digital Assistant)、ポータブルナビゲーション装置、パーソナルコンピュータ、ゲーム機等に対しても本発明は適用できる。
図1は、本発明の文字入力装置の一実施例である携帯電話端末1の外観を示す正面図である。携帯電話端末1は、タッチパネル2と、ボタン3A、ボタン3Bおよびボタン3Cからなる入力部3を備える。タッチパネル2は、文字、図形、画像等を表示するとともに、指、スタイラス、ペン等(以下、単に「指」という)を用いてタッチパネル2に対して行われる各種動作を検出する。なお、タッチパネル2は、複数点への入力を検出することができる、いわゆるマルチタッチパネルである。入力部3は、いずれかのボタンが押下された場合に、押下されたボタンに対応する機能を起動させる。
携帯電話端末1は、利用者から文字の入力を受け付けるために、図2に示すように、タッチパネル2上に仮想キーボード4を表示させる。ここで、図2は、タッチパネル上に表示される仮想キーボードを示す図である。仮想キーボード4は、物理的なキーボードのキーを模した複数の仮想的なボタンを含む。例えば、利用者が仮想キーボード4内の「あ」のボタンに指を置いて(接触して)離す動作をすると、その動作がタッチパネル2によって検出され、携帯電話端末1は、「あ」という文字を入力として受け付ける。また、携帯電話端末1は、利用者から文字の入力を受け付けるために、仮想付加キーボード42,44を表示させている。仮想付加キーボード42,44は、仮想キーボード4に表示していない各種キーを模した複数の仮想的なボタンを含む。仮想付加キーボード42,44は、仮名文字以外の各種キーが含まれている。具体的には、仮想付加キーボード42には、「゜」、「゛」、「―」「、」、「。」等が含まれている。また、仮想付加キーボード44には、「←」、「↑」、「↓」、「→」等が含まれている。
携帯電話端末1は、さらに、仮想キーボード4上での連続方式による文字の入力を受け付ける。連続方式とは、利用者が指をタッチパネル2に接触させたまま仮想キーボード4上を移動させることによって複数の文字を連続して入力することを可能にする方式である。連続方式では、利用者は、例えば、指をタッチパネル2に接触させたままで、「あ」のボタン、「か」のボタン、「た」のボタン、「ま」のボタンの順に滑るように移動させることで「あかたま」という文字列を入力することができる。
このように、連続方式では、ボタン毎に指を上げ下げする動作を行わずに、タッチパネル2上で指を滑るように移動させるだけで複数の文字を入力することができるため、非常に高速に文字を入力することができる。
ただし、連続方式では、利用者が指を移動させた軌跡上にある各ボタンについて、利用者がそのボタンに対応する文字を入力するために意図的に触れたのか、あるいは、利用者が他のボタン上へ指を移動させるために単にその上を通過させたに過ぎないのかを判定する必要がある。例えば、仮想キーボード4の配列があいうえおキーボードの配列(日本語における50音ひらがなの配列、縦に「あいうえお」が配置され横に「あかさたな」が配置された配列)であり、利用者が上記の「あかたま」という単語を入力したいものとする。この場合、利用者の指は「あ」のボタンから「ま」のボタンへ移動する際に、それらのボタンの間にある「か」「さ」「た」「な」「は」のボタン上を通過することになる。このため、「さ」「な」「は」のボタンについては意図的に触れたわけではないと判定できなかった場合には、利用者の意図に反して「あかさたなはま」という文字列が入力として受け付けられてしまう。
そこで、携帯電話端末1は、指が接触しているボタンに対応して、タッチパネル2上にタップエリアを表示させる。具体的には、携帯電話端末1は、指が接触しているボタンに対応する文字をタップエリアに表示させる。また、携帯電話端末1は、利用者が指を移動させた軌跡上にあるボタンのうち、タップエリアへのタッチ(タップ)がタッチパネル2によって検出された位置に表示されているボタンを、利用者が文字を入力するために意図的に触れたものであると判定する。具体的には、携帯電話端末1は、指の接触位置の移動が行われている間に、タップエリアへのタッチがタッチパネル2によって検出された場合、指の接触位置にあるボタンが意図的に触られたと判定する。なお、本実施例においてタップエリアは、利用者が指でタッチしている位置に対応した領域である。そのため、指でタッチしている位置が移動するとタップエリアも移動する。なお、タップエリアの表示位置は、設定等により予め設定することができる。
また、携帯電話端末1は、指の接触を開始する動作がタッチパネル2によって検出された場合、接触の開始が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。また、携帯電話端末1は、指の移動が終了しタッチパネル2から離れる動作がタッチパネル2によって検出された場合、接触の終了が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。
利用者が携帯電話端末1に「あかたま」と入力する場合の操作例を図3に示す。なお、図3に示す例では、仮想付加キーボード42,44の表示を省略する。s211では、「あ」のボタン領域内に指が置かれ、指がタッチパネル2に触れている。この場合、携帯電話端末1は、指が置かれた「あ」のボタンが意図的に触れられたと判断する。
s212では、指がタッチパネル2に触れたまま、「あ」のボタンの上から「か」のボタンの上に移動している。この場合、携帯電話端末1は、指がタッチしている「か」のボタンに対応するタップエリア48aに「か」の画像49aを表示する。
s213では、指がタッチパネル2の「か」のボタンに触れたまま、さらに、別の指がタップエリア48aに触れられている。この場合、携帯電話端末1は、タップエリア48aへの接触を検出し、「か」のボタンが意図的に触れられたと判断する。
s214では、指がタッチパネル2に触れたまま、「か」のボタンの上から「さ」のボタンの上に移動している。この場合、携帯電話端末1は、指がタッチしている「さ」のボタンに対応するタップエリア48bに「さ」の画像49bを表示する。携帯電話端末1は、指がタッチパネル2に触れたまま、「さ」のボタンを通過する際に、タップエリア48bへの接触が検出されない場合、「さ」のボタンが意図的に触れられていないと判断する。
s215では、指がタッチパネル2に触れたまま、「さ」のボタンの上から「ま」のボタンの上に移動している。この場合、携帯電話端末1は、指がタッチしている「ま」のボタンに対応するタップエリア48cに「ま」の画像49cを表示する。なお、この場合、指が「た」のボタンの通過時に、別の指がタップエリアに接触する。これにより、携帯電話端末1は、「た」のボタンが意図的に触れられたと判定する。
また、s215では、別の指がタップエリア48cに触れられている。この場合、携帯電話端末1は、タップエリア48cへの接触を検出し、「ま」のボタンが意図的に触れられたと判断する。
以上の操作により、携帯電話端末1は、「あ」、「か」、「た」、「ま」の順にボタンが意図的に触れられたと判定し、これらのボタンに対応する文字を時系列に連結した「あかたま」を入力された文字列として受け付ける。この文字列は、利用者が入力しようとした文字列と一致する。
図3の例が示すように、携帯電話端末1は、利用者の指がタッチパネル2に触れたまま移動した軌跡上の各ボタンについて、意図して触れられたのか、単にその上を通過したに過ぎないのかを、他の指により入力されるタップ動作に基づいて精度よく判定して文字の入力を受け付ける。つまり、携帯電話端末1は、触れたまま移動している接触を検出している領域(第1領域)とは異なる領域(第2領域)への接触(タップ動作)を検出したら、その際に、触れたまま移動している接触を検出している領域にあるボタンに対応する文字を入力された文字として受け付ける。これにより、携帯電話端末1は、指がタッチパネル2に触れたまま移動している場合でも、精度よく判定して文字の入力を受け付けることができる。このため、利用者は、携帯電話端末1に対して文字を高速かつ正確に入力することができる。
また、タップエリアとしてボタンよりも大きい領域を用いることができるため、利用者は、ボタンの入力ミスが発生する可能性を低減することができる。つまり、携帯電話端末1は、利用者の指がタッチパネル2に触れたまま移動した軌跡に基づいてボタンを特定することができるため、毎回タッチする場合よりも、所望のキーとは異なるキーを入力してしまう可能性を低減することができる。これにより、利用者は、文字をより正確にかつ高速で入力することができる。
なお、タップエリアは、軌跡を描いている指が接触している位置(指の接触位置)に対して、等間隔となる位置とすることが好ましい。軌跡を描いている指の接触位置が移動しても、タップエリアと軌跡を描いている指の接触位置との関係を等間隔(つまり一定)とすることで、利用者は、タップエリアをタップしやすくなる。
なお、携帯電話端末1は、タップ動作に加え、利用者が自然に行う動作(特定の動作)に基づいて、ボタンが意図して触れられたのか、単にその上を通過したに過ぎないのかを、判断するようにすることが好ましい。以下、図4から図8を用いて、利用者が自然に行う動作(特定の動作)に基づいて、ボタンの入力の判断を行う場合について説明する。
携帯電話端末1は、利用者から文字の入力を受け付けるために、図4に示すように、タッチパネル2上に仮想キーボード4aを表示させる。仮想キーボード4aは、物理的なキーボードのキーを模した複数の仮想的なボタンを含む。なお、本実施例の仮想キーボード4aは、ボタン(キー)がQWERTY配列で配列されたキーボードである。
携帯電話端末1は、利用者が指を移動させた軌跡上にあるボタンのうち、特定の動作がタッチパネル2によって検出された位置に表示されているボタンを、利用者が文字を入力するために意図的に触れたものであると判定する。具体的には、携帯電話端末1は、指の接触を開始する動作がタッチパネル2によって検出された場合、接触の開始が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。また、携帯電話端末1は、指の移動が終了しタッチパネル2から離れる動作がタッチパネル2によって検出された場合、接触の終了が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。
また、携帯電話端末1は、指がタッチパネル2に触れたまま移動方向を変更する動作がタッチパネル2によって検出された場合、移動方向の変更が検出された位置にボタンがあれば、そのボタンは意図的に触れられたと判定する。具体的には、携帯電話端末1は、指がボタンに進入したときの移動方向と指がボタンから出るときの移動方向とを比較し、移動方向の角度差が閾値よりも大きければ、利用者が意図的にそのボタンに触れたと判定する。
これは、他のボタンへの移動中において、単に通過するに過ぎない場合、指はボタン上を一定方向へ移動し、図5に示すように進入時の移動方向(ベクトル)を示すV1と脱出時の移動方向を示すV2の角度差は小さくなると考えられるためである。また、図6に示すように進入時の移動方向を示すV3と脱出時の移動方向を示すV4の角度差が大きい場合、利用者が意図的にそのボタンに触れた後に他のボタンに触れるために移動方向を変更した可能性が高いためである。つまり、このボタンが目的ボタンの一つであったと判定できる。
また、携帯電話端末1は、図7に示すように、指がタッチパネル2に触れたままあるボタン領域内で回転する軌跡を描いて移動する動作がタッチパネル2によって検出された場合に、利用者が意図的にそのボタンに触れたと判定する。単に通過するに過ぎない場合に指がこのような軌跡を描いて移動することはないと考えられるためである。なお、回転する軌跡に限らずに、山型や波状等の特徴的な形状の軌跡が指によってボタン領域内で描かれた場合に、利用者が意図的にそのボタンに触れたと判定することとしてもよい。
このようにボタン領域内で特徴的な形状の軌跡を描く指の移動が検出された場合にそのボタンが意図的に触れられたと判定することにより、利用者は同じ文字を容易に連続して入力することが可能になる。例えば、「W」という文字を3回連続して入力したい場合、利用者は「W」のボタン領域内で円を3回描くように指を移動させればよい。ここで、例えば、ボタン領域内での指の移動ベクトルの角度の総計が360度を超える度に1回転とカウントすることにより、回転数をカウントすることができる。
利用者が携帯電話端末1に「エレクトロニクス(EREKUTORONIKUSU)」と入力する場合の操作例を図8に示す。s221では、「E」のボタン領域内に指が置かれた後、指がタッチパネル2に触れたまま、「R」、「E」、「H」、「J」、「K」の順にボタンの上を通過している。この場合、携帯電話端末1は、指が置かれた「E」のボタンと、進入方向と脱出方向の角度差が閾値よりも大きい「R」、「E」、「K」のボタンが意図的に触れられたと判断する。
s222では、指がタッチパネル2に触れたまま、「U」、「Y」、「T」、「Y」、「U」、「I」の順にボタンの上を通過している。この場合、携帯電話端末1は、進入方向と脱出方向の角度差が閾値よりも大きい「U」、「T」のボタンが意図的に触れられたと判断する。s223では、指がタッチパネル2に触れたまま、「O」、「I」、「U」、「Y」、「T」、「R」、「T」、「Y」、「U」、「I」の順にボタンの上を通過している。この場合、携帯電話端末1は、進入方向と脱出方向の角度差が閾値よりも大きい「O」、「R」のボタンが意図的に触れられたと判断する。
s224では、指がタッチパネル2に触れたまま、「O」、「K」、「N」、「J」の順にボタンの上を通過している。この場合、携帯電話端末1は、進入方向と脱出方向の角度差が閾値よりも大きい「O」、「N」のボタンが意図的に触れられたと判断する。s225では、指がタッチパネル2に触れたまま、「I」、「K」、「U」、「G」、「F」、「D」、「S」、「R」、「T」、「Y」の順にボタンの上を通過している。この場合、携帯電話端末1は、進入方向と脱出方向の角度差が閾値よりも大きい「I」、「K」、「U」、「S」のボタンが意図的に触れられたと判断する。
s226では、タッチパネル2に触れたまま「U」のボタンへ移動した指が、「U」のボタン領域内でタッチパネル2から離れている。この場合、携帯電話端末1は、指がタッチパネル2から離れた位置にある「U」のボタンが意図的に触れられたと判断する。
以上の操作により、携帯電話端末1は、「E」、「R」、「E」、「K」、「U」、「T」、「O」、「R」、「O」、「N」、「I」、「K」、「U」、「S」、「U」の順にボタンが意図的に触れられたと判定し、これらのボタンに対応する文字を時系列に連結した「エレクトロニクス(EREKUTORONIKUSU)」を入力された文字列として受け付ける。この文字列は、利用者が入力しようとした文字列と一致する。
図8の例が示すように、携帯電話端末1は、利用者の指がタッチパネル2に触れたまま移動した軌跡上の各ボタンについて、意図して触れられたのか、単にその上を通過したに過ぎないのかを、利用者が自然に行う動作にも基づいて精度よく判定して文字の入力を受け付ける。このため、利用者は、携帯電話端末1に対して文字を高速かつ正確に入力することができる。
なお、携帯電話端末1は、単に指が通過したに過ぎないと判定したボタンに対応する文字を無視するのではなく、入力精度を向上させるためにそれらの文字を利用する。具体的には、携帯電話端末1は、利用者が意図的に触れたと判定したボタン(タップ動作が入力されたボタンまたは特定の動作が入力されたボタン)に対応する文字を時系列に連結した文字列を辞書と照合し、該当する単語が見つからない場合は、単に指が通過したに過ぎないと判定したボタンに対応する文字を補完して辞書との照合をやり直して正当な単語を見つけ出す。
例えば、利用者が携帯電話端末1に対して「WET」という単語を入力したい場合、利用者は、「W」のボタン領域内に指を置いた後、タッチパネル2に触れたまま指を「T」のボタンの方向へ移動させ、「T」のボタン領域内で指をタッチパネル2から離す。また、タップエリアに指を接触させる操作も入力しない。この場合、指が置かれた「W」のボタンと指が離れた「T」のボタンは意図的に触れられたと判定されるが、指が移動する軌道上にある「E」と「R」のボタンは、進入方向と脱出方向の角度差が小さいため、単に通過したに過ぎないと判定される。
しかしながら、利用者が意図的に触れたと判定したボタンに対応する文字を時系列に連結した文字列である「WT」は辞書に存在しない。そこで、携帯電話端末1は、単に通過したに過ぎないと判定したボタンに対応する文字を時系列に補完して、「WET」、「WRT」、「WERT」という候補を作成し、各候補を辞書と照合する。この場合、「WET」という単語が辞書に含まれるため、携帯電話端末1は、「WET」を入力された文字列として受け付ける。この文字列は、利用者が入力しようとした文字列と一致する。
ところで、「WET」という単語を入力する場合、利用者は、タッチパネル2に触れたまま指を「W」のボタンから「T」のボタンの方向へ移動させる最中に、「E」のボタンの通過時に、他の指でタップエリアを接触してもよい。または、「E」のボタンの中で回転する軌道を描いてもよい。このような操作をすることにより、利用者は、「E」のボタンに意図的に触れたことを携帯電話端末1に明示的に示して、入力した文字列の識別精度を向上させることができる。
次に、携帯電話端末1の機能と制御部との関係を説明する。図9は、図1に示す携帯電話端末1の機能の概略構成を示すブロック図である。図9に示すように携帯電話端末1は、タッチパネル2と、入力部3と、電源部5と、通信部6と、スピーカ7と、マイク8と、記憶部9と、主制御部10と、RAM(Random Access Memory)11とを有する。
タッチパネル2は、表示部2Bと、表示部2Bに重畳されたタッチセンサ2Aとを有する。タッチセンサ2Aは、指を用いてタッチパネル2に対して行われた各種動作を、動作が行われた場所のタッチパネル2上での位置とともに検出する。タッチセンサ2Aによって検出される動作には、指をタッチパネル2の表面に接触させる動作や、指をタッチパネル2の表面に接触させたまま移動させる動作や、指をタッチパネル2の表面から離す動作が含まれる。なお、タッチセンサ2Aは、感圧式、静電式等のいずれの検出方式を採用していてもよい。表示部2Bは、例えば、液晶ディスプレイ(LCD、Liquid Crystal Display)や、有機EL(Organic Electro-Luminescence)パネルなどで構成され、文字、図形、画像等を表示する。
入力部3は、物理的なボタン等を通じて利用者の操作を受け付け、受け付けた操作に対応する信号を主制御部10へ送信する。電源部5は、蓄電池または外部電源から得られる電力を、主制御部10を含む携帯電話端末1の各機能部へ供給する。通信部6は、基地局によって割り当てられるチャネルを介し、基地局との間でCDMA方式などによる無線信号回線を確立し、基地局との間で電話通信及び情報通信を行う。スピーカ7は、電話通信における相手側の音声や着信音等を出力する。マイク8は、利用者等の音声を電気的な信号へ変換する。
記憶部9は、例えば、不揮発性メモリや磁気記憶装置であり、主制御部10での処理に利用されるプログラムやデータを保存する。具体的には、記憶部9は、メールの送受信や閲覧のためのメールプログラム9Aや、WEBページの閲覧のためのブラウザプログラム9Bや、上述した連続方式での文字入力を受け付けるための文字入力プログラム9Cや、文字入力時にタッチパネル2に表示される仮想キーボードに関する定義を含む仮想キーボードデータ9Dや、正当な文字列が登録された辞書データ9Eや、タップエリアに表示させる画像のデータ、画像の表示に関する定義を含むタップエリア表示データ9Fを記憶する。記憶部9には、携帯電話端末1の基本的な機能を実現するオペレーティングシステムプログラムや、氏名、電話番号、メールアドレス等が登録されたアドレス帳データ等の他のプログラムやデータも記憶される。
主制御部10は、例えば、CPU(Central Processing Unit)であり、携帯電話端末1の動作を統括的に制御する。具体的には、主制御部10は、記憶部9に記憶されているデータを必要に応じて参照しつつ、記憶部9に記憶されているプログラムを実行して、タッチパネル2、通信部6等を制御することによって各種処理を実行する。主制御部10は、記憶部9に記憶されているプログラムや、処理を実行することによって取得/生成/加工されたデータを、一時的な記憶領域を提供するRAM11に必要に応じて展開する。なお、主制御部10が実行するプログラムや参照するデータは、通信部6による無線通信でサーバ装置からダウンロードすることとしてもよい。
ここで、記憶部9が記憶する仮想キーボードデータ9Dの一例を図10に示す。図10の例に示すように、仮想キーボードデータ9Dには、仮想キーボード4に含まれるボタン毎に、ボタンに対応する文字、ボタンの位置(例えば、左上座標)、幅、高さ等が登録される。図10に示す例では、あるボタンに対応する文字が「わ」であり、そのボタンの左上座標がx=10、y=10であり、そのボタンの幅と高さが20と40であること等が登録されている。なお、仮想キーボードデータ9Dとしては、仮想キーボード4のデータに加え、仮想キーボード4a、仮想付加キーボード42,44のデータも登録されている。
また、タップエリア表示データ9Fには、タップエリアに表示させる画像として「あ」、「い」、「う」等のキーボードのボタンに対応した画像が登録されている。また、タップエリア表示データ9Fには、画像を表示させる表示位置の定義のデータも登録されている。
次に、携帯電話端末1が文字の入力を受け付ける場合の動作について説明する。図11は、携帯電話端末1による文字入力処理の処理手順を示すフローチャートである。図11に示す文字入力処理は、主制御部10が記憶部9から文字入力プログラム9Cを読み出して実行することにより実現される。また、図11に示す文字入力処理は、仮想キーボード4がタッチパネル2上に表示されている間、繰り返し実行される。なお、仮想キーボード4は、主制御部10が文字入力プログラム9Cまたは他のプログラムを実行することにより、タッチパネル2上に表示される。
まず、主制御部10は、ステップS10として、入力文字バッファ12をクリアし、ステップS11として、一時バッファ13をクリアする。入力文字バッファ12は、指がタッチパネル2に接触したまま移動した軌跡上の各ボタンに対応する文字が優先度と対応付けられて格納される記憶領域であり、RAM11に設けられる。一時バッファ13は、指がタッチパネル2に接触したまま移動した軌跡上の各ボタンのうち、指が単にその上を通過したに過ぎないと判定されたボタンに対応する文字が一時的に格納される記憶領域であり、RAM11に設けられる。
入力文字バッファ12の一例を図12に示す。図12は、タッチパネル2に対して図8に示した操作が行われた場合の入力文字バッファ12を示している。図12の例において、入力文字バッファ12の上段には、指がタッチパネル2に接触したまま移動した軌跡上の各ボタンに対応する文字が格納され、下段には、上段の文字に対応付けられた優先度が格納されている。図12の例が示すように、入力文字バッファ12には、指がタッチパネル2に接触したまま移動した軌跡上の各ボタンに対応する文字が時系列に格納される。なお、図12は、エレクトロニクス(EREKUTORONIKUSU)を入力しようとする場合に、携帯電話端末1が格納する文字の情報である。
優先度は、入力文字バッファ12に含まれる文字を連結して文字列を構成する際に、対応付けられた文字を採用するか否かを決定するために用いられる。本実施例では、優先度の値が小さいほど、対応付けられた文字が優先的に採用されることとする。具体的には、指が意図的に触れたと判断されたボタンに対応する文字には優先度として「1」を対応付け、指が単に通過したに過ぎないと判断されたボタンに対応する文字には優先度として「2」を対応付ける。
一時バッファ13の一例を図13に示す。図13は、図8のs221において指が「J」のボタンから出た時点での一時バッファ13を示している。図13の例が示すように、一時バッファ13には、指が単にその上を通過したに過ぎないと判定されたボタンに対応する文字が、指がいずれかのボタンに意図的に触れたと判定されるまで、時系列に格納される。
入力文字バッファ12と一時バッファ13のクリアを終えると、主制御部10は、ステップS12として、RAM11に設けた入力完了フラグを0に設定する。入力完了フラグは、1回分の文字入力が完了したか否かを判定するために用いられる。ここでいう1回分の文字入力とは、指をタッチパネル2に接触させてから離すまでの間に行われる文字入力を意味する。
続いて、主制御部10は、ステップS13として、タッチパネル2の最新の検出結果を取得し、ステップS14として、文字入力判定処理を実行する。文字入力判定処理において、主制御部10は、指がタッチパネル2に接触したまま移動した軌跡上に表示されている各ボタンに対応する文字を入力文字バッファ12や一時バッファ13に格納していく。なお、文字入力判定処理の詳細については後述する。
文字入力判定処理の実行後、主制御部10は、ステップS15として、入力完了フラグが0のままであるかを判定する。ここで、入力完了フラグが0のままである場合、すなわち、1回分の文字入力がまだ完了していない場合(ステップS15,Yes)、主制御部10は、ステップS16として、文字列検索処理を実行して入力文字バッファ12に格納されている文字を連結した文字列とマッチする文字列を辞書データ9Eから検索する。なお、文字列検索処理の詳細については後述する。
続いて、主制御部10は、ステップS17として、文字列検索処理によって得られた1ないし複数の文字列を図14に示すように入力文字列候補表示領域14に表示する。そして、主制御部10は、入力完了フラグが0でない、すなわち、1回分の文字入力が完了したとステップS15で判定されるまで、ステップS13~ステップS17を繰り返して実行する。
ステップS15で入力完了フラグが0でなくなっていた場合(ステップS15,No)、主制御部10は、ステップS18として、文字列検索処理を実行して入力文字バッファ12に格納されている文字を連結した文字列とマッチする文字列を辞書データ9Eから検索する。ステップS18で検索処理を行ったら、主制御部10は、ステップS19として、文字列検索処理の処理結果(つまり検索結果)として得られた文字列が1つだけであるかを判定する。文字列検索処理の処理結果(つまり検索結果)として得られた文字列が1つだけであった場合(ステップS19,Yes)、主制御部10は、ステップS20として、文字列検索処理の処理結果(つまり検索結果)として得られた文字列を入力された文字列として受け付ける。
一方、文字列検索処理の処理結果として得られた文字列が複数あった場合(ステップS19,No)、主制御部10は、ステップS21として、文字列検索処理の処理結果として得られた複数の文字列を図14に示すように入力文字列候補表示領域14に表示する。そして、主制御部10は、ステップS22として、タッチパネル2の最新の検出結果を取得し、ステップS23として、入力文字列候補表示領域14に表示した文字列のいずれかが選択されたかを判定する。
ここで、いずれの文字列も選択されていなければ(ステップS23,No)、主制御部10は、いずれかの文字列が選択されるまで、ステップS22~ステップS23を繰り返して実行する。なお、ステップS22において利用者の指が入力文字列候補表示領域14以外の領域に触れるといった入力のキャンセルを示す動作が検出された場合に、主制御部10が、文字入力処理を終了させることとしてもよい。
ステップS23で入力文字列候補表示領域14に表示した文字列のいずれかが選択されていた場合(ステップS23,Yes)、主制御部10は、ステップS24として、選択された文字列を入力した文字列として受け付ける。
次に、図15に示したフローチャートを参照しながら、図11のステップS14で実行される文字入力判定処理について説明する。主制御部10は、ステップS30として、タッチパネル2で検出された動作がタッチパネル2への接触を開始する動作、すなわち、指をタッチパネル2の表面に接触させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。
検出された動作がタッチパネル2への接触を開始する動作であった場合(ステップS30,Yes)、主制御部10は、ステップS31として、接触が開始された位置を仮想キーボードデータ9Dと照合して、接触が開始された位置がいずれかのボタン領域内であったかを判定する。接触が開始された位置がいずれかのボタン領域内であった場合(ステップS31,Yes)、ボタンは意図して触れられたと考えられるので、主制御部10は、ステップS32として、そのボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。ボタンに対応する文字は、仮想キーボードデータ9Dから取得される。そして、主制御部10は、優先度「1」を対応つけて入力文字バッファ12に追加したら、文字入力判定処理を終了させる。
ステップS31において、接触が開始された位置がボタン領域内でなかった場合(ステップS31,No)、主制御部10は、特に処理を行わずに文字入力判定処理を終了させる。
ステップS30において、タッチパネル2で検出された動作がタッチパネル2への接触を開始する動作でなかった場合(ステップS30,No)、主制御部10は、ステップS34として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作であったか否かは、タッチパネル2の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを仮想キーボードデータ9Dと照合することによって判定される。
検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作であった場合(ステップS34,Yes)、主制御部10は、ステップS102として、タップエリア表示データ9Fを読み出す。具体的には、主制御部10は、タップエリア表示データ9Fから、指が接触しているボタンに対応する画像のデータと、その画像を表示させる定義のデータとを読み出す。そして、主制御部10は、ステップS104として、タップエリアを表示する。つまり、主制御部10は、ステップS102で読み出したデータに基づいて、タップエリアとなる領域に画像を表示させる。ここで、主制御部10は、画像として、例えば、指が接触しているボタン(軌跡が進入しているボタン)の文字をタップエリアに表示させる。なお、画像は、タップエリアの一部に表示させても、タップエリアの全域に表示させてもよい。また、タップエリアは、キーボードの画像に重なった領域とすることもできる。そして、主制御部10は、タップエリアを表示させたら、文字入力判定処理を終了する。
ステップS34において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作でなかった場合(ステップS34,No)、主制御部10は、ステップS106として、タップエリアへのタップが入力されたかをタッチパネル2の検出結果に基づいて判定する。つまり、主制御部10は、ステップS104で表示させたタップエリアへの接触をタッチパネル2で検出したかを判定する。
タップエリアのタップを検出した場合(ステップS106,Yes)、主制御部10は、ステップS107として、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加する。続いて、主制御部10は、ステップS108として、そのボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。そして、主制御部10は、対応付けを入力文字バッファ12に追加したら、文字入力判定処理を終了する。
ステップS106において、タッチパネル2でタップエリアをタップする動作が検出されなかった場合(ステップS106,No)、主制御部10は、ステップS46として、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作、すなわち、指をタッチパネル2から離す動作であったかを、タッチパネル2の検出結果に基づいて判定する。
検出された動作がタッチパネル2への接触を終了させる動作であった場合(ステップS46,Yes)、主制御部10は、ステップS47として、接触が終了された位置を仮想キーボードデータ9Dと照合して、接触が終了された位置がいずれかのボタン領域内であったかを判定する。接触が終了された位置がいずれかのボタン領域内であった場合(ステップS47,Yes)、ボタンは意図して触れられたと考えられるため、主制御部10は、そのボタンに対応する文字が、指が通過した軌道上の他のボタンに対応する文字とともに時系列に入力文字バッファ12に格納されるように、ステップS49以降の処理手順を実行する。
主制御部10は、ステップS49として、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加する。なお、一時バッファ13には、指が通過した軌道上に、配置されたボタンのうち、ステップS32及びステップS108で優先度「1」に設定されなかったボタンが記憶されている。つまり、通過時にタップされたボタンではなく、また、接触開始時に接触されたボタンでもない、ボタンの記憶である。そして、主制御部10は、ステップS50として、ボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。
そして、タッチパネル2への接触が終了させる動作が行われたということは、一回分の文字入力が完了したことを意味するので、主制御部10は、ステップS51として、入力完了フラグを「1」に設定して文字入力判定処理を終了させる。
接触が終了された位置がボタン領域内でなかった場合(ステップS47,No)、主制御部10は、ステップS51として、入力完了フラグを「1」に設定する処理のみを行って文字入力判定処理を終了させる。
なお、接触が終了された位置がボタン領域内でなかった場合に、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加することとしてもよい。
ステップS46において、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作でなかった場合(ステップS46,No)、文字入力判定処理を終了させる。
このように、携帯電話端末1は、タップが検出された文字を優先度1として入力文字バッファ12に追加することで、利用者が意図した操作を入力した文字を適切に検出することができる。
なお、携帯電話端末1は、タップ(第2接触動作)の検出に加え、タッチパネル2の表面の第1の位置で接触が開始され、タッチパネル2の表面の第2の位置で接触が終了する動作、つまり、接触位置が継続的に変位する(第1接触動作)で入力される特定の動作を検出するようにしてもよい。つまり、指で入力される軌跡から特定の動作を検出してもよい。
以下、図16A及び図16Bに示したフローチャートを参照しながら、図11のステップS14で実行される文字入力判定処理の他の例について説明する。ここで、図16Aおよび図16Bは、文字入力判定処理の処理手順の他の例を示すフローチャートである。なお、図16A及び図16Bに示すフローチャートの処理のうち、一部の処理は、図15に示すフローチャートの処理と同様である。そこで、同様の処理については、同一のステップ番号を付し、詳細な説明は、省略する。主制御部10は、ステップS30として、タッチパネル2で検出された動作がタッチパネル2への接触を開始する動作であったかを、タッチパネル2の検出結果に基づいて判定する。
検出された動作がタッチパネル2への接触を開始する動作であった場合(ステップS30,Yes)、主制御部10は、ステップS31として、接触が開始された位置がいずれかのボタン内(つまりボタン領域内)であったかを判定する。接触が開始された位置がいずれかのボタン領域内であった場合(ステップS31,Yes)、主制御部10は、ステップS32として、そのボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。
そして、主制御部10は、ステップS33として、出力フラグを「1」に設定して文字入力判定処理を終了させる。出力フラグは、RAM11に設けられ、指が現在接触している位置に表示されているボタンに対応する文字を入力文字バッファ12または一時バッファ13に出力済みであるか否かを判定するために用いられる。出力フラグの値が「0」であることは、指が現在接触している位置に表示されているボタンに対応する文字をいずれのバッファにもまだ出力していないことを示す。出力フラグの値が「1」であることは、指が現在接触している位置に表示されているボタンに対応する文字をいずれかのバッファに出力済みであることを示す。
ステップS31において、接触が開始された位置がボタン領域内でなかった場合(ステップS31,No)、主制御部10は、特に処理を行わずに文字入力判定処理を終了させる。
ステップS30において、タッチパネル2で検出された動作がタッチパネル2への接触を開始する動作でなかった場合(ステップS30,No)、主制御部10は、ステップS34として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタン内(つまりボタン領域内)に進入させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。
検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作であった場合(ステップS34,Yes)、主制御部10は、ステップS35として、移動方向履歴をクリアする。移動方向履歴は、ボタン領域内で指がどの方向へ移動したかを示す方向ベクトルが時系列に記録されるデータであり、RAM11に記憶される。
続いて、主制御部10は、ステップS36として、指がボタン領域内に進入した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。
なお、タッチパネル2の検出結果に指の移動方向を示す情報が含まれている場合、方向ベクトルは、タッチパネル2の検出結果から取得される。タッチパネル2の検出結果に指の移動方向を示す情報が含まれていない場合、方向ベクトルは、タッチパネル2の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とから算出される。
方向ベクトルを移動方向履歴に追加したら、主制御部10は、ステップS37として、出力フラグを「0」に設定する。さらに、主制御部10は、ステップS102として、タップエリア表示データ9Fを読み出す。そして、主制御部10は、ステップS104として、タップエリアを表示して文字入力判定処理を終了させる。
ステップS34において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタン領域内に進入させる動作でなかった場合(ステップS34,No)、主制御部10は、ステップS38として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタンの外へ出す動作であったかを、タッチパネル2の検出結果に基づいて判定する。検出された動作がタッチパネル2への接触を保ったまま指をボタンの外へ出す動作であったか否かは、タッチパネル2の最新の検出結果が示す接触位置とその直前の検出結果が示す接触位置とを仮想キーボードデータ9Dと照合することによって判定される。
検出された動作がタッチパネル2への接触を保ったまま指をボタンの外へ出す動作であった場合(ステップS38,Yes)、主制御部10は、ステップS39として、出力フラグが「0」であるかを判定する。ここで、出力フラグが「0」でなかった場合、すなわち、指がそれまで内部に位置していたボタンに対応する文字をいずれかのバッファに出力済みの場合(ステップS39,No)、主制御部10は、特に処理を行わずに文字入力判定処理を終了させる。
一方、出力フラグが「0」であった場合(ステップS39,Yes)、主制御部10は、ステップS40として、最新の移動ベクトル、すなわち、指がボタンの外へ出た方向を示す方向ベクトルを取得し、移動方向履歴の先頭の方向ベクトルとの角度差を算出する。ここで算出された角度差は、指がボタンに進入したときの方向と指がボタンから脱出したときの方向の相違の大きさを表す。
算出された角度差が所定の閾値以下の場合(ステップS41,No)、指は単にボタンを通過したに過ぎないと考えられるため、主制御部10は、ステップS42として、そのボタンに対応する文字を一時バッファ13に追加して文字入力判定処理を終了させる。
一方、算出された角度差が所定の閾値より大きい場合(ステップS41,Yes)、ボタンは意図的に触れられたと考えられるため、主制御部10は、そのボタンに対応する文字が、指が通過した軌道上の他のボタンに対応する文字とともに時系列に入力文字バッファ12に格納されるように、ステップS43以降の処理手順を実行する。
ステップS43として、主制御部10は、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加し、続いて、ステップS44として、ボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。そして、主制御部10は、ステップS45として、一時バッファ13をクリアして文字入力判定処理を終了させる。
ステップS38において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったまま指をボタンの外へ出す動作でなかった場合(ステップS38,No)、主制御部10は、ステップS46として、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作、すなわち、指をタッチパネル2から離す動作であったかを、タッチパネル2の検出結果に基づいて判定する。
検出された動作がタッチパネル2への接触を終了させる動作であった場合(ステップS46,Yes)、主制御部10は、ステップS47として、接触が終了された位置を仮想キーボードデータ9Dと照合して、接触が終了された位置がいずれかのボタン領域内であったかを判定する。接触が終了された位置がいずれかのボタン領域内であった場合(ステップS47,Yes)、主制御部10は、ステップS48として、主制御部10は、出力フラグが「0」であるかを判定する。ここで、出力フラグが「0」である場合、すなわち、意図して触れられたと考えられるボタンに対応する文字がまだいずれのバッファにも出力されていない場合(ステップS48,Yes)、主制御部10は、ステップS49として、一時バッファ13に含まれている(つまり格納されている)文字を優先度「2」と対応付けて入力文字バッファ12へ追加する。そして、主制御部10は、ステップS50として、ボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。そして、主制御部10は、ステップS51として、入力完了フラグを「1」に設定して文字入力判定処理を終了させる。
接触が終了された位置がボタン領域内でなかった場合(ステップS47,No)、または、出力フラグが「0」でなかった場合(ステップS48,No)、主制御部10は、ステップS51として、入力完了フラグを「1」に設定する処理のみを行って文字入力判定処理を終了させる。
なお、接触が終了された位置がボタン領域内でなかった場合、または、出力フラグが「0」でなかった場合に、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加することとしてもよい。
ステップS46において、タッチパネル2で検出された動作がタッチパネル2への接触を終了させる動作でなかった場合(ステップS46,No)、主制御部10は、ステップS52として、タッチパネル2で検出された動作がタッチパネル2への接触を保ったままボタン領域内で指を移動させる動作であったかを、タッチパネル2の検出結果に基づいて判定する。
検出された動作がタッチパネル2への接触を保ったままボタン領域内で指を移動させる動作であった場合(ステップS52,Yes)、主制御部10は、ステップS53として、指がボタン領域内で移動した方向を示す方向ベクトルを取得して、取得した方向ベクトルを移動方向履歴に追加する。そして、主制御部10は、ステップS54として、移動方向履歴に記録されている各方向ベクトルを参照して、指がタッチパネル2に触れたままボタン領域内で回転する軌跡を描いて移動したかを判定する。指がタッチパネル2に触れたままボタン領域内で回転する軌跡を描いて移動していない場合(ステップS54,No)、ボタンは意図的に触れられていないと考えられるため、主制御部10は、特に処理を行わずに文字入力判定処理を終了させる。
ここで、指がタッチパネル2に触れたままボタン領域内で回転する軌跡を描いて移動していた場合(ステップS54,Yes)、ボタンは意図的に触れられたと考えられるため、主制御部10は、そのボタンに対応する文字が、指が通過した軌道上の他のボタンに対応する文字とともに時系列に入力文字バッファ12に格納されるように、ステップS55以降の処理手順を実行する。
ステップS55として、主制御部10は、一時バッファ13に格納されている文字を優先度「2」と対応付けて入力文字バッファ12へ追加し、続いて、ステップS56として、ボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。そして、主制御部10は、ステップS57として、出力フラグを「1」に設定し、ステップS58として、移動方向履歴をクリアして文字入力判定処理を終了させる。
ステップS52において、タッチパネル2で検出された動作がタッチパネル2への接触を保ったままボタン領域内で指を移動させる動作でなかった場合、すなわち、指が仮想キーボード4上のボタン外を移動していた場合(ステップS52,No)、主制御部10は、ステップS106として、タップエリアへのタップが入力されたかをタッチパネル2の検出結果に基づいて判定する。
タップエリアのタップを検出した場合(ステップS106でYes)、主制御部10は、ステップS107として、一時バッファ13に含まれている(つまり格納されている)文字を優先度「2」と対応付けて入力文字バッファ12へ追加する。続いて、主制御部10は、ステップS108として、タップエリアに対応されるボタンに対応する文字を優先度「1」と対応付けて入力文字バッファ12に追加する。そして、主制御部10は、ステップS109として、出力フラグを「1」に設定し、文字入力判定処理を終了する。
ステップS106において、タッチパネル2でタップエリアをタップする動作が検出されなかった場合(ステップS106,No)、主制御部10は、特に処理を行わずに文字入力判定処理を終了させる。
なお、タッチパネル2への接触を保ったまま指を仮想キーボード4の外へ出す動作が検出された場合に、タッチパネル2への接触を終了させる動作が検出された場合と同様の処理手順を実行し、タッチパネル2への接触を保ったまま指を仮想キーボード4の中へ移動させる動作が検出された場合に、タッチパネル2への接触を開始する動作が検出された場合と同様の処理手順を実行することとしてもよい。このようにすることにより、利用者は、一回分の入力を終えた後に、指を上げ下げすることなくタッチパネル2への接触を保ったまま、迅速に次の入力に移ることが可能になる。
次に、図17に示したフローチャートを参照しながら、図11のステップS16およびステップS18で実行される文字列検索処理について説明する。主制御部10は、ステップS70として、入力文字バッファ12から優先度が「1」である文字を取得し、取得した文字を組み合わせて第1候補文字列を生成する。
例えば、「A」、「B」、「C」、「D」という4つの文字列がこの順序で入力文字バッファ12に格納され、「A」と「D」の優先度が「1」で、「B」と「C」の優先度が「2」であったものとする。この場合、主制御部10は、優先度が「1」の文字を格納順に連結して「AB」という第1候補文字列を生成する。
続いて、主制御部10は、ステップS71として、第1候補文字列にマッチする文字列を辞書データ9Eから検索する。
本実施例では、例えば第1候補文字列が「ABC」の場合、「A*B*C*」というパターンにマッチする文字列が辞書データ9Eから検索されるものとする。ここで、「*」は、任意の文字にマッチするワイルドカードである。すなわち、本実施例では、第1候補文字列と先頭の文字が一致し、第1候補文字列の2番目以降の各文字が、0個以上の文字を介在させて第1候補文字列と同じ順序で出現する文字列が、第1候補文字列とマッチすると文字列として検索される。
このようにマッチングさせることにより、指によって意図的に触れられたことを判別できないボタンがあった場合でも、入力された文字列を正しく識別することができる可能性を高めることができる。
検索結果として複数の文字列が得られた場合(ステップS72,Yes)、主制御部10は、検索結果を絞り込むために、ステップS73として、入力文字バッファ12から優先度が「2」である文字を取得し、取得した文字を第1候補文字列に補完して、1ないし複数の第2候補文字列を生成する。
例えば、上記と同様に、「A」、「B」、「C」、「D」という4つの文字列がこの順序で入力文字バッファ12に格納され、「A」と「D」の優先度が「1」で、「B」と「C」の優先度が「2」であったものとする。この場合、主制御部10は、格納順序を守りつつ、第1候補文字列である「AB」に優先度が「2」の文字を少なくとも1つ補完して、「ABD」、「ACD」、「ACDB」という3つの第2候補文字列を生成する。
続いて、主制御部10は、ステップS74として、第2候補文字列のいずれかにマッチする文字列を辞書データ9Eから検索する。マッチングの方式は、第1候補文字列の場合と同様である。
そして、ステップS75において、いずれかの文字列が検索された場合(ステップS75,Yes)、主制御部10は、ステップS76として、検索された文字列を検索結果として文字列検索処理を終了させる。一方、ステップS75において、いずれの文字列も検索されなかった場合(ステップS75,No)、主制御部10は、ステップS77として、ステップS71において第1候補文字列を用いて検索された、つまり第1候補文字列とマッチした文字列を検索結果として文字列検索処理を終了させる。
ステップS72において検索結果として1つの文字列のみが得られた場合(ステップS72,No、かつ、ステップS78,Yes)、主制御部10は、ステップS76として、検索された文字列を検索結果として文字列検索処理を終了させる。ステップS72において検索結果として1つの文字列も得られなかった場合(ステップS78,No)、主制御部10は、ステップS79として、第1候補文字列、すなわち、優先度が「1」の文字を格納順に連結した文字列を検索結果として文字列検索処理を終了させる。
上述してきたように、携帯電話端末1は、指をタッチパネル2から離さずに仮想キーボード4上を移動させて文字を入力することを可能にするため、高速な文字入力を実現することができる。
なお、携帯電話端末1の構成は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、本実施例では、指をタッチパネル2から離さずに移動した軌跡上の各ボタンに対応する文字に優先度として「1」または「2」を対応付けることとしたが、文字に対応付ける優先度をさらに細分化してもよい。なお、優先度は、例えば、重み付け情報として記憶される。重み付け情報として記憶する場合、優先度が高い文字には、大きい値の重み付け情報が対応付けられ、優先度が低い文字には、小さい値の重み付け情報が対応付けられる。
例えば、意図的に触れられたと判定されたボタンに対応する文字には優先度として「1」を対応付け、指が単に通過したに過ぎないと判定されたボタンに対応する文字については優先度として「2」~「5」のいずれかの値を対応付けることとしてもよい。優先度を細分化する場合、図16A及び図16Bに示した文字入力判定処理では、図18の例のように一時バッファ13に格納される各文字に優先度が対応付けられる。
この場合、例えば、タップが入力されたボタンは、最も高い優先度を対応付けることが好ましい。つまり、特定の操作が入力された場合よりも高い優先度を対応付けることが好ましい。利用者がボタンを選択する操作を積極的に入力しており、意図的に触れられたボタンである可能性が高いためである。
また、例えば、指が単に通過したに過ぎないと判定されたボタンに対応する文字について、指がボタンに進入したときの移動方向と指がボタンから出たときの移動方向の角度差が大きいほど高い優先度を対応付けることとしてもよい。角度差が大きいほど、意図的に触れられたボタンである可能性が高いためである。
また、指が単に通過したに過ぎないと判定されたボタンに対応する文字について、指が通過した軌跡がボタンの中心に近いほど高い優先度を対応付けることとしてもよい。通過した軌跡がボタンの中心に近いほど、意図的に触れられたボタンである可能性が高いためである。
そして、このように優先度を細分化した場合、文字列検索処理においては、優先度の高い文字ほど第2候補文字列の作成時に優先的に使用される。具体的には、優先度が「1」の文字を組み合わせた第1候補文字列に複数の文字列がマッチした場合、まず、優先度が「2」の文字を第1候補文字列に補完して検索結果の絞り込みが試みられる。そして、優先度が「2」の文字を補完しても複数の文字列がマッチした場合、優先度が「3」の文字を第1候補文字列にさらに補完して検索結果の絞り込みが試みられる。
以下同様に、検索結果が1つに絞り込まれるまで、優先度が高い順に補完に文字が利用される。このように、優先度を細分化することにより、意図的に触れられた可能性が高い順に文字を組み合わせて検証対象の文字列を生成することができるため、入力された文字列の識別精度を向上させることができる。
ここで、上述したように、主制御部10は、タップエリアの位置を、指が接触している位置にあわせて移動させる。以下に、図19及び図20を用いて、タップエリアの位置の設定処理(タップ位置設定処理)について説明する。ここで、図19は、タップエリアの設定処理の例を示す図である。なお、指の接触位置とタップエリアとの関係は、事前に設定処理を行うことで、設定される。
まず、s230では、タップエリアの表示位置を設定する処理、つまり、指の接触位置とタップエリアとの関係を設定する処理を起動させる操作が入力される。この場合、携帯電話端末1は、タップ位置の設定用の画面を表示させる。なお、タップ位置の設定用の画面には、利用者がなぞるための線と、「軌跡を指でなぞりながら○が表示されたら別の指で軌跡の周辺をタップしてください」というメッセージを表示させる。
s231では、タッチパネル2上に指が置かれ、タッチパネル2に触れた状態を維持しつつ、接触位置を移動させ、指で表示させた軌跡をなぞっている。この場合、携帯電話端末1は、指が接触している位置を検出し、接触が開始され、接触位置が軌跡に沿って移動していると判定する。
s232では、指で表示させた軌跡をなぞっている移動距離、移動時間が所定の条件以上となる。この場合、携帯電話端末1は、マークを表示させる条件が満たされたと判断し、画面に○(円)のマーク(図19中では内部を塗り撫した円のマーク)を表示させる。
s233では、軌跡をなぞっている指に加え、別の指(2本目の指)がタッチパネル2に触れている。この場合、携帯電話端末1は、軌跡をなぞっている指の接触位置と、別の指の接触位置の2つの接触位置を検出する。さらに、携帯電話端末1は、別の指の接触位置に別の○のマークを表示させる。また、携帯電話端末1は、s233で、別の指が接触していることを検出した後、○のマーク(図19中では内部を塗り撫した円のマーク)の表示を終了する。
s234では、指で表示させた軌跡をなぞっている移動距離、移動時間が所定の条件以上となる。この場合、携帯電話端末1は、マークを表示させる条件が満たされたと判断し、再び画面に○のマーク(図19中では内部を塗り撫した円のマーク)を表示させる。
s235では、軌跡をなぞっている指に加え、別の指(2本目の指)がタッチパネル2に触れている。この場合、携帯電話端末1は、軌跡をなぞっている指の接触位置と、別の指の接触位置の2つの接触位置を検出する。また、携帯電話端末1は、s235で、別の指が接触していることを検出した後、○のマーク(図19中では内部を塗り撫した円のマーク)の表示を終了する。
s236では、s231からs235までの操作に基づいて、タップエリアの位置の設定が完了している。この場合、携帯電話端末1は、タッチパネルに設定完了のメッセージを表示させる。
なお、図19では、○のマーク(図19中では内部を塗り撫した円のマーク)の表示回数を2回とし、別の指による接触を2回としたが、○のマーク(図19中では内部を塗り撫した円のマーク)の表示回数、別の指による接触の回数は、特に限定されない。
次に、図20に示したフローチャートを参照しながら、タップエリア設定処理(つまりタップ位置設定処理)の処理手順を説明する。主制御部10は、タップエリア設定処理の起動操作が入力されたら、ステップS110として、表示を更新し、タップエリアを設定する画面を表示させる。表示を更新したら、主制御部10は、ステップS112として、軌跡のトレース動作を、タッチパネル2の検出結果に基づいて検出する。つまり、主制御部10は、指が接触している位置の移動をタッチパネル2の検出結果に基づいて検出する。
軌跡のトレース動作を検出したら、主制御部10は、ステップS114として、所定タイミングであるか否かを、タッチパネル2の検出結果に基づいて判断する。なお、主制御部10は、トレース開始からの時間、トレース開始位置からの移動距離、接触位置等と、予め設定されている条件とを比較することで、判断する。
タッチパネル2での検出結果が条件を満たしておらず、所定タイミングではない場合(ステップS114,No)、主制御部10は、ステップS124に進む。
タッチパネル2での検出結果が条件を満たしており、所定タイミングである場合(ステップS114,Yes)、主制御部10は、ステップS116として、タップ動作の入力を要請するマークを表示させる。つまり、s232、s235で説明したマークを表示させる。
マークを表示させたら、主制御部10は、ステップS118として、タップ検出を行う、つまりタップ動作をタッチパネル2の検出結果に基づいて検出する。つまり、主制御部10は、軌跡をトレースしている接触位置とは、異なる位置で検出された接触をタップ動作が入力された位置として検出する。
タップを検出したら、主制御部10は、ステップS120として、軌跡とタップ位置の距離、位置関係を主制御部10のバッファ、記憶部9等に退避させ、検出した関係を一時的に記憶する。その後、主制御部10は、ステップS122として、タップエリアの表示位置の平均値を算出する。つまり、主制御部10は、ステップS120でバッファ等に退避させた軌跡とタップ位置の距離、軌跡とタップ位置の位置関係の平均値を算出する。さらに主制御部10は、算出した距離、位置関係の平均値に基づいて、軌跡上の接触位置とタップ動作が入力された位置との平均距離、平均位置関係(タッチパネル2上の方向)を算出し、算出した軌跡上の位置に対するタップ動作が入力された位置の平均値を、タップエリアの表示位置の平均値として算出する。
ステップS122でタップエリアの表示位置の平均値を設定した場合、または、ステップS114で所定タイミングではない(ステップS114,No)場合、主制御部10は、ステップS124として、軌跡トレースが終了したかをタッチパネル2の検出結果に基づいて検出する。なお、主制御部10は、例えば、軌跡をトレースしている接触がタッチパネル2に表示させた軌跡の終点まで到達している場合は、軌跡トレースが終了したと判断する。また、主制御部10は、軌跡をトレースしている接触がタッチパネル2に表示させた軌跡の途中である場合は、軌跡トレースが終了していないと判断する。
軌跡トレースが終了していない(ステップS124,No)場合、主制御部10は、ステップS114に進み、上記処理を繰り返す。軌跡トレースが終了している(ステップS124,Yes)場合、主制御部10は、ステップS126として、設定完了を表示し、ステップS128で算出データ(ステップS122で算出した値)をメモリ(記憶部9のタップエリア表示データ9F)に書き出し、タップ位置設定処理を終了する。
携帯電話端末1は、図19及び図20の設定処理により、軌跡をトレースする指の接触位置と、タップを入力する指の接触位置との関係を算出することができ、利用者の使用態様にあった位置に、タップエリアを設定することができる。これにより、携帯電話端末1は、利用者がタップ動作を入力しやすい位置をタップエリアとすることができる。
なお、上記実施例では、タップエリアを平均値から求めたが、本発明はこれに限定されない。例えば、最大値、最小値に基づいてタップエリアの位置を決定してもよい。
なお、上記実施例では、文字入力時に、タップエリアに画像を表示させたがこれに限定されず、画像を表示させなくても良い。つまり、画像は表示させずに軌跡を描く接触に対応して、タップエリアの位置の設定を切り替えるようにしてもよい。
また、上記実施例では、タップエリアをわかりやすくできるため、また、タップ動作を入力しやすくできるため、タップエリアを、タッチパネル2の接触位置に基づいて移動させるようにしたが、タップエリアを固定してもよい。つまり、キーボードの接触しているボタンによらず、タッチパネル2の固定位置をタップエリアとしてもよい。
なお、上記実施例では、タップエリアを一定の表示領域としたが、領域を特定しなくてもよい。つまり、主制御部10は、タッチパネル2に接触したまま接触位置を移動させる動作(第1接触動作)を検出している間に、タッチパネル2の他の位置で接触動作を検出したら、タップされたと判定する設定としてもよい。このように、2箇所目の接触動作を第2接触動作として検出する設定とすることで、上述した表示位置の設定等の処理が不要になる。これにより、処理がより簡単になる。また、利用者は、タッチパネル2の好きな位置を適当に接触することで、タップ動作を入力することができる。
また、図11を参照しながら説明した文字入力処理では、主制御部10がタッチパネル2から新たに検出結果を取得するたびに検索された文字列を入力文字列候補表示領域14に表示することとしているが、一回分の文字入力が完了するまではこのような表示は行わずに、一回分の文字入力が完了した後に文字列検索処理で複数の文字列が検索された場合にのみ検索された文字列を入力文字列候補表示領域14に表示することとしてもよい。
また、図17を参照しながら説明した文字列検索処理における辞書データ9Eとのマッチング処理は、完全一致や前方一致等の他のマッチング方式を用いることとしてもよい。また、入力予測技術を用いて、利用者が入力しようとしている文字列を予測し、予測された文字列を検索結果として扱うこととしてもよい。入力予測技術とは、文字列の結びつきの強さや使用頻度等に基づいて、既に入力された文字列と入力途中の文字列から、利用者が入力しようとしている文字列を予測する技術である。
また、上記実施例では、入力する文字である可能性が高いため、いずれも、接触を開始した位置と接触が終了した位置がボタンに対応している場合は、ボタンの優先度を高くしたが、つまり、入力された文字と判定する可能性を高くしたが、本発明はこれに限定されない。携帯電話端末1は、軌跡を描いている(タッチパネル2に接触したまま移動される)指の接触位置が通過しているときに、別の指によるタップが検出されたボタンに対応する文字を、入力された文字(優先度が高い文字)として判断すればよく、その他の操作に対する優先度、入力の判断基準は、特に限定されない。
また、上記実施例では、指がタッチパネル2に接触したまま移動した軌跡上に表示されているボタンに対応する文字のうち、特定の動作が検出された位置に表示されているボタンに対応する文字を優先して入力された文字列を識別することとしているが、本発明はこれに限定されるものではなく、指がタッチパネル2に接触したまま移動した軌跡上またはその近隣に表示されているボタンに対応する文字を含む文字列を入力された文字列として受け付けるものであればよい。
また、上記実施例では、特定の動作として、ボタン領域内でタッチパネル2に接触する動作や、ボタン領域内でタッチパネル2から指を離す動作等について説明したが、これらの動作は特定の動作の例であり、他の動作を特定の動作として扱ってもよい。
また、上記実施例では、ソフトウェアキーボードが、あいうえお(50音)キーボードの場合と、QWERTY配列で配列されたキーボードの場合として説明したが、本発明はこれに限定されず、種々のキー配列のキーボードを用いることができる。例えば、Dvorak配列のキーボード、親指シフト配列(NICOLA配列)のキーボード、DSK配列のキーボード、JIS配列のキーボード等も用いることができる。また、上述したように、かな文字入力の場合も、ローマ字入力の場合にも用いることができる。また、日本語の入力にも限定されず、アルファベットを入力する場合にも用いることができる。上記実施例では、日本語を入力する場合として説明したがこれに限定されない。携帯電話端末1は、各種言語を入力する場合に用いることができる。例えば、英語、ドイツ語、フランス語、中国語、韓国語等がある。
以上のように、本発明に係る文字入力装置、文字入力方法は、文字の入力に有効であり、タッチパネルを用いて文字を高速に入力することが必要な場合に特に適している。
1 携帯電話端末
2 タッチパネル
2A タッチセンサ
2B 表示部
3 入力部
3A、3B、3C ボタン
4 仮想キーボード
5 電源部
6 通信部
7 スピーカ
8 マイク
9 記憶部
9A メールプログラム
9B ブラウザプログラム
9C 文字入力プログラム
9D 仮想キーボードデータ
9E 辞書データ
9F タップエリア表示データ
10 主制御部
11 RAM
12 入力文字バッファ
13 一時バッファ
14 入力文字列候補表示領域
2 タッチパネル
2A タッチセンサ
2B 表示部
3 入力部
3A、3B、3C ボタン
4 仮想キーボード
5 電源部
6 通信部
7 スピーカ
8 マイク
9 記憶部
9A メールプログラム
9B ブラウザプログラム
9C 文字入力プログラム
9D 仮想キーボードデータ
9E 辞書データ
9F タップエリア表示データ
10 主制御部
11 RAM
12 入力文字バッファ
13 一時バッファ
14 入力文字列候補表示領域
Claims (13)
- 複数箇所への接触を検出可能なタッチパネルと、
前記タッチパネルの表示面に複数のボタンを表示させ、
前記タッチパネルに対する接触位置が継続的に変位する第1接触動作が生じたことを判断する制御部と、を備え、
前記制御部は、前記複数のボタンを表示する領域にて前記第1接触動作が生じていることが判定される状態で、当該第1接触動作の生じている領域とは異なる領域へのさらなる接触である第2接触動作の発生を検出すると、当該第2接触動作が発生したときに前記第1接触動作の接触位置に対応して表示されるボタンに対応する文字を入力として受け付けることを特徴とする文字入力装置。 - 前記制御部は、前記第1接触動作の接触位置に対応するボタンの文字を前記異なる領域へ付加表示させ、
前記第2接触動作として、前記付加表示への接触を検出することを特徴とする請求項1に記載の文字入力装置。 - 前記制御部は、前記付加表示を、前記第1接触動作で検出した接触位置が変位する都度、その接触位置と等間隔となる位置に表示させることを特徴とする請求項2に記載の文字入力装置。
- 前記制御部は、前記第1接触動作によって接触が検出された位置を結ぶ軌跡上に表示されるボタンに対応する文字のうち、前記第1接触動作で特定の動作が検出された位置に表示されているボタンに対応する文字を入力としてさらに受け付けることを特徴とする請求項1に記載の文字入力装置。
- 前記特定の動作は、前記第1接触動作における接触の開始であることを特徴とする請求項4に記載の文字入力装置。
- 前記特定の動作は、前記第1接触動作における接触の終了であることを特徴とする請求項4に記載の文字入力装置。
- 前記特定の動作は、前記第1接触動作における接触位置の移動方向の変化であることを特徴とする請求項4に記載の文字入力装置。
- 前記特定の動作は、前記第1接触動作における特定の形状の軌跡を描く接触位置の移動であることを特徴とする請求項4に記載の文字入力装置。
- 前記制御部は、前記第2接触動作の検出時に前記第1接触動作による接触が生じたボタンに対応する文字、及び、前記特定の動作が検出された位置に表示されているボタンに対応する文字を組み合わせた文字列が正当か否か判定し、
正当な文字列でないと判定される場合に、前記軌跡上に表示されるボタンに対応する文字のうち、前記第2接触動作の検出時に前記第1接触動作による接触が生じたボタン以外であってなおかつ前記特定の動作が検出されたボタン以外のボタンに対応する文字のいずれかを補完した文字列を入力として受け付けることを特徴とする請求項4に記載の文字入力装置。 - 前記制御部は、前記特定の動作が検出された位置に表示されるボタンに対応する文字を組み合わせた文字列を辞書と比較し、一致する文字列が検索された場合に検索された文字列を入力として受け付けることを特徴とする請求項4に記載の文字入力装置。
- 前記制御部は、前記第1接触動作による接触が生じたボタンに対応する文字のそれぞれに対して重み付け情報を対応付け、重み付け情報が大きい値が対応付けられた文字の優先度を高くして入力文字列を特定することを特徴とする請求項1に記載の文字入力装置。
- 前記制御部は、前記第2接触動作が検出されたときに前記第1接触動作による接触が生じたボタンに対応する文字に、前記第2接触動作が検出されずに前記第1接触動作による接触が生じたボタンに対応する文字よりも大きい重み付け情報を対応付けることを特徴とする請求項11に記載の文字入力装置。
- 複数箇所への接触を検出可能なタッチパネルを有する文字入力装置によって実行される文字入力方法であって、
前記文字入力装置の制御部が、前記タッチパネルの表示面に複数のボタンを表示させるステップと、
前記タッチパネルが、接触位置が継続的に変位する第1接触動作、及び、前記複数のボタンを表示する領域にて前記第1接触動作が生じていることが判定される状態で、当該第1接触動作の生じている領域とは異なる領域へのさらなる接触である第2接触動作の発生を検出するステップと、
前記文字入力装置の制御部が、当該第2接触動作が発生したときに前記第1接触動作の接触位置に対応して表示されるボタンに対応する文字を入力として受け付けるステップと、
を含むことを特徴とする文字入力方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/640,790 US8976134B2 (en) | 2010-04-14 | 2011-04-14 | Character input device and character input method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-093533 | 2010-04-14 | ||
JP2010093533A JP2011221969A (ja) | 2010-04-14 | 2010-04-14 | 文字入力装置、文字入力方法および文字入力プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011129398A1 true WO2011129398A1 (ja) | 2011-10-20 |
Family
ID=44798767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/059273 WO2011129398A1 (ja) | 2010-04-14 | 2011-04-14 | 文字入力装置および文字入力方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8976134B2 (ja) |
JP (1) | JP2011221969A (ja) |
WO (1) | WO2011129398A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9256363B2 (en) * | 2010-03-29 | 2016-02-09 | Kyocera Corporation | Information processing device and character input method |
JP5679782B2 (ja) * | 2010-11-26 | 2015-03-04 | 京セラ株式会社 | 携帯電子機器、画面制御方法および画面制御プログラム |
KR101855149B1 (ko) * | 2011-08-05 | 2018-05-08 | 삼성전자 주식회사 | 터치 디바이스에서 문자 입력 방법 및 장치 |
US8866747B2 (en) * | 2011-09-16 | 2014-10-21 | Blackberry Limited | Electronic device and method of character selection |
JP5915282B2 (ja) * | 2012-03-14 | 2016-05-11 | オムロン株式会社 | 文字入力用のプログラムおよび文字入力装置 |
US9519355B2 (en) * | 2013-03-15 | 2016-12-13 | Derek A Devries | Mobile device event control with digital images |
JP5832489B2 (ja) * | 2013-08-26 | 2015-12-16 | 株式会社コナミデジタルエンタテインメント | 移動制御装置及びプログラム |
US9652148B2 (en) * | 2014-01-06 | 2017-05-16 | Sap Se | Soft keyboard with keypress markers |
JP6347286B2 (ja) * | 2016-11-21 | 2018-06-27 | 株式会社コナミデジタルエンタテインメント | ゲーム制御装置、ゲームシステム、及びプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000267808A (ja) * | 1999-03-16 | 2000-09-29 | Oki Electric Ind Co Ltd | タッチパネル入力装置と表示装置とを連携させた入力方法 |
JP2005196759A (ja) * | 2004-01-06 | 2005-07-21 | Internatl Business Mach Corp <Ibm> | パーソナルコンピューティング装置のユーザ入力を改善するシステム及び方法 |
JP2008257551A (ja) * | 2007-04-06 | 2008-10-23 | Canvas Mapple Co Ltd | 情報処理装置、文字入力方法、および、文字入力プログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003141448A (ja) | 2001-11-06 | 2003-05-16 | Kyocera Corp | 文字認識方法及び装置、コンピュータプログラム、並びに携帯端末 |
US7382358B2 (en) * | 2003-01-16 | 2008-06-03 | Forword Input, Inc. | System and method for continuous stroke word-based text input |
US7706616B2 (en) * | 2004-02-27 | 2010-04-27 | International Business Machines Corporation | System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout |
JP4927633B2 (ja) | 2006-09-28 | 2012-05-09 | 京セラ株式会社 | 携帯端末及びその制御方法 |
US8059101B2 (en) * | 2007-06-22 | 2011-11-15 | Apple Inc. | Swipe gestures for touch screen keyboards |
JP2009009422A (ja) * | 2007-06-28 | 2009-01-15 | Canon Inc | 情報入力装置およびその制御方法 |
WO2009018314A2 (en) * | 2007-07-30 | 2009-02-05 | Perceptive Pixel, Inc. | Graphical user interface for large-scale, multi-user, multi-touch systems |
WO2009069392A1 (ja) * | 2007-11-28 | 2009-06-04 | Nec Corporation | 入力装置、サーバ、表示管理方法および記録媒体 |
-
2010
- 2010-04-14 JP JP2010093533A patent/JP2011221969A/ja active Pending
-
2011
- 2011-04-14 WO PCT/JP2011/059273 patent/WO2011129398A1/ja active Application Filing
- 2011-04-14 US US13/640,790 patent/US8976134B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000267808A (ja) * | 1999-03-16 | 2000-09-29 | Oki Electric Ind Co Ltd | タッチパネル入力装置と表示装置とを連携させた入力方法 |
JP2005196759A (ja) * | 2004-01-06 | 2005-07-21 | Internatl Business Mach Corp <Ibm> | パーソナルコンピューティング装置のユーザ入力を改善するシステム及び方法 |
JP2008257551A (ja) * | 2007-04-06 | 2008-10-23 | Canvas Mapple Co Ltd | 情報処理装置、文字入力方法、および、文字入力プログラム |
Also Published As
Publication number | Publication date |
---|---|
US8976134B2 (en) | 2015-03-10 |
JP2011221969A (ja) | 2011-11-04 |
US20130050125A1 (en) | 2013-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011129398A1 (ja) | 文字入力装置および文字入力方法 | |
JP5615583B2 (ja) | 文字入力装置、文字入力方法および文字入力プログラム | |
US8860665B2 (en) | Character input device and character input method | |
JP5697521B2 (ja) | 文字入力装置、文字入力制御方法および文字入力プログラム | |
WO2011122627A1 (ja) | 情報処理装置および文字入力方法 | |
KR101349230B1 (ko) | 휴대 단말 | |
JP5208267B2 (ja) | 入力装置 | |
US20090051661A1 (en) | Method, Apparatus and Computer Program Product for Providing Automatic Positioning of Text on Touch Display Devices | |
JP2000278391A (ja) | 背面手書き入力機能を有する携帯電話機 | |
JP5627372B2 (ja) | 文字入力装置、文字入力方法および文字入力プログラム | |
JP2011237876A (ja) | 文字入力装置、文字入力方法および文字入力プログラム | |
JP5455847B2 (ja) | 文字入力装置、文字入力方法および文字入力プログラム | |
JP2012208614A (ja) | 携帯電子機器 | |
JP5487226B2 (ja) | 文字入力装置 | |
JP5503486B2 (ja) | 文字入力装置、文字入力方法および文字編集プログラム | |
US9014762B2 (en) | Character input device, character input method, and character input program | |
JP5641844B2 (ja) | 電子機器及びその制御方法 | |
JP5615579B2 (ja) | 文字入力装置、文字入力方法および文字入力プログラム | |
JP2006293987A (ja) | 文字入力装置、文書作成装置、文字入力方法、文字入力プログラム、および、文字入力プログラムを記録したコンピュータ読取可能な記録媒体 | |
JP2012048588A (ja) | 文字入力装置、文字入力方法および文字入力プログラム | |
KR101149892B1 (ko) | 휴대용 단말기, 그의 문자 입력 방법 | |
JP5525320B2 (ja) | 情報処理装置、属性情報入力方法およびオブジェクト管理プログラム | |
KR20120024034A (ko) | 알파벳 입력 가능한 휴대 단말기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11768919 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13640790 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11768919 Country of ref document: EP Kind code of ref document: A1 |