CA1308457C - Positive feedback tactile function key - Google Patents
Positive feedback tactile function keyInfo
- Publication number
- CA1308457C CA1308457C CA000464548A CA464548A CA1308457C CA 1308457 C CA1308457 C CA 1308457C CA 000464548 A CA000464548 A CA 000464548A CA 464548 A CA464548 A CA 464548A CA 1308457 C CA1308457 C CA 1308457C
- Authority
- CA
- Canada
- Prior art keywords
- function
- keys
- key
- keyboard
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0238—Programmable keyboards
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01H—ELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
- H01H2219/00—Legends
- H01H2219/002—Legends replaceable; adaptable
- H01H2219/01—Liquid crystal
- H01H2219/012—Liquid crystal programmable
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
- Push-Button Switches (AREA)
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.
Description
~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.
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 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 ;, ~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.
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 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 ;, ~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;
. , . .. ,, . . . .. _ .
~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 .~ .
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 .. _ _ . _ .. . . . _ . . ,, , ,,, . , , , , , , ~ _ _ , ,, _ , _ _ _, , _ _ _ _ _ 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 _ .
~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 . ~, ~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~.
~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 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 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 ~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 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).
~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 , . .
~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.
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;
. , . .. ,, . . . .. _ .
~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 .~ .
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 .. _ _ . _ .. . . . _ . . ,, , ,,, . , , , , , , ~ _ _ , ,, _ , _ _ _, , _ _ _ _ _ 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 _ .
~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 . ~, ~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~.
~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 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 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 ~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 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).
~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 , . .
~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 ~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 ~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 ~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 ~.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:
~æ~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 $`~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 ~$~?~
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 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.
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 ~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 ~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 ~.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:
~æ~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 $`~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 ~$~?~
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 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.
Claims (4)
- 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.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPG1692 | 1983-10-04 | ||
AUPG169283 | 1983-10-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1308457C true CA1308457C (en) | 1992-10-06 |
Family
ID=3770341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000464548A Expired - Fee Related CA1308457C (en) | 1983-10-04 | 1984-10-02 | Positive feedback tactile function key |
Country Status (12)
Country | Link |
---|---|
EP (1) | EP0159336A4 (en) |
JP (1) | JPS61500236A (en) |
KR (1) | KR850700078A (en) |
AU (1) | AU582126B2 (en) |
BR (1) | BR8407106A (en) |
CA (1) | CA1308457C (en) |
DK (1) | DK252185A (en) |
HU (1) | HUT37279A (en) |
IT (1) | IT1199205B (en) |
NZ (1) | NZ209760A (en) |
WO (1) | WO1985001596A1 (en) |
ZA (1) | ZA847800B (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1182613B (en) * | 1985-10-15 | 1987-10-05 | Olivetti & Co Spa | KEY WITH SELECTIVELY ACTIVATED DISPLAY AND KEYBOARD USING SUCH KEY |
EP0226392A3 (en) * | 1985-12-04 | 1990-04-11 | Henry C. Meadow | Display key and keyboard |
JPH09504893A (en) * | 1993-11-05 | 1997-05-13 | フェルトスコープ リミテッド | Interactive programmable interface for rewritable LCD key switches |
US6885317B1 (en) | 1998-12-10 | 2005-04-26 | Eatoni Ergonomics, Inc. | Touch-typable devices based on ambiguous codes and methods to design such devices |
US7761175B2 (en) | 2001-09-27 | 2010-07-20 | Eatoni Ergonomics, Inc. | Method and apparatus for discoverable input of symbols on a reduced keypad |
US7628692B2 (en) | 2002-08-22 | 2009-12-08 | Igt | Gaming device having an input device with a display device |
FR2857112A1 (en) * | 2003-07-02 | 2005-01-07 | Denkoo | Computer keyboard, has pilot software to substitute graphical representation definition of symbol, in memory unit, with definition of new symbol, and display device to automatically display representation whose definition is in unit |
US8200865B2 (en) | 2003-09-11 | 2012-06-12 | Eatoni Ergonomics, Inc. | Efficient method and apparatus for text entry based on trigger sequences |
FR2877764B1 (en) * | 2004-11-08 | 2007-07-06 | Lcd Solution Sarl | INTEGRATED SCREEN KEY SWITCH WITH POLYCHROME INFORMATION DISPLAY |
US20070065215A1 (en) * | 2005-04-18 | 2007-03-22 | Ronald Brown | Display-equipped key,key assembly, device and method |
ES1064635Y (en) * | 2007-01-17 | 2007-07-01 | Lorenzo Ind Sa | PROVISION OF SWITCH SWITCH SETS |
ES1069701Y (en) * | 2009-01-27 | 2009-08-10 | Lorenzo Ind Sa | PUSH SWITCHING DEVICE WITH OLED DISPLAY |
US8333657B1 (en) | 2011-09-26 | 2012-12-18 | Igt | Gaming system, gaming device and method for displaying multiple concurrent games using dynamic focal points |
MY162407A (en) * | 2012-03-06 | 2017-06-15 | Gifty Group Ltd | Keyboard system with changeable key displays |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3340401A (en) * | 1963-12-26 | 1967-09-05 | Xerox Corp | Motionless data input key |
US3777222A (en) * | 1972-05-12 | 1973-12-04 | Ibm | Modular touch sensitive indicating panels with touch and light transmissive overlay cover membrane containing visible printed indicia |
JPS5824841B2 (en) * | 1975-11-28 | 1983-05-24 | 日本ビクター株式会社 | Enban Records Niokeru Tracing Hisumi Hosesouchi |
JPS5851346B2 (en) * | 1975-12-20 | 1983-11-16 | ソニー株式会社 | Full auto play - Yanosousakikou |
JPS6022385B2 (en) * | 1976-09-14 | 1985-06-01 | キヤノン株式会社 | Electronics |
JPS53123034A (en) * | 1977-04-02 | 1978-10-27 | Ricoh Co Ltd | Keyboard |
US4280121A (en) * | 1978-06-05 | 1981-07-21 | Crask Geoffrey J | Keyboard assembly with controllable key legends |
JPS5541507A (en) * | 1978-09-18 | 1980-03-24 | Oki Electric Ind Co Ltd | Display keyboard device |
JPS55157028A (en) * | 1979-05-23 | 1980-12-06 | Seiko Epson Corp | Key input unit with display |
JPS58137917A (en) * | 1982-02-10 | 1983-08-16 | 市川 保正 | Pushbutton switch with display function and keyboard utilizing said switch |
WO1983003159A1 (en) * | 1982-03-10 | 1983-09-15 | Keith Grissett | Electronic keyboard and keytops therefor |
DE8334346U1 (en) * | 1983-11-30 | 1984-03-22 | Mueller, Rolf, Dr., 6750 Kaiserslautern | DEVICE, ESPECIALLY FOR TYPEWRITERS AND TERMINALS |
-
1984
- 1984-10-02 CA CA000464548A patent/CA1308457C/en not_active Expired - Fee Related
- 1984-10-03 NZ NZ209760A patent/NZ209760A/en unknown
- 1984-10-04 AU AU33895/84A patent/AU582126B2/en not_active Ceased
- 1984-10-04 JP JP59503674A patent/JPS61500236A/en active Pending
- 1984-10-04 EP EP19840903619 patent/EP0159336A4/en not_active Ceased
- 1984-10-04 ZA ZA847800A patent/ZA847800B/en unknown
- 1984-10-04 KR KR1019850700074A patent/KR850700078A/en not_active Application Discontinuation
- 1984-10-04 WO PCT/AU1984/000193 patent/WO1985001596A1/en not_active Application Discontinuation
- 1984-10-04 HU HU844174A patent/HUT37279A/en unknown
- 1984-10-04 BR BR8407106A patent/BR8407106A/en unknown
- 1984-10-30 IT IT48949/84A patent/IT1199205B/en active
-
1985
- 1985-06-04 DK DK252185A patent/DK252185A/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP0159336A1 (en) | 1985-10-30 |
IT8448949A0 (en) | 1984-10-04 |
WO1985001596A1 (en) | 1985-04-11 |
DK252185D0 (en) | 1985-06-04 |
HUT37279A (en) | 1985-11-28 |
ZA847800B (en) | 1985-05-29 |
AU582126B2 (en) | 1989-03-16 |
AU3389584A (en) | 1985-04-18 |
EP0159336A4 (en) | 1989-05-16 |
NZ209760A (en) | 1990-08-28 |
IT1199205B (en) | 1988-12-30 |
BR8407106A (en) | 1985-08-27 |
DK252185A (en) | 1985-07-31 |
KR850700078A (en) | 1985-10-21 |
JPS61500236A (en) | 1986-02-06 |
IT8448949A1 (en) | 1986-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1308457C (en) | Positive feedback tactile function key | |
US5515305A (en) | PDA having chord keyboard input device and method of providing data thereto | |
US5909211A (en) | Touch pad overlay driven computer system | |
US6671756B1 (en) | KVM switch having a uniprocessor that accomodate multiple users and multiple computers | |
CN101140481B (en) | Human interface system | |
US5724069A (en) | Special purpose terminal for interactive user interface | |
US20070285393A1 (en) | Universal Multifunctional Key for Input/Output Devices | |
WO1990016032A1 (en) | Split screen keyboard emulator | |
US4836700A (en) | Data entry system | |
JPH0785371B2 (en) | Keyboard | |
CA2409915C (en) | Electronic device having keyboard for thumb typing | |
US5757292A (en) | Keyboard cap extension apparatus | |
CN1177135A (en) | Method and apparatus for display of windowing application programs on terminal | |
US5293464A (en) | Braille reading display terminal device | |
KR860003559A (en) | Small computer | |
AU6272794A (en) | Portable work station and data collection terminal including switchable multi-purpose touch screen display | |
GB2149946A (en) | Computer keyboard | |
US4237535A (en) | Apparatus and method for receiving and servicing request signals from peripheral devices in a data processing system | |
WO1991011764A1 (en) | Character input device | |
EP1727026A2 (en) | Character entry system and method for electronic devices | |
US20050057517A1 (en) | Computer input device with individually positionable and programmable switches | |
CN2327004Y (en) | Keyboard capable of self defining | |
US20080165034A1 (en) | Computer keyboard | |
GB2121224A (en) | Function keyboard for a microprocessor system | |
WO1990008372A1 (en) | Universal image programmable keyboard |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKLA | Lapsed |