`Jones
`
`||||||||||||||||||||||||||||||||||||||||
`US005258748A
`[11] Patent Number:
`5,258,748
`[45] Date of Patent:
`Nov. 2, 1993
`
`[54] ACCESSING AND SELECTING MULTIPLE
`KEY FUNCTIONS WITH MINIMUM
`KEYSTROKES
`[75] Inventor: Robert W. Jones, Corvallis, Oreg.
`[73] Assignee: Hewlett-Packard Company, Palo
`Alto, Calif.
`[21] Appl. No.: 751,368
`[22] Filed:
`Aug. 28, 1991
`[51] Int. Cl* ............................................... G09G 3/02
`[52] U.S. Cl. ............................... 345/172; 364/709.14;
`341/23
`[58] Field of Search ............... 340/711, 712, 706, 726,
`340/724; 341/22, 23; 364/709.16, 709.14,
`709.15, 710.07
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`4,202,038 5/1980 Petersson .
`4,718,029 1/1988 Morino et al. ................. 364/710,08
`4,823,311 4/1989 Hunter et al. .
`, 364/709.14
`5,007,008 4/1991 Beers .............................. 364/709. 16
`5,020,012 5/1991 Stockberger et al. ......... 364/709.14
`
`5,134,577 7/1992 Kawawaki ..................... 364/709. 16
`Primary Examiner—Alvin E. Oberley
`Assistant Examiner—Chanh Nguyen
`[57]
`ABSTRACT
`TA calculating device and related method for accessing
`and selecting among multiple key functions with a mini
`mum of keystrokes. The keyboard includes menu keys
`corresponding to menu labels displayable on the display
`and a multi-function key having a primary function and
`a secondary function. Which of the key functions is
`selected depends on the duration of the key press. The
`calculating device executes the primary function if the
`key is pressed for a short time. However, if the key is
`pressed for longer than a given time period, the calcu
`lating device displays a set of menu labels and assigns a
`function associated with a displayed menu label to a
`menu key. If the key continues to be pressed, the display
`scrolls to show additional sets of menu labels. A menu
`function may then be selected by releasing the multi
`function key and pressing the appropriate menu key.
`
`17 Claims, 2 Drawing Sheets
`
`
`
`MSFT EX. 1023
`Page 1 of 6
`
`
`
`U.S. Patent
`
`Nov. 2, 1993
`
`Sheet 1 of 2
`
`5,258,748
`
`KEYBOARD
`
`PROCESSOR
`
`
`
`42
`
`‘Y” 3× 4 4
`
`YES COMPUTE MENU
`FROM RULE
`
`
`
`
`
`43
`
`DO NORMAL
`KEY
`
`
`
`WAIT UNTIL
`I 1
`
`52
`
`YES
`80
`
`MSFT EX. 1023
`Page 2 of 6
`
`
`
`U.S. Patent
`
`Nov. 2, 1993
`
`Sheet 2 of 2
`
`5,258,748
`
`FIG. 2
`
`
`
`< HOME >
`
`
`
`ABS : – ACOSH ALOG
`
`
`
`
`
`AND APPLY | ARC I ARCH* | ARG - ARR
`
`
`
`
`
`– • ASR - AIAN :
`
`[ ] [ ][ ] [ ] […] [T]
`[T] [T] [T] [T] [T] [T]
`
`MSFT EX. 1023
`Page 3 of 6
`
`
`
`1
`
`5
`
`25
`
`ACCESSING AND SELECTING MULTIPLE KEY
`FUNCTIONS WITH MINIMUM KEYSTROKES
`BACKGROUND OF THE INVENTION
`This invention relates to calculating devices such as
`hand-held calculators and computers. More particu
`larly, this invention relates to method and apparatus for
`accessing and selecting any function in the calculating
`device in two keystrokes.
`-
`Prior calculators and other devices that have dedi
`cated function keys have faced a dilemma. As these
`devices have progressed, they have offered more func
`tions on a limited number of keys. Each key is thus used
`for several functions, typically up to four per key. A
`15
`multi-function key may have a primary function, i.e.,
`the function executed by simply pressing the key, as
`well as a number of secondary, shifted functions. The
`shifting may be accomplished in a number of way. A
`common technique is key-based shifting, where a shift
`20
`key is pressed prior to pressing the function key. An
`other technique is time-based shifting, where a multi
`function key is pressed until the desired function is
`indicated and the key is then released to execute the
`function. A third technique is pattern-based, where the
`number of key presses within a predetermined time
`period determines which function is executed.
`These shifting techniques have allowed more func
`tions to be added to a key, but the increased functions
`have made use of the keys increasingly difficult. The
`30
`symbols representing the key’s functions must be some
`how placed about the key and recognized by the user as
`to how they are reached. For example, in U.S. Pat. No.
`4,202,038, the key’s functions are placed directly on the
`key face. This requires, however, that the keys be rela
`35
`tively large and limited in number. Therefore, as a prac
`tical matter, the number of symbols that can be placed
`adjacent a key is about four.
`Limiting the number of functions a calculating may
`perform, however, may unacceptably limit the perfor
`mance of the device. More keys may be added, but this
`requires either a larger keyboard (limiting portability)
`or smaller keys (limiting ease of use).
`The present invention offers an alternative whereby
`the functions associated with a key are not limited to
`45
`those that can be displayed adjacent to the key, and yet
`each key function can be executed with no more than
`two key presses.
`SUMMARY OF INVENTION
`An object of the invention, therefore, is to provide
`access and selection of any key function of a calculator
`or similar device with two keystrokes.
`Another object of the invention is to provide such
`access and selection with a set of menu labels that peri
`odically change as a key remains pressed.
`Yet another object of the invention is to provide such
`access and selection from a multi-function key that
`includes a primary function that is selected if the key is
`released before a given time period.
`60
`To achieve these objects a calculating device accord
`ing to the invention includes a display, keyboard and
`data processor equipped to provide the required func
`tionality. The keyboard includes menu keys corre
`sponding to menu labels displayable on the display and
`65
`a multi-function key having a primary function and a
`secondary function. The key function selected depends
`on the duration the multi-function key is pressed. Cou
`
`5,258,748
`2
`pled to the display and keyboard is means such as a data
`processor that executes the primary key function if the
`key is pressed for less than a first time period. If pressed
`for greater than that time, the data processor displays a
`set of menu labels corresponding to the secondary func
`tion. It also assigns a function associated with each
`displayed menu label to a menu key. A menu key may
`then be pressed to select a function. Thus, only two
`keystrokes are required to access and select a key func
`10 tion from a multiple of key functions.
`In one feature of the invention, a subsequent set of
`menu labels is displayed if the multi-function key re
`mains pressed additional second time periods. With a
`limited number of sets per key, the first label set wraps
`around and is re-displayed so that a user may scroll
`through the menu label sets before selecting a function
`by pressing a menu key.
`-
`The foregoing and other objects, features, and advan
`tages of the invention will become more apparent from
`the following detailed description of a preferred em
`bodiment which proceeds with reference to the accom
`panying drawings.
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a functional block diagram of a calculating
`device such as a calculator in which the invention may
`be incorporated.
`FIG. 2 is a front view of a calculator in which the
`invention may be incorporated, including a series of
`screen displays.
`FIG. 3 is a flowchart illustrating one method of oper
`ation according to the invention.
`DETAILED DESCRIPTION
`Referring now to the drawings, FIG. 1 is a block
`diagram of a calculating device such as a calculator in
`which the present invention may be incorporated. The
`device includes a keyboard 12 that communicates with
`a data processor such as a microprocessor 14 to transmit
`data, key functions and other instructions to be per
`formed. The microprocessor 14 also communicates
`with memory 16 in which programs are stored for oper
`ating the calculating device, including a program which
`is one embodiment of the present invention. Memory 16
`may include either ROM, RAM or other equivalent
`memory depending on the design of the calculating
`device. Data from the microprocessor 14 is transmitted
`to an output device such as display 18. The output de
`vice may be a CRT-, LED-, or LCD-based display, or
`equivalent.
`FIG. 2 is a front view of a calculator 20 that includes
`apparatus and method according to the invention. For
`clarity, the same numerals are used in FIGS. 1 and 2 to
`illustrate associated parts. On the face of the calculator
`20 is a keyboard 12 that includes a row of menu keys 22.
`Above the keyboard 12 on the face of calculator 20 is an
`LCD display 18. Shown within the display 18 immedi
`ately above menu keys 22 is a set of menu labels 24 that
`represent functions assigned to the keys 22. As will be
`described, the menu labels displayed are a function of
`the menu selected. With the calculator 20 turned on,
`menu labels 24 may be visible on the display 18 if an
`appropriate key has been pressed. Also included on
`keyboard 12 are a number of multi-function keys such as
`‘sin’ key 26 and ‘cos' key 28 shown here for illustration.
`A multi-function key is one that has multiple functions
`associated with the key. The function on the face of the
`
`50
`
`55
`
`MSFT EX. 1023
`Page 4 of 6
`
`
`
`5,258,748
`3
`4
`key, such as ‘sin’ on key 26, is the primary function, and
`begins with the letter ‘A’. The program then checks if
`is executed by simply pressing the key. The other func
`the key (such as key 28) remains pressed. The user may
`tions, such as ‘asin’ and ‘A’ or ‘partial derivative,’ are
`select a function from set 55 by releasing key 28 and
`secondary functions and require shifting as will be de
`pressing one of the menu keys (64, 80). So long as key 28
`remains pressed, however, this scrolling process repeats
`scribed to execute the function. Also shown in FIG. 2 is
`a series of screen displays on display 18, to be described,
`to display set 56 and set 57 of menu labels. The program
`that show various sets of related menu labels. The labels
`determines that set 57 is the last set of the group (70) and
`redisplays set 54 (60). The label sets are then repeatedly
`represent different calculator functions associated with
`a secondary function of a multi-function key. The term
`displayed, cyclical fashion, until the user releases the
`“function' is used broadly here to include mathematical
`multi-function key. At any point where the key 28 is
`10
`functions, commands, operations, etc. that are per
`released, the program terminates and displays the cur
`formed on data.
`rent set of menu labels for selection of a menu key or
`FIG. 3 is a flowchart of a program that controls the
`until cleared.
`operation of calculator 20 according to the invention.
`With this technique, a user may execute any function
`The program in the present embodiment is contained in
`of a calculator by pressing no more than two keys. First,
`he presses a multi-function key such as key 26 or key 28.
`memory 16 of the calculator and controls the calculator
`20 by directing the operation of the microprocessor 14.
`By pressing key 28 for sufficient time, the key shifts to
`execute its secondary function of displaying groups of
`It will be understood in the art that a hardware equiva
`lent to the program embodiment of the invention may
`menu labels. By then continuing to press the multi-func
`be employed if desired. However, a software embodi
`tion key, different sets of menu labels are displayed until
`20
`ment is preferred because of its ease of implementation,
`the user releases the key. The user then selects the de
`testing and adaptability.
`sired function by pressing the menu key associated with
`the label representing the function.
`In FIG. 3, each step in the method is referred to
`herein by a number in parentheses. For example, the
`Having illustrated and described the principles of the
`program is started (40) whenever a multi-function key is
`invention in a preferred embodiment, it should be ap
`25
`pressed. Once started, the program checks to determine
`parent to those skilled in the art that the invention can
`if the key is pressed for more than a nominal time (42).
`be modified in arrangement and detail without depart
`ing from such principles. For example, the illustration
`If not, the program executes the primary function of the
`key, such as computing the cosine for key 28 (43). On
`embodiment is that of a calculator, but the invention
`the other hand, if the multifunction key is pressed for
`could well be incorporated into a hand-held computer
`30
`greater than the nominal time, the program determines
`or other small computing device. I claim all modifica
`if a group of menu labels is associated with the multi
`tions coming within the spirit and scope of the follow
`function key that is pressed (44). For key 28, there is
`ing claims.
`-
`such a group comprising in this example all menu labels
`I claim:
`1. A calculating device comprising:
`that begin with the letter ‘A’, divided into pages or sets
`a display;
`of six labels each. If the determination is not successful
`a keyboard including menu keys corresponding to
`(no labels exist) (46), the program branches to execute
`the primary key function defined for the key (43). If,
`menu labels displayable on the display and a multi
`however, the program determines that menu labels do
`function key having a primary function and a sec
`ondary function, the function selected depending
`exist for the key, it will check to determine to see if the
`40
`key is still pressed (48). If so, it waits a first (and option
`on the duration the multi-function key is pressed;
`ally adjustable) time period Il (50) and checks again if
`and
`the key is still pressed (52). If the key is not pressed at
`a data processor coupled to the keyboard and the
`display for:
`the end of I1, the program branches to execute the
`primary function (43).
`(a) executing the primary key function if the multi
`45
`Referring also now to FIG. 2, assume that the multi
`function key is pressed for less than a first time
`period;
`function key, such as key 28, remains pressed past the
`first time period. This will cause a first set 54 of menu
`(b) displaying on the display a set of at least two menu
`labels which begin with the letter ‘A’ to be displayed on
`labels corresponding to the secondary function if
`the multi-function key remains pressed for greater
`the display 18 (60). The program then waits an addi
`50
`tional second time period I2 while the set of menu labels
`than the first time period, each of said at least two
`is displayed (62). During this time, the user may freeze
`labels being displayed at the same time and repre
`the display of the menu labels by releasing the key (64).
`senting an associated function;
`This causes the program to terminate (80) with the set
`(c) assigning the function associated with each dis
`of labels displayed on display 18. The user may then
`played menu label to the corresponding menu key;
`execute a function by selecting and pressing a second
`and
`key. In this case, the second key is a menu key associ
`(d) executing the associated function if the menu key
`is pressed.
`ated with the label representing the desired function.
`Alternatively, a user can clear the display by pressing a
`2. The calculating device of claim 1 wherein the data
`key having that function (not shown).
`processor displays on the display a second set of menu
`If the multi-function key remains pressed (64), how
`labels if the multi-function key remains pressed for
`ever, the program will show another set of labels in
`greater than a second time period, the data processor
`display 18 if such a set exists. First, the program checks
`then assigning a function associated with a menu label in
`if the set of menu labels currently being displayed is the
`the second set to a menu key.
`last in the group (70). If not, the program displays the
`3. The calculating device of claim 2 wherein the data
`65
`processor repeatedly displays on the display successive
`next set of menu labels (72) and again waits the addi
`sets of menu labels, a displayed label set successively
`tional second time period (62). In FIG. 2, this causes the
`changing if the multi-function key remains pressed.
`display of a second set 55 of labels, each which also
`
`35
`
`15
`
`55
`
`MSFT EX. 1023
`Page 5 of 6
`
`
`
`5,258,748
`6
`5
`(e) executing the associated function if the menu key
`4. The calculating device of claim 1 wherein each
`is pressed.
`menu key corresponds to a menu label displayed di
`11. The device of claim 10 wherein the processing
`rectly above the key on the display.
`means redisplays the first set of menu labels if the multi
`5. The calculating device of claim 1 wherein the
`function key remains pressed an additional second time
`secondary function of the multi-function key is repre
`period.
`sented on the keyboard as a letter and the correspond
`12. In a calculating device having a display and a
`ing menu labels represent functions whose names begin
`keyboard with menu keys, a method of selecting among
`with the letter.
`rº
`multiple key functions, comprising:
`6. The calculating device of claim 1 wherein the first
`providing a multi-function key having a primary
`and second time periods are of different lengths.
`function and a secondary function;
`7. The calculating device of claim 1 wherein the
`executing the primary key function if the multi-func
`display is a liquid crystal display.
`tion key is pressed for less than a first time period;
`8. The calculating device of claim 1 wherein the first
`displaying a set of at least two menu labels corre
`time period of adjustable.
`sponding to the secondary function if the multi
`9. The calculating device of claim 1 wherein the
`function key remains pressed for greater than the
`second time period is adjustable.
`first time period, each of said at least two labels
`10. A calculating device comprising:
`being displayed at the same time and representing
`a display;
`an associated function
`a keyboard including menu keys corresponding to
`assigning the function associated with each displayed
`20
`menu labels displayable on the display and a multi
`menu label to a menu key; and
`function key having a primary function and a sec
`executing the associated function if the menu key is
`ondary function, the function selected depending
`pressed.
`on the duration the multi-function key is pressed;
`13. The method of claim 12 including displaying a
`and
`second set of menu labels if the multi-function key re
`25
`processing means for:
`mains pressed for greater than a second time period and
`(a) executing the 'primary key function if the multi
`assigning the function associated with each menu label
`function key is pressed for less than a first time
`in the second set to a menu key.
`period;
`14. The method of claim 13 including repeatedly
`(b) displaying on the display a set of at least two menu
`displaying successive sets of menu labels, a displayed
`30
`labels corresponding to the secondary function if
`menu label set changing if the multi-function key re
`the multi-function key remains pressed for greater
`mains pressed.
`than the first time period, each of said at least two
`15. The method of claim 13 wherein the first set of
`labels being displayed at the same time and repre
`menu labels is re-displayed if the multi-function key
`senting an associated function;
`remains pressed for the greater than the second time
`35
`(c) displaying a subsequent set of menu labels if the
`period.
`multi-function key remains pressed for greater than
`16. The method of claim 12 wherein the first time
`period is adjustable.
`a second time period;
`(d) assigning the function associated with each dis
`17. The method of claim 12 wherein the second time
`period is adjustable.
`played menu label to the corresponding menu key;
`40
`and
`
`# * * :
`
`*k
`
`15
`
`45
`
`50
`
`55
`
`65
`
`MSFT EX. 1023
`Page 6 of 6
`
`