RFID-BASED VISUAL MULTILINGUAL KEYBOARD WITH CONTROLLER MODIFIER
FIELD OF THE INVENTION
This invention relates to the computer technology. More specific, it relates to the design of a computer keyboard in the fashion that it enables the user to know which glyph or image will be displayed on the computer screen, or which command or action will be triggered within a software, upon pressing of a specific key, by seeing the same glyph or image displayed on the screen of the keycap.
BACKGROUND OF THE INVENTION
Commonly used keyboards communicate with the computer by the means of the keyboard common controller, being placed within the keyboard itself, and the interface keyboard controller, being placed within the computer, interconnected by the physical connection through the port. The communication is carried out between these two controllers by any predefined communication protocol through the cable or wireless connections. The most commonly used connections through the port are through the 5 pin DIN connectors, 6 pin mini DIN connectors (PS/2), 4 pin USB connectors and notebook internal connectors. Bidirectionality of the communication enables both the keyboard to send the information when pressing or releasing of a key, or a combination of keys, such as the combination of pressed Control key and P letter key, forming a command to be triggered by the computer, and the computer to send the command to the keyboard, setting it into the specified state, such as SET TYPEMATIC REPEAT RATE command, which determines the maximal duration of the pressed position of the same key before the second letter is inscribed onto the computer display device.
The main purpose of the communication is to send to the computer the information about which key, or combination of keys, has been pressed or released on the keyboard. When a key on the keyboard is pressed or released, the keyboard interface controller is analyzing
the keyboard matrix and deteπnines that the specific key has been pressed or released based on the information on the place of the key at the keyboard matrix. The keyboard interface controller recognizes that the key has been pressed or released due to the change of the current flow through the current circuits at the specific row and column of the matrix of the keyboard. Based on these items of information, the keyboard interface controller generates "the scan code'* pertaining only to the specific key, combinations of keys or actions being taken, and sends it by a specific protocol of asynchronous communication through the cables, through the specific port, the most often PS/2 port, to the operating system of the computer. The operating system recognizes "the scan code" and, having the information on the keyboard layout MAP and its active language variant, i.e. the codepage, is able to non- ambiguously identify all of the keys of the keyboard layout, and actions being taken by the user. The operating system makes the information available to the application which is active in that very moment. The active application decides on the action that will be performed, e.g. on exhibit of the specific character or certain action such as print preview.
Once being active, each application is able to set its own language variant and/or codepage of the operating system. Each time when any application becomes active after the start up of the operating system it can change the active language variant of the operating system.
The operating system remaps the keyboard layout each time the active language variant has been changed.
To enable multilingual use of an application, the fonts having a large number of various characters and symbols are installed. These characters and symbols are accessed either utilizing the standard code pages (CP1 , CP2, CPn), or utilizing of the universal address consisted of two bytes known as Unicode system. The two-byte addresses enable a font to have within itself 216, i.e. more than sixty thousand, different characters and symbols available to any application at the same time.
The common visible keyboard layout usually has the letters of the common Latin alphabet and specific characters (Esc, FI, Delete. Home, 5, %, etc.) engraved or printed on the keycaps in a predefined order, one of the most usual keyboard layouts in the English
language variant is known as QWERTY visible keyboard layout, having the number of keys between 102 and 108. As long as the active language variant in the operating system is the same as the visible keyboard layout used, the user will enter easily not only the characters printed or engraved on the keycaps, but also the most common commands that may not be printed or engraved on the keycaps. However, once the active language variant in the operating system is not the same as the visible keyboard layout, because the active language variant has been changed by an event in the operating system, such as start of an application having a different language variant as a default, the user will have to search for the place of the key needed to be pressed to produce the wanted glyph or to trigger certain action, and usually to press several times different keys until the discovery of the place of the key producing the wanted glyph.
There are various approaches known in the art trying to accommodate the computer users looking for the places of the keys on the keyboard using the active language variant uncustomary used by the user.
The composite LCD keyboard involves software application to manage characters and symbols to be displayed on the LCD keyboard. The management is achieved through the operating system. The application embraces the table with the information for display of the glyphs at the LCD keyboard and the key table containing the information on the key codes corresponding to the keys at the LCD keyboard. Having these two items of information is sufficient to manage the display at the LCD keyboard within the defined operating system. The keyboard is consisted of actually one flat LCD screen without the keys, displaying the glyphs upon pressing on a certain place of the keyboard. The disadvantages of this approach are the uncomfortable ergonomic and design factors, since it lacks travel, tactile feedback, audibility, activation force, click and bounce effect, overall feel of the entire keyboard, as well as its durability and cost of production and repair. Necessary involvement of the separate software, able to recognize such a keyboard, is yet another disadvantage, since the keyboard is not functional with all existing software applications and operating systems.
Another approach known in the art involves LCD screens on each of the keys on the keyboard, involving the permanent contact of each of the keys with the circuit board of the keyboard body. The existence of such permanent contacts necessarily reduces durability of the keys of the keyboard, while common keyboard needs the keys constructed for several million of press-release cycles. To meet the durability standards of the keys, the special very large and expensive and keys are designed for use in such a keyboard. The electronic devices known in the art required for functioning of the keys are placed within the assemblies of the keys, as well as special construction required for pressing and releasing of the keys, keeping contacts between the keys and the circuit board permanently immobile to try to prevent wear and tear. Such keys are much larger than the standard ones, having ergonomic and comfort design factors: travel, tactile feedback, audability, activation force, click and bounce and overall feel tremendously reduced compared to the standard keyboards. Therefore, it cannot be used as a common general purpose keyboard.
Remapping of the keys of the keyboard by the operating system indirectly solves the problem, but the user still cannot make simple choice of alphanumeric characters, symbols, hereinafter referred to as "the glyphs", and the images directly from the keys of the keyboard and still have the described problem after any change of the active language variant within the operating system.
The present invention provides:
• the possibility to the users of visual selection of glyphs and images directly from the keys of the keyboard; • unchanged standard ergonomic attributes and durability of the keys and keyboard; • standard design and size-of the keys, spacing between the keys and standard size and design of the keyboard; • compatibility with any computer and any operating system and any existing software application; • simple installation procedure and connectability through any of the standard ports (PS2, USB, etc.): • operationability without the requirement of additional hardware of the computer;
The present invention employs various methods and protocols known in the art for the communication between the keyboard and computer (USB, PS/2, BLUETOOTH, COM, LPT, internal ports, etc.)
DESCRIPTION OF THE DRAWINGS
Fig 2.1
Shows the functionality and organizational schema of the common keyboard controller and its functionality in terms of communication with the operating system and applications running within it known in the art.
Fig 2.2
Shows the general idea known in the art which enables LCD keyboards to communicate with specific applications and shows glyphs and images foreseen by these applications
Fig 2.3
Shows schematically the general idea of functionality and organizational schema of the keyboard with the common keyboard controller modifier which in cooperation with the keyboard driver and the operating system gives the visual functionality on the display device of every displayable keycap.
Fig 2.4
This figure shows the schematic construction of the RFID device and its parts and shows schematically the method of wireless transfers of power supply and data to the microcontroller device of the transponder in the construction of the keycap.
Detail A - shows the schema of the electronic organization, construction and functionality of one of the displayable keycaps
Detail B - Shows organizational schema of the NV memory of the microcontroller of the transponder
Fig 2.5
Shows the algorithm of behaviour of the common keyboard microcontroller modifier and the schema of its electronic connection with the common keyboard microcontroller
DETAILED DESCRIPTION OF THE INVENTION
RFID-based visual multilingual keyboard with controller modifier employs the driver of the keyboard, monitoring for setting of the active language variant i.e. the code page in the operating system. The present invention also employs the use of the keyboard common controller modifier to receive from the keyboard driver the information which of the glyphs or images will be displayed at the monitor of the computer upon pressing or releasing of each of the keyboard keys, and to forward it utilizing the RFID reader to each of the RFID transponders placed within the keys requiring such information. The present invention also involves microcontrollers of the transponders placed in the keys of the keyboard. Finally, it involves setting and interoperability of each and all of them, to produce exhibit of the glyphs and images visible to the user on the screen keycaps of the keys on the keyboard.
The keyboard driver has its own data storage in the RAM memory of the operating system and/or hard disk for saving the infoπnation of the current set of the language variants and/or code pages, as well as the data on the glyphs and the images of all language variants in form of the rasterized font, being available to the operating system and images from software applications using the keyboard visual feature. The same items of information also reside in the NV memory of the keyboard common controller modifier as well as in the NV memory of the microcontroller of the transponder in every screen keycap described further bellow, and these items of information should always be up to date and equal with each other in order to the invention be functional.
Within the predefined periods of time, being shorter than the fastest possible physical reconnection of the two different keyboards connected to the same computer, the keyboard
driver queries the keyboard common controller modifier through the interface keyboard controller, by sending any predefined sequence of commands and their arguments to the keyboard common controller modifier within any predefined periods of time. The keyboard common controller modifier recognizes the sequence as the signal for its activation and sends response of its presence back to the keyboard driver utilizing predefined sequence of standard commands and arguments for sending "the scan codes" of the pressed keys to the interface keyboard controller using only the argument value as the carrier of the data for the keyboard driver. In the case that the keyboard driver receives the response from the keyboard common controller modifier that the keyboard has not been removed, it does not examine if the contents of its memory and the NV memory of the keyboard common controller modifier, storing the information of current set of language variants i.e. code pages, are identical. In the case that keyboard driver receives no response from the keyboard common controller modifier, either the keyboard have been removed, lost power supply, or another keyboard is about to be connected to the computer, which calls for the checkout of the equality of the contents of the keyboard driver memory and keyboard common controller modifier memory should the new keyboard be potentially connected to the computer. To detect possible presence of a new keyboard, the keyboard driver keeps on sending queries to the interface keyboard controller in predefined period of times until it receives the response. If and when it receives the response of the presence of keyboard common controller modifier, the keyboard driver compares the content of its own memory and keyboard common controller modifier NV memory looking for the differences in the current language variants i.e. the code pages utilizing the same, above described schema of bidirectional communication with the keyboard common controller modifier.
Only if the keyboard driver finds no differences in the current language variants i.e. the code pages in its own memory and the current language variants i.e. code pages in the NV memory of the interface keyboard controller, and only if there is no non-standard language variant i.e. code page set by an application using the specific visual features of this keyboard exists within the current set of any of the two sets of compared cuπent language variants i.e. code pages, no update takes place. In the opposite case the update i.e. synchronization of all different and all non-standard language variants i.e. code pages in the memory of the keyboard driver, NV memory of the keyboard common controller modifier,
and memory of the microcontroller of the transponder occurs, as well as the synchronization between the NV memory segment of the microcontroller of the transponder which holds information of glyphs for the updated language variants i.e. code pages and memory segment of the keyboard driver that holds information of all glyphs and all language variants. After that process the active language variant i.e. code page in the operating system is set and therefore displayed on the screen keycaps. Synchronization and command/data flow is carried out according to the description of the communication protocol of the keyboard common controller modifier.
Also, while operating with the same keyboard all the time, the keyboard driver monitors the changes of the active language variant i.e. the code page within the operating system. When the change occurs, the keyboard driver queries the existence of the active language variant i.e. the code page in the current language variants i.e. code pages within the NV memory of the keyboard common controller modifier, or existence of any non-standard language variants i.e. code page set by an application that makes use of the specific visual features of this keyboard. If at least one these conditions is fulfilled, the keyboard driver sends the sequence activating the keyboard common controller modifier and sends new current language variant i.e. code page, key codes and glyphs information bit by bit through the keyboard common controller modifier to every microcontroller of the transponder in every screen keycap. If neither of the conditions is fulfilled, it means that the active language variant, i.e. code page, is one of the current language variants, i.e. code pages, stored in the NV memories of the keyboard common controller modifier and NV memories of the microcontrollers of the transponders in the screen keycap of every key, so the keyboard driver sends only the group identification of all transponders and current language variants i.e. code page which is sufficient information for the microcontroller of the transponder to display correct glyphs on every keycap.
After it had received the infoπnation on the current active language variant, on the glyph or image, on the ID code of a key of the keyboard, having been made available by the operating system, the driver is forwarding the information on the ID code of the selected key at the keyboard from the operating system through the interface controller to the
keyboard common controller. Yet, the keyboard common controller is not designed to distinct such items of information.
The keyboard common controller modifier could be any of the programmable electronic microcontroller devices known in the art. It monitors the communication carried out between the interface keyboard controller and keyboard common controller. Upon the receipt of a predefined sequence of the predefined argument of the predefined commands, from the keyboard driver installed into the operating system, through the interface keyboard controller, the keyboard common controller modifier inhibits the keyboard common controller and takes over the communication with the keyboard.
The inhibition is perfoπned by sending the signal to the analog switches, which are known in the art.
The predefined sequence of the predefined arguments of a predefined command could be any command, preferably one of the commands recognized by all interface keyboard controllers known in the art, such as for example the SET TYPEMATIC REPEAT RATE command, having the argument for example 255. To prevent possible errors and unwanted activation of the modifier, the predefined sequence could be set to activate the modifier upon receipt of any number of the commands and values of their arguments received consecutively in a row within the predefined time periods between each of the consecutively received commands.
For example, upon receipt of the command SET TYPEMATIC REPEAT RATE with the value of the argument being for example 255, the modifier is alerted to recognize if the consecutive command is the one having been set to activate the modifier, provided it is received within n milliseconds. The command required to be consecutively received within 77 milliseconds could be for example the command SET TYPEMATIC REPEAT RATE with the value of the argument being for example 254. Such cycles of sequences can be repeated as many times with different arguments and different timer settings as needed in order to avoid accidental activation of the modifier. Only upon the receipt of all of these sequences consecutively within the predefined time periods the modifier will inhibit the
keyboard common controller and take over the communication with the keyboard. The number of required sequences and time limits is easily set by the program within the modifier by the methods known in the art. In the described fashion, the possibility of unwanted inliibition of the keyboard common controller and takeover of the communication between the keyboard interface controller and the keyboard common controller is nearly non existent. The number of values set to activate the modifier should not affect operation ability of the keyboard, since usual communication protocols do have the ability of transmitting of a number of commands within milliseconds.
The same process is used to transmit the information on cessation of the inhibition of the keyboard common controller. Upon the receipt of any predefined sequence of the predefined commands with their arguments consecutively within the predefined time periods, the keyboard common controller modifier will cease inliibition of the keyboard common controller, allowing further communication between the interface keyboard controller and keyboard common controller, remaining alert during the activity of the operating system.
Forwarding the necessary information such as the information on the glyphs and images and active language variants i.e. codepages upon meeting the required conditions from the keyboard common controller modifier towards display devices of the keycaps, could be carried out utilizing any of the means known in the state of art. The present invention utilizes the RFID device.
The RFID device is consisted of the RFID reader, antenna and transponder. The RFID devices are common nowadays and known in the art. The RFID reader is placed near the keyboard common controller modifier. The antenna is placed around the key set of the keyboard and coplanar to the upper surface of the keys, so it is able to transmit the signal and power supply to the transponders placed within each of the keys having the screen keycap. The RFID reader receives the signal from the keyboard controller modifier utilizing TTL - RS232 connection and is transmitting it wirelessly using the antenna to the selected transponders placed within the keycap construction itself. Transponders receive the signal initiated by the keyboard driver, based upon the information on active language variant, i.e.
the codepage. and the ID code of the key. The RFID reader receives the infoπnation from the keyboard common controller modifier, forwards to the transponder either the ID key code, active language variant and glyph or image to be displayed bit by bit, or only the information on the active language variant and the information on the group ID code of all transponders in the keyboard. Wireless communication between the reader and transponder is bidirectional.
According to the present invention, each of the keys of the keyboard, or preferably, only the keys intended to display different glyphs or images upon switching to different active language variant, are constructed containing the common body of the key, RFID transponder with its microcontroller and NV memory, display device unit, as well as the protective layer at the top of the keycap.
The RFID transponder is part of the described RFID device. The display device is placed on the upper side of the keys. It is either an LCD display device or other display device capable of displaying glyphs and images known in the art. The protective layer of a transparent material, such as plastic, is used as the keycap, designed to meet ergonomic and design factors of the standard keyboards. It is transparent to allow exhibit of the display device beneath it to be visible by the user.
Microcontroler of the transponder receives the information either on its group identification as a header command, or the information on its ID code. In case of the group identification received, it orders only display of the glyph existing in its NV memory, since the meaning of the information is that only the code page has been changed. In case of the ID code received, it is ordering the update both of the glyph and the code page in its NV memory and orders display of the updated glyph, since the meaning of the information is that the glyph has been changed.
The present invention also involves its own specific functional key. Thie functional key enables the display of the extended set of symbols of the current codepage or active language variant on the display device of the key. The number of glyphs of extended characters in a codepage is bigger than the number of keys on the keyboard so they cannot
in a same time be displayed on the display devices of the keycaps and use by simple pressing on the key without the special mechanism introduced here by specific functional key. The functional key is toggled between the "active" and "inactive" state by double- clicking on it, which eliminates the possibility of accidental change of state. When this key activates the mode for use and display of the extended set on the keyboard, the keys send not their ordinary "scan code" but the scan code needed for the specific glyph to be displayed, e.g. in Windows operating system symbol £ requires scan code generated by simultaneous pressing of the ALT key and the sequence of ciphres 1 than 5 than 6 on the numerical keypad which is the code of the £ symbol in the extended set. Map with the corresponding scan codes for displaying any character from the extended set exists in the operating system as well the map of the keyboard layout, and therefore any pressed key can return the same scan code value to the operating system upon pressing on it causing the right glyph to be displayed on the display device of keycap. When the functional key is in the state "active" it can also cycle through the pages of the extended set by pressing many times in a row causing different set of glyphs of a certain extended set to be displayed on the display devices of the keycaps. When we leave the "active mode" the basic page of the active codepage is being displayed again on the display devices of the keycaps.