Keyboard Emulation System
Total Page:16
File Type:pdf, Size:1020Kb
Europaisches Patentamt J European Patent Office 0y Publication number: 0 441 032 A2 Office europeen des brevets EUROPEAN PATENT APPLICATION © Application number: 90312783.5 @) mt. ci.5: G06F 3/023 ® Date of filing: 23.11.90 The title of the invention has been amended Mail Stop 20 B-O, 3000 Hanover Street (Guidelines for Examination in the EPO, A-lll, Palo Alto, California 94304(US) 7.3). (§) Inventor: Poland, McKee D. © Priority: 29.12.89 US 458955 302 Portola Road Portola Valley, California 94028(US) @ Date of publication of application: 14.08.91 Bulletin 91/33 0 Representative: Colgan, Stephen James et al ® Designated Contracting States: DE FR GB IT CARPMAELS & RANSFORD 43 Bloomsbury Square @ Applicant: Hewlett-Packard Company London WC1A 2RA(GB) Keyboard emulation system. © The system unit (16) of an IBM compatible per- operation. The successful collection of encoded sonal computer generates a distinctive audible character data and transmission of that data to the "Beep" signal from the system unit's own sound keyboard port (28) of a host computer by a relatively transducer (32) in response to the successful de- unsophisticated operator is further enhanced by code of a barcode label (26) in a keyboard emulation built-in logic (40,42,44) for reliably and simply de- data collection device such as a barcode reader ducing which keyboard communication protocol from (10). To initiate the generation of such a Beep by the several candidates is currently in use and for deduc- system unit, the keyboard emulation system simu- ing the status of the computer's Caps Lock flag by lates (114,116) a benign error condition (OOH;FFH) eliciting a Reset Status Indicators command from the which does not affect the operation of any applica- system unit. If the Caps Lock flag is in its shifted tion programs resident in the system unit and which state, all case sensitive data is automatically trans- does not require any modifications to the operating posed (114) so that it will be correctly interpreted. system or any special device drivers for its proper (M CO Q_ Lll Rank Xerox (UK) Business Services EP 0 441 032 A2 KEYBOARD EMULATION SYSTEM HAVING IMPROVED OPERATOR INTERFACE Field of Invention (typically associated with the IBM PC XT) and "Mode 2" (typically associated with the IBM PC AT The present invention relates to a keyboard and the IBM PS/2). emulator type of data collection device, and more The system unit's operating system software particularly to improvements in the operator inter- 5 and hardware, typically including Basic Input Out- face thereof whereby the operator is assured of the put System (BIOS) firmware provided by the com- successful collection of encoded character data puter manufacturer, then converts the keyscan and transmission of that data to the keyboard port code signal appearing at the keyboard port into a of a host computer even if the operator is not corresponding sequence of character codes and/or viewing the decoded data as it is processed by the w status flags in a form usable by the application computer. programs. In particular, a keyboard I/O driver (or a special purpose driver included as part of a particu- Background of the Invention lar application program) handles the "hand-shake" protocol used to transfer keyscan data from the A keyboard is an example of a manual data 75 keyboard unit to the computer, defines which keys collection device for a computer system. Typically, are given the attributes of typematic, shift, toggle, an operator depresses keys similar to those of a and/or control, and updates one or more shift state typewriter or an adding machine, and the individual flags used to process the next incoming keyscan keystrokes are sequentially converted by built-in code. The actual code and protocol used will de- switches and logic circuitry within the keyboard unit 20 pend on the type of computer: The most common into a sequence of keyscan codes, each corre- types of keyboards are the 84 key keyboard typi- sponding to the actuation of a key on the keyboard. cally used with the IBM PC XT (Code 1) and the The sequence of keyscan codes is thereafter con- "enhanced" 101/102 key keyboard typically asso- verted into a corresponding sequence of alphanu- ciated with the IBM PC AT (Code 2). These two meric (eg, A-Z, a-z, 0-9), symbol (eg, !, @, #, $, %) 25 computer types are normally associated respec- and/or function (eg, [enter], [backspace], etc) char- tively with the two aforementioned protocols (Mode acter codes. A commonly used set of such char- 1 and Mode 2); however, as exemplified by certain acter codes is the 7-bit ASCII (American Standard of the IBM PS/2 personal computers, it is also Code for Information Interchange) code, which also possible to use a Code 1 code set with a Mode 2 exists in various "extended" 8-bit versions. 30 protocol, although most PS/2 models use the Mode In many small computer systems, including the 2/Code 2 combination. (In fact, the IBM PS/2 sys- ubiquitous "IBM-compatible personal computer", a tem units are typically programmed to accommo- keyboard unit transmits keyscan codes to a system date both the Code 1 and the Code 2 keyscan unit via a keyboard port, and the system unit code sets, as well with a third keyscan code set, converts the keyscan codes to character codes 35 known as "Code 3"). which serve as input data to various user-oriented When using such an arrangement of keyboard applications programs. Two sets of such keyscan unit and system unit, the operator may press and codes are in common use, a "Code 1" code set release the keys faster than the corresponding typically associated with the original IBM PC and keyscan codes can be read (and processed into characterized by only 10 function keys and an 40 character codes) by the system unit. If the rate at integrated numeric/cursor keypad, and a "Code 2" which keyscan codes are entered into the keyboard code set associated with the IBM AT and char- buffer exceeds the rate at which the keyscan codes acterized by 12 function keys and dedicated cursor are removed from the buffer for transmission, the keys. result will be a "keyboard buffer overflow" con- In such a system, a programmed microproces- 45 dition, which is signified to the system unit of IBM sor inside the keyboard unit performs a number of compatible computers by a special keyscan code. functions, including self-test, scans the individual The system unit BIOS reacts to this special keys to determine their respective states, gener- keyscan code by executing a "Beep" routine, ates a keyscan code each time one of the keys which activates a small loudspeaker or other sound changes state ("make" or "break"), stores up to 16 so transducer inside the system unit, and thus pro- keyscan codes in a buffer, and transfers each vides the operator with an audible warning. A simi- keyscan code from the buffer to the system unit in lar situation will also be true for the keyboards accordance with a defined hand-shake protocol. connected not directly to a system unit, but rather Two such IBM compatible protocols are in common to a terminal connected to a remote host computer, use, which will be referred to herein as "Mode 1" in which case either the remote computer or built EP 0 441 032 A2 in logic within the terminal will detect a benign from another type of data collection device, it is keyboard error condition and cause a sound trans- preferable to provide the operator with visual and/or ducer inside the terminal to generate a distinctive audible feedback. One example of such feedback Beep. It should be noted that the keyboard buffer is the display of the characters on the computer's overflow condition is "benign" in the sense that it 5 video monitor as they are being input from the has no adverse influence on the operation of the keyboard. In addition, keyboard units are frequently computer system unit (or computer terminal), and provided with mechanical or electrical means to the normal operation of the computer continues, generate an audible "click" each time a key is but accompanied by an audible signal which alerts depressed, which provides an audible form of oper- the operator to a possible corruption of input data w ator feedback. In the case of ASCII data which is from the keyboard. input via a serial port, appropriate operator feed- Other data collection devices usable with com- back is sometimes provided by means of a special puter systems and computer terminals include con- software driver or application program that pro- tact barcode readers, non-contact (e.g. laser) bar- duces the desired feedback when it detects trans- code readers, magnetic stripe readers, electrical 75 mission of ASCII data. multimeters, OCR scanners, and electronic weigh- Although the ASCII character set includes a ing scales. "Bell" character (ASCII OOTio) which typically To accommodate these other types of data causes the MS-DOS operating system to generate input devices (as well as variety of other input and a Beep (using the computer's built-in sound trans- output devices) a small computer typically is also 20 ducer) if echoed to the display device, many soft- provided with a serial port and the necessary soft- ware programs either ignore the Bell character or ware and hardware to read and write ASCII data to treat it as just another displayable symbol ( 0 or and from the serial port. ~G). Using a special driver or application program A keyboard emulation device may be defined with a keyboard emulation device is especially as a data collection device which transmits data to 25 undesirable because it defeats its primary advan- a computer as keyscan codes through the com- tage, which is software transparency.