Language selection

Search

Patent 1308457 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 1308457
(21) Application Number: 1308457
(54) English Title: POSITIVE FEEDBACK TACTILE FUNCTION KEY
(54) French Title: TOUCHE DE FONCTION TACTILE A REACTION POSITIVE
Status: Expired and beyond the Period of Reversal
Bibliographic Data
(51) International Patent Classification (IPC):
  • G6F 3/02 (2006.01)
  • G6F 3/023 (2006.01)
  • H1H 13/14 (2006.01)
(72) Inventors :
  • WOOD, JOHN W. (Australia)
(73) Owners :
  • KEYCORP PTY. LTD.
(71) Applicants :
  • KEYCORP PTY. LTD. (Australia)
(74) Agent: CASSAN MACLEAN
(74) Associate agent:
(45) Issued: 1992-10-06
(22) Filed Date: 1984-10-02
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
PG 1692 (Australia) 1983-10-04

Abstracts

English Abstract


Abstract
The present invention relates to a positive feedback
tactile Function key (99) comprising a single or
multicharacter non-specific display (102), means for
activating said display, and means for interfacing said
Function key (99) with an electronic system. Also disclosed
is a system for interfacing a device that uses electronic
means to label keys so that use of the operator interface
advantages of such a device can be gained with programs that
were not designed for use with it.


Claims

Note: Claims are shown in the official language in which they were submitted.


WHAT IS CLAIMED IS:
An input device communicating with a digital processing device, said input device
comprising:
a plurality of movable keys, each said key including a switch operable to produce an output
signal when each said key is depressed,
at least two of said keys being self identifying function keys, each function key including
electronic labelling means adapted to self identify each of said function keys by causing a
label to appear as an image on each of said function keys,
control means in communication with each of said keys and with said digital processing
device, said control means including label generating means and feedback means, the label
generating means being adapted to selectively generate a predetermined set of labels for each
function key, the feedback means being adapted, in association with each set of labels, to
provide a possible set of functions assignable to each function key,
said control means being adapted to detect actuation of any one of said function keys and to
send a processing command to the processing device in accordance with an instruction set
assigned to the actuated function key,
wherein the control means provides a newly selected label to one or more of said function
keys in response to the function key being depressed, said label being selected from the
predetermined set of labels corresponding to the said one or more keys, said feedback means
assigning a newly selected function to said one or more keys, and said newly selected label
being displayed by said labelling means to provide self-identification of the newly selected
function assigned to the said one or more function keys.
2. An input device according to claim 1, wherein said control means is adapted to also
respond to command signals from said processing device in the selection of newly assigned
labels and functions.
3. A communications system comprising an input device according to claim 1 and adigital processing device.
4. An input device according to claim 1 wherein said electronic labelling means
comprise LCD dot matrix displays.
36

Description

Note: Descriptions are shown in the official language in which they were submitted.


~38~5~
The present invention relates to improvements in
function keys for use with electronic systems.
Function keys were developed as an aid to the operator
and are used to control the processing to be done on an
electronic system. At present there are three types of
Function keys:
(1) The control (CTRL) and escape (ESC) keys which operate
in conjunction with the standard keys e.g. typing CTRL quote
C unquote on many systems will have the effect of aborting
the program being processed.
(2) Particular Function keys which are identified as such by
having the particular function printed on them e.g. Edit.
(3) Soft keys. These keys are simply identified as Fl, F2,
F3 etc. and are used by the operator to select the function
or option desired.
It will be apparent to those ski~led in the art that
Function keys of the type (1) and (2) above are strictly
limited in their commands whereas Function keys of the type
(3) offer a range of commands or options. However type (3)
Function keys suffer from a considerable disadvantage in that
they are only identified as E'l, F2, F3 etc. The user must
refer to a program code chart to identify each Function key;
alternatively the user may memorise the required sequence
from familiarity with that particular program. However as
each program is controlled by different Function keys and
related sequence thereof it is usually necessary to consult
the program code chart each time.
In order to partially overcome this disadvantage the
- 2 -

57
user can physically affix a label to each ~unction key
indicating the name of each function or on some computers the
Function keys are identified on the terminal screen.
The disadvantage with the first method of identifying
the Function keys is obvious and whilst the second method is
preferred it does limit the available space on the terminal
screen, and for this reason the identification of the
Function keys is often deleted from the screen by the
operator.
Recent developments are the Apricot'micro-computer which
incorporates in its keyboard a separate microscreen placed
adjacent to six touch sensitive Function keys comprising
two line Liquid Cyrstal Display, which can be used to label
the six Function keys with functions unique to the program
currently being run and the Hewlett Packard HP150 computer
- which incorporates a touch sensitive screen.
Whilst going some way towards overcoming the above
disadvantages the Apricot microscreen is still limited to and
dependant on the program being run on the computer; it
displays a function definition for an adjacent key rather
than each key having an independant display, it is only
operable with touch sensitive function keys that are not
operator preferred. In addition the microscreen is not
specifically designed as a funtion key tool as it also
operates as a clock, calendar, calculator or auxillary
terminal screen. Moreover the microscreen and the associated
touch sensitive Functicn keys are specifically designed for
and operated by Apricot software and are not independant of
*Trade-~ark
-- 3 --
;,

~Q8~57
any particular electronic system.
Hewlett Packard* has released a microcomputer with a
"touch sensitive" screen. Areas of the screen can be defined to
represent a particular function, and upon pointing at this region
("touching the screen") the operator breaks a series of infra red
beams and the computer interprets this as selection of that
function. This method is not favoured because it takes the
operator's hands away from the keyboard, and makes the operator
reach to the screen. This action of reaching to the screen is
an uncomfortable procedure for the operator.
All software used with the touch sensitive screen must
be designed specifically for use with it, and it is almost
impossible for the casual programmer to generate his own programs
to make use of this facility.
The present invention seeks to alleviate these
disadvantages by providing a set of self-identifying Function
keys, which are independently programmable and which can
interface with any computer or dumb electronic system.
It has been discovered that it is possible on a tactile
key to have a multicharacter non-specific display without losing
the compact dimensions of a conventional key. It is therefore
possible to incorporate the Function key of the present invention
in ordinary keyboards.
Summary of the Invention
In accordance with the invention there is provided an
input device communicating with a digital processing device. The
input device includes a plurality of movable keys, each key
*Trade-mark

5~7
including a switch operable to produce an output signal when each
key is depressed. At least two of the keys are self-identifying
function keys, each function key including electronic labelling
means adapted to self-identify each of the function keys by
causing a label to appear as an image on each of the function
keys. Control means is in communication with each of the keys
and with the digital processing device, the control means
including label generating means and feedback means whereby the
label generating means is adapted to selectively generate a
predetermined set of labels for each function key and the
feedback means is adapted, in association with each set of
labels, to provide a possible set of functions assignable to each
function key. The control means is adapted to detect actuation
of any one of the function keys and to send a processing command
to the processing device in accordance with an instruction set
assigned to the actuated function key. The control means
provides a newly selected label to one or more of the function
keys in response to the function key being depressed, the label
being selected from the predetermined set of labels corresponding
to the one or more keys. The feedback means assigns a newly
selected function to the one or more keys and the newly selected
label is displayed by the labelling means to provide self-
identification of the newly selected function assigned to the one
or more function keys.
Preferably, the control means is adapted to also
respond to command signals from the processing devise in the
selection of newly assigned labels and functions and the
electronic labelling means comprise LCD dot matrix displays.
, .

~Q~i~S7
A communications system comprising an input device
according to the foregoing and a digital processing device is
also provided.
Glossary of Terms Used in this Specification
"intelligent" electronic system: e.g. computer
"dumb" electronic system: e.g. cash register,
video, microwave oven, photocopier
RAM random access memory
ROM read only memory
EE ROM electronically erasible programmable
read only memory
"ghost writing" by depressing one of the function keys
of the present invention set of signals

~3~8~57
is sent to program open to input as if they
were operated by conventional means
"touch sensitive~ a flat surface which sends a signal when
pressed, in contrast to a normal key which
S stands proud out of a surface and provides
a positive tactile feedback upon key
depression.
The Function keys of the present invention are
non-specific, that is each key can represent an almost
infinite number of functions or options. ~hese functions or
options are specified by commands from within the program
being run itself; the electronic system software or
independantly of either by printed circuit card or
microprocessor co-operating with the Function keys to act
upon a particular "intelligent" or "dumb" electronic system.
Once specified the Function key will visually display
symbols representative of the function or option in single or
multicharacter form sn its face.
~he displays employed in the production unit will depend
upon comsumer preference, economics, physical restrictions,
and the state of display technology. It is probable that a
range of units will be marketed, with selected different
types of displays available.
Examples of some types of displays are as follows:
(a) Dot Matrix Light Emitting Diode Displays
Dot Matrix Light Emitting Diodes have the following
advantages:
1) Very good quality character definition.

~3Q8~5~7
2) Display units such as the HDSP2000 are very compact.
3) Durable and fairly rugged.
4) Economic for large scale production.
5) With the driving die included in the display surface
such as on the HDSP2000, there are relatively few connector
pins.
6) Displays such as the HDSP2000 have been well proven over
time.
The major disadvantages are:
l) Non-economic for small scale production.
2) Use a lot of power. It is probable that an independant
power supply, separate to that of the main computer, would be
nec~ssary to run the displays. This would lead to
difficulties in implementation of the unit within the
computer keyboard.
3) Heat Generation. The displays generate quite a deal of
heat. This problem is solved in the prototype by the use of
aluminium key housings which act as a heat sink. A heat sink
would be necessary for the displays used in a production
model.
(b) Dot ~atr.~x Liquid Crystal Displays
Advantages:
1) No heat generation.
2) Little power required. All power necessary could be
drawn through the computer keyboard plug.
3) Economic for production.
4) Good quality character definition.
5) Using chip on glass technology the number of connections

~Q~345~
to the display can be minimised, however as this technology
is still fairly young the same degree of refinement as in the
Light Emitting Diode displays has not been reached and thus a
physically larger display for the same character size results.
6) By incorporating the drivers for the display on a
printed circuit board immediately below the display, all
necessary connections can be made using a zebra strip. If
this method is used correctly, a very compact fairly rugged
unit eventuates.
Disadvantages:
1) GeneraLly not as rugged as Light Emitting Diode Displays.
2) Chip on glass technology is fairly new.
3) There is a tradeoff between the viewing angle for the
display and the amount of multiplexing that is done to the
data for the displays.
-- The current state of liquid crystal technology allows
the production of compact displays using either Chip on Glass
technology or the integrated unit described above. The
Conventional liquid crystal displays are plenti~ul, and
drivers such as the Phillips*PCF8576 will perform the driving
functions required. Two of these drivers will drive an 8
character 8x5 dot matrix Liquid Crystal display where the
bottom line is used to underline characters. The maximum
multiplexing ratio for these chips is 4:a. This allows a
wide viewing angle with ~ood clarity, and allows design of a
near symmetrical unit with one die driving the top four
lines, and the other die the bottom four.
*Tr~de-mark
' C

~3Q~3457
(c~ Starburst Displays
The advantage of the starburst display is that it has
less segments that must be controlled, and hence the whole
circuit becomes simpler. With displays, it is often the
"driver" that controls the configuration of the display that
is the most expensive. If there are less segments on a
display then less drivers are necessary, or the drivers can
be replaced with simpler cheaper ones. Thus starburst
displays are much cheaper than their dot matrix
counterparts. The display units can also be made more
compact, with less connections to individual segments being
necessary.
The starburst format is available in both liquid crystal
and light emitting diode displays. The obvious disadvantage
of the starburst display is that it is restricted in the
number of different characters it can display and does not
produce the same quality of character definition as does dot
matrix displays.
The present invention will be more fully understood by
reference to the preferred embodiment as illustrated in the
accompanying drawings, in which:
Fig. 1 is an exploded perspective view of a Function key
of the present invention incorporating a liquid crystal
display;
Fig. 2 is a section view of the Function key of Fig. l;
Fig. 3 is an exploded perspective view of a Function key
of the present invention incorporating a light emitting diode
display;
-- 10 --
. , . .. ,, . . . .. _ .

~3~8~57
Fig. 4 is a section view of the Function key of Fig~ 3;
Fig. 5 is a schematic view of a keyset of the present
invention linked to a computer;
Fig. 6 is a schematic view of a keyset inset in a
keyboard;
Figs. 7a and 7b is a circuit diagram of the logic behind
the keyset of Fig. 5 and its interface with a computer;
Fig. 8 is a schematic flowchart of the logic behind a
write to keyset character RAM;
Fig. 9 is a schematic flowchart of the logic behind a
read instruction on depression of a Function key;
Fig. 10 shows a series of wave forms generated by the
timing circuitry of the present invention;
Figs. lla and llb is a circuit diagram of the logic
behind a keypad of Fig. 5 interfacing through an IRS232;
Figs. 12a and 12b is a circuit diagram of the logic
behind the keypad of Fig. 5 intercepting the keyboard cable;
Figs. 13a and 13b is a circuit diagram of the logic
behind the keyset of Fig. 6 intercepting with the keyboard
cable; and
Fig. 14 shows a system of pointers for use in "ghost"
writing.
The tactile Function key of the present invention
comprises a single or multicharacter non-specific display as
25 shown in Figs. 1 and 2. The tactile Function key 99 has a
keytop 100 which is depressed by the operator. Beneath this
keytop 100 lies a protective polarised glass plate 101 which
protects from damage the liquid crystal display (LCD)
assembly 102. Two conductive rubber "zebra" strips 103
.~,*

~ e?~ 157
connect the LCD assembly to the printed circuit board
(P.C.B.) 10~. On this P.C.B. board are located two dies 105
each die being pin connected via selected pins 106 to one end
of a flexible printed cable strip (P.C.S.) 107, the other end
of which is detachable from connectors 108 located on a base
plate 109.
The keytop 100 is supported on zebra strips 103
and, if needed, by flanges at the ends of board 104 and
locates with base plate 109 by means of a moulded plastic
insert 110.
In the centre of the base plate 109 lies a
conventional switch assembly 111 comprising a mounting 112
and a plunger 113.
The construction of the function key 99 is designed
so that it will assemble or disassemble in three steps. To
assemble the key all of the display components are put in
place and the clip llS is clicked into co-operating groove
114. The flexible cables are put into their slots and then
the key is then placed on the plunger 113 and clicked into
co-operating groove 116 using clip 117. Clip 117 maintains
the display 102 in contact with the zebra strips 103 at all
times. The reverse procedure is followed for disassembly.
Clip 117 is designed to be opened with a screwdriver or
similar instrument for disassem~ly.
Descriptions for LED
In Figs. 3 and 4 is shown an alternative display namely
a Light Emmitting Diode display lLED). The tactile function
~ey 99 comprises a protective glass top 300, a keytop 301
made of aluminium and acting as a heat s ink as described
above. At each end of the keytop 301 areislots 315 to
.~ .
- 12 -

3457
receive, in spigot fashion, the plunger 314 on switch 313.
The display on board 302 comprises eight LED's 303
interspaced by dies 304 and having a protective glass 302',
on top of the displays. The displays are connected to a
board 305 having 13 pairs of pins 307 to connect in spigot
fashion with holes 309 on board 308. The pins 306 are
connected to pins 307 via conductive paths. The middle pair
of pins 307 not being used. A flexible P.C.S. 310 flexes between--
board 308 and an identical board 311. Board 311 in similar
spigot fashion connects with pins 312 on main printed circuit
board (not shown).
In Fig. 5 the Function keys of the present invention are
incorporated in a keypad 90. This keypad is interfaced with
a computer 70 having a screen 71 and a key board 80, having
conventional keys 81.
In Fig. 6 there is shown a keyboard 180 having
conventional keys 181 and ten tactile Function keys 99
incorporated therein.
In Figs. 7a and 7b are shown the circuitry and operation
of a keyset interfaced with an IB~q*personal computer~ The
components Ul - U29 are conventional components, their code
numbers being listed on the drawings. Each component has
conventionally numbered pins associated therewith~
For brevity and simplicity only, Figs. 8 and 9
respectively illustrate schematically a write/read statement
to/from a single function key.
In these drawings the following components are given
symbols:
*Trade-mark
-- 13 --
.. _ _ . _ .. . . . _ . . ,, , ,,, . , , , , , , ~ _ _ , ,, _ , _ _ _, , _ _ _ _ _

Bl - B6 are buffers ~3Q8~57
C ~ ~icroprocessor/computer
D - driver
El - E3 are encoders/decoder,
K - Function key multicharacter
- multiplexer
P - power supply
R - character RAM
S - switch
T - Timing circuitry
200 - IRQ2 request
201 - Data Bus
202 - Address Bus
203 - IO request
204 - write/read
205 - keyboard read
206 - Display write
207 - Row data parallel
In Figs. 11, 12 and 13 as in Figs. 7a and 7b convention
code numbering is given to the various components.
Keypad Without Microprocessor - Circuit Description
There are many different ways in which a keypad
comprising one or more tactile function keys where each
function key comprises a single or multicharacter
non-specific display can be interfaced to a computer. The
most favourable methods are via a RS232 interface (or other
standard interfaces), via an expansion slot on the computer,
or by diverting the computer keyboard cable to plug into the
- 14 -
_ .

~Q~57
keypad, interpreting the signals received from the computer
keyboard and then sending this information, and any
information from the function keys along the keypadls cable
to the regular keyboard socket on the host computer.
Unit that Operates Via an Expansion Slot
The unit designed to interface to the host computer via
an expansion slot has the following characteristics:
1) A RAM chip is used to store the function descriptions
currently being displayed on the function keys.
2) A ROM chip, or a EE RO~ chip, or a RO~ chip with an
additional optional selectable RAM is used to store the
information necessary to display each character of the
character set currently available for display on the function
keys.
Normally the circuit continually cycles, controlled by a
_ timing circuit, taking the data to be displayed from the RAM,
encoding it with the information in the ROM (or EE RO~ or
selectable RAM~, and serialising it for the display.
When it is required to change the information in the-
character RAM (See Fig.8), the following procedure is
followed:
To write display information to character RAM an IO
write 204 is done to the appropriate RAM location. The
decoding circuitry E3 enables buffers B1 and B3, and sets the
direction of buffer Bl to allow data transfer in the
direction of the RAM, (arrowed in Fig. 7), and enable buffer
B5 and disables buffer B6 to give control of the address bus
202 to the computer (arrowed in Fig. 7). The write pin of
- - 15 -
. ~,

~3~ 7
the RA~ is strobed and the data deposited on it. A similar
procedure is followed if an EE RO~ or RO~ with additional
optional selectable RAM is being used, and a new character
set is to be dumped to this memory area.
When a key is depressed, the following procedure occurs:
As shown in Fig. 9, when a key is depressed on the
keypad, this is detected by the Keyboard Encoder El and an
interrupt request 200 is issued to the computer C. When the
computer C responds to this interrupt by performing an IO
read (203) at the keypad address, buffers Bl and B2 are
enabled, the direction of buffer Bl is set toward the
computer, buffer B3 is disabled and the keyboard encoder El
places the code for the key depressed, onto the data bus
(201). The rest of the circuitry is in its normal state
(buffer B5 disabled) and the contents of the RA~ R are
continuously s~robed into display via the character generator
RO~ ~or EE RO~ or ROM with optional selectable RAM) and
multiplexor ~.
A full and detailed description is given below for a
unit tha~ will communicate with an IBM PC via a slot in the
expansion bus.
Example: Keypad to Interface an I~M PC via an ExPansion
Bus
The keypad consists basically of a ~our ~y two ma~rix
keyboard which outputs an interrupt on a keypress, the data
being made available at the selected output address, and
eight'~'~haracter displays mounted within the key-tops and
driven from R~ ~hich can be loaded from the IB~.
- 16 -

~3~ ;7
Display Controller_Circuit
The controller circuit (Fig. 7a and Fig. 7b) is designed
to accept standard ASCII characters from the PC for storage
in th~ local 128 x 8 ram (68A10). ~he RA~ can be assigned to
one of four blocks, starting at 400H, 500H, 600~ and 700H and
for a 64 character display, will utilise the lower 64
locations. e.g. 400H - 43FHo The ASCII data may be loaded
sequentially with new data, or individual characters may be
altered by writing the new data to the corresponding location
in RAM~
The last character in the bottom right hand key is
loaded with data from the first RA~ location and the first
character of the top left hand key corresponds to the last
RA~ location. After data has been loaded into the display
RAM, the local scanning circuitry controls the decoding of
the ASCII characters, the display data loading and the column
select function.
The address bus and control signals are buffered by U5
and U2 and fed to the decoding circuitry which allows the
appropriate buffers to be turned on and off to facilitate
taking the local scanning circuitry off the bus whenever data
is required to be loaded into the display ram.
Normally, buffers Ul, Ull, U25 and U25 are disabled and
U10 is enabled. The system clock is divided down to give
approx. 500KHz and fed to U9 which drives the display
scanning circuitry. U15 cycles through the 64 locations used
in the RA~ (U16) and places the previously stored ASCII data
onto the address inputs of the 2716 EPROM (U21~. U21 is used
- 17 -

5~
as a 128 character ASCII to Sx7 dot matrix decoder. The
lower 5 data outputs of U21 contain the data required for one
row of the one character determined by the data fed into the
seven most significant address inputs from the data outputs
of U16. The other six rows are presented to the output by
cycling the lower three address inputs via U9, while the data
from U16 is held constant.
The five column outputs of the EPRO~ (U21), are gated to
the Data Input of the display via the 74151 multiplexer
(U20). Strobing o~ the display is accomplished via the 74197
(U9), 74393 (U15) and 7490 (Ul9) counter string. U9 is
connected as '!a divide by 8" counter that sequentially selects
the seven rows within U21 and also enables seven clock cycles
to be gated to the clock input of the display.
Referring to the attached timing diagram 10, waveform W
is the 500KHz clock applied to pin 8 of U9 and waveform X is
the output of pin 2 of 7404 (U30) which is the inverted Qd
output of U9. Waveform Y is the output o~ the 7404 (u29) pin
6 which is the ANDED output of 2Qc and 2Qd of U15.
The 74393 (U15) is configured as a divide by 256 counter
connècted so that the six lowest order outputs select each of
the 64 ASCII characters within U16. The three highest order
outputs determine the relationship between load time and
column on ti~e. When the outputs 2Qc and 2Qd are high, the
display clock is enabled, and the circuit scans the 64
characters in the U16, serialises the column data by counting
through each of the seven rows of the 2716 and gating the
appropriate column of the display. During the three counts
- 18 -

when the two most significant outputs of U15 are not both
high, the display clock is disabled, ensuring stable data in
the display buffer, and the column data is displayed via Ul7
and darlington drivers as shown by waveform Z.
S When the data on the display is to be changed, the
ccmbination of a valid address and a write pulse (CS.IOW)
disables Ul0, removing the counter U15 from the address
inputs of the ram, and Ull is enabled to place the address
bus in its place. Buffer Ul is enabled and directed "IN" and
data is written into Ul6 via the buffer U25 which is also
enabled CS~IOW. Once the CS or the IOW is removed, the
buffers resort to their original states and the display is
once again cycled.
Keypad Operation
The keypad 90 is interfaced with, in this illustration,
an IBM computer 70 using a 74C922 keyboard encoder U27 which
contains all the logic to fully encode an array of SPS~
switches. The keypad is scanned asynchronously and upon a
key depression being detected, a Data Available signal is
forced high on pin 12 after a preset debounce period, and
returns to a ]ow level after the key is released. This
signal is latc:hed by U28 which sets IRQ2 on the IB~ computer
70.
Keyboards and Keypads Utilizing a ~icroprocessor
Utilizing a microprocessor to control the function keys
increases the flexibility of the interface methods that can
be used with them. The k~yboard and keypad can be developed
to link to any available bi-directional input/output port or
pair of opposed uni-directional ports on
-- 19 --

~Q8~i7
a computer. As almost every computer or computer terminal
has such a port it is obvious that a keypad and/or keyboard
can be developed using this technique for almost any computer
or terminal. A condition placed on the keyboard provides
that the keyboard plug through which the unit is to
communicate with the computer must have an appropriate
bi-directional line or have two separate unidirectional lines
running in opposite directions between the keyboard and the
computer. If no such line is available, this problem can be
overcome by using a bi-directional port such as an RS232 port
for all keyboard communication. To achieve this, the
computer must be able to allow data input through this port
in the same manner as it would through the keyboard plug. As
most computers are designed to allow outside communication
ie. through a modem, this will not often present a problem.
A design for a keyboard utilizing a RS232 interface is not
included however it will be obvious to one skilled in the art
that the technique as shown in Fig. 11 for the keypad is
equally applicable to the keyboard as shown in Fig. 13.
In order to interface such a keyboard or keypad or a
keyset of func~ion keys into a "dumb electronic device" it
may be convenient to exchange the RAM memory for RO~ memory
which has been pre-programmed with the required data. The
output from the microprocessor would be tailored to that
required by the device however note that with the appropriate
interface circuitry the methods of "ghosting" and/or
Nfunction key equivalence checking" can be adapted so that
the key can be used with devices designed without
consideration for their use. The o~jects l'ghosted" may not
- 20 -

necessarily be character codes but alternatively may be
millivolt signals etc.
Full circuit descriptions follow for three units that
utilize a microprocessor control the use of the function
keys, each having a different interface method. No circuit
description is included for a unit to interface to a "dumb
electronic device" but with the information in Figs. 11 - 13
it would be obvious to one skilled in the art that all that
is required is to develop an interface circuit to suit the
device being used.
The three units described are:
(i) IBM Keyboard Substitutes - this unit perfor~s exactly as
a standard IBM unit except for the added Function keys.
(ii) RS232 Peripheral - this device has only the Function
keys and communicates with any computor via an EIA standard
RS-232C front.
(iii) Interface unit - this device is connected electrically
between the IBM-PC and an IMB-PC keyboard. It has only the
Function keys fitted.
All three services can be described as sonsisting of the
following functional sections:
1. ~icrocontroller
2. Memory
3. ZIF Displays
4. Keyboard Scanner
5. Communications interface
The first three sections are identical in all three
versions. Item 4 is identical in versions (ii) and (iii).
21 -

~Q~ 7
1. Microcontroller
The microcontroller is a commercially available Intel
8051 single chip microprocessor. Detailed description of its
operation is complex and can be found in published technical
data manuals. It can however be generally described as a
microprocessor operating with a clock frequency of 4 ~Hz and
interfacing into our application as four 8 bit bi-directional
parts. Part 0 is used as a multiplexed part for the lower
memory address byte and an 8 bit data path. The lower 5 bits
of part 2 constitute the upper address for the external
memory. The upper two bits 6, 7 are used for serial
communcations with the display control devices as serial data
and serial clock respectively. Parts 1 and 3 are used for
keyboard scanning and communications.
20 ~emory
Although the Intel*8051 has internal memory this
application calls for more capacity so two Jedec*standard 28
pin memory sockets are provided. These sockets can hold
elther Ram or Eprom devices of capacity 8k bytes each as
required. In order to interface the memory with the 8051 an
LS373 octal latch must be provided. This latch when strobed
by the ALE control line latches the lower address byte to the
memory sockets and releases PORE O to accept or output data
to the memory devices. The reading and writing to and from
RA~ in these memory sockets is enable by the RD and WR lines
which are special functions of Part 3 bits 7 and 6
respectivelv.
*Trade-mark
. ~ .

~ 3~57
3. Function Key Displays ~190)
The Funs~tion key displays basically comprise of liquid
crystal dot matrix panels each 40 dots wide by 8 dots high
enabling a wide choice of characters. These displays are
driven by intelligent LCD display controllers - PCF8576.
Each of these drivers has its own individual address which is
coded by the Ao, Al, A2 and SAO fins. When coupled
with software control addressing each device can respond
accordingly. Communications with these devices are carried
out along the SDA (serial data line) and the SCL (clock logic
line) and is the only necessary interface with the
microcontroller. Details on the serial protocol can be found
in manufacturer's data sheets. Bits 6 and 7 on I/O part 2
are used by the microcontroller to control the SD~ and SCL
lines respectively.
4. Keyboard Scanner
(i) IBM Keyboard Substitute Version
The microcontroller scans the keyboard 189 which is made
up of the normal QWERTY keys and the function keys as follows:
Bits 0-5 of part 1 are used to set up the address of (1
of 24) a keyboard row which is decoded by the LS154 and LS138
decoder devices. The addressed row is then strobed by the
matrix strobe line which is controlled by bit 5 of part 3 of
the microcontroller. Simultaneously with the row addressing
the 1 of 4 column addressing is carried out by the 4051
multiplexer controlled by bits 6, 7 and 8 of part 1. The row
and columll addressing timed with the matrix strobe line will
result via a 2 amplifier (LM347~ detector and 7404 invertor

~Q~3~57
in an active low pulse on the key depress line.
The reason for the dual amplifier detector is that the
keyboard matrix is capacitance coupled and subsequently
re~uires supporting technology.
Item 195 is a row of pullup resistors. Item 194
provides the function of rollover enable.
(ii) & (iii) Interface Unit and RS232 Peripheral Versions
In both these versions the functions keys are normally
open switches and therefore require no elaborate detection.
The keyboard is scanned on the five rows by bits 0-4 of part
1 and on the columns on bits 2 and 3 of part 3.
5. Communications Interface
(i) IBM Keyboard Substitute Version
The keyboard interfaces via 5 lines to the personal
computer (192) two power supply (~5V,OV) from which power for
the keyboard circiutry is derived and three control lines.
These 3 lines are as follows:
Pin 3- hardware active low reset is controlled by the IBM-PC
and resets the keyboard microcontroller via a lo~ic
invertor to pin 9. ~
Pin 2- bi-directional serial communications line which is
connected to bits 0, 1 of part 3. These pins on the
~icrocontroller are special function pins and are
implemented internally by the microcontroller as
receive data and transmit data for serial
communications.
Pin 1- bi-directional control line which is used to transmit
the serial communications clock in both directions and
- 24 -
,
. .

~3Q~7
also to implement a single bit control logic. It is
connected to bit 4, part 3.
(ii) RS232 - Peripheral Version
In this version all external communications are carried
out via EIA standard R~232C serial port (196). Essentially
the microcontroller implements the transmit data and receive
data bits 1 and 0 respectively of part 3 for the full duplex
serial data path. Bits 4, 5 part 3 and 5, 6 of part 1 are
used to control the hardware protocol lines DTR, DSR, CTS and
RTS in accordance with the EIA standard. All lines
connecting to the EIA RS232C standard have to conform to
specification of voltage and logic levels. For this reason
the 5V positive true logic on the microcontroller has to be
buffered by the 1488 and 1489 line bufEer devices which
operate as + 12V negative true logic. Item 198 is a reset
circuit and a 5V power supply (197) is used as no power line
is provided on the ~S232 line.
(iii~ Interface Unit Version
This version has two communication parts. The first are
interfaces to the IBM-PC and is identical to the one
described in (i) above. The second (191) interfaces to an
IBM-PC standard keyboard. This part consists of 5 lines.
The +5V, OV (193) and reset lines are connected directly to
the IBM-PC part for continuity. Pins 1 and 2, the keyboard
clock and keyboard data lines respectively interface to the
microcontroller via bits ~ and 5 of part 3. Unlike the bits
0 and 1 of the microcontroller which perform as hardware
serial lines these pins will perform the necessary protocol

~3~æ~;7
under software control.
eans for Interfacin~_F~nctioil Keys
The major features of the means for interfacing one or
more tactile function keys where each key comprises a single
or multicharacter non-specific display as implemented are:
1) Method to display characters on the function keys.
2) Method to change current displays on the function keys.
3) Method to define and change character sets available to
be displayed on the function keys.
4) Method to "ghost" host a set of conventional actions
upon the depression of a function key via the host processor
as though they were entered in the normal way, without
interfering with the rnain level program in operation on the
host computer.
5) Method of signalling to the host processor that a
function key has been depressed, and executing upon the host
processor a procedure to handle the function key depression.
6) ~ethod to co-ordinate keystrokes from both the computer
keys and the function keys, and send them to the host
processor as though they all originated at the computer
keyboard.
7) Method of monitoring all conventional keystrokes
executed, and searching for a character string matching that
assigned to a particular Function key, and then changing the
function definitions on each function key, and the keystrokes
they "ghost" as if that particular function key was depressed.
8~ Method for handling all "ghosting" and "function key
equivalence checking" within the keyboard or keypad during
- 26 -

~3Q~7
the execution of a main level program so that once the
function key definitions and keystrokes to be "ghosted" for
all sets of displays and function levels assigned a program
have been downloaded to the keyboard before execution of the
main level program, the host processor will recei~e no
distinction as to whether the keystrokes were executed
manually or "ghosted" by a function key, and the function key
descriptions will be updated in a conventional manner.
9~ Means for interfacing the function keys to dumb
electronic equipment.
10) Computer system designed around function keys.
11) ~ethod of storing data for keystrokes to be "ghosted".
In order to display characters on the function keys, a
RAM (may be substituted for a RO~ in the case of the unit to
interface with "dumb" electronic equipment) is used to store
codes for the characters that are currently displayed on each
key surface. A ROM, EE ROM or a RO~ with an additional
selectable RAM is used to store the information necessary to
define each character in the character set currently being
used for its display on the display format being used eg:
which dots should be on or off to display an "A" on a dot
matrix display. Using a timing circuit the process
constantly loops, taking characters from the RA~ encoding
them using the data in the ROM (or EE ROM or ROM with an
additional selectable RAM), serialising the data, and sending
it to the displays with addresses in the format they
require. The displays may be strobed ie: taking the top row
of all characters being displayed at a particular time, and
- 27 -

~3~ 57
then the next row etc., or sent to the displays in whatever
manner is required.
In order to change the function definitions currently
being displayed it is necessary only to the display cycle and
dump the required data to the RAM, and then resume normal
operation.
The character set available to be displayed on the
function keys can be redefined providing this information is
stored in a EE ROM or a ROM with an additonal selectable RA~
is being used. If an EE ROM is being used, the display cycle
must be stopped, a signal sent to the EE RO~ to refresh it
and allow the new data to enter, and then the new data must
be downloaded to it. The display cycle can then resume. If
a ROM with an additional selectable RA~ is beng used, the
display cycle must be stopped, the new information downloaded
into the RAM, and the RA~ selected as the default source.
The display cycle can then resume.
In order to "ghost" a set of conventional keystrokes
upon the depression of a function key via the host processor,
the host computer must be designed around interrupt logic.
The method works by sending an identifyable interrupt,
different from that generated by the computer keyboard.
Prior to this the processor has been instructed that upon
receipt of such an interrupt it should execute a routine
which will generate an interrupt by software identical to
those sent from the computer keyboard when a conventional key
is depressed and make each item of data for the keystrokes to
be "ghosted", available in the same manner as they would come
- 28 -

~3~ 57
from the computer keyboard.
If the host processor is to be used to handle the
"ghosting" process, once the identifyable interrupt signal
has been received from the function keys, the processor must
run the required procedure. Generally upon receipt of an
interrupt, the process will access a special area of memory
that contains the starting address of the procedure. By
allocating an area of memory at initialisation specifically
for the procedure, and storing the starting address for the
area at the required place and storing the procedure in the
area allocated, the processor will jump to and execute the
correct procedure upon receipt of the interrupt.
If one of the function keys are depressed, an interrupt
signal is sent to the host processor and a code is made
available to it that indicates which function key was
depressed. Upon receipt of the signal the processor executes
a procedure that accesses the code. The processor has access
to data stored in the memory of the host computer that
contains information for a number of sets of function
definitions to be displayed on each key, and keystrokes to be
"ghosted" when each function key is depressed. The data also
contains the number of the set to be jumped to when each key
is depressed. The processor uses this information and the
code for the key depressed, and if a new set is to be jumped
to it such information to the memory on the keyboad which
will change the function definition displayed and the
keystrokes "ghosted".
In order to co-ordinate both keystrokes the computer
- 29 -

~.3t~ 57
keys and the character to be ghosted upon depression of
function keys, a microprocessor is used to receive the
signals from each, process them in ~he manner required (ie.
converting the signal sent from a function key to the
S required ghost keystrokes and performing "function key
equivalence checking") and then send them in an identical
manner along the keypad cable to the host computer or
terminal. In the case of the unit that intercepts the
keyboard cable, the signals from the computer keys will be
obtained from the keyboard cable which is redirected to plug
into the peripheral, and all signals to the host device are
sent along the keypad cable. The data will be buffered and
work via interrupts or handshaking conventions so that no
data will be lost or contaminated unless the buffer overflows.
The logic used to check if the set of keystrokes that
are defined to be input by any function key is input manually
works in the following manner:
1) An area of memory is defined and used as a "circular"
buffer to store the characters sent from the computer
keyboard sequentially. The buffer is described as circular
as if the end of the buffer is encountered, the process
continues, from the start of the buffer, and if the start of
the buffer is encountered moving backward, the process
continues from the end of the buffer.
2) A pointer is used to indicate the current position
within the buffer at any time.
3) When a conventional key is depressed the following steps
are followed:
- 30 -

~æ~57
i) The character is sent throu~h to the host
processor.
ii) The pointer is advanced one character.
iii) The characters in the buffer are compared with
each of the sets for the keys~
For each key in turn:
1) The latest keystroke entered is co~pared with the last
character in the set of characters for that key.
2) If the characters match, the character immediately
before that last tested in the buffer is compared with that
immediately before that tested in the set for the key.
3) This process is repeated until all of the characters in
the set for the key have been matched ~ie. the end of the set
is reached) or a pair of characters that do not match are
encountered.
4) If all of the characters for the set for the particular
key are matched and the host processor is being used to
process signals from the function keys directly then an
interrupt signal is sent to the host processor, identical to
that sent if one of the function keys were depressed itself,
and a code to indicate which function key was depressed is
similarly made available to the host processor. If the
microprocessor or the keyboard/keypad is being used to
process the signals from the function keys so that only
convention keystrokes are echoed to the host device, then it
will execute the same actions as it would if the particular
fun~tion key were depressed. The buffer is then cleared, and
the process starts from step (i)~

34~7
In order that no requirement is made on the host
processor to be structured around interrupt logic, and so as
to not use memory space on the host computer or divert the
host processo~ to excede the required interrupt procedure
upon the depression of a function key, additional memory
(RAM) can be added to the keyboard to allow the data for all
sets of function definitions to be downloaded to the keyboard
before executing the main level program. The processor on
the keyboard has access to all of the necessary information
and can execute the "ghosting" and "function key equivalence
checking" itself. The processor will pass all keystrokes,
whether input from the computer keyboard, or "ghosted" from
the function keys to the host computer, as if they all came
from the computer keyboard. Such a keyboard will be able to
be used with any computer that allows transfer of data from
the computer back to the keyboard after modifying the plug on
the keyboard and the key code signalling system used to that
required by the computer so that one unit can be used for all
computers with the same plu~ that allows data transfer back
to the keyboard, the firmwear program that operates the
processing unit the keyboard can be designed to download the
necessary soft~are for its operation from the host computer
upon initialisation. Only the software would need to be
changed between units.
A keypad may operate in the same way if the keyboard
plug from the computer keyboard is diverted to plug into the
keypad. The keypad would then have access to information
from both the computer keyboard and the function keys and
- 32 -

$`~57
would send its key codes back to the host computer through
its own cable, which can plug into the socket for the
standard keyboard plug.
A keypad may also operate in the same manner using any
bi-directional communication system such as an RS232, if a
routine is incorporated to work with the operating system of
the computer to make it echo every keystroke received from
the computer keyboard through the communication line being
used so that it is available to the processor on the keypad
and allow the processor to accept characters sent to the
RS232 port on the computer Terminal as input in the same
manner as keystrokes from the computer keyboard are
accepted. The key signals from the keyboard may be allowed
to pass directly to the processor with an echo being sent
down the RS232 or, the keystrokes may be redirected so as not
to be recognised by the host process as input, but rather
sent straight to the processor on the keypad and sent back in
the same manner as those characters ghosted from the function
keys. Almost every computer or computer terminal has a
bi-directional port (eg. bi-directional keyboard plug, RS232,
RS132) through whch such a system could gain access. Thus a
keyboard or keypad using one of the methods above could
interface to almost every computer or computer terminal
available. It is not required that such a unit execute the
functions of "function key equivalence checking" and it may
be available as an option. If "function key equivalence
checking" is not used it would not be necessary to echo every
keystroke from the computer keyboard down the RS232 cable to
- 33 -

~$~?~
the keypad.
A keypad or keyboard can interface with "dumb electronic
equipment" not designed for use with it provided it has means
for simulating the manner in which the functions represented
by each key would be executed manually. This would be
especially useful in testing equipment. Many items of "dumb
electronic equipment" may be redesigned around use of the
function keys eg. cash registers. A microprocessor would
control the function definitions and functions executed by
each key, in the same manner as for the system above, however
the data for the function definitions and steps to be
executed would be stored in a ROM, or EE RO~, or in a RAM
that is initialised when the device is. The depression of
each key may result in whatever type of signal that is
necessary to execute that function eg. millivolt, digital
etc. The processor may also be used for other tasks eg.
cumulative totals on a cash register.
Programs that are specifically written for use with the
function keys will not need the "ghost writing" or "function
key equivalence checking facilities". These programs will
immediately access the fact that a function key has been
depressed, and identify it. The program will be designed to
take action on this depression. Such programs will directly
control the function definitions on the displays by sending
the required data to the RA~ on the keyboard/keypad. Thus
the keyboard/keypad will operate in two selectable modes ie.
under the direct control of the main level program, or under
the control of the "ghosting"/"function key equivalence
- 34 -

i7
checking system".
A computer system may be designed around the function
keys of the present invention or one may be available with
sufficient flexibility to have the function keys simply input
S a code in the same manner as any conventional key and have
the host processor recognise it as one from the function key
and perform the task of checking which characters should be
input to the program running, and then reconfiguring the
display on the function key.
So as to make the optimum use of the memory code
available, the information for the function definition and
the keystrokes to be "ghosted" for each key are stored
dynamically. Rather than allowing a set of number of
characters to be ghosted for each key in each set, a system
of pointers is used as shown in Fig. 14. The first element
- of the data 400 series contains the numker of sets, then a pointer to
the start of each set. A group of data for each set then
follows, the first item being pointed to the start of the
information for each key, and then a package of information
comprising the Eunction deEinition to be displayed on the
key, the set to jump to when the key is depressed, the number
of characters or actions to be "ghosted", and the characters
or actions to be "ghosted" follows.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Inactive: IPC from MCD 2006-03-11
Inactive: IPC from MCD 2006-03-11
Inactive: Adhoc Request Documented 1995-10-06
Time Limit for Reversal Expired 1995-04-06
Letter Sent 1994-10-06
Grant by Issuance 1992-10-06

Abandonment History

There is no abandonment history.

Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
KEYCORP PTY. LTD.
Past Owners on Record
JOHN W. WOOD
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column (Temporarily unavailable). To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Drawings 1993-11-03 16 398
Cover Page 1993-11-03 1 11
Abstract 1993-11-03 1 12
Claims 1993-11-03 1 40
Descriptions 1993-11-03 34 1,092
Representative drawing 2002-03-11 1 12