Skip to content

Ohter Keyboard Protocols

hasu@tmk edited this page Jan 28, 2024 · 16 revisions

AMIGA Keyboard

Keyboard Interface:

Code:

Scan Codes

https://archive.org/details/amiga-hardware-reference-manual-3rd-edition/page/254/mode/1up?view=theater

AMIGA 500/2000/3000

,---. ,------------------------. ,------------------------.
|Esc| |F1  |F2  |F3  |F4  |F5  | |F6  |F7  |F8  |F9  |F10 |
`---' `------------------------' `------------------------'
,-------------------------------------------------------------. ,-----------. ,---------------.
|  `  |  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|  \|Bsp| |Del  |Help | |  (|  )|  /|  *|
|-------------------------------------------------------------| `-----------' |---------------|
|  Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|     |               |  7|  8|  9|  -|
|--------------------------------------------------------\Entr|     ,---.     |---------------|
|Ctrl|Cap|  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  #|    |     |Up |     |  4|  5|  6|  +|  
|-------------------------------------------------------------| ,-----------. |---------------|
|Shift |  <|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|  Shift   | |Lef|Dow|Rig| |  1|  2|  3|   |
`-------------------------------------------------------------' `-----------' |-----------|Ent|
    |Alt |A   |            Space                  |A   |Alt |                 |      0|  .|   |
    `-------------------------------------------------------'                 `---------------'
,---. ,------------------------. ,------------------------.
| 45| | 50 | 51 | 52 | 53 | 54 | | 55 | 56 | 57 | 58 | 59 |
`---' `------------------------' `------------------------'
,-------------------------------------------------------------. ,-----------. ,---------------.
| 00  | 01| 02| 03| 04| 05| 06| 07| 08| 09| 0A| 0B| 0C| 0D| 41| | 46  | 5F  | | 5A| 5B| 5C| 5D|
|-------------------------------------------------------------| `-----------' |---------------|
| 42    | 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 1A| 1B|     |               | 3D| 3E| 3F| 4A|
|--------------------------------------------------------\ 44 |     ,---.     |---------------|
| 63 | 62| 20| 21| 22| 23| 24| 25| 26| 27| 28| 29| 2A| 2B|    |     | 4C|     | 2D| 2E| 2F| 5E|
|-------------------------------------------------------------| ,-----------. |---------------|
| 60   | 30| 31| 32| 33| 34| 35| 36| 37| 38| 39| 3A|    61    | | 4F| 4D| 4E| | 1D| 1E| 1F|   |
`-------------------------------------------------------------' `-----------' |-----------| 43|
    | 64 | 66 |              40                   | 67 | 65 |                 |     0F| 3C|   |
    `-------------------------------------------------------'                 `---------------'

https://bboah.claunia.com/a4000keyb_german_big.jpg

https://androidarts.com/Amiga/A500top.jpg

Pinouts

compatible to IBM PC AT and PS/2

model connector
AMIGA 2000/3000 DIN-5P
AMIG 4000 Mini-DIN-6P
Mini-DIN-6P female socket from the front:
  ,--_--.       1: Data
 / o6 5o \      2: NC
| o4   3o |     3: GND
 - 2o o1 -      4: 5V
  `-___-'       5: Clock
                6: NC

https://allpinouts.org/pinouts/connectors/input_device/keyboard-amiga-6-pin/

Resource and Project

SGI Keyboard

Keyboard: http://www.sgistuff.net/hardware/other/input.html

Protocol: https://web.archive.org/web/20151124154027/techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi%3Fcmd=getdoc&coll=0650&db=man&fname=7%20keyboard

Connector: https://hardware.majix.org/computers/sgi/keyboards.shtml

The interface between the keyboard and the system is 600 baud asynchronous. The format used is one start bit followed by eight data bits, an odd parity bit and one stop bit, with one byte sent per key up or down transition. The MSB of the byte is a 0 for a downstroke and a 1 for an upstroke.

SGI proprietary

Apple M0110

https://geekhack.org/index.php?topic=24965.0

M0110 Protocol - technical resource

Source code

Technical Info for 128K/512K and Plus

Protocol:

Connector:

  • Page 20 of Tech Info for 128K/512K

Signaling:

Raw Codes

M0110

m0110_rawcodes

M0110A

,---------------------------------------------------------. ,---------------.
|  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Bcksp| |Clr|  =|  /|  *|
|---------------------------------------------------------| |---------------|
|Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|   | |  7|  8|  9|  -|
|-----------------------------------------------------'   | |---------------|
|CapsLo|  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Return| |  4|  5|  6|  +|
|---------------------------------------------------------| |---------------|
|Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /|Shft|Up | |  1|  2|  3|   |
|---------------------------------------------------------' |-----------|Ent|
|Optio|Mac    |           Space           |  \|Lft|Rgt|Dn | |      0|  .|   |
`---------------------------------------------------------' `---------------'
,---------------------------------------------------------. ,---------------.
| 65| 25| 27| 29| 2B| 2F| 2D| 35| 39| 33| 3B| 37| 31|   67| |+0F|*11|*1B|*05|
|---------------------------------------------------------| |---------------|
|   61| 19| 1B| 1D| 1F| 23| 21| 41| 45| 3F| 47| 43| 3D|   | |+33|+37|+39|+1D|
|-----------------------------------------------------'   | |---------------|
|    73| 01| 03| 05| 07| 0B| 09| 4D| 51| 4B| 53| 4F|    49| |+2D|+2F|+31|*0D|
|---------------------------------------------------------| |---------------|
|      71| 0D| 0F| 11| 13| 17| 5B| 5D| 27| 5F| 59|  71|+1B| |+27|+29|+2B|   |
|---------------------------------------------------------' |-----------|+19|
|   75|     6F|            63             | 55|+0D|+05|+11| |    +25|+03|   |
`---------------------------------------------------------' `---------------'
+ 0x79, 0xDD / 0xF1, 0xUU
* 0x71, 0x79,DD / 0xF1, 0x79, 0xUU

Scan Codes

TMK converer uses following scan codes instead of M0110 raw codes. Scan codes are 1 byte size and MSB(bit7) is set when key is released.

    scancode = ((raw&0x80) | ((raw&0x7F)>>1))

Pinouts

Mac 128k/512k/Plus Keyboard pinout
.---------, 
| 1 2 3 4 | 1 GND
|         | 2 Clock
|         | 3 Data
`---___---' 4 5V
from front of connector

Clone this wiki locally