Author Topic: IBM 1386887 (3179 terminal) keyboard conversion  (Read 93078 times)

0 Members and 1 Guest are viewing this topic.

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #100 on: Thu, 20 August 2009, 18:01:57 »
Quote from: JohnElliott;110900
They're sending the break codes, but Windows is getting to them before whatever program you're using does.


Aha, that makes sense.

I suppose if I want to be one with my hardware I should probably get a little closer with Linux, but the few distributions I've tried drive me up the wall with silly little irritating things. In the end, everything always comes back to XP with me.
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline Rajagra

  • Posts: 1930
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #101 on: Fri, 21 August 2009, 05:34:29 »
Quote from: JohnElliott;110874
No; it's the break code from F9 (and probably F10 as well) that's causing the trouble. Have them send make codes only and that particular conflict doesn't arise.


Sounds like the problem mentioned here.
Quote
the F9 and F10 keys send out 60 and 61, respectively, so their key release events send out e0 and e1, confusing the keyboard driver.

Offline JohnElliott

  • Posts: 109
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #102 on: Fri, 21 August 2009, 14:37:34 »
Quote from: Rajagra;110986
Sounds like the problem mentioned here.


That's an old copy of the site - the latest one splits that page into two:

http://www.win.tue.nl/~aeb/linux/kbd/scancodes-7.html
http://www.win.tue.nl/~aeb/linux/kbd/scancodes-8.html

Offline JohnElliott

  • Posts: 109
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #103 on: Fri, 21 August 2009, 14:48:20 »
I've updated the driver patch on my site so that it treats E0 and E1 as normal scancodes; so the break codes from Cmd9 and Cmd10 can now be seen.

As for Dup and Ins, they have translated scancodes 7F and 7A, so their translated key-up codes are FF and FA. The Windows driver treats FA (ACKNOWLEDGE) specially; I'm not sure what its beef is with FF.

The solution to this would be to turn off scancode translation at the hardware level and do it in the driver; then the driver could distinguish between F07A (key 7A up) and FA (Acknowledge). But, as with typematic, that's rather a big thing to try.

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #104 on: Fri, 21 August 2009, 22:22:45 »
Quote from: JohnElliott;111144
I've updated the driver patch on my site so that it treats E0 and E1 as normal scancodes; so the break codes from Cmd9 and Cmd10 can now be seen.

As for Dup and Ins, they have translated scancodes 7F and 7A, so their translated key-up codes are FF and FA. The Windows driver treats FA (ACKNOWLEDGE) specially; I'm not sure what its beef is with FF.

The solution to this would be to turn off scancode translation at the hardware level and do it in the driver; then the driver could distinguish between F07A (key 7A up) and FA (Acknowledge). But, as with typematic, that's rather a big thing to try.


Thanks for continuing your work on this; I know Windows isn't your primary platform or certainly seems not to be so the Windows users certainly appreciate your efforts. It seems to me you're pretty much eliminating the need for a kbdbabel adapter.

Will be testing new version of patch once I find the Win2k DDK...to save some time, do you think the current Windows Driver Kit (which appears to contain the current DDK) would suffice? Seems they haven't changed the driver model much since 2k so in theory it'd be fine...

You can note on your site that driver replacement can be done in Safe Mode; this is arguably easier for most people than messing with disabling WFP or booting into a different OS (mainly because of DL times on a liveCD).
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #105 on: Tue, 22 September 2009, 20:03:29 »
Well, I just noticed one of the contributors to this thread online, and it sparked my interest...anyone made further progress of any kind? Any new info to add?

I've been happily pounding away on the beast. I never did figure out how to use the diff file for the driver mod; oh well, it's been working fine for me.

Now missing only one keycap btw: Cmd14.
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline pseudolobster

  • Posts: 33
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #106 on: Fri, 25 September 2009, 21:36:50 »
I'm pleased to say I registered for this forum and am posting this reply from my new 1386887 on Windows 7.

I've run into a few issues so far, but I'm working on them.. For one, any key remapping programs seem to want to write to HKCU/Keyboard Layout, whereas Win7 wants things to be in HKLM/system/currentcontrolset/control/keyboard layout... Also for some reason I can't get certain keys to remap, like ALT, the "CMD" keys, and for some reason, the down arrow key. I'm not sure if this is me or "Key Mapper" failing to use the correct scancode, or if it's a limitation of Win7.
I can't seem to use the KVM trick, nor can I get it to work with a PS2-to-USB adapter, I have to wait till I get to the login screen, then physically unplug and replug the cable.

Naturally, I'm also having issues trying to map things to the windows key (doesn't send a "up" code, acts as if the key is depressed till I reboot), and I'm having problems toggling numlock (again, doesn't send an "up" code, so once I hit numlock I have to reboot to use the numpad again)

All in all, I'm pretty happy with how smooth this has gone, and once I can start mapping keys properly I think I'm going to really enjoy using this keyboard.

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #107 on: Fri, 25 September 2009, 21:48:54 »
Quote from: pseudolobster;120640
I'm pleased to say I registered for this forum and am posting this reply from my new 1386887 on Windows 7.

I've run into a few issues so far, but I'm working on them.. For one, any key remapping programs seem to want to write to HKCU/Keyboard Layout, whereas Win7 wants things to be in HKLM/system/currentcontrolset/control/keyboard layout... Also for some reason I can't get certain keys to remap, like ALT, the "CMD" keys, and for some reason, the down arrow key. I'm not sure if this is me or "Key Mapper" failing to use the correct scancode, or if it's a limitation of Win7.
I can't seem to use the KVM trick, nor can I get it to work with a PS2-to-USB adapter, I have to wait till I get to the login screen, then physically unplug and replug the cable.

Naturally, I'm also having issues trying to map things to the windows key (doesn't send a "up" code, acts as if the key is depressed till I reboot), and I'm having problems toggling numlock (again, doesn't send an "up" code, so once I hit numlock I have to reboot to use the numpad again)

All in all, I'm pretty happy with how smooth this has gone, and once I can start mapping keys properly I think I'm going to really enjoy using this keyboard.

Awesome...obviously the bugs you have still are an annoyance but I'm sure they can be resolved.

I'm curious to see if John's modified keyboard driver (which is natively for 2000/XP) will work for Vista/7. Of course, if it doesn't, you could end up with no PS/2 port functionality until you got the original driver restored...which is less than optimal. This fixes, at least in 2000/XP, the key up/"break" code issue and the unplugging/replugging...I never got his latest update to it to work (the details visible a few posts up).

As for some keys not being remappable, it may actually depend on the order in which you remap them. I don't know for sure, just throwing an idea out there.

Search for i8042prt.sys...if you find one in C:\WINDOWS\system32\drivers then it's quite possible the driver may not have changed (much if at all) from XP, meaning the modified one would probably work.
« Last Edit: Fri, 25 September 2009, 21:51:46 by kishy »
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline pseudolobster

  • Posts: 33
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #108 on: Fri, 25 September 2009, 22:07:13 »
Yes, windows 7 does in fact have the i8048prt.sys driver, and it's loaded as an active service for keyboards... I have every reason to believe the win2k driver will work in windows7.

Interestingly, typematic repeat does seem to be working, though I think that's an artifact of the keyboard *not* sending the "up" codes, and if the driver ends up changing this to let all keys send an up code, it'd probably break the repeat function... That's not a big deal for me, I'd rather map one of my 24 extra buttons to a windows key than be able to hold a key down to repeat.

I'm not going to be able to test much more till monday when I'm at work again, but I have high hopes of being able to remap the AT84 "F-keys" on the left to useful features, and map the "CMD" keys on the top to actual F-keys.

I've also been able to map the down arrow key to the blank key in the centre of the arrow keys, but for one reason or another I can't use the actual "Roll" down key.

Also, in case anyone's wondering, I bought my keyboard from the ebay seller "puravida1881" mentioned earlier in this thread, and I'm quite happy with the condition of the keyboard.. It looks brand new, there's no cruft between the keys, no engine grease or whatnot on the chassis; it seems the seller went to the trouble of dishwashering the keyboard or something, since the only evidence of dirt is under the keycaps.

Anyways, if anyone could send me a copy of the compiled version of the win2k driver, I'd be happy to test it on Win7... I do have a valid license for Win2k, but I don't have the DDK or visual studio to compile it.

(edit) - I've also attached my current reg file to map the keyboard as best as I can... I went through every non-responsive key in "Key Mapper" I could find, and remapped them the best I could, but it's still a work in progress... Ctrl is now Ctrl, Capslock is now capslock, the INS, DEL, PGUP etc work, but there's still no ALT key and the CMD buttons at the top still refuse to act as F-keys... I'll work on that on monday. (edit again) - Oh and also, there's no backslash key, I'm really going to have to do something about that... Also, I use the DVORAK layout, so I'm not entirely sure if this reg file will work as expected under the QWERTY layout.
« Last Edit: Fri, 25 September 2009, 22:15:45 by pseudolobster »

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #109 on: Fri, 25 September 2009, 22:36:49 »
Quote from: pseudolobster;120648
Yes, windows 7 does in fact have the i8048prt.sys driver, and it's loaded as an active service for keyboards... I have every reason to believe the win2k driver will work in windows7.

Interestingly, typematic repeat does seem to be working, though I think that's an artifact of the keyboard *not* sending the "up" codes, and if the driver ends up changing this to let all keys send an up code, it'd probably break the repeat function... That's not a big deal for me, I'd rather map one of my 24 extra buttons to a windows key than be able to hold a key down to repeat.

I'm not going to be able to test much more till monday when I'm at work again, but I have high hopes of being able to remap the AT84 "F-keys" on the left to useful features, and map the "CMD" keys on the top to actual F-keys.

I've also been able to map the down arrow key to the blank key in the centre of the arrow keys, but for one reason or another I can't use the actual "Roll" down key.

Also, in case anyone's wondering, I bought my keyboard from the ebay seller "puravida1881" mentioned earlier in this thread, and I'm quite happy with the condition of the keyboard.. It looks brand new, there's no cruft between the keys, no engine grease or whatnot on the chassis; it seems the seller went to the trouble of dishwashering the keyboard or something, since the only evidence of dirt is under the keycaps.

Anyways, if anyone could send me a copy of the compiled version of the win2k driver, I'd be happy to test it on Win7... I do have a valid license for Win2k, but I don't have the DDK or visual studio to compile it.

(edit) - I've also attached my current reg file to map the keyboard as best as I can... I went through every non-responsive key in "Key Mapper" I could find, and remapped them the best I could, but it's still a work in progress... Ctrl is now Ctrl, Capslock is now capslock, the INS, DEL, PGUP etc work, but there's still no ALT key and the CMD buttons at the top still refuse to act as F-keys... I'll work on that on monday. (edit again) - Oh and also, there's no backslash key, I'm really going to have to do something about that... Also, I use the DVORAK layout, so I'm not entirely sure if this reg file will work as expected under the QWERTY layout.


Then you got your keyboard from the same place I got mine - from the same city I live in - and it was made on the same day as both of my 2 :) 16 Oct 1986?

It would indeed be quite neat if the Win2k driver works out for you. Since I haven't figured out the DDK thing myself either, watch your PM inbox.

I doubt typematic repeat is working for you in the proper sense; for example I found keys would repeat if I was on a USB converter (cooonnnveeerteeerr or something like that) but not when plugged into PS/2 directly. I think it's a feature the keyboard just doesn't have, probably because of a limitation on the terminals they were designed for, so the feature was never implemented on either the terminal or the keyboard.

Very strange about not being able to map the Roll down key; I had no problem with either of my 2 units before or after the driver swap. Does Key Mapper reflect you pressing any key at all when you press it, or does it not respond in any way? I wouldn't jump to this conclusion normally but if it was heavily used (which I suspect it was, like my 2) the membrane traces may be worn out. Hopefully not the case.

A good place to put backslash is the } { key above right shift, unless you've found another use for it already.

Since I'm a QWERTY guy I won't toy around with your remap reg file.

I'm heading to bed shortly, completely exhausted. I may have missed something or a couple somethings in this reply; if I did I'll figure it out tomorrow.
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline pseudolobster

  • Posts: 33
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #110 on: Sat, 26 September 2009, 13:03:36 »
I'll have to check the manufacture date on monday, but that date does sound familiar... I know it's from 86 anyway.

As for the typematic thing, I'm not really sure how/why it's repeating, though when I hold a key down it waits about two seconds then starts repeating the letter.. This isn't a windows thing as far as I can tell, it does it in DOS 6.0 as well as windows 3.1. Not all keys repeat though, for instance I remapped the keys that were acting as F11 and F12 to be volume up and down, but they won't repeat if I hold them down.

As for some keys refusing to remap (like the roll down button), I'm pretty convinced it's either a windows 7 thing or a KeyMapper thing... I think I'll try my hand at making a reg file by hand to remap those keys and see if it works... KeyMapper does see the keys and it does act like it's going to let me remap them, but when I reboot nothing's changed. If I recall correctly the "roll down" key was interpreted as "Unknown", and a few of the CMD buttons were showing up as F-buttons, others were unknown, but none were unresponsive.

Offline pseudolobster

  • Posts: 33
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #111 on: Mon, 28 September 2009, 14:35:00 »
I've had a bit of time to play with my new keyboard today, though not long enough to troubleshoot why I can't get the alt keys to remap... I've installed the patched i8048prt driver and I'm pleased to say it works well under Win7, though as I predicted it broke the typematic functionality. It now sends keyup signals, so I can turn numlock on and off etc, and I no longer have unplug and replug it at the login screen, though there's still some issues that I need to work on.

I can't remap the "roll down" key to down arrow, either through Key Mapper or the reg file patches in this thread, nor can I use the alt keys... I try to remap them in Key Mapper, they're detected as "Unknown" and it acts like it's going to let me map them to alt, but when I reboot I still have no alt key. My CMD3 and CMD4 keys won't remap to F3 and F4, though all the other CMD keys do.. Home and End don't seem to send up codes, Passmark KeyboardTest shows them as red when I press them, and the home key, while it works, makes a windows "blip" noise when I press it. I wonder if my keyboard is somehow electrically different than others in this thread or if windows 7 just doesn't like you remapping certain keys.

Anyways, my manufacturing date is Oct 30th, 1986 in case anyone's curious. I'll have some time later (hopefully) to take another stab at getting the remaining bugs worked out.

Offline quadibloc

  • Posts: 770
  • Location: Edmonton, Alberta, Canada
  • Layout Fanatic
    • John Savard's Home Page
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #112 on: Mon, 28 September 2009, 14:53:42 »
I recall that it was noted for one of the conversions of this nature that the keyboard sent break codes only for the shift keys, and only make codes for all other keys.

This is different from the way a normal IBM PC keyboard behaves; only one key (I think it is Break, but I don't remember for certain) does not send a break code. When the keys were remapped for the 101-key keyboard, the other shift of the key was made to send the break code immediately after the break code so as to avoid problems as shift keys are pressed and released.

I think that in Scan Code Set 3 break codes are still used on the PC for keys other than the shift keys (Shift, Alt, Ctrl... and the Windows Shift, to which Windows has not deigned to assign a Scan Code Set 3 code) and so it isn't surprising that even if the keyboard sends an electrically compatible signal with the right serial data format and clock signal, it won't really work there.

Offline Shawn Stanford

  • Posts: 368
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #113 on: Mon, 28 September 2009, 15:10:30 »
Thanks to Kevin (Kishy), I'm now the proud owner of a very clean 1390572 dated 26SEP87 with a 5-pin DIN connector. At first blush, it has about the same feel as my 101-key Model M and a much less 'springy' feel than my 122-key Boscom. It's a true terminal keyboard: it has the the Cmd1-24 keys, the exclam and cents-sign are outboard of the 'P', the 1 key has the vertical bar (logical 'and' or 'not', I forget), the six has that funny bar doohicky, instead of the caret (^) and there are no brackets ([ ]).

Awesome!

Kevin's route involved putting in a different cable and connector, so I guess that's where I'll start. Since Ripster just destroyed a Boscom 122, I guess I'll see if he still has the circuit board and cable to spare...

Edit: Has anyone tried one of these before? http://cgi.ebay.com/PS-2-6-Pin-Mini-DIN-Female-to-5-Pin-DIN-Male-Adapter_W0QQitemZ180411348870QQcmdZViewItemQQptZPCA_Cables_Adapters?hash=item2a015ab786&_trksid=p3286.c0.m14? I have to assume if it was that easy, we'd all be using these things...
« Last Edit: Mon, 28 September 2009, 15:23:02 by Shawn Stanford »
The Brat Prince of COBOL

Offline msiegel

  • Posts: 1230
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #114 on: Mon, 28 September 2009, 15:16:08 »
cool! :D

| = "or"

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #115 on: Mon, 28 September 2009, 18:08:22 »
Quote from: quadibloc;121223
I recall that it was noted for one of the conversions of this nature that the keyboard sent break codes only for the shift keys, and only make codes for all other keys.

This is different from the way a normal IBM PC keyboard behaves; only one key (I think it is Break, but I don't remember for certain) does not send a break code. When the keys were remapped for the 101-key keyboard, the other shift of the key was made to send the break code immediately after the break code so as to avoid problems as shift keys are pressed and released.

I think that in Scan Code Set 3 break codes are still used on the PC for keys other than the shift keys (Shift, Alt, Ctrl... and the Windows Shift, to which Windows has not deigned to assign a Scan Code Set 3 code) and so it isn't surprising that even if the keyboard sends an electrically compatible signal with the right serial data format and clock signal, it won't really work there.

This is 100% true, but after the entire mod process it is a non-issue - John's driver modification fixed it so the keyboard sends break codes on all keys.

Since the concept of a diff file is almost impossible for Windows users like myself, PM me for an older but still mostly functional replacement driver for NT-like Windows operating systems (2k, XP, probably Vista and 7). No guarantees on actual NT though...

For use in Linux for example an equivalent driver modification would be needed. Now recruiting Linux driver experts!

Mac, no clue.

Pre-2000 Windows: supposedly 98 included a native driver for these, which is weird because they never once came with an actual PC-compatible plug. Will verify this at a later date.

Quote from: Shawn Stanford;121230
Thanks to Kevin (Kishy), I'm now the proud owner of a very clean 1390572 dated 26SEP87 with a 5-pin DIN connector. At first blush, it has about the same feel as my 101-key Model M and a much less 'springy' feel than my 122-key Boscom. It's a true terminal keyboard: it has the the Cmd1-24 keys, the exclam and cents-sign are outboard of the 'P', the 1 key has the vertical bar (logical 'and' or 'not', I forget), the six has that funny bar doohicky, instead of the caret (^) and there are no brackets ([ ]).

Awesome!

Kevin's route involved putting in a different cable and connector, so I guess that's where I'll start. Since Ripster just destroyed a Boscom 122, I guess I'll see if he still has the circuit board and cable to spare...

Edit: Has anyone tried one of these before? http://cgi.ebay.com/PS-2-6-Pin-Mini-DIN-Female-to-5-Pin-DIN-Male-Adapter_W0QQitemZ180411348870QQcmdZViewItemQQptZPCA_Cables_Adapters?hash=item2a015ab786&_trksid=p3286.c0.m14? I have to assume if it was that easy, we'd all be using these things...

There is a problem; the keyboard I sent you is RJ45 like a network plug...
As well I believe it had PF keys, not Cmd.

Please verify the keyboard you got is the same one I sent, 1394167 built by IBM UK on 24-05-99. Thanks. If you got a different one...apparently customs decided they wanted to trade you for it.

Keyboard overall (before I harvested the keycaps I needed):
http://img121.imageshack.us/img121/6342/1394167top.jpg

Sticker:
http://img17.imageshack.us/img17/3112/1394167sticker.jpg

Plug:
http://img17.imageshack.us/img17/9137/1394167plug.jpg

In any event, glad you're enjoying it so far :)

If it was DIN 5, the DIN plug on these keyboards is not the same as an AT or XT DIN plus (the pins are spaced wider and shell design is different). As a result, those adapters would not work (but they would work on a finished conversion with an AT plug that you wanted to plug into PS/2 or vice versa, but never a pre-mod keyboard...cord or at least end plug must always be swapped since those 240-degree DIN plugs are useless on their own)
« Last Edit: Sun, 04 October 2009, 21:39:50 by kishy »
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline JohnElliott

  • Posts: 109
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #116 on: Mon, 28 September 2009, 18:14:39 »
Quote from: quadibloc;121223
I recall that it was noted for one of the conversions of this nature that the keyboard sent break codes only for the shift keys, and only make codes for all other keys.


That's the default behaviour. You can send commands to the keyboard making all keys (or just some) send make and break codes. The problem is that on these keyboards, each key can send make/break codes, or do typematic repeat, but not both.

Some keys also have weird effects on Windows because their translated key-up codes get mistaken for protocol scancodes. The likely ones here are Dup and Ins (corresponding to Home and End on a 102-key keyboard) and Cmd10 and Cmd11. Dup and Ins have key-up codes of FF (error) and FA (acknowledge); Cmd10 and Cmd11 have key-up codes of E0 and E1 (extended keypress). The latest version of my patch removes the special significance from E0 and E1.

Windows uses E05B, E05C and E05D for its Windows and Menu keys. A terminal keyboard uses 5B, 5C and 5D for Cmd3, Cmd4 and Cmd5. This may explain what's going on with Windows 7 and these keys.

(According to this table, the proper Set 3 scancodes for the Windows/menu keys are 8B, 8C and 8D. )

Offline microsoft windows

  • Blue Troll of Death
  • * Exalted Elder
  • Posts: 3621
  • President of geekhack.org
    • Get Internet Explorer 6
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #117 on: Mon, 28 September 2009, 18:29:57 »
Does this conversion work with old Model F terminal keyboards?
CLICK HERE!     OFFICIAL PRESIDENT OF GEEKHACK.ORG    MAKE AMERICA GREAT AGAIN MERRY CHRISTMAS

Offline ch_123

  • * Exalted Elder
  • Posts: 5860
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #118 on: Mon, 28 September 2009, 18:31:18 »
Yep. JohnElliot and Kishy have working conversions.

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #119 on: Mon, 28 September 2009, 18:42:16 »
Quote from: ch_123;121286
Yep. JohnElliot and Kishy have working conversions.


Mine are Model M boards; I believe John has a Model F, so no substantial changes happened between the 2 apparently. Makes sense since they had to maintain compatibility with the same terminal hardware.
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #120 on: Mon, 28 September 2009, 19:05:58 »
Worth noting; you can use any cheap old AT or PS/2 keyboard cord, but since they probably used different wire colours (or worse, same colours on wrong pins) you'll have to use a continuity tester to figure out the pinout of the cable.

Not the end of the world; I did that for BOTH of my two...bit of a headache after but it took no time at all.
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline pseudolobster

  • Posts: 33
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #121 on: Mon, 28 September 2009, 19:10:30 »
Quote from: JohnElliott;121281
[...]
Some keys also have weird effects on Windows because their translated key-up codes get mistaken for protocol scancodes. The likely ones here are Dup and Ins (corresponding to Home and End on a 102-key keyboard) and Cmd10 and Cmd11. Dup and Ins have key-up codes of FF (error) and FA (acknowledge); Cmd10 and Cmd11 have key-up codes of E0 and E1 (extended keypress). The latest version of my patch removes the special significance from E0 and E1.

Windows uses E05B, E05C and E05D for its Windows and Menu keys. A terminal keyboard uses 5B, 5C and 5D for Cmd3, Cmd4 and Cmd5. This may explain what's going on with Windows 7 and these keys.[...]


Yes, I can absolutely confirm this. I just finished pressingc CMD9, then CMD5 and Passmark Keyboardtest claimed it was the R-Win key, which didn't transmit an up code, leaving me minimizing all windows any time I pressed M and opening explorer any time I pressed E.

So, out of curiosity, what's required to compile that driver? The Win2k DDK, visual studio, and diff? I think if I go looking I can find a copy of VS05 from back when I had an MSDN technet subscription, will that work?

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #122 on: Mon, 28 September 2009, 19:16:20 »
Quote from: pseudolobster;121293
Yes, I can absolutely confirm this. I just finished pressingc CMD9, then CMD5 and Passmark Keyboardtest claimed it was the R-Win key, which didn't transmit an up code, leaving me minimizing all windows any time I pressed M and opening explorer any time I pressed E.

So, out of curiosity, what's required to compile that driver? The Win2k DDK, visual studio, and diff? I think if I go looking I can find a copy of VS05 from back when I had an MSDN technet subscription, will that work?

The Win Key thing sounds to me like you're using the beast on a PS/2 to USB converter. A big no-no, it will never be possible to make it work on that without extensive mods to software that I don't think anyone will ever work on...

too bad, because I have wishes to do the same.

If you're actually using it on real PS/2, well, that's both weird and cool that it did that. I only had that happen while on my USB converter though.

About driver compilation - I've PM'd him already today about that so if he doesn't post it publicly I may if it's alright with him. My eventual goal would be providing the finished file for download anyway, but there are legal concerns.
« Last Edit: Mon, 28 September 2009, 19:19:45 by kishy »
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline pseudolobster

  • Posts: 33
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #123 on: Mon, 28 September 2009, 19:41:18 »
I'm actually not using any kind of USB adapter, just plugging straight into PS2. Strange, eh?

If I can figure out how to compile this, I'd like to try a few changes, such as disabling the "key up" code for backspace, and seeing if that will allow typematic to work the way it did before I patched the file... Backspace is probably the only key where I'd actually like it to have repeat.

Once I have the binary files compiled I can make a diff of the two files, release a patch of the difference as an IPS file or something, then have the user patch their own copy of i8048prt.sys, that way no MS copyrighted stuff is used... Throw it on a boot floppy image with freedos and away you go... On the other hand, I'm pretty sure the EULA of the DDK specifically allows this sort of thing... I'm no lawyer, but I recall the guys from ReactOS including NT DDK source and while they found it was technically legal, they decided against it just to be as "clean room" as possible.. Here's a discussion thread that includes the full EULA, in case anyone here actually IS a lawyer and can provide a more definitive answer: http://www.tech-archive.net/Archive/Development/microsoft.public.development.device.drivers/2005-11/msg00474.html

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #124 on: Mon, 28 September 2009, 20:48:19 »
Quote from: pseudolobster;121304
I'm actually not using any kind of USB adapter, just plugging straight into PS2. Strange, eh?


Indeed...rather cool though. If you don't mind could you throw me the part number of that keyboard again, I'm sure you mentioned it but things get buried quickly here.

Quote from: pseudolobster;121304
If I can figure out how to compile this, I'd like to try a few changes, such as disabling the "key up" code for backspace, and seeing if that will allow typematic to work the way it did before I patched the file... Backspace is probably the only key where I'd actually like it to have repeat.


While I agree with your motives wholeheartedly, I think that may create issues in certain software (notably games if you play any). The sticking keys, if assigned to any function in a Source engine game for example, do not release until the next key is received...you can see how that would be problematic if you mapped backspace to something.

Nonetheless I'm interested in trying whatever results you get.

Quote from: pseudolobster;121304
Once I have the binary files compiled I can make a diff of the two files, release a patch of the difference as an IPS file or something, then have the user patch their own copy of i8048prt.sys, that way no MS copyrighted stuff is used... Throw it on a boot floppy image with freedos and away you go...


Something fairly automatic is best...I'd go for that. However, be warned that windows file protection may still replace the file on next login...I forget exactly how that works.

Quote from: pseudolobster;121304
(info regarding legality)


Makes sense to me that files you could create through a freely available tool for use with an operating system which you (presumably) own a license for...would be freely distributable.

My rationale for thinking this: in order to use the file in its finished state, you must have the operating system (which in theory was paid for). Through using the file in its normal way, it is impossible to see copyrighted code. If anything, it seems to me a diff file or similar concept would be more illegal on the basis of it making the source code easier to access...
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline pseudolobster

  • Posts: 33
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #125 on: Mon, 28 September 2009, 22:15:48 »
Quote from: kishy;121315
Indeed...rather cool though. If you don't mind could you throw me the part number of that keyboard again, I'm sure you mentioned it but things get buried quickly here.

A regular old 1386887. *shrug*... I wonder if the ps2 port has anything to do with it.. I suppose I could try it on another motherboard, though I only have win7 on one machine right now, so it wouldn't really narrow things down any.

Quote from: kishy;121315
While I agree with your motives wholeheartedly, I think that may create issues in certain software (notably games if you play any). The sticking keys, if assigned to any function in a Source engine game for example, do not release until the next key is received...you can see how that would be problematic if you mapped backspace to something.

Nonetheless I'm interested in trying whatever results you get.

Personally, I wouldn't mind not being able to map backspace in a game if it meant being able to hold down backspace to delete a line of text. My left hand never strays farther than "T" when I'm gaming.

Quote from: kishy;121315
Something fairly automatic is best...I'd go for that. However, be warned that windows file protection may still replace the file on next login...I forget exactly how that works.
Makes sense to me that files you could create through a freely available tool for use with an operating system which you (presumably) own a license for...would be freely distributable.


I didn't have any problems with windows file protection in the slightest. I suppose time will tell, it may want to revert the file later if windows figures out what I've done.

It'll be pretty automatic, if you have a floppy drive that is... I've made self-exrtacting boot disks before and it's not hard to include a patching program in autoexec.bat and have it all run automatically.

Quote from: kishy;121315
My rationale for thinking this [...] it seems to me a diff file or similar concept would be more illegal on the basis of it making the source code easier to access...


I'd be making a file that includes the difference between the unpatched and patched binary files, not the source code.. The differences would be entirely unique code, including zero microsoft copyrighted code, and it'd be unreadable to humans.

That is, of course, the worst case scenario... If we can find out for sure that it's legal for John to redistribute the modified driver, we could just write an inf file for it and have it install like any other driver. It'd be unsigned, but there'd be no messing around with safe mode or dos boot disks or linux or whatnot.

Offline Shawn Stanford

  • Posts: 368
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #126 on: Tue, 29 September 2009, 05:16:43 »
Quote from: kishy;121279
There is a problem; the keyboard I sent you is RJ45 like a network plug... As well I believe it had PF keys, not Cmd. Please verify the keyboard you got is the same one I sent, 1394167 built by IBM UK on 24-05-99. Thanks. If you got a different one...apparently customs decided they wanted to trade you for it.

Woops!

It turns out your keyboard isn't here yet; this is the one I won on eBay for $12 a few days ago. That's kind of scary...

I pulled the connector and circuit board out of an old Dell. Here are the two circuit boards and the ends of the connectors:


It looks like I'm going to have to unlimber my multimeter to see if the wire colors correspond...
« Last Edit: Tue, 29 September 2009, 05:40:36 by Shawn Stanford »
The Brat Prince of COBOL

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #127 on: Tue, 29 September 2009, 08:09:51 »
Quote from: pseudolobster;121330
A regular old 1386887. *shrug*... I wonder if the ps2 port has anything to do with it.. I suppose I could try it on another motherboard, though I only have win7 on one machine right now, so it wouldn't really narrow things down any.

Geez, how the heck did I forget that...same keyboard as me, made on same day, sold by same seller.

I'm thinking it's something new in Vista and/or 7 which is causing those keys to do something...maybe a Microsoft keyboard product needed some additional support, who knows.


Quote from: pseudolobster;121330
Personally, I wouldn't mind not being able to map backspace in a game if it meant being able to hold down backspace to delete a line of text. My left hand never strays farther than "T" when I'm gaming.

Eh, makes sense to me. Definitely post with your progress!

Quote from: pseudolobster;121330
I didn't have any problems with windows file protection in the slightest. I suppose time will tell, it may want to revert the file later if windows figures out what I've done.

It'll be pretty automatic, if you have a floppy drive that is... I've made self-exrtacting boot disks before and it's not hard to include a patching program in autoexec.bat and have it all run automatically.

I imagine if WFP didn't catch it the first time, it never will. Nice to know 7 isn't quite as nazi-like I suppose.


Quote from: pseudolobster;121330
I'd be making a file that includes the difference between the unpatched and patched binary files, not the source code.. The differences would be entirely unique code, including zero microsoft copyrighted code, and it'd be unreadable to humans.

That is, of course, the worst case scenario... If we can find out for sure that it's legal for John to redistribute the modified driver, we could just write an inf file for it and have it install like any other driver. It'd be unsigned, but there'd be no messing around with safe mode or dos boot disks or linux or whatnot.

Hmm...good point about the patching method. Hopefully though it won't be needed; seems to me it adds extra steps to a process that is already capable of spinning some heads.

Quote from: Shawn Stanford;121369
Woops!

It turns out your keyboard isn't here yet; this is the one I won on eBay for $12 a few days ago. That's kind of scary...

(CP says package arrived; tracking link removed)

It's in the US so it shouldn't be long. That's funny though.

Quote from: Shawn Stanford;121369
I pulled the connector and circuit board out of an old Dell. Here are the two circuit boards and the ends of the connectors:
(image)

It looks like I'm going to have to unlimber my multimeter to see if the wire colors correspond...
(image)

Yeah, go with a meter, I certainly wouldn't trust colour alone.
Don't forget those goggles mister!
« Last Edit: Sun, 04 October 2009, 21:41:46 by kishy »
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline Shawn Stanford

  • Posts: 368
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #128 on: Tue, 29 September 2009, 08:31:42 »
Quote from: ripster;121291
Sorry, saving those parts for other mods.  Especially if I ever get around to making a buckling spring numpad.

Ah, well, that's reasonable. Do you have any pics of the circuit board and ribbon cable connections? I don't want to take my Boscom apart (since it's in daily use), but I'm curious as to how well they correspond with what's in the terminal board. I suspect, since my understanding is that Unicomp just bought IBM's keyboard business lock-stock, that the circuit board in the Unicomp 122 is completely compatible with the old IBM boards. That means that any vintage IBM terminal board could be brought up to modern specs by implanting a Unicomp circuit board. Which, of course, begs the question: will Unicomp sell just the circuit boards to those interested in retrofitting?

Hey, don't I owe you a 'Rule Home' key? I think I still have it floating around my house somewhere...
The Brat Prince of COBOL

Offline Shawn Stanford

  • Posts: 368
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #129 on: Tue, 29 September 2009, 09:25:24 »
Quote from: ripster;121403
Pics are in the "Destroying Boscom For Science" post in the mods section.  

Cool, thanks.

Quote
I have two "Rule Home" keys now so I think I'm set.  Does yours work? - I keep pressing mine and my wife ignores it.

If it did, do you think I would have offered it to you..?
The Brat Prince of COBOL

Offline itlnstln

  • Posts: 7048
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #130 on: Tue, 29 September 2009, 09:30:16 »
Quote from: ripster;121403
Does yours work? - I keep pressing mine and my wife ignores it.

But for some reason, you keep doing everything your wife says. Odd.


Offline itlnstln

  • Posts: 7048
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #131 on: Tue, 29 September 2009, 09:38:00 »
Quote from: ripster;121418
Anyone with Spotted **** for an avatar would appreciate the ancient Chinese saying,

That's why I own my house completely.  I can kick 'em out whenever I want.  I wouldn't do it, and I haven't, but it's always an option.  It keeps things even.  I am a very nice guy, but when the chips are down, I always have the winning card.


Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #132 on: Tue, 29 September 2009, 10:45:47 »
Quote from: Shawn Stanford;121393
Ah, well, that's reasonable. Do you have any pics of the circuit board and ribbon cable connections? I don't want to take my Boscom apart (since it's in daily use), but I'm curious as to how well they correspond with what's in the terminal board. I suspect, since my understanding is that Unicomp just bought IBM's keyboard business lock-stock, that the circuit board in the Unicomp 122 is completely compatible with the old IBM boards. That means that any vintage IBM terminal board could be brought up to modern specs by implanting a Unicomp circuit board. Which, of course, begs the question: will Unicomp sell just the circuit boards to those interested in retrofitting?

Hey, don't I owe you a 'Rule Home' key? I think I still have it floating around my house somewhere...


I'll ignore the silliness that has taken over my thread.
The internet is serious business, guise.


I believe past discussions in other threads established that it should be possible to do the circuit board swap you suggested, but Unicomp is unwilling/unable to supply the boards individually (or at least at a reasonable price, perhaps understandably)
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline JohnElliott

  • Posts: 109
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #133 on: Tue, 29 September 2009, 13:52:45 »
Quote from: pseudolobster;121293
So, out of curiosity, what's required to compile that driver? The Win2k DDK, visual studio, and diff? I think if I go looking I can find a copy of VS05 from back when I had an MSDN technet subscription, will that work?

I used the Windows 2000 DDK and Visual Studio 6, and generated the diff file under Linux (though I'm sure I could have used Cygwin). The actual DDK build scripts run from inside a command prompt with a special environment.

Offline quadibloc

  • Posts: 770
  • Location: Edmonton, Alberta, Canada
  • Layout Fanatic
    • John Savard's Home Page
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #134 on: Tue, 29 September 2009, 15:43:06 »
Quote from: JohnElliott;121281
The problem is that on these keyboards, each key can send make/break codes, or do typematic repeat, but not both.


This is interesting, and I admit that I'm not an expert on this sort of thing. But there is one thing that surprises me about this statement, although I'm sure it derives from actual experience.

I would have guessed that since there are controls for setting the repeat delay and repeat rate in Control Panel in Windows, typematic behavior on a PC keyboard is performed in software by the computer - after a make code is received, and until a break code is received, subject to the selected delay and repeat rate, the operating system sends additional keypresses to the application program.

So you would want make/break codes only as a means of getting keys to auto-repeat. Having a key that is held down instead emit repeated make codes would be highly inappropriate behavior when connected to a normally-configured IBM PC.

What am I missing here this time?

Offline JohnElliott

  • Posts: 109
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #135 on: Tue, 29 September 2009, 15:59:26 »
Quote from: quadibloc;121508
I would have guessed that since there are controls for setting the repeat delay and repeat rate in Control Panel in Windows, typematic behavior on a PC keyboard is performed in software by the computer - after a make code is received, and until a break code is received, subject to the selected delay and repeat rate, the operating system sends additional keypresses to the application program.


Not so. The keyboard does it. What Windows does is send a  IOCTL_KEYBOARD_SET_TYPEMATIC to the keyboard driver, and the driver sends the appropriate command to the keyboard (0xf3, followed by a byte giving the encoded delay and rate).

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #136 on: Tue, 29 September 2009, 20:35:03 »
Well, it happened.
(the mod article, that is)

If anyone figured out how to make tables work here, by all means fix my hack job. Thanks

This thread is still the place to post questions/info about progress/etc, it's too long to let die now :)
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline pseudolobster

  • Posts: 33
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #137 on: Tue, 29 September 2009, 22:36:20 »
Nice work on the wiki entry! It's great to have a main info page for these keyboards anyone can contribute to.

kishy, could you check for me what scancodes you get for the left alt key? KeyboardTest is saying it's "windows key code 133", "bios key code 113"

No matter what I try I can't seem to get this mapped. I'm not so 100% sure anymore that it's a win7 thing, but I'm starting to wonder if maybe there's electrical differences between our keyboards, or if maybe my ps2 controller interprets things differently or something... I can map alt to any other key on the keyboard, but not to the key labeled alt.

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #138 on: Wed, 30 September 2009, 10:10:41 »
Quote from: pseudolobster;121584
Nice work on the wiki entry! It's great to have a main info page for these keyboards anyone can contribute to.

kishy, could you check for me what scancodes you get for the left alt key? KeyboardTest is saying it's "windows key code 133", "bios key code 113"

No matter what I try I can't seem to get this mapped. I'm not so 100% sure anymore that it's a win7 thing, but I'm starting to wonder if maybe there's electrical differences between our keyboards, or if maybe my ps2 controller interprets things differently or something... I can map alt to any other key on the keyboard, but not to the key labeled alt.


Thanks:)

You bet, I'll figure it out for you once I'm home again (sometime this evening).

I really doubt there's an electrical difference between our keyboards; they are identical in every way. Though, I won't rule it out until we see what scancode mine reports.

Did you apply jumpers to the pins in your keyboard? This could, in theory, be part of the issue if not done (nobody is 100% sure yet, at least that they've said, what consequences come from not jumpering the pins)
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline Shawn Stanford

  • Posts: 368
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #139 on: Thu, 01 October 2009, 07:47:31 »
Okay, science completed successfully. I ran a continuity test on those cables last night and got the following:
Code: [Select]

      5 PIN    6 PIN
      (3179)   (PS/2)
      ------   ------
+5v   1 (BL)   4 (YE)
GND   2 (WH)   3 (RE)
PE    3 (xx)   3 (xx)
DATA  4 (RE)   1 (GR)
CLOC  5 (YE)   5 (WH)
xx             6 (xx)

I had a few moments of confusion until I realized that the connector chart I snagged from KBDBABEL showed the females and I was working with the males. So, if I get a few minutes tonight, I'll try rewiring and we'll see how it goes.
The Brat Prince of COBOL

Offline pseudolobster

  • Posts: 33
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #140 on: Fri, 02 October 2009, 22:32:55 »
Quick update...

I can confirm the patched driver does NOT work on win2k3 server R2 64bit, I'm pretty sure this is a 64bit problem and not a windows server problem. If and when I install VS and get around to trying to compile the driver myself, I'll see if I can compile a 64bit version... The original version of i8048prt.sys is some 74kb for windows 7 (32bit) while it's something like 91kb on server 2k3 x64.

Also I can't for the life of me get windows 7 to remap the alt keys, and I still can't map the down arrow key ("roll down") to anything... I'll try again next week with WinXP 32bit or something.. Failing that I'll try a different motherboard.

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #141 on: Fri, 02 October 2009, 23:27:16 »
Quote from: pseudolobster;122469
Quick update...

I can confirm the patched driver does NOT work on win2k3 server R2 64bit, I'm pretty sure this is a 64bit problem and not a windows server problem. If and when I install VS and get around to trying to compile the driver myself, I'll see if I can compile a 64bit version... The original version of i8048prt.sys is some 74kb for windows 7 (32bit) while it's something like 91kb on server 2k3 x64.

Also I can't for the life of me get windows 7 to remap the alt keys, and I still can't map the down arrow key ("roll down") to anything... I'll try again next week with WinXP 32bit or something.. Failing that I'll try a different motherboard.

Whoa, the original is 74kb in 7? Original in XP was between 50 and 55...what on earth could they have added to a PS/2 port driver...

I really suspect it's a Win7 thing going on with the alt and roll down keys...if that's not the cause, then I'd suspect motherboard, and if that's not it then it's definitely the keyboard (no way around it in that case). Obviously I'm at a bit of an advantage having two of the things so I can verify whether issues are inside the boundaries of the computer case or not using only the one computer.

Who's examined the matrix in one of these? Is it possible for a broken trace in one specific location to take out those specific keys?

(actually, scratch that, I just remembered pseudolobster said that the keys were sending scancodes. since they're sending scancodes which software can see it's a windows 7 thing almost certainly)
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline microsoft windows

  • Blue Troll of Death
  • * Exalted Elder
  • Posts: 3621
  • President of geekhack.org
    • Get Internet Explorer 6
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #142 on: Sat, 03 October 2009, 07:05:14 »
I have a question:
You know how the keyboard unit of a 122 key keyboard plugs into the keyboard's mainboard with a ribbon cable. What happens if you plug that into a Model M mainboard?
CLICK HERE!     OFFICIAL PRESIDENT OF GEEKHACK.ORG    MAKE AMERICA GREAT AGAIN MERRY CHRISTMAS

Offline Shawn Stanford

  • Posts: 368
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #143 on: Sat, 03 October 2009, 07:43:29 »
One of the ribbon cables is wider on a 122 key keyboard. If my understanding is correct, a keyboard appears as a matrix to the controller chip. Each key generates an x,y coordinate by sending a signal on two channels. The controller chip looks at the intersection of these two channels and sends the code it has for that location.

A 101 key model M is 8x16, a 122 key is 8x20.
The Brat Prince of COBOL

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #144 on: Sat, 03 October 2009, 11:35:22 »
Quote from: microsoft windows;122538
I have a question:
You know how the keyboard unit of a 122 key keyboard plugs into the keyboard's mainboard with a ribbon cable. What happens if you plug that into a Model M mainboard?


Quote from: Shawn Stanford;122540
One of the ribbon cables is wider on a 122 key keyboard. If my understanding is correct, a keyboard appears as a matrix to the controller chip. Each key generates an x,y coordinate by sending a signal on two channels. The controller chip looks at the intersection of these two channels and sends the code it has for that location.

A 101 key model M is 8x16, a 122 key is 8x20.


Oh I just had one of those dangerous ideas...

I wonder how similar the matrix is between the two...what would happen if one were to remove the end from the ribbon cable connector so the longer one could fit? Obviously some keys (perhaps many) would not work, but would the normal 1391401-style area work as expected of a normal M?

I imagine there's a lot more to it than that, but one of those neat ideas to throw out there.
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #145 on: Sat, 03 October 2009, 12:59:26 »
Whoa...those are quite different, actually seeing them beside each other.

Hmm...wonder which keys would be lost.

(I'm currently installing Windows 98 on a generic Pentium MMX system using a 1386887 to see how well or poorly the process goes...already had issues at the DOS prompt because I couldn't type backslash...will post with successes/failures when it's done)
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #146 on: Sat, 03 October 2009, 14:16:05 »
Windows 98 with a 1386887

Some background first:
At some point in my "adventure" with the terminal keyboards, I read that Windows 98 had built in support for these keyboards. This could have been a very handy thing, finding someone to examine the Win98 driver and figure out every last step necessary in a finished, perfect driver for NT+

So I built a Pentium MMX system (typical baby AT motherboard, P-MMX 200MHz, 32MB PC66 RAM, 1mb graphics card, 2.5GB hard drive, CD-ROM)

Installed Win98. My process for this differs from most people; I first use the DOS prompt to copy the contents of the CD to C: then install directly from C: to itself (wayyy faster and more reliable). First problem: "D:\>copy win98 c:\win98" involves a backslash which I forgot the location of on this board (hint: it's left arrow). Hotplugged for a different keyboard which resulted in a very curious system lockup and LEDs sticking on on the keyboard. Had to fully power cycle the system. Weird.

During setup, the following keyboard layouts were possible choices. As you can see, none directly correspond to this keyboard or anything useful:

Code: [Select]
Albanian
Belarusian
Belgian (Comma)
Belgian (Period)
British
Bulgarian
Canadian Multilingual
Canadian Standard
Croatian
Czech
Czech (Programmers)
Czech (Qwerty)
Danish
Dutch
Estonian
Finnish
French
French Canadian
German (IBM)
German (Standard)
Greek
Greek IBM 220
Greek IBM 319
Greek Latin
Greek Latin IBM 319
Hungarian
Hungarian (101 keys)
Icelandic
Irish
Italian 142
Latin American
Latin American (Bolivia)
Latin American (El Salvador)
Latin American (Honduras)
Latin American (Nicaragua)
Latin American (Puerto Rico)
Latvian
Lithuanian (IBM)
Macedonian (FYROM)
Norwegian
Norwegian (Nynorsk)
Polish
Polish (Programmers)
Portuguese (Brazilian ABNT2)
Portuguese (Brazilian standard)
Portuguese (Standard)
Romanian
Russian
Russian (Typewriter)
Serbian
Slovak
Slovak (Qwerty)
Slovenian
Spanish Modern
Spanish Traditional
Swedish
Swiss French
Swiss German
Turkish (F type)
Turkish (Q type)
Ukranian
United States 101
United States-Dvorak
United States-LH Dvorak
United States-RH Dvorak

While none are obvious matches, does anyone know one which may be closer than US 101?

The sticking key (no break code) problems are obvious when using spacebar to select things...the button you're "clicking" will get stuck down and not come back up (without doing the intended action either), so hitting Enter (in this case Field Exit) is the only option.

Other than that, install went flawlessly. Remembered the product key off the top of my head...bad sign.

Now, investigating the "update device driver wizard" for the installed keyboard ("Standard 101/102-Key or Microsoft Natural Keyboard", uses: hidvkd.sys vmm32.vxd hidparse.sys hidclass.sys), I see almost all options are USB and there is no IBM category.

Something that caught my eye was Maxi Switch, though. Options are:

Code: [Select]
Maxi Switch, Inc. #1101
Maxi Switch, Inc. #1102
Maxi Switch, Inc. #2101
Maxi Switch, Inc. #2102

Do any of these correspond to, for example, the Maxi Switch keyboard with an active thread somewhere on the forum which is like a 122-key "tenkeyless"?

Going to the (Standard keyboards) category, I see the current selection, and also:

Code: [Select]
Compaq Enhanced Keyboard
HID-compliant keyboard
Olivetti Keyboard (102-Key)
Olivetti Keyboard (83-Key)
Olivetti Keyboard (86-Key)
Olivetti Keyboard (A101/102-Key)
PC/AT Keyboard (84-Key)
PC/XT Keyboard (83-Key)
PC/XT Keyboard (84-Key)

Just for kicks, I decided to try the PC/AT 84-key driver.
Cmd7 and 8 both became sleep!
Key sticking issues do still exist (I expected that). No functional changes have happened except for Cmd 7 and 8 changing like that.

I would say then, "myth busted" with regards to Win98 supporting the keyboard out of the box. However, it does "work" which is itself good...I wonder if there are key remaps in the Win98 registry.
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline quadibloc

  • Posts: 770
  • Location: Edmonton, Alberta, Canada
  • Layout Fanatic
    • John Savard's Home Page
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #147 on: Sat, 03 October 2009, 18:31:10 »
Quote from: kishy;122617
While none are obvious matches, does anyone know one which may be closer than US 101?


All those layouts are for the same two physical keyboards - U.S. 101 and international 102 - so I'm afraid you won't get "closer" to a 122-key keyboard that way.

I know that in Windows 3.1, I once saw an entry for a 122-key keyboard choice somewhere in the Control Panel, but I'm not sure of the details.

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #148 on: Sat, 03 October 2009, 20:03:23 »
Quote from: quadibloc;122711
All those layouts are for the same two physical keyboards - U.S. 101 and international 102 - so I'm afraid you won't get "closer" to a 122-key keyboard that way.

I know that in Windows 3.1, I once saw an entry for a 122-key keyboard choice somewhere in the Control Panel, but I'm not sure of the details.

Well you realize what you've done now, right?
Time for DOS 5 and Win3.1! (not right now, right now I'm making a layout file for Passmark KeyboardTest)

Oh, and it turns out my missing rivets ARE a problem.

Springs and hammers are coming completely out of alignment, in some cases can't even buckle without me rearranging them and holding board at an angle. Looks like it's time for screws and nuts...


Edit:

Not directed at any one in particular, just everyone:
PassMark KeyboardTest layout complete - get it while it's hot!
Extract files and put in KeyboardTest program directory. Fire it up and hammer away. This is post-driver-replacement, pre-remaps, so if you don't have the driver replaced yet most of the keys won't be sending break codes (meaning a lot of the green in that pic will be red for you).

Interestingly, what would normally be numpad '-' doesn't send a scancode, but instead acts like Alt+PrintScreen. It can easily be remapped using the registry (hint: do this remap LAST!!! otherwise it will become broken when you remap alt and assign a key to print screen), but cannot be tested in the program as a result of not sending a scancode. Because of that I made that key appear yellow in the layout which signifies "not testable".
« Last Edit: Sun, 04 October 2009, 00:38:10 by kishy »
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline kishy

  • Thread Starter
  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
IBM 1386887 (3179 terminal) keyboard conversion
« Reply #149 on: Sun, 04 October 2009, 11:38:37 »
Here's an idea...

Is it at all possible to pass commands to a PS/2 keyboard on a USB converter?
If so...is a USB HID driver mod a possibility?
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca