Yes, it's the same old thing that's been on geekhack for the last year, but it's now at v1.0 v1.12 and pretty much feature-complete.
So I'd like to share it here too
Keyboard protocols supported:
- XT (scan code set 1)
- AT (scan code set 2)
- PS/2 (MF2) (extended scan code set 2)
- Terminal e.g. 3179/318x/319x (scan code set 3)
- On-the-fly Config Selection
- Full NKRO, if the keyboard supports it (even on Macs!)
- Boot mode support (even with faulty BIOS!)
- Auto-detection of the keyboard type
- XT and AT boards are remapped correctly for PrtSc etc. (see Legacy Note below)
- 1000Hz polling using Full Speed USB
- Suspend and resume support
- Media and Power key support
- Jump to bootloader function (update firmware without pressing the reset button)
- Support for 'almost' PC/XT protocol keyboards, e.g. Leading Edge DC-2014
- Keyboard Reset output (required by some PC/XT keyboards)
- Five auxiliary key inputs (for extra keys, buttons, or footswitches)
- ATmega32U4 (Teensy 2.0, Adafruit '32U4 breakout, etc.)
- AT90USB1286 (Teensy++ 2.0)
- AT90USB646 (original Teensy++)
- ATmega16U4 (???)
v1.10 full (.hex files, docs, tools, configs):
Added support for 'almost' PC/XT protocol keyboards, e.g. Leading Edge DC-2014.
Added Keyboard Reset output (required by some PC/XT keyboards).
Added five auxiliary key inputs (for extra keys, buttons, or footswitches).
Updated and expanded documentation generally, and added GH and DT Thread Contents pages and History page.
Fixed error LED timeout so it now stays on for 3 seconds after an error instead of flickering.
v1.11 update (.hex files only):
Added support for IBM RT keyboard.
Added display of boot mode state by making converter lock LEDs glow dimly.
Added extra error codes to help determine where timeouts occur more precisely.
Prevented debug and rawhid output when keyboard_protocol is not set (i.e. in BIOS mode).
v1.12 update (.hex files only)
Added workaround for Linux kernel v3.x bug which causes Delete key not to repeat.
v1.12 updated documentation (docs only)
Various tweaks, added GH and DT thread search, updated GH and DT thread contents.
Important note - the connector diagrams are drawn looking into the front of socket. When you are soldering the pins on the back of the socket, you need to make sure they are correct, since your view is reversed. Especially for the AT and PS/2 sockets, where mirroring the connections will result in power and ground being swapped - and that is VERY BAD!
Please, if you are not certain that your wiring is correct just post a pic in this thread to have it checked before you power it up
Legacy Note - in v0.996 and earlier, hard-coded settings were used to support correct remapping of PrtSc etc. for XT and AT keyboards. These settings are now implemented by the legacy.sc config file, which must be compiled (by scas) and loaded (by scwr, after flashing) if you want the v0.997 (or later) converter to act like v0.996.
Older versions attached...
v1.0 full (.hex files, docs, tools, configs)
v1.01 update (.hex files only):
Fixed bug that stopped jump to bootloader functions working on AT90USB1286 (Teensy++ 2.0).
v1.02 update (.hex files only):
Fixed bug which could cause the converter to lock up if a key was pressed at certain times during system boot.
v1.03 update (.hex files only):
Fixed bug which caused the converter to lose config or reboot after using the scrd tool.
Fixed minor USB errors revealed by using the Command Verifier compliance testing tool.