|
Claims  |
|
|
What is claimed is:
1. For use with a computer system unit or computer terminal unit comprising
a keyboard port and a sound transducer and utilizing a predetermined
keyboard communication protocol for inputting data from a keyboard unit
via the keyboard port as a sequence of keyscan codes, the protocol
including provision for signifying at least one predetermined benign error
condition within the keyboard unit which causes an audible error signal to
be generated by said sound transducer, a keyboard emulator comprising:
input means for converting a machine-readable symbol into a digital
representation of a message comprising one or more character codes;
output means responsive to the input means for:
a) translating said character codes into keyscan codes;
b) emulating said predetermined benign error condition by including at
least one special error code with said keyscan codes whenever said input
means successfully translates said machine-readable symbol into a
corresponding sequence of character codes, said special error code having
no effect on the processing of said keyscan codes by the computer when
said keyscan codes are transmitted to said keyboard port; and
c) transmitting said keyscan codes and special error code to said keyboard
port in accordance with said keyboard communication protocol, whereby
whenever the input means converts a machine-readable symbol and
corresponding keyscan codes and special error code are transmitted to the
keyboard port of the computer from the output means, the computer will
produce an audible error signal.
2. The keyboard emulator of claim 1 wherein
said keyboard emulator is an elongated contact-type barcode reader which
does not contain any sound transducer.
3. The keyboard emulator of claim 1 wherein
said benign error condition is emulated by transmitting a predetermined
keyscan code to said system or terminal unit, and
said system or terminal unit is programmed to cause said sound transducer
to generate an audible error signal whenever said predetermined keyscan
code is received at said keyboard port.
4. The keyboard emulator of claim 3 wherein said computer is an IBM PC
compatible computer which in its standard configuration generates an
audible "Beep" in response to a keyscan code of "FFH" and said benign
error condition is signified by at least one such "FFH" keyscan code.
5. The keyboard emulator of claim 3 wherein said computer is an IBM PC
compatible computer which in its standard configuration generates an
audible "Beep" in response to a keyscan code of "00H" and said benign
error condition is signified by at least one such "00H" keyscan code.
6. The keyboard emulator of claim 3 wherein
said machine-readable symbol includes a portion which is converted and
translated into said predetermined keyscan code.
7. The keyboard emulator of claim 6 wherein
said symbol is encoded as one or more characters of a Code 128 barcode and
said portion is preceded and followed by a predetermined Code 128 function
code.
8. The keyboard emulator of claim 6 wherein
said keyboard emulator is an elongated wand which does not contain any
sound transducers, and
said computer system or terminal unit contains an internal sound transducer
means programmed to generate an audible "Beep" in response to said
predetermined keyscan code.
9. The keyboard emulator of claim 1 further comprising
status means responsive to a status command from the computer for deducing
status of a shift state status flag, and
transposing means responsive to the deducing means and the input means for
transposing shift states of predetermined keyboard characters prior to
encoding by the output means whenever said shift state status flag is in
an activated state.
10. The keyboard emulator of claim 9 wherein the keyboard is a Mode 2 IBM
compatible keyboard, the system unit or terminal unit is an IBM AT or PS/2
compatible system unit,
the status means transmits a predetermined status change keyscan code prior
to each transmission of a decoded and converted message to the computer,
and
said status command is a Reset Status Indicators command transmitted by the
system unit to the keyboard unit in response to said predetermined status
change keyscan code.
11. The keyboard emulator of claim 10 wherein
said predetermined keyboard keys are alphabetic keys, and
said predetermined status change keyscan code is a Caps Lock keyscan code.
12. The keyboard emulator of claim 11 wherein
the status means transmits a second said Caps Lock keyscan code subsequent
to each said transmission to return the shift state status flag to its
state prior to said transmission.
13. The keyboard emulator of claim 1, further comprising:
verification means for verifying whether the message is a legal message;
header means for generating a "good read" message header comprising at
least one predetermined keyscan code signifying said benign error
condition; and
communication means responsive to the verification means and the header
means for transmitting the legal message header and the keyscan codes
corresponding to the legal message to the keyboard port in accordance with
the predetermined keyboard communication protocol.
14. The keyboard emulator of claim 13 wherein
said verification means further comprises misread detector means for
detecting a "no-read" condition signifying that the machine readable
symbol being processed by the input means could not be converted into a
legal message and
said communication means transmits a "no-read" message in response thereto.
15. The keyboard emulator of claim 14 wherein
said "no-read" message comprises at least two said predetermined keyscan
codes, and
said "good read" message header and said "no-read" message cause the
computer to produce different respective audible responses.
16. The keyboard emulator of claim 13 wherein said computer is an IBM PC
compatible computer which in its standard configuration generates an
audible "Beep" in response to a keyscan code of "FFH" and said benign
error condition is signified by at least one such "FFH" keyscan code.
17. The keyboard emulator of claim 13 wherein said computer is an IBM PC
compatible computer which in its standard configuration generates an
audible "Beep" in response to a keyscan code of "00H" and said benign
error condition is signified by at least one such "00H" keyscan code.
18. The keyboard emulator of claim 13 further comprising
mode means for determining whether said keyboard communication protocol is
a particular predetermined protocol.
19. The keyboard emulator of claim 18 wherein said header means and said
communication means are responsive to said mode means.
20. The keyboard emulator of claim 18 wherein
said particular predetermined protocol is an IBM compatible Mode 2
protocol,
said emulator is being used as a replacement for said keyboard unit, and
said mode means further comprises
sending means for causing the emulator to send a Mode 2 Basic Assurance
Test Completion code and
deducing means for determining whether the system unit's response to the
Mode 2 Basic Assurance Test Completion code is in accordance with said IBM
compatible Mode 2 protocol.
21. The keyboard emulator of claim 18 wherein
said particular predetermined protocol is an IBM compatible Mode 2
protocol,
said emulator is being used concurrently with said keyboard unit, and
said mode means further comprises
monitoring means for causing the emulator to eavesdrop on transmissions
between the keyboard unit and the system unit until a Basic Assurance Test
Completion code is detected and
deducing means for determining whether the Basic Assurance Test Completion
code is in accordance with said IBM compatible Mode 2 protocol.
22. The keyboard emulator of claim 13 further comprising
status means responsive to a status command from the computer for deducing
status of a shift state status flag, and
transposing means responsive to the deducing means and the input means for
transposing shift states of predetermined keyboard characters prior to
encoding by the output means whenever said shift state status flag is in
an activated state.
23. The keyboard emulator of claim 22 wherein
the keyboard is a Mode 2 IBM compatible keyboard,
the system unit or terminal unit is an IBM AT or PS/2 compatible system
unit,
the status means transmits a predetermined status change keyscan code prior
to each transmission of a decoded and converted message to the computer,
and
said status command is a Reset Status Indicators command transmitted by the
system unit to the keyboard unit in response to said predetermined status
change keyscan code.
24. The keyboard emulator of claim 23 wherein
said predetermined keyboard keys are alphabetic keys, and
said predetermined status change keyscan code is a Caps Lock keyscan code.
25. The keyboard emulator of claim 24 wherein
the status means transmits a second said Caps Lock keyscan code subsequent
to each said transmission to return the shift state status flag to its
state prior to said transmission.
26. The keyboard emulator of claim 1 further comprising mode means for
determining whether said keyboard communication protocol is a particular
predetermined protocol.
27. The keyboard emulator of claim 26 wherein said particular predetermined
protocol is an IBM compatible Mode 2 protocol;
said emulator is being used as a replacement for said keyboard unit, and
said mode mans further comprises
sending means for causing the emulator to send a Mode 2 Basic Assurance
Test Completion code and
deducing means for determining whether the system unit's response to eh
Mode 2 Basic Assurance Test Completion code is in accordance with said IBM
compatible Mode 2 protocol.
28. The keyboard emulator of claim 26 wherein said particular predetermined
protocol is an IBM compatible Mode 2 protocol,
said emulator is being used concurrently with said keyboard unit, and
said mode mans further comprises
monitoring means for causing the emulator to eavesdrop on transmissions
between the keyboard unit and the system unit until a Basic Assurance Test
Completion code is detected and
deducing means for determining whether the Basic Assurance Test Completion
code is in accordance with said IBM compatible Mode 2 protocol.
29. For use with a computer system unit or computer terminal comprising a
keyboard port and utilizing an IBM compatible Mode 2 keyboard
communication protocol for inputting data from a keyboard unit via the
keyboard port as a sequence of keyscan codes, a keyboard emulator
comprising:
input means for converting a machine-readable symbol into a digital
representation of a message comprising one or more character codes;
output means responsive to the input means for transmitting said message to
said keyboard port in accordance with said keyboard communication protocol
as a corresponding sequence of keyscan codes;
status means for
transmitting a predetermined status change keyscan code prior to each
transmission of a decoded and converted message, and
for deducing status of a shift state status flag from a Reset Status
Indicators command transmitted to the keyboard unit in response to said
predetermined status change keyscan code; and
transposing means responsive to the deducing means and the input means for
transposing shift states of predetermined keyboard characters prior to
encoding by the output means whenever said shift state status flag is in
an activated state.
30. The keyboard emulator of claim 29 wherein
said predetermined keyboard keys are alphabetic keys, and
said predetermined status change keyscan code is a Caps Lock keyscan code.
31. The keyboard emulator of claim 30 wherein
the status means transmits a second said Caps Lock keyscan code subsequent
to each said transmission to return the shift state status flag to its
state prior to said transmission.
32. The keyboard emulator of claim 29 wherein
said particular predetermined protocol is an IBM compatible Mode 2
protocol,
said emulator is being used as a replacement for said keyboard unit, and
said emulator further comprises
sending means for causing the emulator to send a Mode 2 Basic Assurance
Test Completion code and
mode means for determining whether the system unit's response to the Mode 2
Basic Assurance Test Completion code is in accordance with said IBM
compatible Mode 2 protocol.
33. The keyboard emulator of claim 29 wherein
said particular predetermined protocol is an IBM compatible Mode 2
protocol,
said emulator is being used concurrently with said keyboard unit, and
said emulator further comprises
monitoring means for causing the emulator to eavesdrop on transmissions
between the keyboard unit and the system unit until a Basic Assurance Test
completion code is detected and
mode means for determining whether the Basic Assurance Test Completion code
is in accordance with said IBM compatible Mode 2 protocol. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF INVENTION
The present invention relates to a keyboard emulator type of data
collection device, and more particularly to improvements in the operator
interface thereof whereby the operator is assured of the successful
collection of encoded character data and transmission of that data to the
keyboard port of a host computer even if the operator is not viewing the
decoded data as it is processed by the computer.
BACKGROUND OF THE INVENTION
A keyboard is an example of a manual data collection device for a computer
system. Typically, an operator depresses keys similar to those of a
typewriter or an adding machine, and the individual keystrokes are
sequentially converted by built-in switches and logic circuitry within the
keyboard unit into a sequence of keyscan codes, each corresponding to the
actuation of a key on the keyboard. The sequence of keyscan codes is
thereafter converted into a corresponding sequence of alphanumeric (e.g.,
A-Z, a-z, 0-9), symbol (e.g., !, @, #, $, %) and/or function (e.g.,
[enter], [backspace], etc) character codes. A commonly used set of such
character codes is the 7-bit ASCII (American Standard Code for Information
Interchange) code, which also exists in various "extended" 8-bit versions.
In many small computer systems, including the ubiquitous "IBM-compatible
personal computer", a keyboard unit transmits keyscan codes to a system
unit via a keyboard port, and the system unit converts the keyscan codes
to character codes which serve as input data to various user-oriented
applications programs. Two sets of such keyscan codes are in common use, a
"Code 1" code set typically associated with the original IBM PC and
characterized by only 10 function keys and an integrated numeric/cursor
keypad, and a "Code 2" code set associated with the IBM AT and
characterized by 12 function keys and dedicated cursor keys.
In such a system, a programmed microprocessor inside the keyboard unit
performs a number of functions, including self-test, scans the individual
keys to determine their respective states, generates a keyscan code each
time one of the keys changes state ("make" or "break"), stores up to 16
keyscan codes in a buffer, and transfers each keyscan code from the buffer
to the system unit in accordance with a defined hand-shake protocol. Two
such IBM compatible protocols are in common use, which will be referred to
herein as "Mode 1" (typically associated with the IBM PC XT) and "Mode 2"
(typically associated with the IBM PC AT and the IBM PS/2).
The system unit's operating system software and hardware, typically
including Basic Input Output System (BIOS) firmware provided by the
computer manufacturer, then converts the keyscan code signal appearing at
the keyboard port into a corresponding sequence of character codes and/or
status flags in a form usable by the application programs. In particular,
a keyboard I/O driver (or a special purpose driver included as part of a
particular application program) handles the "hand-shake" protocol used to
transfer keyscan data from the keyboard unit to the computer, defines
which keys are given the attributes of typematic, shift, toggle, and/or
control, and updates one or more shift state flags used to process the
next incoming keyscan code. The actual code and protocol used will depend
on the type of computer: The most common types of keyboards are the 84 key
keyboard typically used with the IBM PC XT (Code 1) and the "enhanced"
101/102 key keyboard typically associated with the IBM PC AT (Code 2).
These two computer types are normally associated respectively with the two
aforementioned protocols (Mode 1 and Mode 2); however, as exemplified by
certain of the IBM PS/2 personal computers, it is also possible to use a
Code 1 code set with a Mode 2 protocol, although most PS/2 models use the
Mode 2/Code 2 combination. (In fact, the IBM PS/2 system units are
typically programmed to accommodate both the Code 1 and the Code 2 keyscan
code sets, as well with a third keyscan code set, known as "Code 3").
When using such an arrangement of keyboard unit and system unit, the
operator may press and release the keys faster than the corresponding
keyscan codes can be read (and processed into character codes) by the
system unit. If the rate at which keyscan codes are entered into the
keyboard buffer exceeds the rate at which the keyscan codes are removed
from the buffer for transmission, the result will be a "keyboard buffer
overflow" condition, which is signified to the system unit of IBM
compatible computers by a special keyscan code. The system unit BIOS
reacts to this special keyscan code by executing a "Beep" routine, which
activates a small loudspeaker or other sound transducer inside the system
unit, and thus provides the operator with an audible warning. A similar
situation will also be true for the keyboards connected not directly to a
system unit, but rather to a terminal connected to a remote host computer,
in which case either the remote computer or built in logic within the
terminal will detect a benign keyboard error condition and cause a sound
transducer inside the terminal to generate a distinctive Beep. It should
be noted that the keyboard buffer overflow condition is "benign" in the
sense that it has no adverse influence on the operation of the computer
system unit (or computer terminal), and the normal operation of the
computer continues, but accompanied by an audible signal which alerts the
operator to a possible corruption of input data from the keyboard.
Other data collection devices usable with computer systems and computer
terminals include contact barcode readers, non-contact (e.g. laser)
barcode readers, magnetic stripe readers, electrical multimeters, OCR
scanners, and electronic weighing scales.
To accommodate these other types of data input devices (as well as variety
of other input and output devices) a small computer typically is also
provided with a serial port and the necessary software and hardware to
read and write ASCII data to and from the serial port.
A keyboard emulation device may be defined as a data collection device
which transmits data to a computer as keyscan codes through the computer's
keyboard I/O port, but which obtains the data from a source other than
actuation of physical keys on a keyboard unit by an operator. It
translates the data it collects into a format acceptable to the computer
operating system and transmits the data through the keyboard port
according to the standard protocol for the keyboard I/O channel.
Application software created for use with manual keyboard input will thus
also work with a keyboard emulator type of data collection device without
any modifications to either the application program or the computer
operating system. The keyboard emulator can complement or replace the
keyboard unit for a given application, allowing efficient data entry.
Normally, the keyboard emulator physically connects between the existing
keyboard unit and computer, allowing the keyboard unit to remain active in
the system, but inserting its own data into the I/O channel when data
collection occurs, which may be termed a "T-connector" Mode. A "Keyboard
Replacement" Mode is also possible, wherein the keyboard emulator is the
only device connected to a particular keyboard port and takes over
responsibility for all functions at that port. A particularly important
category of keyboard emulation deVices, at least from a commercial point
of view, are devices which may be plugged directly into the keyboard port
of an "IBM-PC compatible" personal computer without any modifications to
the system unit or to any of software used therewith.
Regardless of whether the data originates from a keyboard, from a keyboard
emulation device, or from another type of data collection device, it is
preferable to provide the operator with visual and/or audible feedback.
One example of such feedback is the display of the characters on the
computer's video monitor as they are being input from the keyboard. In
addition, keyboard units are frequently provided with mechanical or
electrical means to generate an audible "click" each time a key is
depressed, which provides an audible form of operator feedback. In the
case of ASCII data which is input via a serial port, appropriate operator
feedback is sometimes provided by means of a special software driver or
application program that produces the desired feedback when it detects
transmission of ASCII data.
Although the ASCII character set includes a "Bell" character (ASCII
007.sub.10) which typically causes the MS-DOS operating system to generate
a Beep (using the computer's built-in sound transducer) if echoed to the
display device, many software programs either ignore the Bell character or
treat it as just another displayable symbol ( or G). Using a special
driver or application program with a keyboard emulation device is
especially undesirable because it defeats its primary advantage, which is
software transparency. Rather than relying on special application programs
and/or device drivers (with their attendant potential incompatibility
problems) to properly interpret a special control character as audible
feedback, it has thus become common to provide data collection devices
(other than keyboards) with a dedicated sound transducer to provide
audible feedback each time the input device is activated by the operator
and completes a successful operation (such as reading a barcode or other
machine readable data compatible with the device). In the case of a data
collection device that is intended for use with the serial port of the
system unit, this may be accomplished by means of an optional module
between the data collection device and the computer's serial input, which
is designed to monitor the data line from the input device and produces an
audible tone whenever data is being transmitted.
Prior art keyboard emulation systems often employed a sound transducer to
provide audible feedback to the user or operator in the form of a beeper
module. The beeper module was designed as an integral part of the keyboard
emulation system; however, it added cost and bulk to the system, resulted
in a product that was inconvenient to hold and/or utilized a separate
chassis for the electronics (which was less desirable from an ergonomic
point of view), and, since openings in the system package are needed to
allow the sound to escape efficiently, compromised the mechanical
integrity and sealing of the keyboard emulation system.
When inputting data both from the keyboard and from the data collection
device using barcode data in accordance with a symbology (such as Code
128) that has distinct representations for upper and lower case alphabets,
it is necessary to verify that any "Caps Lock" key on the associated
keyboard had not been left in its "on" state before data was transmitted
by the keyboard emulator to the computer. The operator could accomplish
this by visually examining a "Caps Lock" indicator on the keyboard or
computer screen or by visually examining the input data as displayed on
the computer screen. Alternatively, some data collection devices were able
to compensate for a set shift state flag automatically, presumably by
monitoring all transmissions from the keyboard for Caps Lock and/or Shift
keyscan codes, from which it would then be possible to deduce the current
state of the shift state flag; however, such an "open loop" solution was
inherently unreliable and interfered with the optimal utilization of the
emulator's processing capacity.
SUMMARY OF THE INVENTION
A presently preferred embodiment of the invention consists of a method and
related apparatus for scanning a barcode symbol into a legal sequence of
bars and spaces that may be decoded into a valid sequence of character
codes and transmitted as a sequence of keyscan codes in such a way that
the keyscan code sequence will be properly decoded by the computer back
into the same valid sequence of character codes represented by the
originally scanned barcode symbol, without requiring the operator to
visually examine the data as it is processed by the computer.
In accordance with a first aspect of the invention, the computer's system
unit generates a distinctive audible signal from the system unit's own
sound transducer in response to the successful decode of a barcode label
in a keyboard emulation barcode reader. To initiate the generation of such
a Beep by the system unit, the keyboard emulation system simulates an
error condition which does not affect the operation of any application
programs and which does not require any modifications to the operating
system or any special device drivers for its proper operation.
In the particular case of IBM-compatible personal computers, there are
typically two special keyscan codes for indicating a benign error
condition that will initiate the generation of the desired Beep, but not
otherwise interfere with the computer's normal processing of data: 00H and
FFH (the H signifies a number in hexadecimal notation). These particular
keyscan codes do not actually correspond to keys on the IBM keyboard, but
may signify one of two keyboard errors to BIOS: the overflow of the
keyboard unit's internal buffer or a key detection error. Standard
versions of BIOS respond by simply discarding the error keyscan code and
generating a Beep, and thus the error is "benign" in so far as it has no
effect on the normal operation of the computer or on any application
program. The sound of such a Beep and the firmware and hardware actually
used to generate it may vary amongst models of PC's, but, by the very
definition of "IBM compatible" the action taken by the computer's BIOS is
consistent. The keyboard emulator system thus is able to provide the
operator with an audible confirmation of a successful data collection
operation by merely simulating an error in the input process to which the
system responds by sounding a Beep to alert the operator to an input error
condition that normally would require operator attention. Moreover, since
the system unit already includes the necessary sound transducer hardware
and firmware to alert the operator in the event such an error occurs, a
keyboard emulator system constructed in accordance with the teachings of
the present invention no longer needs its own dedicated sound transducer
and associated drivers to provide the operator with audible confirmation
of a successful read; for the great majority of application programs, this
is accomplished regardless of what application programs are actually
running and without any modification to the system unit or any of its
operating system software.
In one particular embodiment, the keyboard emulator is adapted to interpret
specially encoded bar codes printed in a standard symbology such as Code
128, such that sequences of characters within the symbology are mapped to
keyscan codes, including the above-mentioned error keyscan code. Since the
decoded information is transmitted to the system unit only if it has been
successfully read and decoded, it is merely necessary to add the
particular keyscan code signifying a keyboard error on the label which
will be scanned by the data entry device in order to provide the operator
with audible confirmation each time the label is successfully read during
a subsequent data collection operation.
In another embodiment having more general applicability, the keyboard
emulator system assembles the successfully collected data into a message
which additionally incorporates the special keyscan code, for example, in
a header that is attached at the beginning of each transmission of data to
the system unit. In this case, no special decoding and conversion of
barcode data to keyscan codes is necessary. The special keyscan code is
merely appended as the decoded barcode ASCII characters are converted to a
stream of keyscan codes.
In accordance with a second but related aspect of the invention, when used
with an IBM PC AT or other IBM Mode 2 compatible system unit, the keyboard
emulator uses the IBM compatible Mode 2 protocol "Reset Status Indicators"
command to obtain current keyboard status information maintained by the
system unit, including the state of the Caps Lock flag, so that if
necessary that flag may be reset to a predetermined "off" state prior to
transmitting any keyscan codes; alternatively the keyscan codes may be
"preshifted" before transmission. As a result, there is no need for the
operator to visually verify that the character data from the keyboard
emulator have not been inadvertently shifted by the computer's operating
system before being made available to any resident application program.
Preferably, the keyboard emulator includes means for automatically
detecting when a particular keyboard communication protocol is in use (for
example Mode 2 protocol used by the IBM PC AT and IBM PS/2), and, unless a
specific protocol has been preconfigured by the user, uses that
information to establish how the scan data is to be translated and
transmitted to the computer and/or if and how to determine the current
keyboard status information maintained by the computer.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other features and advantages of the present invention will be
appreciated as the same becomes better understood by reference to the
following detailed description when considered in connection the
accompanying drawings, wherein:
FIG. 1 shows a presently preferred embodiment of the invention in actual
use with a barcode reader as its data collection device;
FIG. 2 is a block diagram of the major components shown in FIG. 1;
FIG. 3 is a circuit diagram of the switching circuitry for temporarily
isolating the communications module shown in block form in FIG. 2 from any
attached keyboard;
FIG. 4 is a flow diagram of the operation of the communication module
during initialization;
FIGS. 5A and 5B respectively are flow diagrams of the operation of the
communication module following a successful or unsuccessful scan attempt
by the barcode reader; and
FIG. 6 is a flow diagram of the emulation of upper and lower case
characters when using a Mode 2 keyboard protocol.
DETAILED DESCRIPTION
FIG. 1 shows a presently preferred embodiment of the invention in the form
of a wand shaped self-contained barcode scanning unit 10 which has a cable
12 terminated by a T-connector 14 for interfacing the wand with the
computer's system unit 16 and its keyboard unit 18 via cable 20.
The wand 10 preferably is about 160 mm long and about 23 mm in diameter,
and is shaped so as to be conveniently held in one hand of an operator. At
the end 22 remote from the cable 12, there is provided a transparent
window 24 which is slid across the label 26 bearing the code which is to
be read. The wand 10 transmits data to the computer's system unit 16 only
after a barcode 26 has been scanned, and provides an otherwise transparent
interface between the computer's keyboard and system units. The
aforementioned Keyboard Replacement mode is a possible alternate for the
T-Connector mode shown in FIG. 1; in that case no keyboard unit 18 is
plugged into the T-connector 14 and only the wand 10 is thus connected to
the keyboard port 28 of the system unit 16.
Referring to FIG. 2, which is a block diagram of the major components shown
in FIG. 1, it should be noted that the keyboard unit 18 is unchanged from
what is conventionally used with the a typical small computer such as an
IBM PC-compatible personal computer and the keyboard unit is thus
represented in simple block form. The same is true for the computer system
unit 16; however, a keyscan conversion means (BIOS keyboard interrupt
service routine 30) and a keyboard buffer overflow means (for example,
error entry point K62 and associated loudspeaker or other sound transducer
32) have been separately shown, since the functional and structural
relationship of these otherwise conventional components with the various
components internal to the keyboard emulation system 10 is an important
aspect of the invention.
The wand 10 is a derivative of a barcode reader sold by Hewlett Packard
under the trademark SmartWand and documented in various Hewlett Packard
publications, including the "HP SmartWand Programmable Contact Bar Code
Reader Technical Data Sheet" dated January 1988 and the "HP SmartWand
Users Manual for HBCR-8XXX Series" dated July 1987. Wand 10 comprises a
conventional optoelectronic sensor head 34 which may used to scan various
types of barcodes, including Code 39, Extended Code 39, Interleaved 2 of
5, UPC/EAN/JAN, Codabar, Code 128, Code 11, and MSI Code. The wand 10 also
comprises an Intel 8051 family (or equivalent) microcontroller 36
operating under the control of a time interval acquisition module 38, a
number of decoding modules 40, a code-converting module 42, and an
initialization/communication module 44. The various modules are in the
form of firmware fixed in a ROM; non-volatile memory 46 is used to store
configuration data; a temporary store 48 is also provided for the data
being processed by the above mentioned modules.
The digital microcontroller 36 is interfaced to the optoelectronic sensor
head 34 via a conventional threshold detector circuit 50; microcontroller
36 is also interfaced to the signals present on cable 12 and T-connector
14 via an appropriate switchable electrical interface 52, as will be
described in more detail hereinafter with respect to FIG. 3. Moreover, the
above mentioned electronic and electro-optical components and subsystems
inside the wand 10 all draw their power from the system unit 16 via the
c | | |