So as not to impose on this thread:-
I decided to reply to bakunin's post with a separate thread on a USB KB idea.
A few years ago I was a minor helper with a learning OS called 'MikeOS'.
It used BIOS interrupts throughout and was a very basic TEXT only Operating System.
This had no read/write I/O for me as my laptop at that time hand no parallel nor RS232 ports.
So I developed this baby...
SSLLOOWW - Yes but it actually works.
It uses a USB KB as a serial I/O...
Full constructional details inside the ZIP file...
The listing in the directory is this:-
-rwxrwxrwx 1 barrywalker staff 1757 27 Jan 2011 CAPSLOCK.ASM
-rwxrwxrwx 1 barrywalker staff 1217 7 Mar 2010 CAPSLOCK.BAS
-rwxrwxrwx 1 barrywalker staff 48 27 Jan 2011 CAPSLOCK.DAT
-rwxrwxrwx 1 barrywalker staff 201 27 Jan 2011 CAPSLOCK.HEX
-rwxrwxrwx 1 barrywalker staff 65258 4 Apr 2010 CHIP.JPG
-rwxrwxrwx 1 barrywalker staff 65773 4 Apr 2010 KBTOP.JPG
-rwxrwxrwx 1 barrywalker staff 24070 26 Jan 2011 KEYBOARD.JPG
-rwxrwxrwx 1 barrywalker staff 2430 27 Jan 2011 KEYFLAGS.ASM
-rwxrwxrwx 1 barrywalker staff 75 27 Jan 2011 KEYFLAGS.DAT
-rwxrwxrwx 1 barrywalker staff 335 27 Jan 2011 KEYFLAGS.HEX
-rwxrwxrwx 1 barrywalker staff 1080 27 Jan 2011 KEYLOOK.ASM
-rwxrwxrwx 1 barrywalker staff 923 26 Jan 2011 KEYLOOK.BAS
-rwxrwxrwx 1 barrywalker staff 21 27 Jan 2011 KEYLOOK.DAT
-rwxrwxrwx 1 barrywalker staff 134 27 Jan 2011 KEYLOOK.HEX
-rwxrwxrwx 1 barrywalker staff 86315 3 Feb 2010 LED.JPG
-rwxrwxrwx 1 barrywalker staff 19446 28 Jan 2011 MANUAL.TXT
-rwxrwxrwx 1 barrywalker staff 52649 5 Apr 2010 OPENKB.JPG
-rwxrwxrwx 1 barrywalker staff 491 28 Jan 2011 README.TXT
-rwxrwxrwx 1 barrywalker staff 47643 4 Apr 2010 REARPLG1.JPG
-rwxrwxrwx 1 barrywalker staff 54561 4 Apr 2010 REARPLG2.JPG
-rwxrwxrwx 1 barrywalker staff 69029 4 Apr 2010 TTLIP1.JPG
-rwxrwxrwx 1 barrywalker staff 76893 4 Apr 2010 TTLIP2.JPG
-rwxrwxrwx 1 barrywalker staff 83806 4 Feb 2010 TTLOP1.JPG
-rwxrwxrwx 1 barrywalker staff 88741 4 Feb 2010 TTLOP2.JPG
This had a rediculously slow speed of around 100bps but hey I had access to the laptop without an RS232 and parallel port.