`Chen
`
`111111111111111111111
`
`US005724069A
`[111 Patent Number:
`[451 Date of Patent:
`
`5,724,069
`Mar. 3, 1998
`
`[54] SPECIAL PURPOSE TERMINAL FOR
`INTERACTIVE USER INTERFACE
`
`[76]
`
`Inventor: Jack Y. Chen. 3773 Fox Pointe Rd .•
`Rockford. m. 61114
`
`[21] Appl. No.: 275,847
`
`Jul. 15, 1994
`
`[22] Filed:
`Int. Cl.6
`[51]
`••••••••••••••••••••••••••••••••••••••••••••••••••••••• G09G 5/00
`[52] U.S. Cl .............................................. 345/172; 345/173
`[58] Field of Search ..................................... 345/156. 168.
`345/169. 173. 901. 903. 905. 172; 364nos.
`709.01. 709.02. 709.11. 709.12. 709.15
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`D. 287,969
`D. 310,662
`D. 345,351
`2,909,761
`4,333,097
`4,497,036
`4,524,414
`4,634,970
`4,667,299
`4,845,495
`4,879,548
`4,964,018
`5,020,012
`5,050,116
`5,059,960
`5,121,477
`
`111987 Kusanagi ............................... D141106
`9/1990 Fellman et al. ........................ D14/l06
`3/1994 Wingate ................................... D4/ll5
`10/1959 Rockola .................................. 340/162
`6/1982 Buric et al .............................. 340nll
`1/1985 Dunn ....................................... 3641708
`6/1985 Kiyokawa ............................... 345/168
`1/1987 Payne et al ............................. 345/134
`5/1987 Dunn ....................................... 3641708
`7/1989 Bollard et al. .......................... 340/973
`ll/1989 Mitarai et al ........................... 3401712
`10/1990 Mallory et al .......................... 361/391
`5/1991 Stockberger et al ................... 3641709
`9/1991 Stahnke ................................... 3641709
`10/1991 Rosenberg et al ...................... 340/111
`6/1992 Koopmans et al ..................... 395/156
`
`5,177,328
`5,185,628
`5,202,817
`5,250,929
`5,268,816
`5,302,969
`5,305,014
`
`1/1993 Ito et al .................................. 345/173
`2/1993 Wilson et al ........................... 355/209
`4/1993 Koenck et al .......................... 361/393
`10/1993 Hoffman et al ......................... 345/173
`12/1993 Abel, Jr. et al ......................... 36In29
`411994 Kuroda et al ........................... 345/168
`4/1994 Mutschler et al ....................... 345/173
`
`Primary Examiner-Mark R. Powell
`Assistant Examiner-Matthew Luu
`Attome_); Agent, or Firm-Leydig. Voit & Mayer. Ltd.
`
`[57]
`
`ABSTRACT
`
`A special purpose microcomputer-based terminal for inter(cid:173)
`active user interface. The terminal includes a general pur(cid:173)
`pose microcomputer and an interface module made up of a
`general purpose display screen and an array of pushbuttons
`positioned along the sides of the screen. Actuating a push(cid:173)
`button causes the interface module to generate a standard
`keystroke signal which is transmitted to the microcomputer
`through the keyboard port. The input elements of the user
`interface thus make use of the standard keyboard drivers
`normally available in a general purpose microcomputer to
`communicate with the application program. The application
`program in the computer memory displays on-the-screen
`selection indicators for available options coordinated to the
`positions of the pushbuttons. and actuating a button serves
`to select an option. The application program may present to
`a user options organized in hierarchal menu tree fashion. and
`the user may select a path through the menu tree by
`consecutively actuating the buttons.
`
`18 Claims, 11 Drawing Sheets
`
`40
`
` 1
`
`Petitioners' Exhibit 1042, Page
`
`
`
`U.S. Patent
`
`Mar. 3, 1998
`
`Sheet 1 of 11
`
`5,724,069
`
`,...
`CJ -LL
`
`•
`
`0
`0
`
` 2
`
`Petitioners' Exhibit 1042, Page
`
`
`
`U.S. Patent
`
`Mar. 3, 1998
`
`Sheet 2 of 11
`
`5,724,069
`
`0'>
`0
`
`}~
`
`•
`
`CJ -u.
`
` 3
`
`Petitioners' Exhibit 1042, Page
`
`
`
`U.S. Patent
`
`Mar. 3, 1998
`
`Sheet 3 of 11
`
`5,724,069
`
`CPU
`
`~I
`
`/50
`
`APPLICATION PROGRAM
`60.....__
`VO MODULE
`62- ~r--.. DISPLAY
`MODULE
`INTERPRETER I
`I
`\
`,64
`
`{66
`
`APPLICATION
`MODULE
`
`202)
`
`/18
`
`STD.
`SCREEN
`DRIVER
`
`'f
`
`KEYBOARD
`DRIVER
`
`ENCODER
`
`/
`
`/T- ~
`v
`
`200~
`
`I'
`
`25{24
`10
`,
`r
`I
`I
`I
`I
`I
`I
`c5CSC1666oo
`--~y~~ iD--
`lo--
`io--
`46~ lo- 1- 40
`lo- 1-
`46~ g: 1-
`1-
`~ lo-.....
`
`46
`
`46 46
`
`\...
`
`\c
`
`,/
`30
`
`FIG. 3
`
` 4
`
`Petitioners' Exhibit 1042, Page
`
`
`
`01-oD D D
`
`0 D D
`46{( fKF~faCL~ ~Fft--;ZE~ 11-1[~.;;.. ]~ LASj
`I REPEAT LAST I
`
`No. ~tam
`Description
`Price
`=== ···======== -······======-====~====·===== ·=====·=
`
`[
`
`PAYME-;; --~
`
`FIG. 4A
`
`30
`
`0
`
`D
`D
`D
`D
`D
`D
`D
`D
`
`40
`
`~
`00 .
`~ = ;-a
`
`~
`~
`~
`
`~ :
`
`~ a
`
`.~::>.
`~
`
`~
`~
`
`Ol
`':...:1
`
`~ = Q'\
`
`\0
`
` 5
`
`Petitioners' Exhibit 1042, Page
`
`
`
`U.S. Patent
`
`Mar. 3, 1998
`
`Sheet 5 of 11
`
`5,724,069
`
`DDDDDDDD
`
`D
`D 0
`~ u
`
`Ul
`~
`
`D :l
`e
`D u
`H :r: u
`
`0
`
`""'"
`
`• u
`•rl
`H
`""
`
`m
`"d"
`•
`-
`CJ
`LL
`
`D
`D I A
`I .u
`I .
`
`1=1
`0
`•1"1 .u
`~
`•1"1
`H
`u
`Ill
`!
`
`H
`
`:i
`
`Ul
`
`II
`
`H
`A
`
`~
`(0
`~
`
` 6
`
`Petitioners' Exhibit 1042, Page
`
`
`
`U.S. Patent
`
`Mar. 3, 1998
`
`Sheet 6 of 11
`
`5,724,069
`
`DDDDDDDD
`
`CD u
`"" ...
`
`~
`
`0
`l")
`
`0
`-.:r .
`CJ -LL
`
`r:=
`0
`•rl
`~
`Q,
`
`"" ... u
`!
`
`ID
`
`I
`
`~
`H
`
`i
`
`0 v
`
`D
`D
`D
`D
`D
`D
`
`A
`II
`
`fll
`A
`II
`
`!a
`
`~ a E-t
`II I H
`
`~
`
`'--y--1
`(,() v
`
` 7
`
`Petitioners' Exhibit 1042, Page
`
`
`
`0~-D--D--D~ D--D--D------0
`
`4L_
`
`0
`00 •
`~ =
`'""""" ~ a
`
`~
`~ :;
`,.~
`
`1-1.
`
`~
`
`~
`!
`~
`~
`
`1-1.
`1-1.
`
`Ul
`'!...1
`~ .,.
`0
`0\
`\C
`
`D
`D
`D
`D
`D
`D
`D
`D
`
`40
`
`46 { ( I NELL
`
`IKEl£:21 I BD=< J 1-..;;1)~11
`
`RAlUE
`
`l
`
`DINNER•>STEAK=>
`
`No. Item
`
`Description
`Price
`=== =========== =========================·=== ·==·==··
`
`1 DNYST
`
`NEW YORK STRIP
`
`12.95
`
`12.95
`
`FIG. 40
`
`30
`
` 8
`
`Petitioners' Exhibit 1042, Page
`
`
`
`U.S. Patent
`
`Mar. 3, 1998
`
`Sheet 8 of 11
`
`5,724,069
`
`DDDDDDDD
`
`0
`M
`
`D
`
`D
`
` 9
`
`Petitioners' Exhibit 1042, Page
`
`
`
`D D D D D D D D
`46{([ DIHHER
`II DELETE IMUT I
`II
`II
`II APPETXZE
`II
`
`- - - - - -
`
`40
`
`LUNCH
`
`REPRJ:SH
`
`DIUNK
`
`- - - - - - -
`
`Price
`No. Xtam
`Description
`••• 2•••••••••• ••••••••••••••••••••==••=•••• •=••a•••
`12.95
`NEW YORlt STRIP
`1 DYRST
`o.oo
`2
`MXD WELL
`0.00
`3 SALD
`TOSS SALAD
`
`I REPEAT LAST I 61
`
`I
`
`PAYMBN'l'
`
`I
`
`40
`
`D
`D
`D
`10
`'D,
`OJ
`
`12.95
`
`I
`I
`
`FIG. 4F
`
`30/
`
`~
`
`0 •
`IJJ .
`= """" ~ a
`
`~ = !'1
`
`~
`
`~
`\C
`\C
`00
`
`00 =-
`~ ...
`
`~
`
`\C
`~
`
`~
`~
`
`01
`....
`....,]
`N
`,&;;;.
`
`.... = =""
`
`\C
`
` 10
`
`Petitioners' Exhibit 1042, Page
`
`
`
`U.S. Patent
`
`Mar. 3, 1998
`
`Sheet 10 of 11
`
`5,724,069
`
`74
`
`71
`
`72
`
`DISPLAY
`ROOT LEVEL
`SCREEN
`
`DETECT
`KEYSTROKE
`SIGNAL
`
`DETERMINE
`FUNCTION AT
`EXISTING LEVEL
`
`75
`
`78
`
`79
`
`99
`
`DISPLAY
`LEVEL
`SCREEN
`
`FIG. 5
`
` 11
`
`Petitioners' Exhibit 1042, Page
`
`
`
`U.S. Patent
`
`Mar. 3, 1998
`
`Sheet 11 of 11
`
`5,724,069
`
`80
`
`DISPLAY 1ST LEVEL
`OF
`ALPHANUMERICAL
`CHARACTERS
`
`81
`
`82
`
`DETECT
`KEYSTROKE
`SIGNAL
`
`2
`
`1
`
`END of
`ALPHA·
`NUMERICAL
`INPUT
`
`DELETE
`PREVIOUS
`CHARACTER
`
`90
`
`89
`
`88
`
`DISPLAY
`CHARACTER
`
`87
`
`DETERMINE
`CHARACTER ..... __ N,
`ENTERED
`
`DISPLAY NEXT
`LEVEL OF
`ALPHANUMERICAL
`CHARACTERS
`
`FIG. 6
`
` 12
`
`Petitioners' Exhibit 1042, Page
`
`
`
`5,724,069
`
`1
`SPECIAL PURPOSE TERMINAL FOR
`INTERACTIVE USER INTERFACE
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to a
`microcomputer-based terminal, and more particularly to a
`special purpose terminal based on a general purpose
`microcomputer, and having a simplified user interface.
`
`BACKGROUND OF THE lNVENTION
`Special purpose microcomputer-based terminals have
`been widely used in consumer service applications. For
`example, a department store can use an interactive terminal
`to provide a customer with information about the prices and
`selections of goods in the store, or a restaurant can use an
`interactive terminal for taking orders from a customer.
`Generally the terminal-user interactive interface is accom(cid:173)
`plished by the terminal presenting available options on an
`output device to a user, and the user indicating through an
`input device the option selected. Many cillferent types of
`input and output devices may be used. For example, the
`output device may be a printer or a display screen, and the
`input device may be a standard keyboard or a mouse. A
`touch screen may also be used to serve both the input and
`output (JJO) functions.
`Using a standard keyboard in the user interface is quite
`acceptable for a general purpose terminal, where some
`computer familiarity is expected, but for a special purpose
`terminal for the non-computer experienced user. the stan(cid:173)
`dard keyboard interface is less than desirable. It may present
`too many options. it may trigger a computer-phobic reaction,
`and indeed it may present too many opportunities for a user
`to affect the computer terminal beyond the intended limited
`special purpose functions intended.
`Heretofore. a particularly attractive user interface for
`special purpose terminals has been the touch screen. When
`a touch screen is used as the JJO device of an interface
`terminal. the application program can be designed to display
`selection indicators on the screen. and a touch of a selection
`indicator on the screen will be detected and interpreted by
`the program as the selection of that option. A touch screen
`is often preferred to a keyboard or a mouse as the input
`device because the user actions for using a touch screen, i.e.
`looking and pointing. are often considered to be simple and
`intuitive. It is also often desirable to have one device serving
`both input and output functions instead of using physically
`separate input and output devices.
`A touch screen. however, is not without disadvantages.
`Special construction and electronics are required for sensing
`a touch and determining the location of the touch on the
`screen. Feeding such information into the microcomputer
`also requires specially designed driver circuits and a spe(cid:173)
`cially designed computer interface. These special circuits
`not only increase the cost of the touch screen interface. but
`also increase the difficulty of software development because
`the software must be specially designed to communicate
`with the driver circuit. The system portability of the inter(cid:173)
`face terminal is also reduced because the touch screen
`cannot be used with another microcomputer which does not
`have the special drivers. The special design of the front end
`(interface and drivers). typically demands that a special
`purpose terminal with touch screen interface be available for
`development or modification of application programs.
`Another problem with the touch screen is that the screen
`can get contaminated from contact with hands rather
`quickly. This problem is especially serious in a restaurant
`
`2
`setting where the device is used for menu selection, because
`the user of the terminal may also have to handle foods.
`Devices using a keyboard or a mouse are also not suitable
`for restaurant applications due to the danger of accidental
`damage caused by. for example. spilling drink on the key(cid:173)
`board.
`
`SUMMARY OF THE INVENTION
`In view of the foregoing, it is a general aim of this
`10 invention to provide a special purpose terminal using gen(cid:173)
`eral purpose computer hardware. to achieve simplicity and
`directness like that of a touch screen, but to avoid the
`disadvantages of a touch screen.
`In accomplishing that aim. it is an object of the present
`15 invention to provide a special purpose terminal using gen(cid:173)
`eral purpose computer hardware to the maximum extent
`possible, and to achieve a user interface like that of a touch
`screen. but without the complication or expense of special
`purpose drivers or interface circuits normally associated
`20 with a touch screen. It is a related object to use the drivers
`normally associated with a general purpose computer to
`interface a special purpose user-friendly input device to the
`general purpose computer.
`According to a particular application of the invention, it
`25 is an object to provide a user interface device which is
`suitable for use in an environment like a restaurant where
`contamination of the device is a concern.
`It is a feature of the invention that a standard general
`30 purpose microcomputer is operated without a standard
`keyboard. and a special purpose user interface is connected
`to the keyboard port of the general purpose computer. the
`application software of the system serving to assign func(cid:173)
`tions to an array of pushbuttons of the user interface, and to
`35 interpret pushbutton actuations according to the assigned
`functions.
`It is a subsidiary feature of the invention that the appli(cid:173)
`cation programs for the special purpose terminals are
`designed in several levels. preferably nested in hierarchal
`40 menu tree fashion, and the functions are assigned by
`displaying. on a general purpose display. the functions for
`the respective pushbuttons, with at least some of the func(cid:173)
`tions changing with changing level. The application then
`interprets an actuation of a pushbutton according to the level
`45 existing at the time of the actuation.
`Thus. it is a resulting feature of the invention that an array
`of conventional pushbuttons can be interfaced to the general
`purpose microcomputer via a keyboard port. the display
`driven by the application software to provide touch screen
`5o like functionality to the pushbuttons. with the multiple levels
`of the application assigning multiple functions to the push(cid:173)
`buttons depending on the level. It is a significant feature that
`this is all accomplished without the need for any special
`purpose interface boards in the computer and without the
`55 need for specially design screens capable of sensing touch.
`These and other features of the invention are achieved by
`providing a special purpose microcomputer-based terminal
`for interactive user interface. The terminal utilizes a general
`purpose microcomputer having a display port and a key-
`60 board port. The keyboard port is interfaced to a microcom(cid:173)
`puter keyboard driver of the type responsive to interpret
`keystroke signals in a standard format transmitted from a
`standard alphanumeric keyboard. However. the
`microcomputer-based terminal does not have a standard
`65 alphanumeric keyboard connected to the keyboard port.
`Instead. a user input module includes a plurality of electrical
`pushbuttons arranged along at least one side of the display
`
` 13
`
`Petitioners' Exhibit 1042, Page
`
`
`
`5,724,069
`
`3
`and an encoder circuit for detecting the actuation of each
`pushbutton and producing a keystroke signal identifying the
`actuated pushbutton and compatible with the standard for(cid:173)
`mat of the keyboard driver. The user input module is
`connected to the microcomputer via the keyboard port. A 5
`standard general pwpose display screen is connected to the
`display port of the microcomputer. A program memory in the
`microcomputer contains instructions which (a) assign spe(cid:173)
`cific input functions to the pushbuttons. and (b) display
`pushbutton function assignments on the display screen in
`positions coordinated to the positions of the pushbuttons. 10
`The program memory also contains instructions which
`respond to signals received from the keyboard driver initi(cid:173)
`ated by actuation of a pushbutton by determining the func(cid:173)
`tion specified by the pushbutton actuation and executing the
`determined function.
`In a more particular embodiment. a program memory in
`the microcomputer contain an input/output module having
`multiple levels for assigning level-specific functions to the
`pushbuttons. The input/output module includes a display
`module for displaying on-the-screen representations of the 20
`pushbuttons and the functions assigned to the pushbuttons at
`each level. The input/output module also includes an inter(cid:173)
`preter for interpreting a keystroke signal in accordance with
`the function assigned to the actuated pushbutton at the
`associated level. The program memory, in addition to the
`input/output module. also contains an application module
`for executing the interpreted function assigned to the push(cid:173)
`button at the interpreted level.
`In a particular application. the special pwpose terminal is
`a waiter's terminal for a restaurant in which the multiple
`levels of the input/output module include a stored series of
`nested menus including root level menus branching to
`elemental level menus. The root level menu is adapted to
`assign the courses of a meal to the function keys, a mid-level
`menu is adapted to assign selections to the courses specified
`in the root level menu. and sub-level menus are adapted to
`refine the selections in the mid-level menus. The application
`module is adapted to guide the user through the menus in
`completing a selection of a meal, and to produce. at a
`printout station. an itemized check.
`Other objects and advantages will become apparent from
`the following detailed description when taken in conjunction
`with the drawings. in which:
`BRIEF DESCRIPTION OF TilE DRAWINGS
`FIG. 1 illustrates a presently preferred embodiment of the
`interface terminal of the present invention;
`FIG. 2 shows an embodiment of the interface module
`according to the present invention and graphic representa(cid:173)
`tions of the pushbuttons displayed on the screen of the
`interface module;
`FIG. 3 shows a schematic illustration of the functional
`organization of the terminal of the present invention;
`FIGS. 4A-4F illustrate a sequence of screen displays for
`a restaurant application which presents menu selections
`organized in a hierarchal menu tree fashion;
`FIG. 5 shows a flow chart illustrating the sequence of
`operation of an application program having multiple levels
`of functions; and
`FIG. 6 shows a flow chart illustrating the process of
`entering alphanumeric information into a terminal of the
`present invention.
`DETAll..ED DESCRIPTION OF THE
`PREFFRRED EMBODIMENTS
`While the invention will be described in connection with
`certain preferred embodiments. there is no intention to limit
`
`4
`it to those embodiments. On the contrary. the intent is to
`cover all alternatives. modifications. and equivalents
`included within the spirit and scope of the invention as
`defined by the appended claims.
`Turning now to the drawings. FIG. 1 shows an embodi(cid:173)
`ment of the interactive interface terminal 100 of the present
`invention. which comprises an interface module 20 and a
`microcomputer 10. The microcomputer 10 is a general
`purpose computer comprising a microprocessor-based CPU.
`The phrase "general purpose" as used herein means that the
`microcomputer is of the type generally available for inter-
`facing with a variety of devices and capable of operating a
`wide range of software applications. It is to be contrasted
`with "special purpose". which connotes a microcomputer
`15 system specially adapted for a limited specific purpose. An
`example of the former is the wide range of DOS-based
`computers available from a large number of manufacturers.
`while an example of the latter might be a terminal dedicated
`to dispensing lottery tickets.
`The general purpose microcomputer 10 conventionally
`has a keyboard port 12 and a display port 14. A standard
`alphanumerical keyboard is typically connected to the
`microcomputer through the keyboard port. often to serve as
`the primary input device. The general purpose computer
`25 used in the terminal of the present invention. however. does
`not have a standard keyboard connected to the keyboard port
`12. The display port 14 allows a standard display screen 30
`to be connected to and driven by the microcomputer. The
`display 30 is illustrated as a CRT. although other forms such
`as the LCD display can be used.
`Internally to the microcomputer 10. the keyboard port 12
`is interfaced to a keyboard driver 16 (FIG. 3). The keyboard
`driver is compatible with a standard alphanumerical
`35 keyboard. and includes hardware and software elements.
`The hardware elements include the necessary integrated
`circuits and the like which accept signals from the keyboard
`and process them to produce data words recognizable by the
`microcomputer system. The software elements include key-
`40 board driver elements. typically resident within the input/
`output system (e.g., the BIOS). which process the keyboard
`signal to produce data words which serve as inputs to the
`microprocessor within the computer system. Both the hard(cid:173)
`ware and software elements are resident in the typical
`45 general purpose microcomputer 10 such that it is only
`necessary to plug a keyboard into the port 12. the hardware
`and software elements of the keyboard driver being avail(cid:173)
`able to immediately accept input from the keyboard.
`Generally. a keyboard functions by converting a key-
`so stroke into an electrical signal. generally a binary code. To
`that end. the conventional keyboard itself usually includes a
`keyboard encoder which performs the ordinary tasks of
`scanning the keyboard. detecting actuations of any keys. and
`producing binary coded signals indicating the identity of the
`55 key which had been depressed. The code which is produced
`by the encoder is transmitted to the microcomputer through
`a signal bus terminated with a connector 21 connected to the
`keyboard port 12. The keyboard driver 16 (FIG. 3) within
`the microcomputer receives the code and produces data
`60 words accessible to the microcomputer system for determin(cid:173)
`ing which key has been actuated. and responding according
`to the program in operation at the time. Because a keyboard
`is a standard input device for general purpose
`microcomputers. most general purpose microcomputers
`65 contain a keyboard driver as a standard feature.
`In accordance with an important aspect of the present
`invention. the special purpose interface module 20 makes
`
`30
`
` 14
`
`Petitioners' Exhibit 1042, Page
`
`
`
`5,724,069
`
`5
`full use of the keyboard port 12 and its associated drivers in
`integrating the special purpose user interface of the present
`invention with a general purpose microcomputer 10. ln
`addition, the interface module 20 of the present invention
`makes use of a general purpose display screen 30. such as
`the illustrated CRf. driven from the standard display port 14
`through a connection cable 34. It will thus be appreciated
`that the only truly special purpose features of the present
`invention are the input interface elements themselves, the
`remainder being elements which are integral to the readily
`available. and generally inexpensive available, standard
`microcomputer system.
`Turning in greater detail to the input aspects of the
`invention. the input module 25 (FIG. 3) comprises a plural-
`ity of pushbuttons 40 mounted on a bezel41 surrounding the
`screen 30. Preferably. the pushbuttons 40 are arranged in
`lines along two or more sides of the display screen 30. The
`interface module 20 in FIG. 1 has eight buttons above the
`screen 30 and eight buttons along the right side of the screen,
`forming an inverted "L" shaped array. The number of the
`pushbuttons and their locations alongside the screen can be
`varied according to the needs of a specific application. For
`instance, the pushbuttons can be located along only one side
`of the screen 30. It is preferred, however. to arrange the
`pushbuttons 40 in an inverted L-shape forming two lines.
`one along the top and the other along the right-hand side of
`the screen 30. ln conjunction with the display which is
`utilized in the assignment of functions to the pushbuttons,
`the inverted L as illustrated in the figures is most readily
`suited for ease of operation by a right-handed person. ln
`order to produce signals which are readily interpreted by the
`keyboard driver of the standard microcomputer, the input
`module includes an encoder circuit 24 (FIG. 3) which senses
`the actuation of the pushbuttons and generate keystroke
`signals which are identical in form to the keystroke signals
`generated by a standard keyboard. The keystroke signals are
`transmitted through a signal bus 22 terminated with a
`connector 21 connected to the keyboard port 12. Because the
`keystroke signals are compatible with the standard format of
`the keyboard driver, they can be handled by the keyboard 40
`driver, and processed by the BIOS to be made available to
`the application software being operated in the microcom(cid:173)
`puter. As a result, no specially designed drivers (either
`hardware or software) are needed for handling the input
`from the interface module.
`There are significant advantages to using an interface
`module which can be driven by a general purpose micro(cid:173)
`computer without any specially designed drivers. The cost of
`the terminal system is lower and installation of the system is
`simpler because no special drivers are required. The inter(cid:173)
`face module is also more portable in the sense that it can be
`matched with different microcomputers without having to
`install special drivers. Because the method of interfacing a
`keyboard to a general purpose microcomputers is fairly
`standardized. developing an application program which
`receives input from the keyboard port generally requires less
`testing and debugging than developing a program receiving
`input from a specially designed driver circuit. Furthermore.
`new applications can be developed or existing applications
`can be modified without the need for a special purpose
`terminal. Indeed, software development can be performed
`on a standard microcomputer using a standard keyboard, so
`long as the software developer knows the particular codes of
`the keyboard signals which will be used for each of the
`buttons 40 in the special purpose terminal 100.
`In practicing the invention, there is provided. in combi(cid:173)
`nation with the array of pushbuttons around the display.
`
`6
`means for assigning particular functions to the pushbuttons.
`and changing the assignment of functions at different levels
`of the application program. Because the number of push(cid:173)
`buttons should be quite limited in order to keep the user
`interface reasonably simple and intuitive, it will usually be
`desirable to assign multiple functions to at least some of the
`pushbuttons. It is therefore necessary to indicate to a user
`which function has been assigned to a pushbutton.
`FIG. 2 illustrates a preferred means for accomplishing
`10 that. The interface module 20 as shown in FIG. 2 has an
`array of pushbuttons 40 which are individually numbered
`101-116. As shown in FIG. 2. the application software
`operated within the microprocessor causes the display on the
`screen 30 of a group of graphic representations 46 individu-
`15 ally numbered 202-207. 209-215. A graphic representation
`is a graphic image suggestive of a pushbutton. The graphic
`representations 46 are positionally juxtaposed to the push(cid:173)
`buttons 40, and indicating the function which is currently
`assigned to each of the pushbuttons. To further assist the user
`20 in selecting a function. information about the functions may
`also be displayed on the screen. By coordinating represen(cid:173)
`tations 46 on the screen 30 to the positions of the pushbut(cid:173)
`tons 40 along the sides of the screen, the user can clearly tell
`which pushbutton 40 is assigned to which graphic represen-
`25 tation.
`FIG. 2 shows the preferred embodiment of the interface
`module of the present invention which has the pushbuttons
`40 arranged in an inverted "L" shape. Because the repre(cid:173)
`sentations 46 of the pushbuttons are positionally coordinated
`30 to the pushbuttons 40. the center of the screen 30 is free for
`display of application information.
`When the user actuates a pushbutton 40. a keystroke
`signal is sent to the keyboard driver 16 (FIG. 3). The
`35 program uses the signal received through the keyboard
`driver to determine which pushbutton has been actuated.
`thereby determining which function has been selected. For
`example, when the pushbutton 202 is actuated. the function
`assigned to it by the program is selected.
`Besides being used to select functions. the pushbuttons
`can be used for entering alphanumeric data. For example.
`the function assigned to pushbutton 202 in FIG. 2 may be to
`input the digit "1". Pressing that button then interpreted by
`the program as that the digit "l''has been entered.
`It may be desirable in some situations to assign permanent
`functions to some of the pushbuttons, and those functions
`can either be assigned. insofar as the user interface is
`concerned. by indicators on the screen 30. or by permanent
`markings on the buttons 40. ln the preferred embodiment of
`so the interface module as shown in FIG. 2. the three pushbut(cid:173)
`tons 101. 108, 116 located at the upper left. upper right. and
`lower right corners of the bezel41 surrounding the screen 40
`are generally reserved for those fixed special functions.
`FIG. 3 illustrates schematically the functional organiza-
`55 tion of the terminal of the present invention. The application
`program 50 in the memory can generally be viewed as
`functionally comprising two major modules. The first mod(cid:173)
`ule is the 1/0 module 60 which is responsible for controlling
`the course of the computer-user interaction. The course of
`60 interaction may be viewed as comprising many levels. and
`at each level the user is required to make one choice. The
`operation of the program correspondingly has many levels.
`At each level the 1/0 module 60 performs the output
`function of presenting to the user a set of functions for the
`65 user to choose from. and the input function of receiving a
`keystroke signal from the user indicating which function has
`been selected. The functions presented to the user are
`
`45
`
` 15
`
`Petitioners' Exhibit 1042, Page
`
`
`
`5.724,069
`
`8
`the elemental menus including. at least in some cases,
`mid-level menus followed by sub-level menus. This nesting
`is convenient in order to automatically move from a selec(cid:173)
`tion at a root level to the options available at a mid-level. to
`refinements to the selected options available at sub-level
`menu. The user need not be concerned with how to get from
`level to level in order to make the selections. Simply making
`a selection at one of the higher level menus indexes the level
`to the next sequential appropriate level. based on the selec-
`10 tion already made. so that the sub-items and refinements can
`be selected.
`In greater detail, FIGS. 4A-4F illustrate a series of
`screens forming at least one branch of a series of nested
`menus in a waiter's terminal according to the present
`invention. These figures each show a display screen 30
`illustrated at one level of the application software. They also
`illustrate the multi-function pushbuttons 40 arranged on the
`bezel 41 surrounding the screen 30. and demonstrate a
`sequence of steps for selecting a path through the hierarchal
`menu tree of options.
`Beginning with FIG. 4A, the screen 30 shows graphic
`representations 46 in rectangular boxes for options on the
`root level of the menu tree. indicating that the user can order
`dinner. lunch, appetizer, refreshments or drink. The graphic
`representation labeled DINNER in FIG. 4A is shaded to
`indicate that it is selected by the user. The same convention
`is used in FIGS. 4B-4F. The representations labeled
`DELEfE LAST and REPEAT LAST allow the user to
`change the last selected item. or to duplicate it. Moving now
`to FIG. 4B, after the user selects the dinner option. the screen
`shows different types of entree. and steak is selected. FIGS.
`4C & 4D show screen displays allowing the user to select the
`type of steak and how it is cooked. FIG. 4E shows that the
`user can choose between salad and French fries (FF). and the
`user chooses salad. After choosing salad the order for dinner
`is complete. and the screen display in FIG. 4F shows again
`representations 46 for the options on the root level. The
`waiter can then enter other selections such as a drink order
`
`7
`level-specific. meaning that which functions are presented
`depends on the level of operation. The 110 module 60 also
`assigns the level specific functions to the pushbuttons 40 so
`that the user can press one button to select its assigned
`function.
`The second module in the application program is the
`application module 66. This module is responsible for
`carrying out the functions selected by the user. For instance,
`a selected function can be printing out a check 202 on an
`attached printer 200, or displaying a road map on the display
`screen 30.
`Based on the input or output functions,