# Patent

## Title
Navigating through menus of a handheld computer

## Abstract

A technique to navigate through one or more menus of a handheld computer is disclosed. In one embodiment, the technique uses a handheld device having a first button to cause a cursor to navigate through a plurality of menu items and to highlight a desired menu item. The device also has a second button to cause the cursor to navigate through a plurality of menus when the cursor is highlighting one of the menus or a first menu item, and to cause the cursor to highlight a previous menu item when the cursor is highlighting a menu item other than the first menu item.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 11/192,582, entitled “Navigating Through Menus of a Handheld Computer,” which was filed on Jul. 28, 2005, and which claims priority to U.S. patent application Ser. No. 09/976,333, entitled “Navigating Through A Menu of a Handheld Computer Using a Keyboard,” which was filed on Oct. 12, 2001, and further claims the benefit of U.S. Provisional Application No. 60/297,817, entitled “Handheld Device”, filed on Jun. 11, 2001, the disclosures of each of which are incorporated herein by reference in their entirety.


FIELD
The invention is related to the field of handheld computers computer devices, and more particularly, to a technique for navigating through menus of a handheld computer.
BACKGROUND
Handheld computers are becoming ubiquitous. These handheld devices are also referred to as personal digital assistants (PDA), pocket personal computers (pocket PC), or palmtop computers. A handheld computer may be small enough to fit into a purse or a pocket, and may weigh less than one pound. As a result, the handheld computer is very portable.
A person can interact with the handheld computer using a stylus, or pen, to touch a portion of the display screen. Electronic sensors in a display screen of the handheld computer detect the point of contact between the stylus and the screen. The user can input information into the handheld computer by tracing the shape of a character on the display screen. The user can also cause the handheld computer to perform a function by touching the name of the function when the name is displayed on the screen.
However, a conventional desktop computer typically moves a cursor through a series of menus by receiving user input from keyboard keys, such as arrow keys for example, or from a mouse. As a result, using a stylus to navigate through menus may be difficult for an inexperienced user, and even awkward for a user with some experience. Using keys to receive user input may be more convenient, however, traditional key-based solutions require four or more keys to move a cursor. This large number of keys dedicated to cursor movement may be acceptable in conventional desktop keyboards because the size of the keyboard is typically large enough to accommodate this large number of keys. However, in a handheld computer, reducing the number of keys on the keyboard is important because of the comparatively small amount of space available for keyboard keys. Thus, a need exists to reduce the amount of keys required to move a cursor through menus and menu items of a handheld computer.
SUMMARY
A technique to navigate through one or more menus of a handheld computer is disclosed. In one embodiment, the technique uses a handheld device having a first button to cause a cursor to navigate through a plurality of menu items and to highlight a desired menu item. The device also has a second button to cause the cursor to navigate through a plurality of menus when the cursor is highlighting one of the menus or a first menu item, and to cause the cursor to highlight a previous menu item when the cursor is highlighting a menu item other than the first menu item.



BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements, and in which:
FIGS. 1A and 1B show an embodiment of a handheld computer that has navigation keys to allow a user to navigate through menus and functions.
FIG. 2 shows an embodiment of a screen shot of the handheld computer's display screen including menus and menu items that may be accessed, navigated, and executed by a user with the keyboard or jog rocker.
FIG. 3 shows an embodiment of a handheld computer screen shot displaying a contacts menu that can be navigated by using the keyboard of a handheld computer.
FIG. 4 shows an embodiment of a handheld computer screen shot displaying telephone dial pad that allows a user to dial a telephone number by using the keyboard of a handheld computer.
FIG. 5 shows an embodiment of a handheld computer screen shot showing a call history menu that can be navigated by using the keyboard of a handheld computer.
FIGS. 6A, 6B, and 6C show embodiments of screen shots showing a speed dial menu that can be navigated by using the keyboard of a handheld computer.
FIG. 7 shows an embodiment of a handheld computer screen shot displaying a call screening menu that can be navigated by using the keyboard of a handheld computer.



DETAILED DESCRIPTION
Navigating through a menu of a handheld computer using a keyboard is disclosed. The handheld computer may include multiple keyboard keys. Menus, such as a Palm operating system (Palm OS) menu for example, along with their corresponding menu items, are entirely keyboard navigable on the handheld computer. One key is used to place the handheld device in menu mode and to display a list of one or more menus. Another key can be used to navigate through the list of menus and to select a desired menu. Similarly, the items of a given menu can be navigated and selected using a third key. A selected item can be executed using one or more execution keys. Key based navigation allows the user to both input data and move through applications using only a keyboard, instead of having to switch between two modes of entry. Thus, a user who is already using the keyboard is relieved from the inconvenience of pulling out a stylus to execute menu items.
Because navigation, selection and execution of a menu item of the handheld computer can be performed with the keyboard, representations of computer functions and commands can be displayed as menu items with corresponding keyboard shortcuts. The functions or commands corresponding to the menu items may be implemented as software code in one or more software application programs. These programs may be stored in a computer readable memory of the handheld device and executed by a processor of the handheld device.
An example of a handheld computer having a keyboard that can be used to navigate through a menu is shown in FIGS. 1A and 1B. The handheld computer 100 includes a lid 105 and a body 110. The lid 105 may be attached to the body 110 using one or more hinges, so that the lid can operate as a flip-lid to cover and uncover the top of the body 110 of the handheld device 100. Lid 105, as shown in FIGS. 1A and 1B, is in an open position. The lid 105 may have a transparent portion 115, so that a user can view the display screen even if the lid is in a closed position. The lid may also have a speaker 120, which may be used by the device 100 in a wireless telephone application for example. As shown in FIG. 1B, the device includes an antenna 150 for the wireless telephone application.
The inside of the body 110 of handheld computer 100 contains computer hardware and electronic circuits, which may include a microprocessor for example. The hardware circuitry may also have a radio module, including a transmitter and receiver, so that the device can perform one or more radio communication functions, such as a cellular telephone function for example. The handheld computer also contains computer readable memory storing software such as application programs or digital data.
The hardware and the software interact to perform computer or communication functions. For example, the device may perform one of the functions by using the microprocessor to execute one of the stored computer programs. These functions may include personal information functions such as storing and retrieving address lists or calendars, and computing functions such as performing as a calculator or as an electronic word processor or spreadsheet. These functions may also include wireless communication functions such as telephone, internet, and electronic mail (email) applications.
The body 110 of handheld device 100 includes display screen 155, keyboard 160, and jog rocker 165. The keyboard 160 may have alphabet keys, numeric keys, or a combination of alpha-numeric keys. The keys of keyboard 160 may be arranged in any desired format. In one embodiment, keyboard 160 includes alpha-numeric keys arranged in a QWERTY format. The keyboard keys may also include dedicated hardware application buttons 170, 171, 172, and 173. Each application button, when pressed, causes the device to execute a corresponding application program.
For example, button 170 may cause a phone application to be executed so that the device functions as a cellular telephone. Button 171 may cause a calendar application to be executed so that a user can keep track of scheduled events and appointments. Button 172 may cause an internet browser application to be executed so that the device can be used to retrieve information from the internet. Button 173 may cause an electronic mail application to be executed so that the user can receive and send electronic mail using the handheld device. When a dedicated hardware application button is pressed, the device executes the corresponding software application program, and display screen shows a view of the current application program that is being executed by the device.
Keyboard 160 may also include additional buttons, such as menu button 180, and scroll buttons 181 and 182, for example. When menu button 180 is pressed, the device enters menu mode, which allows a user to navigate through menus for the current application by using keyboard 160 or jog rocker 165. When the device is in menu mode, one or more menus are displayed on screen 155. When a given menu is highlighted, a list of items associated with the menu may be displayed. Each menu item may be a command or a function that can be performed by the handheld device. The user can navigate through the displayed menus and menu items, and execute a desired menu item, using the buttons on the handheld device.
Pressing menu key 180 causes the device to enter menu mode and to display one or more menus in a menu bar. For example, FIG. 2 shows an example of a screen shot of display screen 155 when the device is in menu mode. The screen displays menu bar 210. The menu bar includes one or more menus 215-1 to 215-D. In this example, the menus include 215-1, 215-2, and 215-D. Pressing and releasing the menu key a second time may dismiss the displayed menus. Alternatively, another key, such as a backspace key for example, may dismiss the displayed menu.
A cursor 220 can be moved to a given menu 215-1 to 215-D of menu bar 210 using a key, for example, scroll-up button 181. Pressing button 181 displays the next menu, and the corresponding menu items for the next menu. For example, cursor 220 may initially highlight one of the menus, such as record menu 215-1. Pressing button 181 when the cursor is highlighting a top menu item, or a menu, causes the cursor to move to another menu. As the cursor 220 moves from one menu, such as menu 215-1 for example, to another menu, such as adjacent menu 215-2 for example, menu 215-1 becomes unhighlighted and menu 215-2 becomes highlighted. Pressing button 181 from the last menu 215-n may scroll the cursor, or highlight, back to the first menu 215-1. Holding button 181 may repeat this action of moving the cursor to the next menu at a given repeat rate. Thus, when the cursor is highlighting a menu name, pressing button 181 causes the cursor 220 to selectively highlight the next menu 215 in menu bar 210.
Each menu has a set 230 of one or more items associated with the menu. When a menu is highlighted, the set of items 230 associated with the highlighted menu, are displayed. For example, when the record menu is highlighted, record menu items 240-1 to 240-N are displayed.
Another key, such as scroll-down button 182 for example, can be used to selectively highlight one of the items in the list of menu items by moving cursor 220 to a given item when pressed one or more times. If no menu item is highlighted, such as when the menu list is first displayed, then the first press of button 182 may highlight the first menu item 240-1 of the displayed set of menu items 230. Pressing button 182 again causes the cursor to move to another item in the list. Holding button 182 may repeat this action at a given repeat rate. In one embodiment, when the cursor is highlighting the last menu item, pressing button 182 causes the cursor to highlight the first item in the list. In another embodiment, when the cursor is highlighting the last item in the list, pressing button 182 causes the cursor to highlight the next menu and causes the display to show the menu items that correspond to the next menu.
For example, the user can sequentially move the cursor from the first item in the list, which is “new appointment” in this example, to the last item in the list which is “undelete from archives” in this example, by pressing button 182 several times, or by pressing and holding button 182 until the cursor reaches the desired item. When the cursor reaches the last item, pressing button 182 may cause the cursor to return to the first item in the displayed list. Thus, a user can move the highlight from item to item using button 182 to select different items without having to touch the screen.
Furthermore, the user may move the cursor through the list of menu items using button 181. For example, button 181 can be used to scroll the cursor through the items in an opposite direction to that of button 182. For example, if the cursor is highlighting the last item in the list, the button 181 can move the cursor to the previous item. The button 181 can move the cursor in this reverse direction sequentially through the items back to the first item in the list. When the cursor is highlighting the first item, executing button 181 can cause the cursor to move and highlight another menu in the menu bar as discussed above.
One or more of the keys may be used to execute a highlighted item. For example, when an item is highlighted by the cursor, an execution button such as menu button 180 for example can be used to execute the highlighted item. Also, another key such as a space key, or a return key for example, on keyboard 160 may execute the highlighted menu item when pressed.
In one embodiment, when any menu is displayed, pressing a short cut letter for a displayed menu item may execute the corresponding menu item. For example, when the record menu is displayed, pressing the B key on keyboard 160 causes the device to perform the beam item function. At any time, whether or not a menu is displayed, pressing the menu key and pressing one of the short cut letters may execute the corresponding menu item. Thus, a button or a sequence of buttons on keyboard 160 may be associated with a given menu item. The given item may be executed by pressing the button or sequence of buttons associated with the item, regardless of whether the item is highlighted or displayed. For example, if the record menu is not displayed, pressing command key 180 then pressing letter E causes the “purge items” command, which is listed in the record menu, to be performed. Whenever a menu command is executed, the displayed menu may be dismissed.
The rocker 165 can be used to move the cursor 220 through the menu bar 210 and through the list of items 230. For example, rotating, or moving, the rocker in a first direction, such as “up,” can cause the cursor to scroll through the menus 215-1 to 215-D in the menu bar, to permit a user to highlight a desired menu. Thus, when the cursor is highlighting the first item, moving the rocker in the first direction may cause the cursor to highlight another menu, such as the edit menu. The items 230 associated with the highlighted menu may be displayed as discussed above.
Moving the jog rocker 165 in a second direction, such as “down,” can cause the cursor to scroll through the displayed menu items to enable a user to highlight a desired item. For example, moving the rocker in the second direction can cause the cursor to scroll sequentially from the first item 240-1, “new appointment” to a subsequent item, such as “beam item” 240-5 in the list of items. When the cursor is highlighting the last item 240-n, moving the rocker in the second direction can cause the cursor to highlight the first item 240-1.
The user may also use the rocker to move the cursor through the menu items in the opposite direction. For example, when the cursor is highlighting an item other than the first item in the list, moving the rocker in the first direction causes the cursor to move to the previous item in the list. Thus, if the cursor is highlighting item 240-3, moving the rocker in the first direction causes the cursor to move to item 240-2.
When the location of cursor 220 overlaps the position of an item, the overlapping item is highlighted by the cursor. A highlighted item can be executed by using the rocker. For example, moving the rocker in a third direction, such as “pressing” the rocker for example, may cause the device to execute a highlighted item.
In an embodiment as shown in FIG. 3, one or more of the applications may be related to telephone functions or information. For example, if a telephone application is to be executed, pressing application key associated with the telephone application will cause the device to execute the telephone application. The telephone application may have multiple views, or sub-applications, which may be represented by icons in an icon row. Icon row 310 may include a speed dial icon 311, a contacts icon 312, a dial pad icon 313, and a call history icon 314. The icon row may also include a call screening icon 315, which has call screening functions and commands. In one embodiment, the user may toggle through the views of the application corresponding to the icons in icon row 310 by using a key such as application button 170 as shown in FIG. 1A for example. Therefore, each time the application button is pressed, another view of the telephone application is displayed.
As shown in FIG. 3, a cursor 320 is highlighting the contacts icon 312 on icon row 310, and the device displays the contacts view display screen 155. Menu items 330-1 to 330-N in the contacts view include the names of one or more contacts, along with the phone numbers for each contact. A user may scroll through the list of items in the contacts menu by using keys, such as buttons 181 and 182 or rocker 165 for example, to move menu item cursor 340. When a phone number is highlighted by menu item cursor 340, the user may dial the highlighted phone number by pressing one or more execution keys.
For example, pressing button 182 causes the menu item cursor 340 to move from the first item 330-1 to the second item, 330-2. When the menu item cursor 340 is highlighting item 330-2, pressing button 182 causes the menu item cursor 340 to move to item 330-3, and pressing button 181 causes the menu item cursor 340 to move back to item 330-1. In one embodiment, if the menu item cursor 340 is highlighting the first item in the list, item 330-1, pressing an execution key causes the device to display contact information, such as addresses, names, and phone numbers for example, that are related to the selected item.
As shown in FIG. 4, cursor 320 is highlighting the dial pad icon 313. The display screen 155 displays the items 450-1 to 450-15 of the dial pad view, which include a telephone dial pad 410. The user may dial a telephone number by using numeric keys on the keyboard 160. The user may also select numbers by touching the desired numbers shown on display 155. Pressing a key such as button 181 or 182, or rocker 165, causes the display 155 to show a previously dialed number. Pressing the key again causes the display to scroll through a list of previously dialed numbers. The item 450-15 with the telephone symbol may dial the telephone number when it is selected by a user. Alternatively, the number may be dialed by pressing rocker 165.
As shown in FIG. 5, the cursor 320 is highlighting the call history icon 314 of icon row 310. The display screen 155 displays the view corresponding to call history icon 314, including a menu list 510 of the names and dates corresponding to previous telephone calls made by the handheld device. A user may cause call history cursor 520 to scroll through the list 510 using keyboard keys or the jog rocker to move call history cursor 520. When a name is highlighted by call history cursor 520, the user may dial the corresponding telephone number by pressing one or more execute buttons.
For example, when call history cursor is highlighting menu item 510-1, pressing a such as button 182 causes the call history cursor 520 to move to the next item, which is 510-2. Pressing button 182 again causes the call history cursor 520 to move to item 510-3. When the cursor is highlighting item 510-2, pressing a key such as button 181 causes the cursor to move to the previous item, which is item 510-1.
As shown in FIG. 6A, the cursor 320 is highlighting speed dial icon 311. The display screen 155 displays the speed-dial view corresponding to icon 311, which includes a page 620 of menu items containing names 625-1 through 625-N. Executing a name 625 on page 620 causes the device to dial a telephone number associated with the name. A user may scroll through the items, or names, on the page of menu items by using keys on the keyboard or using the rocker as discussed above.
For example, pressing a key such as button 182 highlights the first name 625-1 in the list as shown in FIG. 6A. Pressing button 182 again highlights the second name 625-2 as shown in FIG. 6B. Pressing button 182 a third time highlights the third name 625-3 as shown in FIG. 6C. When the third name 625-3 is highlighted, pressing a key such as button 181 causes the cursor to scroll back to previous name 625-2. Pressing an execute key will dial the phone number associated with the highlighted name.
The number of pages on the speed dial menu item list is shown by page number menu bar 610. Page menu cursor 615 highlights the number of the page that is currently being displayed. A user may jump directly to a given page by pressing a key on the keyboard. For example, pressing the number “2” key causes the second page to be displayed. In one embodiment, after highlighting the last name on the displayed page, pressing scroll-down button 182 causes another page of names in the speed-dial list to be displayed. Also, if cursor 320 is highlighting the first entry on the displayed page, pressing scroll-up button 181 causes the display to show the next speed dial page, with cursor 320 highlighting the first entry on the next page.
When the handheld device receives a telephone call, or has established a connection with another telephone, a call screening view may be displayed to identify one or more characteristics of each active telephone call. For example, when the device is engaged in a telephone call, the cursor 310 highlights call screening icon 315 and displays a call screening view, as shown in FIG. 7. The call screening view may be automatically displayed whenever a call is made or received by the device 100.
For example, when an incoming phone call is received, or an outgoing phone call is made, the display screen shows characteristics of the call, such as the name 710 and phone number 720 of the other telephone that is making or receiving the call. The telephone call characteristics may also include the duration of a phone call 730, or the status of a phone call 740, such as “on-hold” or “active” for example.
Also, the display may show menu items to perform telephone call management functions such as hang-up 750, 3-way call 760, speakerphone 770, or keypad 780 for example. As shown in FIG. 7, call screening cursor 790 is highlighting the hang-up function 750. A user may cause a call screening cursor to scroll through the telephone management functions of this menu and execute a desired function using the keys on the keyboard or using the rocker.
Thus, navigating through a list of menus and through items of a given menu using a keyboard of a handheld computer has been disclosed. The keyboard based navigation permits a person to operate a handheld computer without using a stylus. This navigation also permits a user to perform computer functions and communication functions from a single handheld computer, using only the keyboard of the handheld computer.
These and other embodiments of the present invention may be realized in accordance with the teachings described herein and it should be evident that various modifications and changes may be made in these teachings without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than restrictive sense and the invention measured only in terms of the claims.

## Claims

1. A mobile computing device comprising:
a processor to:
receive a first input operation;
responsive to the first input operation, the first input operation distinct from a menu selection command, visually distinguish a desired menu item within a first menu of a plurality of menus;
receive at least a second input operation; and
responsive to the second input operation when the menu selection command has not been received, the second input operation distinct from the menu selection command: (1) visually distinguish a different menu from the plurality of menus when a cursor is indicating the first menu or a first menu item in the first menu of the plurality of menus and when the menu selection command has not been received; and (2) visually distinguish a second menu item within the first menu when a selected menu item is a menu item other than the desired menu item in the first menu of the plurality of menus and when the menu selection command has not been received.

2. The mobile computing device of claim 1 further comprising:
a display screen to cause the device to display the plurality of menus.

3. The mobile computing device of claim 1, wherein the processor is further configured to:
cause the device to execute the visually distinguished item.

4. The mobile computing device of claim 1 wherein the visually distinguished menu item is a telephone number.

5. The mobile computing device of claim 4, wherein the processor is further configured to:
cause the device to dial the telephone number.

6. The mobile computing device of claim 1, further comprising a switch structured to move in at least two directions.

7. The mobile computing device of claim 6 wherein the switch comprises a roller switch movable in at least two directions, and wherein the first input operation comprises movement of the roller switch in a direction.

8. The mobile computing device of claim 6, wherein the switch comprises a rocker switch having at least two sides, and wherein the first input operation comprises activating a first side of the rocker switch.

9. A mobile computing device comprising:
a processor to:
receive a first input operation;
responsive to the first input operation when a menu selection command has not been received, the input operation distinct from the menu selection command, visually distinguish a desired menu item within a menu of a plurality of menus when the visually distinguished menu item is a first menu or a first menu item of the plurality of menus;
receive a second input operation; and
responsive to the second input operation when the menu selection command has not been received, the second input operation distinct from the menu selection command: (1) visually distinguish a different menu item within the menu when the visually distinguished menu item is a menu item other than the first menu item in the menu of the plurality of menus and when the menu selection command has not been received; and (2) visually distinguish a different menu when the visually distinguished menu item is the first menu item in the menu of the plurality of menus and when the menu selection command has not been received.

10. The mobile computing device of claim 9, further comprising a switch structured to move in at least two directions.

11. The mobile computing device of claim 10, wherein the switch comprises a roller switch movable in at least two directions, and wherein the first input operation comprises movement of the roller switch in a first direction.

12. The mobile computing device of claim 10, wherein the switch comprises a rocker switch having at least two sides, and wherein the first input operation comprises activating a first side of the rocker switch.

13. A method performed by a mobile computing device, the method comprising:
responsive to receiving a first input distinct from a menu selection command:
visually distinguishing a first menu from a second menu in a plurality of menus when a first menu item in the first menu or the first menu is accessed; and
responsive to receiving a second input when the menu selection command has not been received, the second input distinct from the menu selection command, visually distinguishing an item within the first menu from other items in the first menu when a menu item other than the first menu item in the first menu of the plurality of menus is accessed and when the menu selection command has not been received; and
visually distinguishing the second menu when the first menu item in the first menu of the plurality of menus is accessed and when the menu selection command has not been received.

14. The method of claim 13 further comprising the step of:
receiving a request to display the plurality of menus.

15. The method of claim 13 further comprising:
receiving an execution command; and
executing the visually distinguished menu item.

16. The method of claim 13 wherein the visually distinguished menu item comprises a telephone number.

17. The method of claim 16 further comprising:
receiving a dialing command; and
dialing the telephone number.

18. A mobile computing device comprising:
a display device configured to display:
a menu bar including a plurality of menus;
a set of items associated with each menu of the plurality of menus;

a display button configured to cause the display device to display the menu bar including the plurality of menus;
a controller for receiving a first input operation and a second input operation, wherein:
responsive to receiving the first input operation, the first input operation distinct from a menu selection command, the controller navigates within a first menu within a plurality of menus by visually distinguishing a desired menu item within the first menu from menu items within the first menu;
responsive to receiving the second input operation when the menu selection command has not been received, the second input operation distinct from the menu selection command, the controller:
navigates from one menu to another when the desired menu item is a menu within the plurality of menus or a first menu item in the first menu and when the menu selection command has not been received; and
navigates within the first menu when desired menu item is a menu item in the first menu other than the first menu item in the first menu and when the menu selection command has not been received.

19. The mobile computing device of claim 18 wherein the controller comprises a switch capable of movement in at least two directions.

20. The mobile computing device of claim 19 wherein the switch comprises a roller switch movable in at least two directions, and wherein the first input operation comprises movement of the roller switch in a direction.

21. The mobile computing device of claim 19 wherein the switch comprises a rocker switch having at least two sides, and wherein the first input operation comprises activating a first side of the rocker switch.