• Please review our updated Terms and Rules here

Possible to Convert Model M Terminal KB to DIN or PS/2

KLund1

Veteran Member
Joined
Jun 22, 2012
Messages
561
Location
Livermore, CA
Hi,
Odd question but I seem to have an IBM Model M Keyboard Part Number 1394204. This is terminal keyboard. It has an five wires in an RJ45 connector coiled built in cable.
I do not have the right screw driver to up this yet. But is it possible to wire in a more standard DIN or ps/2 cable and have it work normally with a AT/286/486 or maybe just PC/XT??
Or is it destine to to be only a donner KB
Thanks
 
I suspect that the protocol is very different from PC AT and probably PC XT. However, the keyboard hackers probably have a conversion to USB available, but that's just a guess.
 

Hi,
Odd question but I seem to have an IBM Model M Keyboard Part Number 1394204. This is terminal keyboard. It has an five wires in an RJ45 connector coiled built in cable.
I do not have the right screw driver to up this yet. But is it possible to wire in a more standard DIN or ps/2 cable and have it work normally with a AT/286/486 or maybe just PC/XT??
Or is it destine to to be only a donner KB
Thanks
Does it have the model M socketed lead? If so can probably just swap the lead, although early PC3270s had a separate card for the keyboard.
I suspect that the protocol is very different from PC AT and probably PC XT. However, the keyboard hackers probably have a conversion to USB available, but that's just a guess.
This for the infoWindows terminals which are quite late so perhaps PC/AT?
 
But is it possible to wire in a more standard DIN or ps/2 cable and have it work normally with a AT/286/486 or maybe just PC/XT??
Maybe!

I have a 1390572 which I modified to have an AT keyboard connector sometime in the late '90s as per these instructions I stumbled across in the Linux kernel documentation. My keyboard is a 122-key one and sharktastica.co.uk says its protocol is "IBM scancode set 3". That site says yours uses the same protocol, and also that yours is an enhanced keyboard so I guess it's closer to a normal PC keyboard layout (this picture seems to confirm that).

Those things would make me think you could achieve equal levels of success to me, but that document from the Linux kernel says:
Now you're ready to switch on the computer... Some mainboard bioses will
produce a keyboard error. You can ignore this :) BTW the F1 key is the
very left of the function-key group near the tabulator key.

Here's a representation of the 122-key keyboard layout:
Code:
        F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24
        F1_ F2_ F3_ F4_ F5_ F6_ F7_ F8_ F9_ F10 F11 F12

 Attn_ Clear   `  1 2 3 4 5 6 7 8 9 0 - = _<--_   I<- Dup Jmp   _ _ _ __
 _____ Erinp   ->I Q W E R T Y U I O P c \ _Fld   <-/ Ins Del   7 8 9 F-
 Print Help_   Lck A S D F G H J K L ; ' { Exit       Up_       4 5 6 __
 _____ Play_   Sh < Z X C V B N M , . / _Shift_   _<- Rul ->_   1 2 3 Fl
 SetUp Recrd   Rst   Alt ___Space___  Alt Enter       Dn_       0__ . d+

I guess that documentation is saying that the "Attn" key is what generates the same scan code as "F1" on a regular PC keyboard (sorry, I don't really remember as it's been a few decades since I used this). I'm not sure if that'd be true for your keyboard as it doesn't have that block of keys on the left, but maybe it's still the "Attn" key on your keyboard that maps to F1, or maybe it's actually F1? I guess there's a chance that you just can't send certain keys to your BIOS though.

Anyway, from my recollection, I managed to set up some keyboard mapping on whatever Linux distribution I was using at the time that let me use the keyboard, but I think it was a somewhat frustrating experience, probably because the layout of the 122-key keyboard is reasonably different from a PC keyboard. Things might be much better for you since your keyboard is more "normal".

My recollection is that I tried this keyboard somewhat recently with a passive AT to PS/2 adapter on a slightly more modern machine and it didn't work, so I guess it relies on a keyboard controller from the era of AT keyboards and large DIN plugs. But then maybe that's not true for your keyboard based on:

This for the infoWindows terminals which are quite late so perhaps PC/AT?



I suspect that the protocol is very different from PC AT and probably PC XT. However, the keyboard hackers probably have a conversion to USB available, but that's just a guess.
I haven't tried one, but: https://www.tinkerboy.xyz/product/t...sb-converter-with-soarers-converter-firmware/ I've used one of their PS/2 to USB converters with a PS/2 Model M and it's not perfect but good enough for me to use it most of the time. Their technical support isn't good, you're basically on your own if you want to debug anything.
 
My keyboard is a 122-key one and sharktastica.co.uk says its protocol is "IBM scancode set 3". That site says yours uses the same protocol, and also that yours is an enhanced keyboard so I guess it's closer to a normal PC keyboard layout (this picture seems to confirm that).
(That's me!)

Yes, IBM 347X/348X InfoWindow keyboards such as OP's are set 3 keyboards. Set 3 scancodes are very similar to set 2 (aka, "AT") - the alphabetic and numeric row keys are the same - but there are differences elsewhere and with the general make-and-break behaviour. I'm currently drafting (so WIP) a new page on Keyboard Scancodes that illustrates this and John Elliot has a lot of examples of the differences. To be honest, I haven't wired a set 3 keyboard to an 8086/8 or 286 era PC before - given the operating systems compatible with those, I suspect some keys might actually work but the fact not all keys send break codes by default* might lead to some weird behaviour and the F, arrow and navigation keys will probably not be recognised. As for a PC that could still run Linux (as you mentioned) or Windows NT 3.5 or newer, then they can be made to work and John Elliot's page suggests some tweaks/fixes at the bottom of the linked page.

*To elaborate, set 3 keyboards should support some commands that can change this behaviour. There is a command to make all keys send break codes but I'm not sure how you could send that manually (outside of using an Arduino between the keyboard and computer). Whilst some other commands are shared with PS/2 keyboards, the PS/2 command to select alternate scancode sets is not supported, so making the keyboard natively completely behave like its AT counterpart is out of the question. See "Commands" on another John's page.
 
Last edited:
(That's me!)
Hi! Not long ago I keep Googling things and running across your "Admiral Shark's keyboards" - so I recognised your username - but then when I was writing my last post in this thread and linked to your site I was wondering what "ASK" logo stood for, now I've finally put the pieces together in my head :LOL:

Thanks, there's lots of detail there to take in, I'll try to have a read of it later.
 
I'm currently drafting (so WIP) a new page on Keyboard Scancodes that illustrates this
That was interesting, thanks!

Somewhat off-topic: I have one of inmbolmie's converters which I've been messing with the code for, so I was familiar with the scan codes returned by the terminal when it has a 122-key keyboard hooked up to it, and they're not at all what is shown on your page for a 122-key keyboard with scan code set 3. I presume that the terminal must translate the scan codes it receives from the keyboard. What I get is more like the ones for the "IBM 5251/5252 Typewriter Keyboard" - the F13 key for example generates the equivalent to Cmd + Shift + 1, which makes sense since IBM documentation indicates that these are equivalent key stroke combinations.
 
Hi! Not long ago I keep Googling things and running across your "Admiral Shark's keyboards" - so I recognised your username - but then when I was writing my last post in this thread and linked to your site I was wondering what "ASK" logo stood for, now I've finally put the pieces together in my head :LOL:

Thanks, there's lots of detail there to take in, I'll try to have a read of it later.
Hope you enjoyed!
That was interesting, thanks!

Somewhat off-topic: I have one of inmbolmie's converters which I've been messing with the code for, so I was familiar with the scan codes returned by the terminal when it has a 122-key keyboard hooked up to it, and they're not at all what is shown on your page for a 122-key keyboard with scan code set 3. I presume that the terminal must translate the scan codes it receives from the keyboard. What I get is more like the ones for the "IBM 5251/5252 Typewriter Keyboard" - the F13 key for example generates the equivalent to Cmd + Shift + 1, which makes sense since IBM documentation indicates that these are equivalent key stroke combinations.
Thanks! To be honest, what comes out of the terminal presently goes over my head (it's something I'm hoping to learn in the future). Looking at the scancode dictionaries in 5250_terminal.py though, that seems to indeed by the original scancode set used by IBM 5251/5252 keyboards. If 5251/5252 sent them back out as-is, then yes, it makes sense that future terminals that would use Converged and Enhanced Keyboards (3179-2, 3180-2, 3196, 3197, etc.) translated for compatibility sake. But for 122-key Converged Keyboards (that aren't for terminal emulation, eg. the later PS/2 Host Connected Keyboards that support all three sets), they should all be using set 3 between it and the terminal even regardless if they're for 3270 or 5250 style terminals. I guess IBM in 1983/1984 wanted to squash the number of keyboard platforms and codesets they were supporting at once (and also make them more similar to PC keyboards).
 
Back
Top