KEYBOARD MODELS USING HAPTIC FEEDABACK AND SOUND MODELING

Provided are techniques for configuring a keyboard model comprising techniques of receiving a keyboard model comprising a plurality of key definitions, each key definition defining at least key function, key location and key size, presenting an output generated from the keyboard model, receiving a user input comprising one or more changes to the keyboard model, updating the keyboard model according to the received user input, and saving the updated keyboard model.

DETAILED DESCRIPTION

FIG. 1is a schematic diagram of a tablet computer10. The tablet computer10has a touch screen12which acts as a user interface. The touch screen12provides display functionality and also allows a user to provide input using, for example, a finger14to touch the screen12. Different touch screen technologies are available, all based around sensing the presence of the user's finger14in the relevant screen location. Some touch screens12will provide the sensation of pressure when the user's finger14touches and presses the screen12whereas other touch screen technologies will simply provide a flat and smooth surface that does not depress when the user's finger touches the screen.

The tablet computer10is displaying a keyboard16, which is a conventional “QWERTY” keyboard, which is a very well-known keyboard layout to European, US and other English speaking users of keyboards, and originates in the design of typewriters from the 19thcentury. The vast majority of desktop computers are sold with a hardware “QWERTY” keyboard, in this keyboard configuration, the keys18are laid out in three rows, with the alphabet keys all the same size and shape and the letters arranged generally according to the frequency of use matching the preferred fingers of a user's hands. Other keyboard layouts are known and used for hardware keyboards that are theoretically improvements on the “QWERTY” keyboard.

The popularity of tablet computers has led to them being widely used in personal and business computing. The keyboard16allows the user to compose text on their tablet computer10, as is conventional on desktop and laptop computers. The user will move their finger14to each key18of the keyboard16in turn and touch the screen12, to compose their text, for an email message for example. The upper part20of the touch screen12displays the characters that the user is generating via their presses on the keys18of the keyboard16. To indicate the specific key18that has been pressed, the image of that key18will be momentarily enlarged.

FIG. 2shows a desktop computer22, which comprises a display device24, a processing device26and a keyboard28. The keyboard28is itself a touch screen device that displays the arrangement of the keys of the keyboard28and receives user input by the user pressing the keys as if it were a conventional, hardware keyboard. The keyboard28is a haptic feedback device, which means that it has the capability to provide the user with physical feedback when the user interacts with the keyboard28. When the user presses a key on the haptic feedback keyboard28, they will experience a push down and rebound sensation similar to that of a conventional hardware keyboard.

Although the keyboard28will default to the conventional “QWERTY” keyboard when in use, the desktop computer22is arranged so that a user can configure the keyboard28to any arrangement that they wish to use and this arrangement can be saved and reused on other devices, such as the tablet computer10ofFIG. 1. Key functions, key locations and key sizes can all be changed by the user to suit their own particular needs. For example, if the user has difficulties with their eyesight, then they may wish to dispense with many of the least used non-alphabet keys and increase the size of the conventional alphabet keys.

The arrangement of the keys on the keyboard28is stored in a keyboard model that comprises a plurality of key definitions, each key definition defining at least key function, key location and key size. Key feedback and key shape can also be included in the keyboard model The user is able to configure a keyboard model as they desire the keyboard to look and feel. For example, the force feedback received from the haptic feedback keyboard28may be too great and the user can lower this feedback level, which will be stored in the keyboard model. If the keyboard model is applied to a device that cannot adjust the force feedback, such as the tablet computer10ofFIG. 1, then this aspect of the model will be ignored.

FIG. 3shows a flowchart of a method of configuring the keyboard model. At step S3.1, the user creates the keyboard model using a suitable software application. The processor26of the desktop computer22can run an application that will present the user with one or more existing keyboard models that the user can then change to create their own personal keyboard model. The user can move keys around the keyboard, add or delete keys, change sizes and shapes and specify the feedback from the keys and so on. Once the user has completed this process, then at step S3.2, the keyboard model is saved as a file, for example as an XML or text file.

At step S3.3, the file is uploaded to a generic keyboard tablet, such as the tablet computer10ofFIG. 1. or the haptic feedback keyboard28ofFIG. 2. At step S3.4, the keyboard tablet performs reconfiguration using the saved file data. The keyboard model is used to configure the keyboard that the user has available to them and will provide the user with a configured keyboard that has their preferred key locations, size and shapes etc. If the keyboard model is sufficiently detailed to include elements that the current keyboard cannot provide, such as specific feedback, then these elements are ignored and the current keyboard will implement the keyboard model as far as possible.

At step S3.5, further configuration of the keyboard model is possible on the current device itself. The user may refine the keyboard model at any time, even when they are actually using a keyboard that has been configured according to their personal keyboard model. This interaction can be directly with the keyboard configuring the keyboard model (as in theFIG. 1example) or may be via an on-screen display (as in theFIG. 2example). Any of the components of the current keyboard model can be adjusted and the method will cycle back to step S3.2, saving the updated keyboard model as a new file and reconfiguring the current keyboard to reflect the changes.

An example of part of a keyboard model30and a corresponding output32generated from the keyboard model30are shown inFIG. 4, with the upper image representing the keyboard model30aand the corresponding output32aprior to amendment by the user and the lower image representing the keyboard model30band the corresponding output32bafter amendment by the user. Only nine keys18of the keyboard are shown in output32in order to simplify the illustration of the principle of the keyboard model30. The keyboard model30shows a table comprising nine rows, each row corresponding to a key18in the keyboard.

The keys18in question are in two rows, with a top row of WERTY and a lower row of SDFG as in a standard “QWERTY” keyboard layout. Each row within the keyboard model30defines key function, key location, key size and. key spring point. The key location/position can be recorded in absolute x, y terms or can be expressed as a relative measurement relative to the previous key, for example. The key size is expressed as x, y side lengths, assuming that every key is rectangular, although there is no reason that more complicated key shapes cannot be accommodated. The spring point is expressed as co-ordinates relative to the key center.

The user has made two changes to the keyboard layout and these changes are shown in both the model30band in the corresponding output32b.The keys “W” and “G” have been changed by the user. In the case of the “W” key, the user has increased the y dimension by 50% to make this key larger and easier to locate and press. This change is reflected in the size now showing as (1, 1.5) for the V key, which is the first row in the table of the keyboard model30. In the case of the “G” key, the user has moved, the spring point away from the centre of the key and the final row in the table of the keyboard model30has the spring point at (0.3,0.3).

FIG. 5shows a side view of a single key18as it would look in a traditional hardware keyboard. The key18has a physical height and also a pivot point about which the key18will pivot when it is pressed. A haptic feedback keyboard28(as shown inFIG. 2) is able to generate a height in the keys that are being created by the keyboard and is also able to provide a feedback sensation that is equivalent to the pivot point of a conventional key18. As the user presses a key18on the haptic feedback keyboard28the press they will make will feel like a conventional key18rotating around a pivot point.

The height and pivot point of each key can be contained within the keyboard model that the user is configuring for their ideal keyboard. The user can adjust these values in just the same way as they can adjust the position and size of the keys18. If the user is actually working with a haptic feedback keyboard28they can experiment with different types and positions of pivot points to see how this would change the actual keyboard they are using and find the values that suit them the best. The height of the individual keys on the haptic feedback keyboard28can also be adjusted in the same way.

Feedback from the keys18of the keyboard can also be contained within the keyboard model. While this can relate to the physical feedback, such as the location of the spring point and the amount of return pressure provided by the haptic feedback keyboard28, other aspects of the feedback could also be included within the keyboard model. For example, specific sounds could be attached to specific keys or indeed the actual function of the key could be outputted each time it is pressed, in order to assist users who have eyesight difficulties. This would mean that when the key “W” is pressed, a confirmatory sound of the letter “W” is also outputted.

FIG. 6shows a view similar toFIG. 2of a desktop computer22, which a user is using with a haptic feedback keyboard28. The keyboard28is configured according to a keyboard model that the user has previously created and adjusted to their own personal tastes. If the user wishes to further amend the keyboard model, for example to customize the keyboard model to a particular workload that they are working through, then the processor26will run a specific software application to amend the keyboard model. A computer program product on a computer readable medium34(a CD-ROM) comprises instructions that are executed by the processor26.

In response to the user opening the application that allows them to amend the current keyboard model, the user is presented with an output32that is generated from the keyboard model. The processor26, via the keyboard28, receives user input comprising one or more changes to the keyboard model, updates the keyboard model according to the received user input, and then saves the updated keyboard model The new keyboard model could overwrite the previous keyboard model or could be saved as a new version that is available as an alternative to the original existing keyboard model. A user can create as many different keyboard models as they wish and load and use different keyboard models at different times.

It is also possible for users to make their keyboard models available to other users. For example, In a business environment, a user may have designed a keyboard model that is specific to a particular type of work such as a specific language in translation or software development work. The user can save this keyboard model with a suitable filename and. store the keyboard model in a predetermined place such as a keyboard model directory. This will allow other users to find the keyboard model and use it themselves in their work. Other users can download these keyboard models and amend them further themselves, if they wish to improve or customize the keyboard models.