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:
-
https://hackaday.com/2021/08/30/chordie-chording-keyboard-speaks-no-qwerty/
3D printed case and individual switches, but the trackball is the best.
-
https://www.ixqprint.com/ Huaisong Industrial is the one
of the membrane keypad manufacturer in china.
-
https://www.dofrp.com/ Best FRP
manufacturer--DOFRP.
-
-
http://www.instructables.com/id/Chording-Keyboard-BLE-and-USB/?ALLSTEPS
BLE chording keyboard with 3D printed case.
-
http://chordite.com/ Yet Another One-hand
Keyboard.
-
http://chorder.cs.vassar.edu/spiffchorder%3Aforside
SpiffChorder is an open source, atmel based, USB or bluetooth chording
keyboard.
-
http://www.keyglove.net/ Open source chording keyboard
and air mouse built into a glove.
-
http://www.ibizpda.com/ iBIZ Virtual
Keyboard is a laser projection of a keyboard on any surface with positional
feedback on your fingers to simulate typing. The only concern is the lack
of "feel". It will be like a "chicklett" keyboard, but worse.
-
http://pannam.com/ Pannam has a Free Membrane Switch Design
Guide
-
http://www.arne.si/~mauricio/Kbdfaq.htm
PC Keyboard FAQ Awesome! (cached
20010201151637)
-
http://www.tegic.com/ using a 10 key
pad to enter text
-
http://web.mountain.net/~roair/wearjunk.html
wearable chording keyboard.
-
Articles about XT and AT type keyboards can be found in April/May 1995 issues
of Circuit Cellar Ink.
-
An early copy of Micro Cornucopia ( March-April 1990 ) has the details about
standards, interface chips etc
-
John Voth has keyboard interfacing information at:
http://nyquist.ee.ualberta.ca/~jdv/
-
http://www.enterprise.ca/~jbilous/kybrd03.htm
-
http://www.barcodeman.com/scan_doc.html
-
http://www.senet.com.au/~cpeacock
for details on how to interface an AT keyboard to a system expecting ascii
input.
-
A PC Keyboard FAQ has been written by Mark Schultz. Send e-mail to
mchultz@wctc.net for details.
-
Go to the Aminet site (eg. ftp.netnet.net) and go to hard/hack, there you'll
find 2 or more files for PC keyboard interfaces to Amiga. There is some
documentation for the AT keyboard protocol.
-
Check out the Philips site. There is supposed to be an app note for PC keyboard
to serial format.
-
http://www.repairfaq.org/filipg/LINK/PORTS/F_Keyboard_FAQ.html
-
http://members.tripod.com/~ilkerf/c64tower/F_Keyboard_FAQ.html
is Yet Another Keyboard FAQ.
-
http://www.brouhaha.com/~eric/pic/
-
http://www-dept.cs.ucl.ac.uk/staff/B.Rosenberg/kbd/chord.html
Interesting Chord Keyboards summary:
-
http://www.atmel.com/atmel/acrobat/doc1235.pdf
has C code for interfacing an AVR processor to a keyboard.
-
http://www.hut.fi/Misc/Electronics/hwprojects.html#pc_keyboard,
good PC hardware projects
-
Hagstrom Electronics, 2
Green Lantern Boulevard Endicott, New York 13760, 1-888-690-9080 9x9 and
12x12 matrix to PC or RS232 encoder boards
-
http://www.usar.com/prodnser/keycod.htm
-
http://junitec.ist.utl.pt/einfo/hwprojects.html#pc_keyboard
-
http://www.freebsd.org/~fsmp/HomeAuto/Focus.html
-
Ken's Gameboy and
PIC Projects Page
-
http://panda.cs.ndsu.nodak.edu/~achapwes/PICmicro/keyboard/keyboard.html
-
http://www.piher-nacesa.com/paginas/product.htm
-
http://web.mit.edu/invent/www/inventorsI-Q/levypg.html
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
-
http://32.97.166.75/imouse/
-
http://www.ednmag.com/ednmag/reg/2000/02032000/designideas.htm
"Keyboard data-acquisition system is cheap and simple"
-
http://www.mikerj.clara.net/keypad.html
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: