AT Keyboard Source Code Interfacer
Sponsored Links
AT Keyboard Source Code Interfacer Ranking & Summary
File size:
20.1 KB
Platform:
Win All
License:
Price:
Downloads:
1180
Date added:
2006-08-29
Publisher:
SmartAudio Systems, Inc.
AT Keyboard Source Code Interfacer description
Why would you want to interface the Keyboard? The IBM keyboard can be a cheap alternative to a keyboard on a Microprocessor development system. Or maybe you want a remote terminal, just couple it with a LCD Module.
Maybe you have a RS-232 Barcode Scanner or other input devices, which you want to use with existing software which only allows you to key in numbers or letters. You could design yourself a little box to convert RS-232 into a Keyboard Transmission, making it transparent to the software.
An interfacing example is given showing the keyboards protocols in action. This interfacing example uses a 68HC705J1A MCU to decode an IBM AT keyboard and output the ASCII equivalent of the key pressed at 9600 BPS.
The IBM keyboard you most probably have sitting in front of you, sends scan codes to your computer. The scan codes tell your Keyboard Bios, what keys you have pressed or released. Take for example the A Key. The A key has a scan code of 1C (hex). When you press the A key, your keyboard will send 1C down its serial line. If you are still holding it down, for longer than its typematic delay, another 1C will be sent. This keeps occurring until another key has been pressed, or if the A key has been released.
However your keyboard will also send another code when the key has been released. Take the example of the A key again, when released, the keyboard will send F0 (hex) to tell you that the key with the proceeding scan code has been released. It will then send 1C, so you know which key has been released.
Your keyboard only has one code for each key. It doesnt care it the shift key has been pressed. It will still send you the same code. Its up to your keyboard BIOS to determine this and take the appropriate action. Your keyboard doesnt even process the Num Lock, Caps Lock and Scroll Lock. When you press the Caps Lock for example, the keyboard will send the scan code for the cap locks. It is then up to your keyboard BIOS to send a code to the keyboard to turn on the Caps lock LED.
Now theres 101 keys and 8 bits make 256 different combinations, so you only need to send one byte per key, right? Unfortunately a handful of the keys found on your keyboard are extended keys, and thus require two scan code. These keys are preceded by a E0 (hex). But it doesnt stop at two scan codes either. How about E1,14,77,E1,F0,14,F0,77! Now that cant be a valid scan code? Wrong again. Its happens to be sent when you press the Pause/break key. Dont ask me why they have to make it so long! Maybe they were having a bad day or something?
When an extended key has been released, it would be expect that F0 would be sent to tell you that a key has been released. Then you would expect E0, telling you it was an extended key followed by the scan code for the key pressed. However this is not the case. E0 is sent first, followed by F0, when an extended key has been released.
Tthe PCs keyboard implements a bi-directional protocol. The keyboard can send data to the Host and the Host can send data to the Keyboard. The Host has the ultimate priority over direction. It can at anytime (although the not recommended) send a command to the keyboard.
The keyboard is free to send data to the host when both the KBD Data and KBD Clock lines are high (Idle). The KBD Clock line can be used as a Clear to Send line. If the host takes the KBD Clock line low, the keyboard will buffer any data until the KBD Clock is released, ie goes high. Should the Host take the KBD Data line low, then the keyboard will prepare to accept a command from the host.
Maybe you have a RS-232 Barcode Scanner or other input devices, which you want to use with existing software which only allows you to key in numbers or letters. You could design yourself a little box to convert RS-232 into a Keyboard Transmission, making it transparent to the software.
An interfacing example is given showing the keyboards protocols in action. This interfacing example uses a 68HC705J1A MCU to decode an IBM AT keyboard and output the ASCII equivalent of the key pressed at 9600 BPS.
The IBM keyboard you most probably have sitting in front of you, sends scan codes to your computer. The scan codes tell your Keyboard Bios, what keys you have pressed or released. Take for example the A Key. The A key has a scan code of 1C (hex). When you press the A key, your keyboard will send 1C down its serial line. If you are still holding it down, for longer than its typematic delay, another 1C will be sent. This keeps occurring until another key has been pressed, or if the A key has been released.
However your keyboard will also send another code when the key has been released. Take the example of the A key again, when released, the keyboard will send F0 (hex) to tell you that the key with the proceeding scan code has been released. It will then send 1C, so you know which key has been released.
Your keyboard only has one code for each key. It doesnt care it the shift key has been pressed. It will still send you the same code. Its up to your keyboard BIOS to determine this and take the appropriate action. Your keyboard doesnt even process the Num Lock, Caps Lock and Scroll Lock. When you press the Caps Lock for example, the keyboard will send the scan code for the cap locks. It is then up to your keyboard BIOS to send a code to the keyboard to turn on the Caps lock LED.
Now theres 101 keys and 8 bits make 256 different combinations, so you only need to send one byte per key, right? Unfortunately a handful of the keys found on your keyboard are extended keys, and thus require two scan code. These keys are preceded by a E0 (hex). But it doesnt stop at two scan codes either. How about E1,14,77,E1,F0,14,F0,77! Now that cant be a valid scan code? Wrong again. Its happens to be sent when you press the Pause/break key. Dont ask me why they have to make it so long! Maybe they were having a bad day or something?
When an extended key has been released, it would be expect that F0 would be sent to tell you that a key has been released. Then you would expect E0, telling you it was an extended key followed by the scan code for the key pressed. However this is not the case. E0 is sent first, followed by F0, when an extended key has been released.
Tthe PCs keyboard implements a bi-directional protocol. The keyboard can send data to the Host and the Host can send data to the Keyboard. The Host has the ultimate priority over direction. It can at anytime (although the not recommended) send a command to the keyboard.
The keyboard is free to send data to the host when both the KBD Data and KBD Clock lines are high (Idle). The KBD Clock line can be used as a Clear to Send line. If the host takes the KBD Clock line low, the keyboard will buffer any data until the KBD Clock is released, ie goes high. Should the Host take the KBD Data line low, then the keyboard will prepare to accept a command from the host.
AT Keyboard Source Code Interfacer Screenshot
Advertisements
AT Keyboard Source Code Interfacer Keywords
KBD
IBM
Keyboard Source Code Interfacer
KBD Clock
would you want to
Microprocessor Development System
Been Released
source code
Scan code
can be
Why Would
to send
keyboard
key
code
send
Bookmark AT Keyboard Source Code Interfacer
AT Keyboard Source Code Interfacer Copyright
WareSeeker periodically updates pricing and software information of AT Keyboard Source Code Interfacer full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of AT Keyboard Source Code Interfacer Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
keyboard kid
microprocessor development systems
keyboards
source code library
scan codes
source code available
source code vitacost
scan code mapper
how to send an email
source code documentation
planet source code
keyboardingonline
released from prison
keyboard scan code
source code hack
c source code
source code release
microprocessor development system familiarization
Related Software
Internet: Sitecom offers solutions for easy, dependable and fast access to the Internet. Network: Sitecoms network solutions enable all computers and laptops together, both at home and at the office, Free Download
Features: Multimedia keyboard with Internet hotkeys 33 multimedia keys Combined PS/2 USB Free Download
Internet: Sitecom offers solutions for easy, dependable and fast access to the Internet. Network: Sitecoms network solutions enable all computers and laptops together, both at home and at the office, Free Download
SVEN is a Russian company that produces sound systems, UPS devices, storage batteries, surge protectors, keyboards and Free Download
SVEN is a Russian company that produces sound systems, UPS devices, storage batteries, surge protectors, keyboards and Free Download
SVEN is a Russian company that produces sound systems, UPS devices, storage batteries, surge protectors, keyboards and Free Download
Features: Multimedia keyboard with Internet hotkeys 33 multimedia keys Combined PS/2 USB Free Download
Features: Multimedia keyboard with Internet hotkeys 33 multimedia keys Combined PS/2 USB Free Download
Latest Software
Popular Software
- BenQ Keyboard Infrared Wireless Keyboard Airkey III and Airkey V 1.0
- ENMIC 6BAXD Bios 1.30
- Soltek SL-865-R Bios 1.4AS
- 3dlabs Wildcat Realizm 100/200/800 4.03.01
- MUSTEK Scanner 4800TA Pro 1.01
- Logitech Deluxe Keyboard 3.01
- A4tech KBS-16 | KB-16 | KBS-15 | KB-15 Multimedia Keyboard
- Beyond Logic Source Code & Driver for Cypress USB Starter
Favourite Software