INPUT OF CHARACTERS INTO A DIGITAL SYSTEM
THE BACKGROUND OF THE INVENTION AND PRIOR ART
The present invention relates generally to input of character data, such as letters, numbers and other symbols, into a digital data processing system via a user interface. More particularly the invention relates to a data input apparatus according to the preamble of claim 1 and a method for entering character data according to the preamble of claim 13. The invention also relates to a computer program according to claim 25 and a computer readable medium according to claim 26.
The trend in both telecommunication and data processing is towards decreased device sizes and application specific interfaces. Moreover, our manners of interacting with computers and corresponding tools is becoming less orthodox. For example, it cannot be presupposed that the user predominantly sits at a desk when operating his/her computer. Together, these circumstances place an increased demand for user-friendly data input arrangements. Thus, a conventional keyboard may not always be the ideal tool for entering text and numbers into a computer or a telecommunication device. Perhaps the space is too limited and/or one-hand operation is required.
The U.S. patent No. 6,046,732 describes a solution, which allows users to enter characters into an electronic equipment by using a cursor key and a software-generated keyboard. The user enters a character by placing the cursor over a desired character where after he/she presses an OK-key. The thus user-
entered characters are displayed in a data display region together with the software-generated keyboard.
The U.S. patent No. 6,008,799 discloses an improved method and a system for entering data via an on-screen keyboard. In addition to the standard letters, numbers and symbols the onscreen keyboard here includes the most common entire words, prefixes and suffixes. Furthermore, the on-screen keyboard is linked to a dictionary, such that completed words having a beginning which overlaps with the letters entered so far are presented for direct selection in a neighboring window. The average number of necessary keystrokes/selections is thereby intended to be reduced.
Various software solutions are also known for aiding disabled persons in entering text into, and by other means interact with, computers. For example, NanoPac Inc. provides an on-screen keyboard product through which sip/puff, head or eye wink controlled switches may be employed to select desired cursor indicated keys and characters. The cursor preferably scans automatically over the keyboard according to a user-defined sequence. However alternatively, the user may manipulate the cursor's position via a manually controlled pointing device.
Hence, the prior art includes various examples of solutions for entering character data into digital data processing units via different types of on-screen keyboards. However, all the known solutions share a common problem - a relatively limited typing speed. This problem may be due to different reasons depending on the type of solution. For instance, placing the cursor over a particular key of an on-screen keyboard requires a rather high positional accuracy from the user, which generally results in a long time span between consecutive keystrokes, particularly if the available screen area is small and/or the number of keys is large. Automatic cursor scanning, on the other hand, either requires a comparatively long runtime per sequence or there is a relatively large risk of missing to select a desired key or to
unintentionally select a different key due to excessive scanning speed.
SUMMARY OF THE INVENTION
The object of the present invention is therefore to provide a solution for entering character data into a digital data processing system, which alleviates the problems above and thus offers a simple and efficient data input with a bare minimum of user input controls.
According to one aspect of the invention the object is achieved by a data input apparatus as initially described, which is characterized in that the keyboard is designed such that when the cursor is positioned of over at least one key in a specific column, that column is highlighted. This indicates to the user that the keys in that column are selectable. The cursor is further associated with at least two user input controls via which the user can select a particular key within the highlighted column by activating at least one of the user input controls. By "highlighted" is understood any visual means of emphasizing a particular column such as framing, enlargement or blinking.
According to a preferred embodiment of this aspect of the invention, a first user input control activates a key in an upper row of the keyboard and a second user input control activates a key in a lower row of the keyboard. Keys in any third, or yet additional row of the keyboard may either be selected via one or more dedicated additional user input controls or via various combinations of the first, the second or any additional user input controls.
According to a first alternative embodiment of this aspect of the invention, the cursor is adapted to move automatically over the keyboard according to a predetermined sequence.
According to a second alternative embodiment of this aspect of
the invention, the cursor is instead user operable by means of a pointer device. The user may thereby control at least the lateral position of the cursor with respect to the columns of the keyboard by manipulating the pointer device.
According to another aspect of the invention the object is achieved by a method for entering character data into a digital data processing system as initially described, which is characterized by positioning the cursor over at least one key in a specific column. At least two keys in this column are then highlighted, which indicates that these keys may be selected. The selection is effectuated by activating at least one of at least two user input controls that are associated with the cursor. As a result thereof, a character is generated, which is identified by the selected key.
According to a preferred embodiment of this aspect of the invention, an upper row of the keyboard is selected via activation of a first user input control and a lower row of the keyboard is selected via activation of a second user input control. Keys in any third, or yet additional row of the keyboard may either be selected via activation of one or more dedicated additional user input controls or via various combinations of the first, the second or any additional user input controls.
According to a first alternative embodiment of this aspect of the invention, the cursor moves automatically over the keyboard according to a predetermined sequence.
According to a second alternative embodiment of this aspect of the invention, the cursor is instead user operable by means of a pointer device. The user may thereby control at least the lateral position of the cursor with respect to the columns of the keyboard by manipulating the pointer device.
According to a further aspect of the invention the object is achieved by a computer program directly loadable into the internal memory of a computer, comprising software for
performing the above proposed method when said program is run on a computer.
According to another aspect of the invention the object is achieved by a computer readable medium, having a program recorded thereon, where the program is to make a computer perform the above proposed method.
Naturally, the invention permits that the keys in the keyboard are arranged according to arbitrary pattern and at any relative positions to each other. For example, the keyboard may have an overall non-parallelogram form, such as elliptic or circular. The terms "column" and "row" above should therefore be understood in their widest possible meaning. Particularly, the relationship between the number of rows and columns may be altered, such that the number of columns is relatively low, whereas the number of rows is relatively high.
The different prior-art solutions for entering character data via an on-screen keyboard all involve two principal steps, namely a positioning step (manual or automatic) followed by a selection step. According to the invention, however, the positioning step is separated into two sub-steps; a first sub-step for coarse positioning of the cursor and a second sub-step for fine positioning. Furthermore, the latter sub-step is combined with the selection step. This shortens the average positioning time considerably, without affecting the time required for selecting the desired key.
Thereby, the invention offers an excellent tool for entering text and other character data into any digital data processing unit where a regular keyboard cannot be used or is at least impractical to use, such as in mini-sized laptop computers, PDAs (Personal Digital Assistants), TV-games, digital TV-boxes and mobile telephones.
Moreover, the proposed solution permits a comparatively non- constrained working position also in more conventional situations when a user enters limited amounts of data into a
computer, for instance, when typing web addresses, formulating electronic mails and editing text documents.
The invention provides a convenient user interface both for small, mobile devices and for stationary computer systems. The solution is particularly advantageous for outdoor applications and in other relatively harsh environments where the number of buttons on the device must be kept small while typing speed cannot be compromised.
BRIEF DESCRIPTION OF THE DRAWINGS The present invention is now to be explained more closely by means of preferred embodiments, which are disclosed as examples, and with reference to the attached drawings.
Figure 1 depicts an arrangement for entering character data into a digital data processing system according to an embodiment of the invention,
Figure 2 shows a dynamic on-screen working area including a keyboard according to a first embodiment of the invention,
Figure 3 shows a dynamic on-screen working area including a keyboard according to a second embodiment of the invention, and
Figure 4 illustrates, by means of a flow diagram, a general method for entering character data into a digital data processing system according to the invention.
DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION
An arrangement for entering character data into a digital data processing system according to an embodiment of the invention
is shown in figure 1 . A laptop computer 1 10, which includes a screen 1 1 1 and a conventional keyboard here represent the digital data processing system. However, a dynamic on-screen working area (e.g. a window) 100 also contains a representation of a keyboard, which, of course, is software-generated. This keyboard includes a plurality of keys, which each is capable of generating at least one specific character upon selection thereof. The keys are arranged in a check pattern of columns and rows, where each column contains at least two keys. In this example there are three keys per column. A cursor is movable within the dynamic on-screen working area 100. When the cursor is placed over at least one key in a specific column of the keyboard, the keys in this column are highlighted and thereby made selectable.
In order to distinguish between the three selectable keys (corresponding to three or more different output characters) and select a particular key within the highlighted column, at least two user input controls 121 - 123 are required. Here, a cordless three-button mouse is associated with the cursor and thus accomplishes the user input controls 121 - 123. The left mouse button 121 selects a key in the upper row of the keyboard, the right mouse button 122 selects a key in the lower row of the keyboard and the middle mouse button 123 selects a key in the middle row of the keyboard (i.e. the row between the upper and the lower row).
If instead a two-button mouse had been used, the left mouse button 121 would select a key in the upper row, the right mouse button 122 would select a key in the lower row and a combined activation of the left mouse button 121 and the right mouse button 122 would select a key in the middle row.
The mouse 120 is preferably also utilized to position the cursor over the column that contains the desired key. This is a relatively easy maneuver, since only the lateral position of the cursor with respect to the columns is critical. However, the
cursor's vertical position (i.e. with respect to the rows) lacks significance, at least as long as the cursor stays within the dynamic on-screen working area 100.
For instance, by manipulating the mouse 120 in a first general direction d-i , the user can cause the cursor to move over the columns in a first direction. Correspondingly, by manipulating the mouse 120 in a second general direction d2, the user can cause the cursor to move over the columns in a second direction, which is opposite to the first direction. The only requirement is that the second general direction d2 includes at least one direction component that is opposite to at least one direction component in the first general direction d-| . The general direction di and d2 thus need not be entirely opposite to each other.
Naturally, any alternative pointer device other than a standard mouse (e.g. a scroll wheel, at least one direction key, a joystick, a joyball, a track-ball, a touch pad) may equally well be used to control the position of the cursor within the dynamic on-screen working area 100.
According to an alternative embodiment of the invention, the cursor is instead adapted to move automatically over the keyboard according to a predetermined sequence. Although the sequence is predetermined, the highlighting order and step speed is preferably controlled by the user.
Figure 2 shows a dynamic on-screen working area 100, which includes a keyboard according to a first embodiment of the invention. In addition to the regular letter keys (here QWERTY- organized with Swedish letters) "A" - "0", the keyboard contains ten number keys "0" - "9", six symbol keys ";", ":", "-", "@", "+" and "*", eleven function keys "Home", "End", "Ins", "Page Up", "Page Down", "Del", "Caps Lock", "Ctrl", "Alt", 212a and 212b and two space keys 21 1 a respective 21 1 b. The dynamic onscreen working area 100 may also include a particular button
(not shown) for changing keyboard type, for instance from QWERTY to Dworak and/or one or more buttons (not shown) for toggling between alternative characters being associated with the keys in the keyboard. According to an alternative embodiment of the invention, such buttons are instead included in the pointer device. The specific keys included and their relative organization is irrelevant for the solution. This embodiment of the invention, however, presupposes that the keyboard generally contains three rows of keys per column, an upper row 210, a middle row 220 and lower row 230. Nevertheless, the space keys 21 1 a; 21 1 b and the most commonly used function keys 212a; 212b (such as the "enter key") constitute an exception to this principle. These keys are namely included in all three rows 210, 220 and 230. The keys on the keyboard are supposed to have their normal function, which for example means that the "shift"-key alters the appearance of a character generated by a specific key, either from lower-case to upper-case or from a first symbol (e.g. ",") to a second symbol (e.g. ";") depending on the key function. However, since only one key at the time is activated, the "shift"-key has a range equal to one following key. Explicitly, this means that selection of the "shift"-key causes the following key to generate its uppercase symbol. Nevertheless, the key after that will produce its lower-case symbol. Furthermore, activation of the keys "Ctrl", "Alt" and "Del" in any unbroken sequence (i.e. without other intermediary keys) will typically cause the computer on which the proposed application is running to reboot.
Whenever the cursor 240 is placed over a key "T", at least two keys "T", "G" and "B" in the column 250 which includes this key "T" are highlighted (or marked up) and thus indicated as being selectable. In this embodiment of the invention all the keys "T", "G" and "B" in the column 250 are highlighted. However, this need not be the case in other embodiments of the invention. The column may namely be further divided into two or more separate logical sections. This will be explained in further detail below
with reference to figure 3.
If the cursor 240 simultaneously is positioned over keys that belong to different columns, still only one column will be highlighted, for example the column over which the cursor's 240 point is located. Alternatively, the column where the cursor's 240 geometrical center is located may be highlighted. In any case, for unambiguity reasons, one and only one column at the time can be active (i.e. include selectable keys).
A key in the upper row 210 is selected by activation of a first user input control, for instance, a leftmost mouse button. Correspondingly, a key in the lower row 230 is selected by activation of a second user input control, for instance, a rightmost mouse button. A key in the middle row 220, however, may either be selected by activation of a dedicated third user input control, such as a centrally positioned mouse button, or by a combined activation of the first and the second user input controls.
The keys 21 1 a; 21 1 b, 212a and 212b, which are included in all the rows 210, 220 and 230 may be selected by activation of any single or combination of the first, second or the possible third user input controls. By analogy, a key included in two rows would be selectable from any one of the rows in which the key is included. This feature, of course, simplifies the selection of the most frequently used keys.
According to one preferred embodiment of the invention, the keyboard is linked to a dictionary via a statistical algorithm (e.g. T9), such that one or more prefixes or complete words having a beginning which overlaps with the letters entered so far are presented for direct selection in the dynamic on-screen working area. This will typically reduce the average number of necessary key selections to produce a given text.
According to another preferred embodiment of the invention, the cursor 240 is adapted to move automatically over the keyboard
according to a predetermined sequence specified by the user.
According to another preferred embodiment of the invention, the cursor 240 is instead directly operable by the user, for example via a pointer device. By manipulating the pointer device, the user may control at least the lateral position PR, PL of the cursor 240 with respect to the columns of the keyboard. In most cases, the cursor 240 will also follow the vertical movements of the pointer device, however this will not affect the highlighting of the columns (at least not as long as the cursor 240 stays within the dynamic on-screen working area).
Typically, the pointer device is adapted such that manipulation thereof in a first general direction, say 6^ in the figure 1 , causes the cursor 240 to move to the right PR over the columns. Correspondingly, manipulation of the pointer device in a second general direction, say d2 in the figure 1 , causes the cursor 240 to move left PR over the columns. The exact relative relationship between the first general direction di and the second general direction d2 lacks significance. Nevertheless, the second general direction d2 must at least include one direction component (or vector), which is opposite to at least one direction component (or vector) in the first general direction di . Otherwise, the general directions ό-i and d2 cannot be distinguished from each other.
Figure 3 shows a dynamic on-screen working area including a keyboard according to a second embodiment of the invention. The keyboard here includes five rows of keys, which are organized in an inner area 310 containing three rows of keys "A" - "0", ",", ".", "-" and "@" and an outer area 320a; 320b containing two row of keys "1 " - "0", "+" respective "Caps Lock", "Ctrl", "Alt", "Alt Gr", "Page Up", "Page Down", "Home", "End", "Ins", "Del" and "*". The most frequently used keys 31 1 and 312 are included in both the inner area 310 and the outer area 320a; 320b. Moreover, they are represented in all rows 210 - 230; 320a, 320b of these areas. The keys 31 1 and 312 are hence
selectable from any row in any area according to the principle disclosed above with reference to the figure 2.
The dynamic on-screen working area 100 also comprises two bridging areas 330, via which the highlighted zone may be changed between the inner area 310 and the outer area 320a; 320b. More specifically, by positioning the cursor 240 over a bridging area 330 after that a column in the inner area 310 has been highlighted, the highlighting will be changed from a column 350 in the inner area 310 to a column 360 in the outer area 320a; 320b. Vice versa, positioning the cursor 240 over a bridging area 330 after that a column in the outer area 320a; 320b has been highlighted, will change the highlighting from a column 360 in the outer area 320a; 320b to a column 350 in the inner area 310.
According to an alternative embodiment of the invention illustrated in the figure 3, all five rows 320a, 210, 220, 230 and 320a are regarded as a single area, from which specific keys can be selected via at least three different user input controls. For example, a key in the topmost row 320a may be selected by activation of a first user input control, a key in the lowest row 320b may be selected by activation of a second user input control, a key in the center row 220 may be selected by activation of a third user input control, a key in the second topmost row 210 may be selected by a combined activation of the first and the third user input controls and a key in the second row from the bottom 230 may be selected by a combined activation of the second and the third user input controls. Naturally, four or five different user input controls may equally well be used in various combinations to select keys from this keyboard. By analogy, a keyboard with more than five rows, however without bridging areas, would nevertheless require at least four user input controls to select a specific row, and so on.
According to a preferred embodiment of the invention, the dynamic on-screen area 100 is opened to a selected working
size by moving the cursor 240 over an icon representing the proposed application on the screen. Correspondingly, the dynamic on-screen area 100 is closed either by moving the cursor 240 over a particular area within the area 100, or simply by positioning the cursor 240 outside the area 100.
In order to sum up, the general method for entering character data into a digital data processing system according to the invention will now be described with reference to a flow diagram in figure 4.
A first step 410, positions the cursor over at least key in a specific keyboard column. A subsequent step 420, highlights at least two keys in the column that contains the at least one key over which the cursor is positioned. After that, a step 430 investigates whether at least one user input control has been activated, i.e. if the user has indicated the selection of a specific key within the highlighted column. If this is the case, the procedure continues to a step 440. Otherwise, the procedure loops back to the step 410 again. The step 440 finally generates the character which is identified by the at least one user input control activated in the step 430.
Naturally, all of the process steps, as well as any sub-sequence of steps, described with reference to the figure 4 above may be controlled by means of a computer program being directly loadable into the internal memory of a computer, which includes appropriate software for performing the necessary steps when the program is run on a computer. The computer program can likewise be recorded onto arbitrary kind of computer readable medium.
As mentioned above, the keyboard may be linked to a dictionary via a statistical algorithm, such as T9. According to one preferred embodiment of the invention, the proposed data input apparatus comprises an error-correction unit, which is adapted to correct potentially incorrect key selections effected via the at
least two user input controls. The error-correction unit applies the statistical algorithm to each column in which the respective selected keys are located, and automatically corrects a particular selected key if a different key being located in the same column as the particular selected key is located produces a combination of keys which is more probable with respect to the contents of the dictionary than a combination of keys produced by the particular selected key and at least one other key. Thus, the error-correction involves comparing the proba- bility of the combination of keys produced by a particular selected key and at least one additional key with probabilities of one or more combinations of keys produced by at least one alternative key being located in the same column as the particular selected key. A particular selected key is then corrected if a different key being located in the same column as the particular selected key is located produces a combination of keys, which is more probable with respect to the contents of a stored dictionary than the combination of keys in which the particular selected key is included. For example with reference to figure 2, a combination of keys representing the word "PATENB" will be corrected to the more probable combination of keys "PATENT", since "B" and "T" are both located in the column 250.
The term "comprises/comprising" when used in this specification is taken to specify the presence of stated features, integers, steps or components. However, the term does not preclude the presence or addition of one or more additional features, integers, steps or components or groups thereof.
The invention is not restricted to the described embodiments in the figures, but may be varied freely within the scope of the claims.