geekhack forums
Go Back   geekhack forums > geekhack media > modifications

modifications post your modifications here


[top]HEY - this is important, read this now!

Like any mod, there are risks associated with this process!

If your motherboard can't supply the right current, you might blow a fuse (there is usually a keyboard fuse somewhere on your motherboard) or worse permanently damage the keyboard controller on your motherboard.

If your wiring job is even slightly wrong, you could easily destroy the keyboard, motherboard, or both. You are strongly advised to test on a non-critical computer the first time you connect it in case there is a wiring issue.

We have one suspected case of a dead motherboard PS/2 port so far - not proven, but suspected. Don't take unnecessary risks if you can avoid them.


[top]Goal

By the end of this conversion, you will hopefully have your 122-key terminal keyboard working on your computer with a PS/2 port. AT compatibility will also exist, but the driver swap we do in this process is PS/2-specific, so some bugs will still exist.

This mod has been engineered with the intention of you being able to easily restore your keyboard to original condition. However, there are options you can choose while doing it which may make that more difficult.

The hardware portions of this mod don't care what software you run. However, the driver provided here is Windows 2000+ only.

Disclaimer: nobody but yourself can be held accountable for your actions following the advice of this tutorial. There are some things you're instructed to do here that can (but usually don't) cause damage to assorted things...proceed with caution.

This mod is targeted specifically at users of Windows 2000/XP because that's what my test environment is...users of other platforms are welcome to report their experiences.


[top]Is my keyboard compatible with this mod?

In order to determine if this mod should work with your keyboard, you need to first determine what type of dumb terminal it was designed for use with. The majority are compatible, but it's important to check.

First, use the search engine of your preference to search for your keyboard's part number (for example, "1386887"). Then, look through the result summaries looking for a 4-digit number...in most cases a 4 digit number in a search result for one of these keyboards is the terminal type (for example, 3179, 3192, 3488...etc).

The following info is sourced from the kbdbabel project.

3151-3153
3179
318x
319x
34xx

All of the above should be able to successfully complete this mod. However, you won't know for 100% certain until you try. Note this mod is not limited to 122-key keyboards; it applies to terminal keyboards in general but 122-key is the most common way to refer to these.


[top]List of Verified Compatible Keyboards

Make - Model or P/N - Year - Intended terminal (and plug) - Notes - Who says it works

SUCCESSES:
FAILURES:
  • null

Please feel free to add your own keyboards to this list if you determine this mod is possible with them. Perhaps equally as important - which keyboards CANNOT work with this mod.


[top]What You'll Need
  • Basic electronics abilities (cutting and stripping wires, perhaps light soldering, continuity checking)
  • Multimeter or continuity tester (or some other way to check what pins go to what wires in your replacement cord)
  • Other tools - to open keyboard, to cut/strip wires, to solder...
  • Keyboard to be converted (duh)
  • A USB keyboard (not so duh)...there are times you may have no PS/2 port driver during this, so it's important to have a USB HID keyboard available!
  • Computer with a PS/2 keyboard port - this will not work on a USB converter!
  • A cord with connector from any PS/2 or AT (with adapter) keyboard
    OR just a connector if you plan to hack up the original cord
  • Software key remapping abilities - if using Windows, try Key Mapper for easy registry based remaps
  • Software key monitoring abilities - if using Windows, try KeyboardTest for simple GUI based information (note: is a time limited trial)


[top]Hardware Mod Process (in painful detail)

[top]Set Jumpers on Keyboards So Equipped


Why? It sets the keyboard ID as the computer sees it and helps squash out low-level incompatibilities right off the bat.

Open the keyboard. On the controller PCB, you will hopefully find a set of pins corresponding to this image (lacking jumpers installed, of course). In some cases wires will run from these pins to a bank of DIP switches on the bottom of the case, and in some cases some or all of these pins won't be present.

If the pins are present, set the jumpers like I've shown. If the pins are wired to DIP switches, set the switches in an equivalent manner (or remove the wire header and set jumpers on the pins if you like). If the pins aren't there at all, or some are missing, don't touch them at all.



But Kishy, I couldn't set the jumpers! We'll pretend it doesn't matter...continue anyway.

[top]Swap the Cord (or just the connector)


The next step in the hardware conversion is swapping the cord or connector. You have the option of chopping the existing connector off the existing cable and attaching a do-it-yourself DIN 5 plug, but I'd recommend a whole cord swap for two reasons...you keep the original cord intact that way, and plus the original cord is very short.

Steps in the cord swap:
  • Locate a suitable cord (AT or PS/2 can work, PS/2 preferred, I did one of each and my photos are of the AT one)
  • Identify the pinout of your new cable
    This and this, GH Member JohnElliott's pages including AT and terminal pinouts
    Another set of pinouts for AT and PS/2
    You should be trying to form a table of colour-pin information (ex. purple corresponds to pin 2 which is data, etc.)
  • In the keyboard, there is a 6-position pin header with one pin removed. PIC HERE. The pinout for this connector is as follows:
    Code:
    NO CONN .   . +5VDC
    CLOCK . . . DATA
    __________|
    BETW/ CLK & DATA: GND

    This pinout is looking at the ends of the pins.
    Original cable colours on a 1386887: Clock=Yellow, Ground=WhiteGray, Data=Red, +5V=Black
    Don't trust those colours to match other keyboard makers - always check pinout! Compare the info provided here against the info you determined about your cable so you will know which wire goes to which pin in the keyboard.
    Useful link about working with berg connectors.
    If you have any extra wires left over, leave them disconnected. A shield ground could be connected to the circuit board screw if you really wanted to.
  • You now are at the stage where you should be able to connect your cable to the pins in the keyboard. You have a couple options for how to do that...you could solder wires directly to the keyboard circuit board, directly to the pins, snip the berg connector off the cable and use that...etc. My chosen method involved using berg connectors I had thankfully saved from past experiments. PIC HERE. Whatever you do in your situation, be sure to use a solution that prevents shorts.
  • DOUBLE CHECK YOUR WIRING NOW.

[top]Test for Basic Functionality


It's time to test your keyboard! Shut down your testing computer, plug the keyboard in, and power it up.

[top]CMOS Setup Test


If you need F11 or F12 to get into your CMOS setup, skip this test. The keyboard doesn't natively have an F11 or F12.

The first level of testing will be to enter the CMOS setup of your machine, nagivate around the menu a little, and then leave.

Hints: the F keys (F1-F10 at least) are the far left block of the keyboard. Top left is F1, beside it is F2, continuing down to F10 in the lower right. Delete is the key which is normally numpad decimal. The cursor/nav keys are numpad 4, 8, 6, and 2. Esc is what would normally be numlock. Immediately beside that is the actual numlock (in order to navigate you may need to press it to turn off numlock).

If the keyboard was able to enter the setup menu to begin with, you've got a working cable swap.

[top]Windows Test


Allow the computer to boot into Windows with the keyboard connected from first power-on.

It is normal in Windows 2000 and up for the keyboard to appear "dead"...unplug it and plug it back in once at the Welcome screen. If you're using a prior version of Windows, this problem likely does not affect you so no hotplugging is necessary.

Note: PS/2 equipment is not designed for and technically does not support hotplugging. Although rare, damage may occur from doing it. The type of damage that could happen could not be repaired if it did.

You may get a small series of system beeps when plugging the keyboard back in - this is normal and expected if it happens. At this point, the alphanumeric block of the keyboard should function (test in notepad) with the possible occasional repeat problem. Note it is functioning kind of like an 84-key AT keyboard (CTRL is caps lock, etc). Your 10 F-keys (on the left) should be working as well.

If your setup passed both tests, congratulations...the required hardware portion is complete!


[top]Software Mod Process

[top]Replacing Your Keyboard Driver


Certain modifications had to be made to the PS/2 port driver (courtesy of member JohnElliott and possibly others, I need to re-read the big thread) in order to allow somewhat more usable operation of these keyboards in Windows (2000/XP tested). You'll need to either a) modify your PS/2 port driver yourself with the DIFF file from JohnElliott (find here the file and how to use it), or b) replace your existing driver with the version available here:

Link to the most up-to-date driver

There may be "not safe for work" ads on the link protection site - be warned!

PIC of where the driver is located on a typical Windows XP system. Some or all builds of 2000 may use "WINNT" instead of Windows but I imagine you know that if you use it.

kishy: add details

The replacement process will involve circumventing Windows File Protection. WFP is a nasty but necessary evil that auto-replaces changed system files to help prevent malicious stuff getting into your system. In this case, it will reject the perfectly safe new keyboard driver. I had luck swapping it in Safe Mode but have since found a utility that may be able to make the swap for you...I will link to it and document its use once I verify it works and is harmless.

[top]Testing for Proper Operation


Two basic parts to this:

[top]Windows test


Does the keyboard work without first being unplugged then replugged? Yeah? Alright, it works. Good stuff.

[top]Keyboard testing software


For this, we will use the commercial program PassMark KeyboardTest. It is available as a fully featured trial.

You will then add my custom-made layout to the program by going to this page and downloading the layout made by me (kishy). Extract the two files inside the download into the KeyboardTest program folder. When you open KeyboardTest, this layout will be in the list of layouts, and probably will appear by default (as "3179" alphabetically comes before any of the included layouts).

Quite simply, press every key on the keyboard. The key that is normally "Home" on a normal-layout keyboard should result in a beep if you have a system speaker. Your results, if the driver swap worked as intended, will look like this:



The sole "yellow" key cannot be tested because it actually acts to Windows like "Alt+PrintScreen", which has no (Windows) scancode (the key actually sends a code, but Windows reads it wrong, or something like that). Don't worry, this can be remapped, it just can't be tested with its default mapping. It will remain yellow in the program even after being remapped because I made it yellow in the KeyboardTest layout file.

[top]Remapping Your Keys


For this process (in Windows), I recommend the use of the free software tool Key Mapper. This program generates a registry file to semi-permanently map the keys to what you want. Keep in mind this affects all connected keyboards.

Write-up of how to use Key Mapper coming soon. It's pretty basic, however.

AutoHotkey is also being investigated for this purpose.

kishy: add details


[top]Credits

Will be filled in once this is complete


Attached Images
File Type: jpg jumpers.jpg (206.7 KB, 584 views)
File Type: jpg bergpins.jpg (244.8 KB, 171 views)
File Type: jpg bergwires.jpg (32.7 KB, 156 views)
File Type: jpg connector-pins.jpg (54.4 KB, 327 views)
File Type: jpg 1386887-completeoriginal-titlebanner.jpg (68.5 KB, 1405 views)

Created by kishy, 30 September 2009 at 01:32
Last edited by kishy, 05 October 2009 at 22:04
Last comment by kishy on 03 April 2010 at 16:51
5 Comments, 2,532 Views

Bookmarks
Article Tools
Search this Article


Posting Rules
You may not create new articles
You may not edit articles
You may not protect articles

You may not post comments
You may not post attachments
You may not edit your comments

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT. The time now is 06:08.


template design by o2dazone
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.