The keyboard scan codes you see listed in Books and FAQs and so forth are NOT current for a MFII (101-key expanded) keyboard. The Linux source code does document all this.
Typical data transfer speed from the keyboard is approx. 8kHz . The clock pulses are 60 or 70 uS long so 120uS for the period. The clock rate can differ significantly between PCs
Many keyboards have automatic XT/AT mode detection. This worked in several different ways. e.g. one keyboard would send a code with a deliberate parity error, and if the host didn't request a re-send it went into XT mode.
Topics:
Michael Hetherington's USB Keyboard demo
Caller ID Keyboard wedge: ddj article and source code
See also:
to
push 1 you actually depress 1QWAS. Q is QA1W. Shown just about actual size.
Why didn't I think of that? Invented by David Levy of TH, Inc. ("think" get
it?), called "OneTouch" or "Fastap" marketed by
digitwireless and now available
from Telus in Canada
| letter | decender? | curve? | circle? | heavy? | leftheavy? | two parts? | topheavy? | points? |
| a A | X ? | X | B | 1-2 | ||||
| b B | X | L ? | X | 1-2 | ||||
| c C | X | L | X | 2 | ||||
| d D | X | R L? | 1-2 | |||||
| e E | X | X | L | X | X | 1-2 | ||
| f F | X | L | X | ? | X | 3-4 | ||
| g G | X | X | X | RT LB | X | 1-2 | ||
| h H | X | L ? | X | 3-6 | ||||
| i I | X | 2-4 | ||||||
| j J | X | X | R | X | 2-3 | |||
| k K | L | X | 4 | |||||
| l L | ? L | 2 | ||||||
| m M | X | TL T | X | X | 2-4 | |||
| n N | X | TL ? | X | X | 2-3 | |||
| o O | X | 0 | ||||||
| p P | X | X | LT | X | 1-2 | |||
| q Q | X | X | RT RB | X | 1-2 | |||
| r R | X | LT | X | X | 3 | |||
| s S | X | 2 | ||||||
| t T | T | X | 4 | |||||
| u U | X | B | 2-3 | |||||
| v V | T | X | 2 | |||||
| w W | X | B | 2-4 | |||||
| x X | 4 | |||||||
| y Y | X | ? | T | X | 3-4 | |||
| z Z | 2 |
See also:
Archive:
Uche Nwoko of Multi-Electronics Design Says:
A simple experiment for those looking for, a common keyboard that is capable of encoding 9 key strokes into four binary bit. what I did was to use an IC 74HC147, known as 10 to 4 line priority encoder, as a keyboard to controle a wireless remote system, with this IC I can be able to achive an Output of 4 binary code from 0 to 9, whereby i interface the binary output with any encoder to give me the right data i needed to controle my design.
To construct a keboard from 74Hc147 all 1 to 9 input pins should pull high with 10k resistors, then each of the input is connected to micro push buttons,with this buttons i can be able to sellect any of the input from 1 to 9, if all of the 9 iputs are on high position, the output will be Automatically 0 (Zero), i.e if the output is invert, that is why I did not have 0 button on my keboard, with the help of cd4511 you can be able to read out the output from 7 segment display.
Below is the input and Output Table.
A B C D 1 2 3 4 5 6 7 8 9
1 1 1 1 = 1 1 1 1 1 1 1 1 1 when output invert = 0, if not invert = F
0 1 1 0 = 1 1 1 1 1 1 1 1 0 when output invert = 9, if not invert = 6
1 1 1 0 = 1 1 1 1 1 1 1 0 1 when output invert = 8, if not invert = 7
0 0 0 1 = 1 1 1 1 1 1 0 1 1 when output invert = 7, if not invert = 8
1 0 0 1 = 1 1 1 1 1 0 1 1 1 when output invert = 6, if not invert = 9
0 1 0 1 = 1 1 1 1 0 1 1 1 1 when output invert = 5, if not invert = A
1 1 0 1 = 1 1 1 0 1 1 1 1 1 when output invert = 4, if not invert = B
0 0 1 1 = 1 1 0 1 1 1 1 1 1 when output invert = 3, if not invert = C
1 0 1 1 = 1 0 1 1 1 1 1 1 1 when output invert = 2, if not invert = D
0 1 1 1 = 0 1 1 1 1 1 1 1 1 when output invert = 1, if not invert = E
The above table is exctly how the input and out out look like, if necessary the output can be invert with the help of Ic CD4069 or CD4049, I wish any reader a success, if you want to try this simple design.
Questions: