Hand-held electronic device with thumbwheel

Abstract: A hand-held electronic device is provided having a keyboard optimized for use with the thumbs and an inclined thumbwheel for auxiliary data entry and selection. The keyboard preferably includes a plurality of non-uniform shaped keys, such as oblong, oval or rectangular keys, which are organized into two sets of keys that, together, form a QWERTY keyboard. The two sets of non-uniform shaped keys are tilted at complimentary angles to each other and with respect to a common vertical reference through the device. The keys are also uniformly distributed across the device to facilitate optimal thumb typing. The thumbwheel is inclined at an angle for easier operation, and is used for auxiliary data entry and menu selection.

Description: BACKGROUND 1. Field of the Invention The present invention is directed toward the field of small, hand-held electronic devices such as personal data assistants (PDA's), personal information managers (PIM's), two-way pagers, cellular telephones, and the like. 2. Description of the Related Art In a two-way paging system (or other types of data communication networks) that provides two-way, full text messaging, there is a need to permit the user to initiate messages and to respond to messages in a timely fashion and with text entirely created by the user. In order to keep the form factor of the two-way pager small enough to be worn on the body of the user, such as with a belt clip, the input device needs to be small, have a minimal number of keys and should be optimized for use with a minimal number of key strokes. Prior art systems have attempted to address these needs by incorporating virtual keyboards or pen-based input systems for user inputs to the device, but such systems require the user to input data in an unfamiliar manner. Additionally, in a small hand-held messaging device, such as a two-way pager, these systems prove awkward to use. SUMMARY A hand-held electronic device is provided having a keyboard optimized for use with the thumbs and an inclined thumbwheel for auxiliary data entry and selection. The keyboard preferably includes a plurality of non-uniform shaped keys, such as oblong, oval or rectangular keys, which are organized into two sets of keys that, together, form a QWERTY keyboard. The two sets of non-uniform shaped keys are tilted at complementary angles to each other and with respect to a common vertical reference through the device. The keys are also uniformly distributed across the device to facilitate optimal thumb typing. The thumbwheel is inclined at an angle for easier operation, and is used for auxiliary data entry and menu selection. In one embodiment of the invention, the hand-held electronic device is a two-way paging or wireless email device (such as the Inter@ctive™ pager manufactured and marketed by Research In Motion of Waterloo, Ontario) that permits full-text, two-way messaging such as email messaging. The invention, however, is not limited to two-way messaging devices, and can be utilized with any portable device, including PDAs, palmtops, hand-held computers, cellular telephones, pagers, etc. The device may also include standard PDA or PTA features such as an address book, an electronic calendar, a task list and other text-based features. Such features require user input of text strings that can be lengthy and that cannot be reduced to pre-determined or "canned" strings. Thus, for such a device, the efficient entry of data in a device meant to fit into the palm of one's hand requires that two goals are achieved. First, the data entry must be relatively easy from a user perspective. This means that the user must be somewhat familiar with analogous forms of data entry and not have to be trained to use the data entry for the hand-held device. Second, the form factor does not permit a large number of keys or keys that are very large. Thus, efficient use of the keyboard space is required and functions that might be able to be performed by a standard keyboard are off-loaded to an auxiliary input device or are performed, through a normal number of keystrokes that encourage the use of thumb-based data entry. To accomplish these goals, the invention first optimizes the placement of the keys on the device keyboard. In order to work within the limited space available for the keyboard, it was determined that it was preferable to use keys that were oval or oblong (or otherwise non-uniform in radius) and that were tilted at angles designed to facilitate use by thumb typing. An angle for the keys on the right side of the keyboard and a complementary angle for the keys on the left side of the keyboard are chosen based upon observation of the angle at which a user will orient his or her thumbs while thumb-typing. The keys are uniformly distributed across the device such that half of the keys are on one-half of the device and the other half of the keys are positioned on the other half of the device. This uniform key distribution further optimizes the device for use with the thumbs. The invention also minimizes the number of keys available or required for data input. In the preferred embodiment, only keys for the 26 letters of the English alphabet are available as well as a backspace key, a line feed key, an "alt" key, a "cap" key and a space bar. The alt key enables the user in conjunction the other keys to input numbers and symbols to perform certain functions. The placement of the keys is designed to enhance the user experience while typing with the thumbs by meeting two seemingly opposite goals - minimizing the keyboard footprint while maximizing the likelihood that proper keys will be struck by the thumb-typing user. The keyboard is preferably configured as a QWERTY keyboard. Alternative embodiments could include fewer or more keys, including, for example function keys or control keys. The form factor, however, generally limits the number of keys that may be implemented if the goal of facilitating thumb typing is to be met. The invention also provides additional incentive for the user to use thumb input by providing an input device adjacent to the keyboard, but integral to the overall hand-held device. Although other devices can be used in an auxiliary fashion, the preferred device is a thumbwheel that registers movement of the wheel by measuring the number of indents traversed while rolling the wheel and that also registers as an input the depression or "clicking" of the wheel, which is performed by pressing the wheel toward the back of the pager. This clicking of the wheel is similar to the clicking of a mouse associated with a PC or any other input device that -registers the depression of a button. The thumbwheel in the preferred embodiment is placed vertically on the two-way paging device, and inclined at an angle, so that the user can easily move his or her thumb from the thumbwheel to the keyboard and back for performing functions and retrieving data forms, such as an email template or address book entry template, for data entry. Additionally, various software techniques can be implemented to enhance the thumb-typing user's experience in using the device of the instant invention. In the preferred embodiment, for example, the user can change the capitalization of a particular letter simply by keeping a key depressed for a particular length of time without an intermittent release being detected by the keyboard controller. These objects are solved in advantageous manner basically by applying the features laid down in the independent claim. Further enhancements are provided by the subclaims. The inclined thumbwheel is more easily accessible to either the thumb or index finger of a user's hand at the side edge of the device. Moreover, the easier accessibility allows the user to advantageously hold and operate the device in different ways, namely; a single-handed operation and a two-handed operation. Document US-A- 5 825 353 discloses a device according to the preamble of claim 1. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of a two-way, full-text, messaging device incorporating a keyboard and an auxiliary data entry device; Fig. 2 is a frontal view of an applicant's earlier hand-held device, as disclosed in document WO-A-00/30381, showing the shape and placement of the keys on the keyboard and the auxiliary input device; said document forming prior art under Article 54(3) EPC. Fig. 3 is a diagram of showing the shape, size and placement of the keys on the keyboard; Fig. 4 is a diagram of the control circuitry for the thumbwheel; Fig. 5 is a general flow diagram of the major steps of the keyboard-related aspect of the invention; Fig. 6 is a general block diagram of the major subsystems involved in the process described in Fig. 5; Fig. 7 is a general flow diagram of the major steps of the thumbwheel-related aspect of the invention; Fig. 8 is a general block diagram of the major subsystems involved in the process described in Fig. 7; Fig. 9 is a view similar to Fig. 2 showing a hand-held device according to the invention; Fig. 10 is a view taken on line 10-10 of Fig. 9; Fig. 11 is a view taken on line 11-11 of Fig. 9; Fig. 12 is a front view of parts of the device of Fig. 9; and Fig. 13 is a view taken on line 13-13 of Fig. 12. DETAILED DESCRIPTION OF THE DRAWINGS Referring now to the drawings, Fig. 1 is a block diagram of the major subsystems and elements comprising a palm-sized, mobile, two-way messaging device that preferably incorporates the invention. The messaging device includes a transmitter/receiver subsystem 100 connected to a DSP 200 for digital signal processing of the incoming and outgoing data transmissions, power supply and management subsystem 300, which supplies and manages power to the overall messaging device components, microprocessor 400, which is preferably an X86 architecture processor, that controls the operation of the messaging device, display 500, which is preferably a full graphic LCD, FLASH memory 600, RAM 700, serial output and port 800, keyboard 900, thumbwheel 1000 and thumbwheel control logic 1010. In its intended use, a message comes via a wireless data network, such as the Mobitex network or some other form of wireless data network, into subsystem 100, where it is demodulated via DSP 200 and decoded and presented to microprocessor 300 for display on display 500. To access the display of the message, the user may choose from functions listed under a menu presented as a result of user interaction with thumbwheel 1000. If the message is an email message, the user may chose to respond to the email by selecting "Reply" from a menu presented on the display through interaction via thumbwheel 1000 or via menu, selection from keyboard 900. In typing the reply, the user can use keyboard 900 to type full text message replies, or insert predetermined or "canned" response by using either a particular keystroke pattern or through pulling down predetermined text strings from a menu of items presented on display 500 through the use of thumbwheel 1000. When the reply to the message is composed, the user can initiate the sending of the message preferably by interaction through thumbwheel 1000, or alternatively, with less efficiency, through a combination of keyboard 900 keystrokes. When the microprocessor 300 receives an indication that the message is to be sent, it processes the message for transport and, by directing and communicating with transmitter/receiver subsystem 100, enables the reply message to be sent via the wireless communications data network to the intended recipient. Similar interaction through I/O devices keyboard 900 and thumbwheel 1000 can be used to initiate full-text messages or to forward messages to another party. Also, the keyboard 900 and thumbwheel 1000 can be used to permit data entry to an address book resident on the messaging device, or to an electronic calendar or log book, or any other function on the messaging device requiring data entry. Preferably, the thumbwheel is a thumbwheel with a push button SPST with quadrature signal outputs, such as that manufactured by Matsushita Electronic Components Co.'s, Ltd. as part number EVQWK2001. As describe in more detail below, the thumbwheel is preferably inclined at an angle relative to the body of the messaging device. Figure 2 is a front view of a messaging device 10 as disclosed in application WO-A-00/30381. The device 10 is shown in Fig. 2 in the ordinary operating/viewing position in which it would be held by and between the user's hands at the left and right side edges 12 and 14 of the device 10. The keyboard 900 is thus elongated horizontally across the front 16 of the device 10. Shown in Figure 2 are a plurality of letter keys 901, and specialized keys 902, 903, 904 and 905 and space bar 906. Also shown is the thumbwheel 1000 in its vertical orientation at the front side 16 of the device 10 in association with display 500 and keyboard 900. By "vertical" it is meant that the thumbwheel 1000 is oriented with its circular opposite sides 1002 and 1004 in vertical planes when the device 10 is viewed directly from the front in the ordinary operating/viewing position, as shown in Fig. 2. The axis 1005 of rotation then extends from left to right across the device 10 as a horizontal line parallel to the lengthwise direction of the keyboard 900. The thumbwheel 1000 can roll about the axis 1005 up toward the upper edge 20 of the device 10 or down toward the lower edge 22 of the device 10. In the preferred embodiment, 902 is the alt key, 903 is the cap key, 904 is the line feed (blank space) key and 905 is the backspace key. The keys of the keyboard preferably comprise a QWERTY-type keyboard. The keys are uniformly distributed across the device such that approximately half of the QWERTY keys are positioned on the left hand side of the device and the remaining half of the QWERTY keys are positioned on the right hand side of the device. This symmetrical placement of the keys further facilitates thumb typing since each thumb would be approximately equidistant from a respective half of the QWERTY keys. Fig. 3 is a view of a subset of the letter keys 901, showing the dimensions and relative position of the keys. Shown also is the point 950 that marks the center of keyboard 900, key dimensions 9'70, 971, 972 and 973, as well as angle 960 and the rho value 965, representing curvature of a letter key 901. In investigating optimal key placement on the keyboard, it was determined that the keys should be tilted at an angle 960 relative to vertical that facilitated easy typing using thumbs. As described above with reference to the thumbwheel 1000, "vertical" is the direction perpendicular to the lengthwise direction of the keyboard 900 when the device 10 is viewed in its ordinary operating/viewing position, as shown in Figs. 2 and 3. That angle is preferably positive 40 degrees relative to vertical for keys on the right side of the keyboard (where 950 is the center of the keyboard) and negative 40 degrees for the keys on the left side of the keyboard, although complementary angles ranging from 20 degrees to 70 degrees could also be used to accomplish the goal, albeit less optimally, of facilitating thumb typing. Also as shown on Figures 2 and 3, the keys are dispersed across keyboard 900 evenly so that there is sufficient space between the keys to decrease the opportunity for multiple keys being depressed while thumb typing. As discussed above, this uniform spacing also optimizes thumb typing by making half the keys accessible to each of the thumbs. Additionally, the keys are size appropriately given the footprint of the messaging device and the keyboard 900. In its preferred embodiment, the messaging device 10 measures across its face 64 mm by 89mm, which does not leave much room for keyboard 900 and display 500. In the preferred embodiment, keyboard 900 occupies over half of the face of the messaging device 10. The key shape and dimensions are also key components of the invention. In order to maximize the surface area of the key that a thumb would hit, the keys are preferably oval, although they could be other shapes, such as oblong, rectangular, etc., and have a rho 965 defining the curvature of the key of .414, although values may range higher or lower. Other rho values will lead to an acceptable, but not as optimal or aesthetically pleasing shape of keys 901. As to the key dimensions, the width 970 of the key 901 is 4.8 millimeters (971 representing the radius of half that value, 2.4 min) and the length (or height) 972 of the key 901 is 7 millimeters (973 representing the radius of half that value, 3.5 mm). Figure 4 is the logic circuitry 1010 associated with thumbwheel 1000. Thumbwheel 1000 outputs quadrature signals phase A 1021 and phase B 1022, which are processed by D flip-flops 1031 and 1032 to present signals 1041 W_UP and 1042 W_DN to microprocessor 400. Signals 1041 and 1042 represent, respectively, a user rolling the thumbwheel up and rolling the thumbwheel down. Preferably, another detectable input movement from the thumbwheel is desirable. One such input movement implementation would produce an additional input signal derived from pushing the thumbwheel toward the rear of the device. Hence, the thumbwheel of the present invention has preferably measurable rotatable and depressible input movements. Although the description that follows is specifically relating to a thumbwheel input device, it is to be understood that other suitable thumb-based auxiliary input devices having multiple input detectable movements are envisioned and well within the scope of the present invention. In a broad aspect of the invention, input via keys on the keyboard in conjunction with software residing in the flash memory 600 also facilitates the device's operation with the user's thumbs. In another broad aspect of the invention, input via the thumbwheel 1000 and a key on the keyboard in conjunction with software residing in the flash memory 600 further increases the ease, performance, and functionality of the device. These two broad aspects and their specific embodiments will now be described. Figure 5 is a general flow diagram of the major steps 2080 of the aforesaid keyboard related aspect of the invention. The first step 2000 is the input via depressing of a key having a predefined functional state in combination with another key on a keyboard. Depending on the combination of keys depressed, an altering functional state condition is then initiated at step 2020. The altering functional state condition is processed at step 2030. Next, the predefined functional state of the key is modified at 2040. In step 2050, the modified functional state is interpreted, and information is displayed accordingly at 2060. Figure 6 is a general block diagram of the major subsystems involved in the process described in figure 5. In the preferred embodiment of the device, when a key is depressed its predefined functional state 901 is given to the microprocessor 400 and then to the operating system 910. The operating system is responsible for accepting and dispatching to a specialized application 915 any user input and for providing services to control the display. The modifying step is achieved by a user interface software engine 930 processing the altering functional state condition 905 received from the operating system 910 via a specialized application 915. The modified functional state 905 is then passed to the operating system 910. The operating system then acts on the information in a predetermined manner so as to produce a display 906' representing the modified functional stage of the depressed key. In the preferred embodiment of the invention, there is a plurality of specialized applications 915 that manage different major features of the device. In such a preferred embodiment, the device would include the following specialized applications: a graphical ribbon application, message compose application, transport application, address book application, device options application, cryptographic application and database application. Other applications are also possible. The applications function directly with the operating system while the user interface engine, in general, provides further specialized functional services to these applications. The user interface engine comprises, in essence, a plurality of modules each module executing at least one different function, and either alone or in combination with another module, providing additional functionality to the applications that use its services. For instance, the user interface engine provides an input field that other applications such as the message compose application can use to display user input. Additionally, the user interface engine -receives, stores, manages and outputs data in a consistent manner to readily perform the various specific features to be described below. This scheme has proven to be very advantageous in view of the fact the operating system and the specialized applications may then be limited in their coding overhead and hence allows them to be very robust. Some of the unique functions will be described in more detail below. Keypad Aspect Generally The process logic detail is now described for any keypad event-resulting from user input. When any key on the device is depressed, a keypad event containing the parameters of the particular key is communicated to the microprocessor. In this instance, "any key" includes the thumbwheel in addition to the keys on the keyboard. Preferably, the parameters indicate that a keypad event has occurred and which key has been depressed. The microprocessor communicates the keypad event information to the operating system. The operating system takes this keypad event information and notifies a specialized application of the keypad event information. Since, preferably, the specialized application is blocked waiting for such a keypad event, the application is awakened, examines the keypad event information, and passes the keypad event information to the user interface engine for further processing. In essence, the keypad event information is passed to the user interface engine from the operating system via the specialized application: the specialized application in this case acts as a conduit for information flow. In other instances, the specialized application may pre-process the keypad event information before passing the same to the user interface engine. Based on the keypad event information provided to the user interface engine, the user interface engine then acts in a predetermined functional manner. The pre-determined functional manner preferably includes processing the keypad event information and updating stored display data so as to provide output instruction data. The user interface engine submits the output instruction data to the operating system. The operating system then acts according to the instructions in the instruction data, in most cases, by submitting for display a representation of the keypad event. The output instruction data would preferably include instructions as to where characters are to be displayed within the display and a character code reference value indicating which character should be displayed on the display. In other cases, a plurality of character code references may be provided for producing a display of a string of characters. The preferred character code reference is the standard Latin One Code Set. The operation, system would simply execute the instructions by mapping the appropriate characters from its internal bitmap of characters into the appropriate locations on the display. Auxiliary Input Device Aspect Figure 7 is a general flow diagram of the major steps of the auxiliary input device-related aspect of the invention. The process 2080' begins with a first input 2000' via the depressing of a key on a keyboard having a predefined functional state. Next, a second input 2010' from the auxiliary input device in conjunction with the depression of the key is provided. This combined effect of the first and second input initiates an altering functional state condition step 2020'. The altering functional state condition is processed 2030' and the predefined functional state of the key is modified 2040'. The modified functional state is then submitted 2050' for display. Additional modified functional stales are accomplished by receiving further inputs 2060' from the auxiliary input device while the depressed key is continued to be depressed. Figure 8 is a block diagram of the major subsystem involved in the process described in Figure 7. Figure 8 is similar to Figure 6 save for input from the auxiliary input device subsystem now contributing to the altering functional state condition. This aspect of the present invention has proven extremely useful in optimizing the functionality of the handheld device by operation of the device with only the user's thumbs. International Character-Scrolling Feature Turning now to a specific embodiment of the aforesaid auxiliary input device-related aspect of the invention, the user interface engine, the thumbwheel and at least one key on the keyboard may be utilized to insert international characters into a user input field such as the input field provided by the user interface engine. in general and preferably, the user first presses and holds down a key with the desired associated international characters while the thumbwheel is rolled. For each rolled input from the thumbwheel, a different international character associated with the depressed key is outputted on the display as a substitute for the previous character displayed. There is preferably a plurality of international characters or symbols associated with every key on the keyboard. When the desired character is displayed, the user releases the depressed key and the desired character remains on the display. Traditional means to select such international characters require a number of additional input steps or the availability of additional keys on the keyboard - requirements undesirable with the present handheld device. With reference to Figure 8, the international character-scrolling feature begins with the depression of a key on the keyboard 900 in conjunction with input from the thumbwheel 1010. The input from the thumbwheel is preferably accomplished by rolling the thumbwheel in either the up or down direction. The combined effect of inputs 901 from the key and the thumbwheel produce an altering functional state condition or a special keypad event 905. The parameters associated with this special keypad event include data descriptors that will indicate whether the thumbwheel was either rolled up or down and which key on the keyboard was depressed. The user interface engine 930 processes the special keypad event information by indexing through an array containing references to the international characters associated with the depressed key. The processing incrementally indexes up or down the array (depending on the thumbwheel scroll direction parameter), scares the current array position where the indexing stopped and retrieves the character reference code information stored in the current array position. Preferably, at each index increment, output instruction 905' is submitted to the operating system 910 for display on the display 500. The output instruction preferably includes the reference character code and the location of the character to be displayed on the display. Based on this output instruction, the operating system outputs at the appropriate location a bitmap image 906' for a given reference code from its internal bitmap. If the user chooses to see the next international character associated with the depressed key, the user 20 provides an additional rolling input while continuing to depress the key. This produces a second special keypad event thereby initiating the altering functional state process. Consequently, the above process is related. The user interface engine processes the keypad parameters from the second special keypad event by further indexing in the appropriate direction by one element from the previously store position within the array. Again, the user interface engine submits to the operating system sufficient information to display the next associated international character retrieved from the array. Further inputs from the thumbwheel would simply repeat the processing until all international characters associated with the depressed key are indexed through after which time the indexing returns to the top of the array. Although the above description refers to modifying the default character of the key depressed with an international character it is to be understood that the application of this aspect of the invention can equally be applied to modifying the functional state of the depressed key. For instance, a certain special keypad event defined by a certain key depressed in conjunction with input received from the thumbwheel could trigger a macro to be executed thereby altering the functional state of the depressed key. In this instance, a macro is a single instruction provided by the scrolling feature that expands automatically into a set of instructions to perform a particular task. In another instance, the altered functional state of a key could produce any one of the following: a larger font for the display; change the default font type; change subsequent text to bold or italics; cause certain text to blink in a received email transmission; and reverse image certain text. In another instance, the altered the functional state of a key could provide the user with "canned" or pre-set messages that could be readily be used for the purposes of quickly responding to a received message. In another instance, the context of the current active display area of the device may either add, or alternatively, suppress, associated altered states. For example, when a user is in the reply-to-message screen display, depression of the letter "M" with the scrolling input from the thumbwheel would produce an ellipsis or the display as the altered functional state. In contrast, the same key and thumbwheel sequence would instead result in a macro sequence to execute in the options screen display. Capitalization Turning to another software-related feature that aids in the device 10 being optimally used for thumb typing is a capitalization feature implemented via software. If a user depresses a key 901, the operating system detects a key down event. If the key is released after a period of time, the operating system detects a key up event. If after a key down event, a certain period of time elapses before a key up event is detected, the operating system determines that a key repeat event has occurred representing a situation where a user has continued to depress a key without releasing it. A key repeat event is then treated by application software residing in either flash 600 as an event that requests the capitalization of the key previously depressed. This feature disables the key repeat feature and substitutes instead a capitalization feature based on the length of a key press. The timing of the key scanning to determine whether a key has been released can be set to permit a slower keyboard response or a faster keyboard response, depending upon user experience of preferences. Although the capitalization function preferably works only to change the state of a letter to a capital, it alternatively could operate to change a capital letter to a lower case letter. The actual display image is changed by the operating system mapping appropriate bitmapped characters as instructed by the user inter-race engine. As alternatively implemented, the continued depressing without release of a letter key could result in a key oscillating between upper case and lower case, depending on the length of time the key is depressed. Automatic Formatting Features Now follows a description of another software-related aspect of the present invention that is implemented to specifically minimize the number of keystrokes required as input by the user in using the device. In some cases, two software engines handle this software-related aspect, namely the user interface engine and an autotext engine. The user interface engine by using the above mentioned functional modules facilitates presenting common interface elements such as menus, lists and textboxes. The autotext engine is another software application that extends the user interface engine and makes use of a database to perform text insertions and other related activities. The autotext engine is preferably implemented as a user interface engine element (such as a choice box or list or standard edit element). This arrangement of being a user interface engine element allows specialized applications to incorporate a buffer that performs autotext substitution as they would a standard input field. However, because of the substantive amount of code associated with the autotext engine and the engine's need to be configured with a list of replacement strings, the engine is preferably implemented as a separate module. One specific advantage that flows from the specific embodiments of the engines as described herein is that there is a substantial reduction of input formatting b)/ the user, since automatic formatting can be triggered by a small number of keystrokes, or by predefined key sequences entered one key at a time. Autopunctuation Another embodiment of the user interface engine is the "autopunctuation" feature of the device. If the user enters one of a number of predefined character sequences, the user interface engine will automatically insert a period (full stop) in the user input field. In this manner the user does not need to use the alt key to enter a period. An example of one such character sequence would be <character><space><space>, after such character sequence the user interface engine will instruct the operating system to replace the first <space> with a full stop and to capitalize the next character entered by tie user. For clarity, in this description: <space> represents a blank space user input; <character> represents any character user input; and, <period> represents user input of the character ".". Because of bandwidth considerations when the device transmits data to the wireless network, it is preferable that only one space, instead of two, is present between the period and the first character of the next sentence. Alternatively implemented, instead of replacing the first <space> in the aforesaid character sequence, a period is inserted after the <character> and the next character entered by the user is capitalized thereby producing two spaces between the period and the next character. In another embodiment of this autopunctuation feature, if the user enters one of a number of predefined character sequences that is used as a capitalization signal, such as <period><space>, the user interface engine will- process the event and capitalize the next character entered by the user. Alternatively implemented, the predefined character sequence could be <period><space><space>. To further enhance this feature, autopunctuation can be undone easily, as described bellow. Character Substitution Another embodiment of the user interface engine is the "intelligent character substitution" feature of the device. In fields designed for certain types of input, the user interface engine will automatically substitute appropriate characters if inappropriate characters are entered. For example, in a field designed to hold an email address, a method of composing an email address is provided by the character substitution feature of the present invention for email address tacking on the general form <characters>@<characters><characters> In the instance, it is assumed blank spaces are unacceptable characters for an email address field. The method begins with the user interface engine receiving from user input a character set representing a certain portion of the email address. If a first delimiter trigger signal, preferably a first blank space, is received froze the user input, the engine confirms that no at-sign character ("@") has been entered in the already received character set. If no, the engine substitutes the first delimiter trigger signal with a first email delimiter, preferably the at-sign character. If yes, the engine substitutes the first delimiter with a second email delimiter, preferably a period character. For any subsequent blank space input received, the engine substitutes preferably another period character. Another example of the character substitution feature occurs when entering data in a field designed to hold numeric data. If the user presses an alphabetic key whose corresponding alt character is a numeral, the user interface engine will recognize this and instruct the operating system to automatically insert the numeral into the field, even if the user had not pressed the alt key. Phrase substitution The first embodiment of the autotext engine provides an application service for error correction and phrase substitution. By entering pairs of strings into an autotext database, the user can associate "original strings" with "replacement strings". The autotext engine also defines an autotext input meld that applications may use to access the functionality of the autotext engine. The autotext input field may be of variable length typically up to the length of an email message. As the user is entering data into an autotext input field, each time a space is entered, the autotext engine will search backwards from the current cursor position to extract the last word from the autotext input field. The autotext engine will then efficiently search through the autotext database for an original string that exactly matches the last word. If such a string is found, the last word in the autotext input field will automatically be replaced with the corresponding replacement string from the database. This phrase substitution feature could be used to correct common typing errors (for example, "the" could be automatically converted to "the") or to facilitate the entry of common phrases (for example, "fyi" could be automatically converted to "for your information"). This feature could also automatically insert a regularly used international character or symbol in a message thereby reducing the instances when the international character-scrolling feature needs to be used. In this latter scenario, the original string could be " jr" and the associated replacement string could be "Jürgen". The international character would be entered as described before for the international character scrolling feature. The phrase substitution feature could advantageously be used or electronic signatures to be appended to the end of an email message composed by the user on the device. Advantageously, a variety of different electronic signatures can be stored in the autotext database. In this manner, the user may chose the appropriate signature from his set of signatures for the particular context of the email message about to be transmitted. For instance, in one case the user in an informal message may sign off "Take Care & Cheers" with the original string "tc" while in a legally sensitive message the same user may sign off "Solicitor-Client Privileged Communication" with the original string "scp". In this manner, there is no need for any electronic signature field insertion at the gateway of the wireless network and the user may amend and modify his electronic signatures without network interaction. In the preferred embodiment, the replacement string is case sensitive in that any preset capitalization in the replacement string appears when displayed and cannot be forced into a lower case by the case status of the original string. However, if the first character of the original string is upper case, then preferably the first character of the replacement is forced into an upper case as well. In another embodiment, the autotext engine preferably includes a macro functionality that allows a user to specify special character codes in the replacement string that will be treated specially when the replacement string is entered into the autotext engine. These codes are preferably divided into two distinct sets: control character codes and dynamic data codes. In the control character code situation, some character sequences in the replacement string will be converted to control characters when the original string is replaced by the substitution feature. Examples of these sequences would be "%b" and "%B" which convert to a backspace character and a delete character respectively. Therefore, for an open bracket "(" to be displayed, the original string could be defined as "br" and the replacement string as "(%3". Likewise, for a close bracket ")", the original string could be "rb" and the replacement string " %b)". In the dynamic data code situation, certain character sequences in the replacement string will be converted to dynamic data when the original string is replaced. Examples of these sequences would be " %t" and "%d" wherein the codes are converted into the current time and current date respectively. Like the intelligent character substitution feature, autotext replacement can be undone easily, as described below. Undo Feature As mentioned above, all automatic formatting features of the user interface and autotext engines such as autocapitalization, autopunctuation and phrase substitution may be overridden by what is referred to the "easy undo" feature herein. The automatic formatting features have undo capabilities that are triggered by backspacing over a significant character. As such, if the user backspaces over one of these significant characters, the formatted data is replaced with the raw data as it existed prior to automatic formatting. For instance, the user may type "fyi" into an autotext input field such one implemented in the message compose screen. If then the user types <space> and "fyi" is in the autotext database, the autotext engine will replace "fyi" with "for your information" in the input field as earlier described in phrase substitution. If the user does not desire this substitution, the user can preferably backspace over the last character of the displayed string "for your information". Consequently, the autotext engine will restore the contents of the input field to "fyi" as they were prior to the phrase substitution formatting operation. In this instance, the significant character was the last character "n" in the phrase "for your information". If the user types a sequence of characters that results in an automatic formatting operation, and backspaces to activate the easy undo feature, the appropriate engine will retain the fact that an undo operation took place at that significant character position. Consequently, if the user retypes the same sequence of characters, then the automatic formatting will not be applied for a second time. This allows the user to suppress an automatic formatting feature when desired. For example the user may suppress the autopunctuation feature from inserting a fill stop automatically. As described above, if the user types <space><space> in an input field, a full stop will be inserted by the user interface engine for the first <space>. If the user does not desire a full stop in that location, the user would then backspace over the full stop character and retype <space><space>. The user interface engine will not replace the full stop as it did the first time. Navigation Aids The device software provides a number of navigation aids for most user input tasks. The navigation aids maximize the likelihood that there will be a graphical interface that the user finds intuitive. The aids allow most input tasks to be performed completely using either the keyboard or the thumbwheel. The navigation aids are preferably incorporated into choice boxes and menus of the device software. A choice box is graphical interface wherein only one selection is displayed at one tune. The other possible selections are displayed one at a time by a navigation means. A menu, on the other hand, is a graphical interface wherein all selections for a particular input are displayed at one time. There are other instances where the navigation aids may be used and such applications are within the scope of the invention. As a first aid, the user may cycle through all available options in a choice box by pressing the space bar. For instance, in a box containing the months of the year, pressing the space bar repeatedly will change the selection from "January' to "February" to "arch", etc. A keypad event, defined by the location of the cursor being in a choice box and the depression of the space bar, would trigger the altering functional state process. As a result, the user interface engine would process the event by indexing though a choice array associated with the choice box and provide to the operating system instructions to display the next available option. As a second aid, the user may also cycle through the data by pressing a control key and rolling the thumbwheel. The control key is preferably the "alt" key 902. Other control keys are possible and within the scope of the invention. This navigation method allows more flexibility for the user because the user can cycle through data in either direction in the choice array. This navigation is similar to the aforesaid international character-scrolling embodiment. instead of international characters associated with the key depressed, the software displays a list of options. Preferably, in the downward scrolling direction, the user interface engine will move through the list of choices in the same direction as it would have if the space bar had been pressed. In the upward scrolling direction, the user interface engine will move backwards through the list of choices (e.g. "March" to "February" to "January", etc.). Hence, the alt Key's defined function of producing for 2 0 display an alternate character for a key has been altered by the keypad event triggered by the thumbwheel and the alt key inputs. In the case of a menu display, the user can move the cursor between items in the menu by depressing a character key. If a menu item exists beginning with the character, the cursor will be positioned automatically over the first item in the menu beginning with that character. If there are multiple menu items beginning with that character, pressing the key repeatedly will cycle it through those menu items. When the cursor is positioned over the desired item, the user can select it by pressing the Enter key. If the user decides that he does not want to select any menu item, but instead return to his previous position in the application, he can again select the "Hide Menu" item or press the backspace key, and the menu will be dismissed. Another navigation aid is available when the cursor is positioned over a specific choice box that changes options by allowing the user to cycle through the options in the choice box by only rolling up or down without depressing the alt key. Similarly, when a menu is displayed, the user can move the cursor up or down in the menu by rolling the thumbwheel, respectively, up or down. When the cursor is positioned over the desired menu item, the user can select it by pressing the roller wheel toward the back of the device (called clicking the wheel). If the user decides that he does not want to select any menu item, but instead desires to return to his previous position in the application, preferably, he can select the "Hide Menu" item, and the menu will be dismissed. Preferably, the user can also dismiss the menu by pressing the backspace key. Another navigation aid utilizes the uniqueness of the first character of each choice listed in a choice box. If the user depresses a key and there exists a possible choice beginning with the character represented by the key, that choice will automatically be selected without any further input required by the user. if there are multiple choices beginning with that letter, pressing the key repeatedly will cycle through the available choices. For example, in a month choice box, pressing "j" will first select "January", then "June" and then "July". Alternatively implemented, rapid keystrokes could result in a narrower search. For instance, rapidly pressing "ju" would result in "June" and then "July". Thumbwheel Orientation As described above with reference to Fig. 2, the communications device 10 has a vertical thumbwheel 1000. As shown in Figs. 9-12, the embodiment of the invention comprises a device 4000 with an inclined thumbwheel 4002. Like the device 10, the device 4000 is a hand-held communications device which, as viewed directly from the front in Fig. 9, has an ordinary operating/viewing position in which it is normally held by and between the user's left and right hands at the left and right side edges 4004 and 4006 of the device 4000. The keyboard 4008 is thus elongated horizontally across the front 4010 of the device 4000 at a location between the display 4012 and the lower edge 4014 of the device 4000. Further like the device 10, the device 4000 includes a microprocessor with a software application for providing a plurality of thumb-based operational features upon certain inputs from the keyboard 4008 and the thumbwheel 4002, as described above. The housing 4020 of the device 4000 has front and rear sections 4022 and 4024. The thumbwheel 4002 projects outward through a slot-shaped opening 4026 in the front section 4022 of the housing 4020. The opening 4026 interrupts the corner of the housing 4020 between the front 4010 and the right side edge 4006 of the device 4000, and is elongated lengthwise of the right side edge 4006. The opening 4026 is thus configured to provide clearance for the thumbwheel 4002 to project from both the front 4010 and the right side edge 4006 of the device 4000 in its inclined orientation. This places the peripheral surface 4030 of the thumbwheel 4002 in an orientation in which it is clearly visible from directly in front of the device 4000 when a user holds the device 4000 in its ordinary operating/viewing position, as shown in Fig. 9. Importantly, the peripheral surface 4030 of the thumbwheel 4002 is easily accessible, i.e., reachable, by the right thumb at the front 4010 of the device and also by the right index finger when the device is held, preferably, in the palms of two hands. Also, the peripheral surface 4030 of the thumbwheel 4002 is accessible by the right thumb at, for instance, the right side edge 4006 of the device when the device is held in one hand. The present invention provides optimum positioning between a vertically-aligned thumbwheel and horizontally-aligned thumbwheel; thereby, allowing the user to operate the thumbwheel in either a single-hand operation or two-handed operation. As best shown in Fig. 11, the thumbwheel 4002 is inclined at a specified angle A from the vertical orientation of the thumbwheel 1000 (Fig. 2). The angle A is preferably 70 degrees. With its axis 4031 of rotation in this orientation, the thumbwheel 4002 can roll up toward the upper end 4032 of the device 4000, and down toward the lower end 4014, in a manner similar to the up and down rolling movement of the thumbwheel 1000. However, the rolling movement of the thumbwheel 4002 further has directional components extending across the front 4010 of the device 4000 between the opposite side edges 4004 and 4006 as a result of its inclination from the vertical orientation of the thumbwheel 1000. This enhances the ability of the user to manipulate the thumbwheel 4002 with either the thumb or index finger of the right hand. A structure for supporting the thumbwheel 4002 within the housing 4020 is shown in Figs. 12 and 13. An important advantage of the inclined thumbwheel 4002 is that thickness of the housing (i.e., the distance between the front surface 4010 and the rear surface 4011) is minimized; thereby, allowing the overall dimensions of the device 4000 to be sleeker than if the thumbwheel 4026 were vertically positioned. The supporting structure includes a rollerwheel switch assembly 5000 and a printed circuit board (PCB) 5002. These parts 5000 and 5002 are configured to interconnect the thumbwheel 4002 operatively with the main PCB 5004 (shown schematically in Fig. 11). The PCB 5002 has first and second portions 5006 and 5008. The two portions 5006 and 5008 of the PCB 5002 are inclined relative to each other at a specified angle B which is complementary to the angle A of Fig. 11. In the preferred embodiment, the angle B is 20 degrees. The rollerwheel switch assembly 5000 supports the thumbwheel 4002 on the first portion 5006 of the PCB 5002 for rotation about the axis 4031, as indicated by the R arrows 4034, and also for clicking input movement in a direction perpendicular to the axis 4031, as indicated by the C arrows 4033 shown in Fig. 12. An additional advantage of the present invention is the ability to execute the clicking input movement in a plurality of angular positions of the user's thumb or index finger as illustrated by the input arrows F 4032 and associated angles D, D', and D" in Fig. 13. All that is required to engage the rollerwheel switch assembly 5000 to acknowledge a clicking input movement is sufficient force in the direction perpendicular to the axis 4031. In this manner, some of the additional advantages described above relating to easy access via a single-hand or a dual-hand mode operation of the device 4000 is further enhanced. The plurality of angular positions by which the user may engage the thumbwheel 4002 for input allows for greater freedom and ergonomic flexibility for the user. Such freedom and ergonomic flexibility is not found in traditional handheld devices having a thumbwheel. An escape switch 5010 also is mounted on the first portion 5006 of the PCB 5002, and is acuatable by a button 5012 (Fig. 9) in a known manner. A connector 5014 is mounted on the second portion 5008 of the thumbwheel PCB 5002 to connect the second portion 5008 directly with the main PCB 5004 in an orientation parallel to the main PCB 5004. The first portion 5006 of the thumbwheel PCB 5002 then supports the thumbwheel 4002 in the inclined orientation described above. Having described in detail the preferred embodiments of the present invention, including the preferred methods of operation, it is to be understood that the preferred embodiments are presented only by way of example and are not meant to limit the scope of the present invention that is defined by the following claims.

Claims: A handheld two-way wireless communications device optimally configured for use with the thumbs of a user comprising: a) a keyboard at the front of the communications device; b) an auxiliary input device positioned in relative proximity to the keyboard, c) a display positioned at the front of the communications device adjacent to the keyboard; d) a microprocessor to control the operation of the communications device; and, e) a software application residing in the communications device for providing a plurality of thumb-based operational features, the software application initiating certain operational features upon certain inputs from the keyboard or the auxiliary input device; characterized in f) the auxiliary input device comprising a thumbwheel in an inclined orientation. The communications device of claim 1, wherein the thumbwheel is inclined between the front and a side edge of the communications device so as to be accessible to either the thumb or index finger of a user's hand at a variety of angular positions. The communications device as claimed in one of the preceding claims, wherein the thumbwheel projects outward through a slot-shaped opening which is located partially at the front of the communications device and partially at the side edge of the communications device. The communications device as claimed in one of the preceding claims, wherein the communications device further comprises a main PCB, a thumbwheel PCB operatively connected with the main PCB, and a rollerwheel switch assembly supporting the thumbwheel on a portion of the thumbwheel PCB which is inclined relative to the main PCB. The communications device as claimed in claim 4, wherein the communications device further comprises a connector interconnecting the main PCB with a portion of the thumbwheel PCB which is parallel to the main PCB. The communications device as claimed in one of the preceding claims, wherein the thumbwheel has multiple depressible and rotatable detectable input movements. The communications device as claimed in one of the preceding claims, wherein the communications device is a two-way pager. The communications device as claimed in one of the preceding claims, wherein the communications device is a personal digital assistant. The communications device as claimed in one of the preceding claims, wherein the keyboard is a QWERTY-type keyboard. The communications device as claimed in one of the preceding claims, wherein the keys of the keyboard are oblong shaped. The communications device as claimed in one of the preceding claims, wherein the keys of the keyboard are oval shaped. The communications device as claimed in one of the preceding claims, wherein the keys are tilted at an angle with respect to a vertical reference through the device. The communications device as claimed in one of the preceding claims, wherein the keys are grouped into two sets, a first set located on the left side of the keyboard and tilted at a negative angle with respect to the vertical reference and a second set located on the right side of the keyboard and tilted at a positive angle with respect to the vertical reference. The communications device as claimed in one of the preceding claims, wherein the hand-held device is a cellular telephone. The communications device as claimed in one of the preceding claims, wherein the auxiliary input device located on a sidewall of the housing adjacent to the display. The communications device as claimed in one of the preceding claims, further comprising a plurality of additional functional keys. The communications device as claimed in claim 16, wherein the additional functional keys are located on the face of the housing below the QWERTY-style keyboard. The communications device as claimed in one of the preceding claims, wherein the display is in about rectangular. The communications device as claimed in one of the preceding claims, wherein the display is about square. The communications device as claimed in one of the preceding claims, wherein the housing is black.

Inventors: BROWN MICHAEL, DUNK CRAIG, GRIFFIN JASON T, HOLMES JOHN A, LANG JEROME, LAZARIDIS MIHAL, LITTLE HERB A, MAJOR HARRY R, BROWN, MICHAEL, DUNK, CRAIG, GRIFFIN, JASON T., HOLMES, JOHN A., LANG, JEROME, LAZARIDIS, MIHAL, LITTLE, HERB A., MAJOR, HARRY R., Lang, Jérôme
Applicants: RES IN MOTION LTD, RESEARCH IN MOTION LIMITED
Application year: 2001
Main classification: G06F3
IPC codes: G06F3