183 lines
6.1 KiB
HTML
183 lines
6.1 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
|
|
<TITLE>Keyboard scancodes: Special keyboards - XT keyboards</TITLE>
|
|
<LINK HREF="scancodes-3.html" REL=next>
|
|
<LINK HREF="scancodes-1.html" REL=previous>
|
|
<LINK HREF="scancodes.html#toc2" REL=contents>
|
|
</HEAD>
|
|
<BODY>
|
|
<A HREF="scancodes-3.html">Next</A>
|
|
<A HREF="scancodes-1.html">Previous</A>
|
|
<A HREF="scancodes.html#toc2">Contents</A>
|
|
<HR>
|
|
<H2><A NAME="s2">2. Special keyboards - XT keyboards</A></H2>
|
|
|
|
<P><I>First keyboards with an XT interface.
|
|
There is no keyboard controller, no commands to the keyboard.
|
|
On a modern computer these will usually yield "keyboard error"
|
|
or "KB/interface error" or some such, but sometimes they can be
|
|
used nevertheless.</I>
|
|
<P>The IBM PC (all models) and the IBM XT (models 68, 78, 86, 87, 88,
|
|
267, 277) came with this 83-key keyboard.
|
|
The IBM AT (models 68, 99, 239, 319) came with an 84-key keyboard.
|
|
The IBM XT (models 89, 268, 278, 286) and the IBM AT model 339
|
|
came with a 101-key keyboard.
|
|
<P>The original IBM 83-key PC/XT keyboard did not have LEDs.
|
|
The original IBM 84-key AT keyboard has LEDs, separates the
|
|
keypad from the main area, moves the Esc key to the right,
|
|
and adds the SysReq key.
|
|
The original IBM 101-key keyboard moves the ten function keys
|
|
from the left to the top row and adds two more. The Esc key is moved
|
|
in front of this row of function keys. The "number" and "cursor"
|
|
functions of the keypad are separated. There are duplicate Ctrl and Alt
|
|
keys.
|
|
<P>
|
|
<H2><A NAME="ss2.1">2.1 XT keyboard</A>
|
|
</H2>
|
|
|
|
<P>The
|
|
<A HREF="xtkbd.jpg">XT keyboard</A>
|
|
has 83 keys, nicely numbered 1-83, that is, with scancodes
|
|
<B>01</B>-<B>53</B>. No escaped scancodes.
|
|
<P>
|
|
<FIGURE>
|
|
<EPS FILE="absent">
|
|
<IMG SRC="xtkbd-s.jpg">
|
|
</FIGURE>
|
|
<P>
|
|
<H2><A NAME="ss2.2">2.2 Victor keyboard</A>
|
|
</H2>
|
|
|
|
<P>This
|
|
<A HREF="victor.jpg">Victor keyboard</A>
|
|
is very similar. The keypad is separated here, and the Esc key
|
|
has been moved to the keypad. The frontside of the ScrollLock key
|
|
says Break. It resembles an AT keyboard but has only 83 keys,
|
|
the SysRq is still missing.
|
|
<P>
|
|
<FIGURE>
|
|
<EPS FILE="absent">
|
|
<IMG SRC="victor-s.jpg">
|
|
</FIGURE>
|
|
<P>
|
|
<H2><A NAME="ss2.3">2.3 Olivetti M24 keyboard</A>
|
|
</H2>
|
|
|
|
<P>
|
|
<FIGURE>
|
|
<EPS FILE="absent">
|
|
<IMG SRC="m24.jpg">
|
|
</FIGURE>
|
|
|
|
The Olivetti M24 (also sold under the names Logabax 1600 and
|
|
ATT PC-6300) was an IBM compatible manufactured in 1984.
|
|
<P>John Elliott writes:
|
|
The Olivetti M24 is an XT sort-of clone. It
|
|
has two possible keyboards - the normal (83-key) IBM one,
|
|
and a "deluxe" one (102 keys) with 18 function keys.
|
|
<P>Unlike a normal XT keyboard, it is possible to send commands to it.
|
|
The BIOS does this twice:
|
|
(1) Command 01h makes the keyboard perform a self-test.
|
|
(2) Command 05h makes the keyboard return a 1-byte ID. The least signficant
|
|
bit is set for a "deluxe" layout.
|
|
<P>The keyboard connector is DE-9 rather than DIN. Pins are:
|
|
<PRE>
|
|
1 KBDATA
|
|
2 KBCLOCK
|
|
3 GND
|
|
4 GND
|
|
5 +12V
|
|
6 -RESET1
|
|
7 Keyboard/-Typewriter
|
|
8 TEST0
|
|
9 +5V
|
|
</PRE>
|
|
|
|
(pins 6-9 are not used by the supplied keyboards).
|
|
<P>Attached
|
|
<A HREF="m24kbd.png">the diagram</A>
|
|
of the 'deluxe' keyboard, which shows its scancodes in decimal.
|
|
<P>A mouse can be attached to the keyboard. The following is based
|
|
on disassembling attmouse.drv from Windows 1.0.
|
|
<P>Windows initialises the mouse by sending the following bytes to the
|
|
keyboard: 0x12, 0x77, 0x78, 0x79, 0x00.
|
|
The 0x12 is almost certainly a command byte; 0x77, 0x78 and 0x79 are the
|
|
scancodes to be returned by the three mouse buttons. I don't know what the
|
|
0x00 is for.
|
|
<P>It then handles the following scancodes:
|
|
0xFE -- mouse movement. The next two scancodes are delta X, then delta Y,
|
|
in ones' complement.
|
|
0x77, 0x78, 0x79 (and 0xF7, 0xF8, 0xF9) -- button presses / releases.
|
|
<P>When shutting down the mouse, it sends these bytes to the keyboard:
|
|
0x11, 0x1C, 0x53, 0x01, 0x4B, 0x4D, 0x48, 0x50, 0x02, 0x04.
|
|
My guesses here are:
|
|
0x11: Mouse movement becomes simulated keypresses.
|
|
0x1C, 0x53, 0x01: Scancodes to be returned by mouse button presses.
|
|
0x4B, 0x4D, 0x48, 0x50: Scancodes to be returned by mouse movement.
|
|
0x02, 0x04: Don't know.
|
|
<P>
|
|
<H2><A NAME="telerate"></A> <A NAME="ss2.4">2.4 Telerate keyboard</A>
|
|
</H2>
|
|
|
|
<P>The
|
|
<A HREF="telerate.jpg">Telerate keyboard</A> was used
|
|
for financial applications, as is clear from the keycaps.
|
|
This keyboard (in the old XT version, without <B>e0</B> prefixes)
|
|
has four additional keys, with scancodes <B>61</B>,
|
|
<B>62</B>, <B>63</B>, <B>64</B>. The F11 and F12 keys have
|
|
scancodes <B>54</B> and <B>55</B> (instead of the common <B>57</B>
|
|
and <B>58</B>). There are two LEDs (for CapsLock and NumLock).
|
|
<P>
|
|
<FIGURE>
|
|
<EPS FILE="absent">
|
|
<IMG SRC="telerate-s.jpg">
|
|
</FIGURE>
|
|
<P>
|
|
<H2><A NAME="ss2.5">2.5 NCR keyboard</A>
|
|
</H2>
|
|
|
|
<P>Also with an XT interface this
|
|
<A HREF="ncr.jpg">NCR keyboard</A>,
|
|
still with ten function keys on the left, but already with a separate
|
|
block of keys between the ordinary keys and the numeric keypad.
|
|
This middle block has on top five keys
|
|
Ctrl (<B>1d</B>, same as the Ctrl on the left),
|
|
Del (<B>53</B>, same as Keypad-Del/.),
|
|
PgUp (<B>49</B>, same as Keypad-9/PgUp),
|
|
End (<B>4f</B>, same as Keypad-1/End),
|
|
PgDn (<B>51</B>, same as Keypad-3/PgDn), and below five cursor keys
|
|
(<B>48</B>, same as Keypad-8/Up;
|
|
<B>4b</B>, same as Keypad-4/Left;
|
|
<B>47</B>, same as Keypad-7/Home;
|
|
<B>4d</B>, same as Keypad-6/Right;
|
|
<B>50</B>, same as Keypad-2/Down).
|
|
Enter and Keypad-enter are both <B>1c</B>.
|
|
Below the Enter key PrtScn/* (<B>37</B>), and below that again
|
|
Ins (<B>52</B>, same as Keypad-0/Ins).
|
|
CapsLock and NumLock have a built-in LED.
|
|
<P>
|
|
<FIGURE>
|
|
<EPS FILE="absent">
|
|
<IMG SRC="ncr-s.jpg">
|
|
</FIGURE>
|
|
<P>
|
|
<P>
|
|
<H2><A NAME="cherry80"></A> <A NAME="ss2.6">2.6 Cherry G80-0777</A>
|
|
</H2>
|
|
|
|
<P>According to
|
|
<A HREF="http://titan.informatik.uni-bonn.de/~frinke/FreeKEYB/kbdinfo.html">FreeKEYB/kbdinfo.html</A>
|
|
this keyboard has five additional keys with scancodes
|
|
<B>55</B> (F11), <B>56</B> (F12),
|
|
<B>57</B> (F13), <B>58</B> (F14), <B>59</B> (F15).
|
|
<P>
|
|
<P>
|
|
<HR>
|
|
<A HREF="scancodes-3.html">Next</A>
|
|
<A HREF="scancodes-1.html">Previous</A>
|
|
<A HREF="scancodes.html#toc2">Contents</A>
|
|
</BODY>
|
|
</HTML>
|