PS/2 Keyboard: Difference between revisions

The keyboard reset transaction was not clear, the reset function does return ACK before the test result
[unchecked revision][unchecked revision]
(Scan code set 3)
(The keyboard reset transaction was not clear, the reset function does return ACK before the test result)
 
(14 intermediate revisions by 6 users not shown)
Line 63:
|}
| Get/set current scan code set
| 0xFA (ACK) or 0xFE (Resend) if scan code is being set; 0xFA (ACK) then the scan code set number, or 0xFE (Resend) if you're getting the scancode. If getting the scancode the table indicates the value that identify each set:
{| {{wikitable}}
|-
! Value
! Use
|-
| 43
| Scan code set 1
|-
| 41
| Scan code set 2
|-
| 3f
| Scan code set 3
|}
 
|-
| 0xF2
Line 148 ⟶ 163:
| None
| Reset and start self-test
| 0xFA (ACK) or 0xFE (Resend) followed by 0xAA (self-test passed), 0xFC or 0xFD (self test failed), or 0xFE (Resend)
|}
 
Line 250 ⟶ 265:
The following table shows which scan codes correspond to which keys when using scan code set 1 (for a "US QWERTY" keyboard only):
 
Note that scancodes with extended byte (E0) generates two different interrupts: the first containing the E0 byte, the second containing the scancode
{| {{wikitable}}
|-
Line 2,122 ⟶ 2,138:
 
The following table shows which scan codes correspond to which keys when using scan code set 3 (for a "US QWERTY" keyboard only):
 
[https://web.archive.org/web/20170108131104/http://www.computer-engineering.org/ps2keyboard/scancodes3.html Scan Codes]
 
{| {{wikitable}}
|-
!Key
!Code for Scan code set 3
!Code
|-
|A || 1C
Line 2,180 ⟶ 2,195:
|-
|Z || 1A
|-}
 
[https://web.archive.org/web/20170108131104/http://www.computer-engineering.org/ps2keyboard/scancodes3.html Scan Codescode]
'''TODO'''
 
==See Also==
Line 2,200 ⟶ 2,215:
 
===External Links===
*[http://os-development.000webhostapp.com/klavesnica.html Tutorial on page os-development]
*[http://www.computer-engineering.org www.Computer-Engineering.org]
*[http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html Keyboard scancodes] - A complete reference on all scancodes you might encounter.
*[https://web.archive.org/web/20030621203107/http://www.microsoft.com/whdc/hwdev/tech/input/Scancode.mspx USB HID to PS/2 Translation Table] - Microsoft's table of scancodes and USB equivalents
*[https://web.archive.org/web/20190301075756/http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc Keyboard Scan Code Specification] - Microsoft's specification for scancodes
*[https://www.youtube.com/playlist?list=PLUZozxlhse-NUto5JeJ0EDXEUFloWBdAj PS/2 keyboard interface playlist] - A video playlist of building a PS/2 keyboard interface on bread boards, by Ben Eater.
 
==== Implementations ====
* [http://lxr.linux.no/#linux+v3.5.4/drivers/input/keyboard/atkbd.c Linux] (C,GPL)
* [https://github.com/minix3Stichting-MINIX-Research-Foundation/minix/blob/e1131d9c96fe00bd07aa66540e0830a91dbbf31emaster/minix/drivers/hid/pckbd/pckbd.c Minix]
 
[[Category:Human Interface Device]]
Anonymous user