Character input device, character-input control method, storing character input program

According to an aspect, a character input device includes a touch panel, a vibrating unit, and a control unit. The touch panel displays a plurality of buttons each of which corresponds to a character, and detects a contact operation. The vibrating unit vibrates the touch panel. When the contact operation by a contact is detected by the touch panel while the contact on the touch panel is continued since a start of the contact at a first position on the touch panel on which the plurality of buttons are displayed, the control unit receives a character corresponding to a button, as an input, displayed at the position where the contact operation is detected. The control unit causes the vibrating unit to change a vibration behavior of the touch panel when the contact operation is detected.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority from Japanese Application No. 2011-085811, filed on Apr. 7, 2011, the content of which is incorporated by reference herein in its entirety.

BACKGROUND

1. Technical Field

The present disclosure relates to a character input device, a character-input control method, and a storage medium storing therein a character input program.

2. Description of the Related Art

Recently, touch panels are widely used to achieve a compact character input device that allows intuitive operation and does not include a device such as a keyboard requiring a physically large area. As a technology for inputting a character using a touch panel, a technology for inputting a character using a virtual keyboard displayed on the touch panel (hereinafter, “virtual keyboard”) is disclosed in, for example, Japanese Patent Application Laid-Open No. 2008-108233.

The above-discussed technology for inputting a character using the virtual keyboard fails to provide a user with an actual feeling of pressing a keyboard unlike the case where he/she inputs a character using a physical keyboard. Therefore, it is difficult for the user to recognize which character is input.

For the foregoing reasons, there is a need for a character input device, a character-input control method, and a character input program that allows the user to recognize which character is input through an operation on the touch panel.

SUMMARY

According to an aspect, a character input device includes a touch panel, a vibrating unit, and a control unit. The touch panel displays a plurality of buttons each of which corresponds to a character, and detects a contact operation. The vibrating unit vibrates the touch panel. When the contact operation by a contact is detected by the touch panel while the contact on the touch panel is continued since a start of the contact at a first position on the touch panel on which the plurality of buttons are displayed, the control unit receives a character corresponding to a button, as an input, displayed at the position where the contact operation is detected. The control unit causes the vibrating unit to change a vibration behavior of the touch panel when the contact operation is detected.

According to another aspect, a character-input control method is executed by a character input device that includes a touch panel and a vibrating unit for vibrating the touch panel. The character-input control method includes: displaying a plurality of buttons each of which corresponds to a character on the touch panel; detecting a start of a contact at a first position on the touch panel on which the plurality of buttons are displayed; receiving a character corresponding to a button, as an input, displayed at a position where a contact operation is detected when the contact operation is detected while the contact is continued since the start of the contact at the first position; and causing the vibrating unit to change a vibration behavior of the touch panel when the contact operation is detected.

According to another aspect, a non-transitory storage medium stores therein a character input program. When executed by a character input device that includes a touch panel and a vibrating unit for vibrating the touch panel, the character input program causes the character input device to execute: displaying a plurality of buttons each of which corresponds to a character on the touch panel; detecting a start of a contact at a first position on the touch panel on which the plurality of buttons are displayed; receiving a character corresponding to a button, as an input, displayed at a position where a contact operation is detected when the contact operation is detected while the contact is continued since the start of the contact at the first position; and causing the vibrating unit to change a vibration behavior of the touch panel when the contact operation is detected.

DETAILED DESCRIPTION

Exemplary embodiments of the present invention will be explained in detail below with reference to the accompanying drawings. It should be noted that the present invention is not limited by the following explanation. In addition, this disclosure encompasses not only the components specifically described in the explanation below, but also those which would be apparent to persons ordinarily skilled in the art, upon reading this disclosure, as being interchangeable with or equivalent to the specifically described components.

In the following description, a mobile phone is used to explain as an example of the character input device; however, the present invention is not limited to mobile phones. Therefore, the present invention can be applied to any type of devices provided with a touch panel, including but not limited to personal handyphone systems (PHS), personal digital assistants (PDA), portable navigation units, personal computers (including but not limited to tablet computers, netbooks etc.), media players, portable electronic reading devices, and gaming devices.

FIG. 1is a front view of a mobile phone1which is an embodiment of a character input device. The mobile phone1includes a touch panel2and an input unit3formed from a button3A, a button3B, and a button3C. The touch panel2displays characters, graphics, images, and so on, and detects various operations performed to the touch panel2using finger(s), a stylus, a pen, or the like (in the description herein below, for the sake of simplicity, it is assumed that the user touches the touch panel2with his/her finger(s)). When any one of the buttons is pressed, the input unit3activates a function corresponding to the pressed button.

When receiving an input of a character from a user, the mobile phone1sets an input character-string candidate display area14and a text display area15, and displays a virtual keyboard16, as illustrated inFIG. 2. The input character-string candidate display area14is an area where a word and the like including a character input using the virtual keyboard16are displayed as a candidate for a character string that the user is about to input. The text display area15is an area where text consisting of input characters is displayed.

The virtual keyboard16includes a plurality of virtual buttons which look just like keys of a physical keyboard. For example, when the user puts his/her finger on a button “Q” in the virtual keyboard (touches the button with the finger), the operation is detected by the touch panel2, and the mobile phone1receives a character “Q” as an input. Buttons corresponding to the alphabet are arranged on the virtual keyboard16in a QWERTY layout as illustrated inFIG. 2; however, the buttons may be arbitrarily arranged. Moreover, buttons corresponding to numbers of 0 to 9 may be displayed on the virtual keyboard16in a numeric keypad layout.

The mobile phone1further receives inputs of characters on the virtual keyboard16by a consecutive method. The consecutive method is an input method in which the user moves the finger over the virtual keyboard16while keeping the finger in contact with the touch panel2to allow continuous inputs of a plurality of characters. By the consecutive method, for example, moving the finger in the order of a button “W”, a button “E”, and a button “T” in a sliding manner while keeping the finger in contact with the touch panel2causes an input of a character string of “WET”.

Thus, by the consecutive method, the user can input characters only by moving the finger as if it is sliding over the touch panel2without performing upward and downward operations of the finger in each button, which enables a significantly high-speed character input.

However, by the consecutive method, it is necessary to determine whether the user intentionally comes in contact with each of the buttons on a trace of a movement of the finger in order to input a character corresponding to the button or the user causes the finger to merely pass through the button in order to move the finger onto another button. For example, it is assumed that the layout of the virtual keyboard16is the QWERTY layout and the user wishes to input the word “WET”. In this case, when the user's finger moves from the button “E” to the button “T”, the finger passes through a button “R” between these buttons. Because of this, if it cannot be determined that the finger does not intentionally come in contact with the button “R”, despite user's intentions, a character string of “WERT” is received as an input.

Therefore, the mobile phone1determines that each of buttons, among the buttons on the trace of a movement of the finger, displayed at a position where a specific operation (predetermined contact operation) is detected by the touch panel2is intentionally contacted by the user in order to input a character. Specifically, when an operation of starting the contact of the finger is detected by the touch panel2and there is a button at the position where the start of the contact is detected, the mobile phone1determines that the button is intentionally contacted. Moreover, when an operation of leaving the finger from the touch panel2is detected by the touch panel2after the movement of the finger and there is a button at a position where the end of the contact is detected, the mobile phone1determines that the button is intentionally contacted.

When the operation of changing the moving direction with the finger kept in contact with the touch panel2is detected by the touch panel2and there is a button at the position where the change in the moving direction is detected, the mobile phone1determines that the button is intentionally contacted. Specifically, the mobile phone1monitors the moving direction of the finger, and determines that, if the moving direction changes at a predetermined angle or more within a predetermined time and a position where the moving direction changes is within a button, the user intentionally comes in contact with the button.

This is because, during moving to another button, when the finger is just passing through the button, it is considered that the finger moves over the buttons in a substantially constant direction and a difference in angles between V1indicating a moving direction (vector) upon entering and V2indicating a moving direction upon outgoing becomes small as illustrated inFIG. 3. On the contrary, as illustrated inFIG. 4, when the direction in which the finger is moving largely changes within a button and a difference in angles between V3indicating a moving direction upon entering and V4indicating a moving direction upon outgoing is large, there is a high possibility of changing the moving direction in order that the user intentionally comes in contact with the button and then comes in contact with another button. That is, it can be determined that the button is one of target buttons.

When an operation of moving the finger while drawing a turning trace within a button area with the finger kept in contact with the touch panel2is detected by the touch panel2as illustrated inFIG. 5, the mobile phone1determines that the user intentionally comes in contact with the button. This is because it is considered that if the finger is just passing through the button, there is no possibility that the finger moves while drawing such a trace. When a trace having a characteristic shape such as a mountain-like shape and a wave-like shape is drawn by the finger instead of the turning trace, it may be determined that the user intentionally comes in contact with the button.

When a movement of the finger drawing a trace having a characteristic shape within the button area in the above manner is detected, it is determined that the button is intentionally contacted, and this enables the user to easily and continuously input the same character. For example, if the user wishes to continuously input a character “W” three times, the user has only to move the finger so as to draw a circle three times within the button area of “W”. For example, by counting one turn each time the total of angles of a finger movement vector within the button area exceeds 360 degrees, the number of turns can be counted.

When the finger stays within the button area for a time period of a predetermined value or more while keeping in contact with the touch panel2, the mobile phone1determines that the user intentionally comes in contact with the button. The time period of a predetermined value or more mentioned here is a time sufficiently longer than the time required when the finger merely passes through the button area, and may be a time period of, for example, about 0.5 second.

The technology for specifying the position intended by the user using detection of a specific operation in this manner is also used when a candidate is selected, as illustrated inFIG. 6. The following example is an example when Japanese is input in Romaji input mode.

FIG. 6is a diagram of an operation example when a candidate is selected. At Step S11, the finger is placed within a button area of “E”, and then sequentially passes button areas of “R”, “E”, “H”, “J”, and “K” while keeping in contact with the touch panel2, and stays within a button area of “U” for the time period of the predetermined value or more. In this case, the mobile phone1determines that the button “E” on which the finger is placed, the buttons “R”, “E”, and “K” in which the moving direction of the finger changes within each of the areas at a predetermined angle or more, and the button “U” where the finger stays for a predetermined time or more are intentionally contacted.

The mobile phone1performs Romaji-Kana conversion on “EREKU” written in Romaji obtained by connecting the characters corresponding to these buttons to obtain a Hiragana character string15a, and displays the obtained Hiragana character string15ain the text display area15. The display is performed in order to inform the user which buttons are determined to be intentionally contacted, and a line is drawn under the Hiragana character string15a, which indicates that this character string is undefined. In the text display area15, at this time, a cursor (which is displayed as a black triangle inFIG. 6) indicating a position to which a new character is added appears just before the Hiragana character string15a. In addition, a line break symbol indicating the position of a line break appears just after the Hiragana character string15a.

The mobile phone1displays two character strings in the input character-string candidate display area14: a candidate14a(“EREKUTORIKARU” written in Katakana that means “electrical” in English) and a candidate14b(“EREKUTORONIKUSU” written in Katakana that means “electronics” in English), which are obtained as candidates for the input character string by predictively converting the Hiragana character string15a. The predictive conversion is a technology for predicting a character string, which the user is going to input, from characters which have been input, based on strength of a combination of the character string with the input characters, use frequency, and so on.

At Step S12, the finger enters the display area of the candidate14bin the input character-string candidate display area14while keeping in contact with the touch panel2, and, thereafter, changes the direction in which the finger is moving, and moves to the outside of the display area. In this case, because the direction in which the finger is moving changes at a predetermined angle or more in the display area of the candidate14b, the mobile phone1determines that the candidate14bis selected.

At Step S13, the mobile phone1deletes the Hiragana character string15awhich is the undefined character string, and displays the selected candidate14bjust after the cursor as a character string15b. To indicate that a newly input character is added to a position after the character string15b, the mobile phone1moves the cursor to a position just after the character string15b.

In this manner, it is determined, based on the position where a specific operation is detected, which of the candidates for the input character string displayed in the input character-string candidate display area14is selected, and therefore the user can smoothly select the input character string with the finger kept in contact with the touch panel2.

The mobile phone1informs the user that a predetermined contact operation is detected, each time the predetermined contact operation is detected during input of characters by the consecutive method, by changing a vibration behavior of the touch panel2. By performing such a feedback, the user can perform operations while checking which character is input. Examples of changing the vibration behavior include a change in the strength of the vibration. The change in the strength of the vibration may include a change in the frequency of the vibration, a change in the amplitude of the vibration, and a change in both the frequency and the amplitude of the vibration. In addition, the change in the vibration behavior includes a change from a non-vibrating state to a vibrating state and a change from a vibrating state to a non-vibrating state.

When the strength of the vibration of the touch panel2is changed, an operational feeling of the buttons may be given to the user. There is a known phenomenon that a friction between the finger and the touch panel2is reduced when the strength of the vibration of the touch panel2is increased and the friction between the finger and the touch panel2is increased when the strength of the vibration of the touch panel2is decreased. By using the phenomenon, an operational feeling as if the user presses a physical button can be given to the user. In this case, to allow the strength of the vibration of the touch panel2to be decreased, the touch panel2may be continuously vibrated at a strength of a given value or more during input of characters by the consecutive method.

FIG. 7is a diagram of an example of controlling the vibration of the touch panel when characters are input by the consecutive method. The example ofFIG. 7represents an example of the control in a case where three characters “W”, “E”, and “T” are input by the consecutive method. First, when the user comes in contact with a button area of “W” with the finger, the mobile phone1detects a predetermined contact operation to receive an input of “W”, and starts vibrating the touch panel2at a strength N.

Subsequently, when the user moves the finger while keeping the finger in contact with the touch panel2and changes the moving direction within the button area of “E” at a predetermined angle or more, the mobile phone1detects the predetermined contact operation to receive an input of “E”, and changes the strength of the vibration of the touch panel2to N+K. When the user further moves the finger and causes it to merely pass through the button area of “R”, the predetermined contact operation is not detected and the strength of the vibration of the touch panel2remains as it is. When the user further moves the finger and changes the moving direction within the button area of “T” at a predetermined angle or more, the mobile phone1detects the predetermined contact operation to receive an input of “T”, and changes the strength of the vibration of the touch panel2to N+2K.

In this way, when the predetermined contact operation is detected while the user keeps the finger in contact with the touch panel2, the strength of the vibration of the touch panel2is changed, and the strength of the vibration of the touch panel2is kept constant until a next predetermined contact operation is detected. Thereby, the user can recognize that the character input is received while performing the character input by the consecutive method. Moreover, the control provided in this manner enables reduction of power consumption associated with the vibration. That is, by keeping the strength of the vibration of the touch panel2constant until the next predetermined contact operation is detected, it is not necessary to frequently change the strength of the vibration, which leads to reduction of power consumption. As illustrated inFIG. 7, the strength of the vibration of the touch panel2is changed K by K each time the predetermined contact operation is detected; however, K may be a positive value or a negative value. In other words, the strength of the vibration of the touch panel2may be increased or may be decreased each time the predetermined contact operation is detected.

If the user moves the finger at a high speed, because of a delay of the control, the finger may exit the button area where the predetermined contact operation is detected before the strength of the vibration of the touch panel2is changed. Therefore, when the user moves the finger at a speed of a predetermined threshold or more, the mobile phone1switches the timing of changing the strength of the vibration.

FIG. 8is a diagram of an example of controlling the vibration of the touch panel2when the finger is moving at a high speed. The example ofFIG. 8represents an example of the control in the case where the three characters of “W”, “E”, and “T” are input by the consecutive method, similarly to the example ofFIG. 7. First, when the user comes in contact with the button area of “W” with the finger, the mobile phone1detects the predetermined contact operation to receive an input of “W”, and starts vibrating the touch panel2at the strength N.

Subsequently, when the user moves the finger while keeping the finger in contact with the touch panel2and changes the moving direction within the button area of “E” at a predetermined angle or more, the mobile phone1detects the predetermined contact operation to receive an input of “E”. At this time, when the moving speed of the finger at the time of detecting the predetermined contact operation is the threshold or more, the mobile phone1changes the strength of the vibration of the touch panel2to N−K at a timing at which the finger enters a next button area of “R” after exiting the button area of “E”. When the user further moves the finger and causes it to merely pass through the button area of “R”, the predetermined contact operation is not detected and the strength of the vibration of the touch panel2remains as it is.

When the user further moves the finger and changes the moving direction within the button area of “T” at a predetermined angle or more, the mobile phone1detects the predetermined contact operation to receive an input of “T”. At this time, when the moving speed of the finger at the time of detecting the predetermined contact operation is the threshold or more, the mobile phone1changes the strength of the vibration of the touch panel2to N−2K at a timing at which the finger enters a next button area after exiting the button area of “T”. When the predetermined contact operation is detected, not limited to the example ofFIG. 8, the strength of the vibration of the touch panel2is changed to N-K only when the finger enters a button different from a button displayed at the position where the predetermined contact operation is detected, and thereafter the strength of the vibration of the touch panel2may be returned to N.

In this way, when the moving speed of the finger at the time of detecting the predetermined contact operation is the threshold or more, the strength of the vibration of the touch panel2is changed at a timing at which the finger enters the next button, and the strength of the vibration of the touch panel2is kept constant until the finger exits to the outside of the button displayed at the position where the next predetermined contact operation is detected. Thereby even if notification fails to be executed within the area where the predetermined contact operation is detected, the notification can be executed before the user performs a next predetermined contact operation. Moreover, the control provided in this manner enables reduction of power consumption associated with the vibration. That is, by keeping the strength of the vibration of the touch panel2constant until the next predetermined contact operation is detected, it is not necessary to frequently change the strength of the vibration, which leads to reduction of power consumption.

In the example ofFIG. 8, when the moving speed of the finger at the time of detecting the predetermined contact operation is the threshold or more a sign of K is inverted. In this way, by switching the direction of changing the strength of the vibration of the touch panel2, the user can recognize that notification is performed at a timing different from the timing used when the moving speed of the finger is low. As illustrated inFIG. 7andFIG. 8, the strength of the vibration of the touch panel2is changed K by K; however, K may be a positive value or a negative value. In other words, if the moving speed is less than the threshold, then the strength of the vibration of the touch panel2may be increased each time the predetermined contact operation is detected, while if the moving speed is the threshold or more, then the strength of the vibration of the touch panel2may be decreased each time the predetermined contact operation is detected. Conversely, if the moving speed is less than the threshold, then the strength of the vibration of the touch panel2may be decreased each time the predetermined contact operation is detected, while if the moving speed is the threshold or more, then the strength of the vibration of the touch panel2may be increased each time the predetermined contact operation is detected.

When the strength of the vibration of the touch panel2is changed to provide an operational feeling of the buttons to the user, by switching the timing and the direction of changing the strength of the vibration according to the moving speed of the finger in the above manner, a natural operational feeling can be provided to the user. For example, if the moving speed is lower than the threshold, by increasing the strength of the vibration within the button area where the predetermined contact operation is performed, a feeling of pressing the button can be provided. Moreover, if the moving speed is the threshold or more, by decreasing the strength of the vibration at a timing at which the finger enters a next button area, a feeling such that the previous button had been pressed can be provided.

The example of the case where the moving speed of the finger is lower than the threshold is illustrated inFIG. 7, and the example of the case where the moving speed of the finger is the threshold or more is illustrated inFIG. 8. However, when the moving speed of the finger changes during the input by the consecutive method, the timing and the direction of changing the strength of the vibration may be switched as needed.

The threshold for the moving speed of the finger can be determined by, for example, the following Equation (1).

Where Vt is a threshold for the moving speed of the finger, l is a length of a button area in the direction in which the finger is moving, and t is a time required from detection of a predetermined contact operation to change in the strength of the vibration of the touch panel2. Equation (1) is based on an assumption that, as illustrated inFIG. 13, it is necessary for the finger to move a distance one-half of l during a time period from the time when a predetermined contact operation is detected at the center of a button area to the time when the finger exits the button area.

Next, a relation between the functions and the control unit of the mobile phone1will be explained below.FIG. 9is a block diagram of the mobile phone1illustrated inFIG. 1. The mobile phone1includes the touch panel2, the input unit3, a vibrating unit4, a power supply unit5, a communicating unit6, a speaker7, a microphone8, a storage unit9, a control unit10, and a random access memory (RAM)11.

The touch panel2includes a display unit2B and a touch sensor2A placed over the display unit2B. The touch sensor2A detects various operations performed to the touch panel2using the finger as well as positions on the touch panel2where the operations are performed. The operation detected by the touch sensor2A includes an operation of touching the surface of the touch panel2with the finger, an operation of moving the finger while keeping the finger in contact with the surface of the touch panel2, and an operation of releasing the finger from the surface of the touch panel2. The touch sensor2A may adopt any one of detection methods such as a pressure sensitive type detection method and a capacitive type detection method. The display unit2B is formed from, for example, a liquid crystal display (LCD) or an organic electro-luminescence display (OELD), and displays text, graphics, images, and so on.

The input unit3receives a user's operation through a physical button or so and transmits a signal corresponding to the received operation to the control unit10. The vibrating unit4vibrates the touch panel2at a strength according to a control signal input from the control unit10. The power supply unit5supplies electric power obtained from a buttery or an external power supply to each of function units of the mobile phone1including the control unit10. The communicating unit6establishes a wireless signal path using a code-division multiple access (CDMA) system, or any other wireless communication protocols, with a base station via a channel allocated by the base station, and performs telephone communication and information communication with the base station. Any other wired or wireless communication or network interfaces, e.g., LAN, Bluetooth, Wi-Fi, NFC (Near Field Communication) may also be included in lieu of or in addition to the communicating unit6. The speaker7outputs voice of the other party on the telephone communication, a ring tone, and the like. The microphone8converts the voice of the user or so to electrical signals.

The storage unit9includes one or more non-transitory storage medium, for example, a nonvolatile memory (such as ROM, EPROM, flash card etc.) and/or a storage device (such as magnetic storage device, optical storage device, solid-state storage device etc.), and stores therein programs and data used for processes performed by the control unit10. Specifically, the storage unit9stores therein a mail program9A for transmitting, receiving and browsing mail, a browser program9B for browsing Web pages, a character input program9C for executing a character input process by the consecutive method and an edit process based on position specification through a specific operation, a virtual keyboard data9D including definition for a virtual keyboard displayed on the touch panel2upon character input, and a dictionary data9E with appropriate character strings registered therein. The storage unit9also stores therein an operating system program for performing basic functions of the mobile phone1, and other programs and data such as address book data in which names, telephone numbers, mail addresses, and so on are registered.

The control unit10is, for example, a central processing unit (CPU), and integrally controls the operations of the mobile phone1. Specifically, the control unit10executes a program stored in the storage unit9while referring to data stored in the storage unit9as necessary, and executes the various processes by controlling the touch panel2, the communicating unit6, and so on. The control unit10loads data, which is acquired, generated, or processed by executing the programs and the processes stored in the storage unit9, to the RAM11providing a temporary storage area as necessary. The programs executed by the control unit10and the data to be referred to may be downloaded from a server through a wireless communication by the communicating unit6.

An example of the virtual keyboard data9D stored in the storage unit9is illustrated inFIG. 10. As illustrated in the example ofFIG. 10, for each button included in the virtual keyboard, a character corresponding to a button, a position of the button (e.g., upper left coordinates), a width, a height, and so on are registered in the virtual keyboard data9D. In the example ofFIG. 10, a character corresponding to a button is “Q”, upper left coordinates of the button are X=10 and Y=10, a width and a height of the button are 20 and 40 respectively, and the like are registered.

Next, a procedure of a character input process performed by the mobile phone1is explained.FIG. 11is a flowchart of the procedure of the character input process performed by the mobile phone1. The character input process illustrated inFIG. 11is implemented by the control unit10that reads the character input program9C from the storage unit9and executes it, and is repeatedly executed during display of the virtual keyboard16on the touch panel2. The control unit10executes the character input program9C or some other program, to thereby display the virtual keyboard16on the touch panel2.

As illustrated inFIG. 11, first, the control unit10acquires a detection result of the touch panel2, at Step S101. Then, the control unit10determines whether a contact by a finger has been detected, at Step S102. When the contact by the finger has not been detected (No at Step S102), the control unit10again executes Step S101and the subsequent step.

When the contact by the finger has been detected (Yes at Step S102), the control unit10causes the vibrating unit4to vibrate the touch panel2(display unit2B) at a strength N, at Step S103. The control unit10acquires the detection result of the touch panel2at Step S104, and determines whether the contact by the finger has been released at Step S105. When the contact by the finger has been released (Yes at Step S105), the control unit10ends the character input process.

When the contact by the finger has not been released, that is, when the contact by the finger is continued (No at Step S105), the control unit10determines whether a predetermined contact operation has been detected, at Step S106. When the predetermined contact operation has not been detected (No at Step S106), the control unit10again executes Step S104and the subsequent steps.

When the predetermined contact operation has been detected (Yes at Step S106), the control unit10calculates a moving speed of the finger at the time of detecting the predetermined contact operation, at Step S107. When the moving speed is lower than the threshold (Yes at Step S108), the control unit10adds K to the strength of the vibration of the touch panel2, at Step S109. After the strength of the vibration is changed in this manner, the control unit10again executes Step S104and the subsequent steps.

When the moving speed is not lower than the threshold (No at Step S108), the control unit10acquires the detection result of the touch panel2, at Step S110. The control unit10then determines whether the contact by the finger has been released based on the acquired detection result, at Step S111. When the contact by the finger has been released (Yes at Step S111), the control unit10ends the character input process.

When the contact by the finger has not been released (No at Step S111), the control unit10determines whether the finger has entered any one of button areas based on the acquired detection result, at Step S112. When the finger has not entered any one of button areas (No at Step S112), the control unit10again executes Step S110and the subsequent steps. When the finger has entered any one of button areas (Yes at Step S112), the control unit10subtracts K from the strength of the vibration of the touch panel2, at Step S113. After the strength of the vibration is changed in this manner, the control unit10again executes Step S104and the subsequent steps.

As explained above, the mobile phone1changes the strength of the vibration of the touch panel2to provide a feedback to the user each time the predetermined contact operation is detected. Therefore, the user can recognize which character is input through the operation on the touch panel2.

The aspects of the present invention represented in the embodiment can be arbitrarily modified without departing from the spirit of the present invention. For example, the way to change the strength of the vibration of the touch panel2as represented in the embodiment is an example, and therefore, the strength of the vibration may be changed in any way if the detection of the predetermined contact operation can be fed back to the user. For example, as illustrated inFIG. 12, when the predetermined contact operation is detected, the touch panel2is vibrated at a predetermined strength only within the button area where the predetermined contact operation is detected, and after the finger exits the button area, the vibration may be stopped. When the predetermined contact operation is detected, the vibration of the touch panel2may be stopped only within the button area displayed at the position where the predetermined contact operation is detected, and the vibration may be restarted after the finger exits the button area displayed at the position where the predetermined contact operation is detected.

In the embodiment, the feedback is performed when the predetermined contact operation for a character input is detected; however, as illustrated at Step S12ofFIG. 6, even when a predetermined contact operation for selecting a candidate for an input character string is detected, the feedback due to vibration of the touch panel2may also be performed.

When the predetermined contact operation is detected, the strength at which the touch panel2is vibrated is not only changed but also at least either one of color and brightness of the button area where the predetermined contact operation is detected may be changed. By adding a visual feedback in this manner, the user can more surely recognize which character is input.

When the moving speed of the finger at the time of detecting the predetermined contact operation is the threshold or more, instead of changing the strength of the vibration after it is detected that the finger enters another button area, it may be controlled so as to predict a timing at which the finger enters another button area based on the moving direction and the moving speed of the finger and to change the strength of the vibration at the predicted timing. In other words, the control unit10may instruct the vibrating unit4to change the strength of the vibration by the time, required from the time when the control unit10outputs a control signal to the time when the vibrating unit4changes the strength of the vibration, earlier than the timing at which the finger enters another button area. The control provided in this manner enables the feedback to be provided at a more natural timing for the user.

The advantages are that one embodiment of the invention provides a character input device, a character-input control method, and a character input program that allows the user to recognize which character is input through an operation on the touch panel.