source: avrstuff/kbd/xtk/doc/signalling.txt@ 9e3cc04

main
Last change on this file since 9e3cc04 was 9e3cc04, checked in by Adrien Destugues <pulkomandy@…>, 10 years ago

Prepare directory for XTK

git-svn-id: svn://pulkomandy.tk/avrstuff@95 c6672c3c-f6b6-47f9-9001-1fd6b12fecbe

  • Property mode set to 100644
File size: 1.3 KB
Line 
1XT keyboard protocol and signalling
2===================================
3
4The keyboard comnmunicates with the PC/XT through a mostly single-direction
5serial link.
6
7When the link is idle, the CLK line is high (floating), and the DATA line is
8low (pulled by the keyboard).
9
10When the keyboard wants to send a byte:
11- It checks that the CLK line is not pulled low (the PC/XT does this when the
12receiving buffer is full).
13- It sends the byte for the keycode. There is a start bit (DATA=1), followed by
14the 7-bit keycode (LSb first), and the make/break bit (set for release, clear
15for key press).
16
17As the 9th bit is pushed, the PC will force the clock line low until the CPU has
18read the received byte and cleared the receiving register.
19
20The PC stores the data on the falling edge of the clock. It can also reset the
21keyboard by pulling the clock line low for too long (unsure what the exact
22timing is).
23
24It is up to the keyboard to manage the states of the LEDs. At power on, the LEDs
25are off. They are switched by pressing CAPS and NUM locks. It's possible that
26they get out of sync with the caps/num state the computer has. It is also up to
27the keyboard to handle typematic (key repeat) and a keyboard buffer, if needed.
28
29At boot, the keyboard is supposed to send 0xAA when it is ready to work.
30However, I'm not sure my XT clone BIOS actually checks for that.
Note: See TracBrowser for help on using the repository browser.