Monday, December 12, 2005

.. and mouse

From the same notebook I got a tiny trackball. It has a logitech controller IC on it which I originally wanted to interface (because it appeared as a separate COM port to the notebook when it worked or so I heard and I thought it must have serial signals then) but since I found no datasheet(Logitech 330069-00) and any attempt at hooking it up to the serial port without a MAX(3)232 failed I discarded the idea. However I did have a ball mouse handy that I hated since the day I got it. It was a Micro$oft Wireless Desktop Wheel Mouse (and there's probably "intelli" in it's name somewhere) the worst mouse I ever owned. This mouse made me hate wireless mice, if I didn't touch it for 5 seconds it went to sleep, and it didn't automatically reconnect. So using it was 90% picking mouse up, pushing connect button, putting mouse down. Drove me crazy after a while. So it's perfect for this utterly pointless small project.

Pictures show the trackball and the insides of the M$ mouse

The rest of this entry has been lost due to a database wipe (ages ago)

UPDATE 2011-02-16:
Stefan Radke has managed to map the pinout of a Logitech laptop trackball from a Compaq Contura 400CX.

He writes: "today I managed to hook up the trackball just as a regular PS/2 mouse device to a PC. Just needs a PS/2 cable connected to the pins in the following order (pins from inner to outer ):
1 - GND, 2 - GND (3), 3 - Vcc(4), 4 - Data(1), 5 - Clock(5). Numbers in () are PS/2 pins.
Works perfectly."

Cool stuff, Thanks!

It's real close but not entirely the same design as the one I had to play around with. I suspect most of these will have PS2 (or perhaps serial) connections for the older ones and possibly USB for newer ones though, so direct hookup for use in random projects (CarPC, etc..) should be possible.

Good luck!


I think I’ll write about a few hardware (or partially hardware) projects of mine in the upcoming weeks. First off is my notebook keyboard. A few years ago I really wanted a notebook keyboard, the commercial half-height desktop keyboards didn’t really have the same effect or feeling though, so it had to be a notebook keyboard. Luckily an acquaintance of mine received an old Compaq 486 Notebook that was beyond repairs and gave me the keyboard. Seeing how it had two Mylar cables for connection I also asked him to desolder the connectors from the motherboard, and all was well. I had a small apparently useless German QWERTZ notebook keyboard and two connectors.. Going through my junk box I also found an AT keyboard controller with cable, It was time to do some soldering.

Right at the beginning I noticed that the controller and the keyboard had the same amount of pins for column and row so at first I just did a direct soldering. I knew the keys would be all over the place and that didn’t really matter. I just wanted it to return unique scan codes for all the keys on the notebook keyboard, and for that I needed the controller to at least return something for the whole matrix. And thankfully it did!

I did have to swap two pins because the controller was returning the same scan code for two different keys, but after swapping it was perfect.

So now I had a keyboard that returned unique codes for all of it’s keys (although the wrong codes but each key had it’s own code now) what more could I want? OH.. I still need to remap the keys in XP to actually be able to use the keyboard. It took a few hours but I found a freeware application called KeyTweak which allowed the swapping of keys but not quite the comfortable way for a project like this. What I needed was for the software to capture the code of the key I’m pressing then offer me up a list of keys from which I can select the right one. And so I emailed the programmer telling him what I had in mind. About a day later a new version of KeyTweak was released containing the “Half Teach Mode” EXCELLENT!

I went on to reconfigure the keymap and a few minutes later I had a completely functional notebook keyboard. (well okay not completely.. the Fn key and such never really worked all that good.. I used 3 separate applications to get them working and they still had problems so I decided to drop the idea.)

Since I never received the original plastic casing of the keyboard I used screws to fasten it on a black plastic plate and screwed the controller on the underside..

UPDATE: Jan. 8

I kept the keyboard disassembled for a while now and decided to finish it. I threw out the small black plastic plate (which was actually a cover plate of an extremely old and big hard drive) and got myself a big white one.

I screwed the keyboard plate onto it.

Here’s another picture of the controller

I screwed the controller on the underside

Reattached the Mylar cables with their connectors

Made some legs (don’t say anything)

It’s better than it was last time, I started the testing and noticed that some keys were not responding.. Didn’t see any apparent break on the cabling so I chopped a bit off the Mylar’s end which did not help but it did make the part of the Mylar that goes into the connector alarmingly short. Then I finally saw what I didn’t really want to.

Ah yes, the previous soldering did not hold and some leads got separated from the Mylar’s connector.. GAH.. I made a “head” for my soldering gun from very thin wire specially for soldering small things (SMD components for example) a few years ago, and used that to reattach the cables. Everything worked fine afterwards.

And the finished keyboard (and yes I am using it right now to type this)

Some last notes:

Remapping is done by XP, KeyTweak only inserts a registry key so it doesn’t need to stay in memory or anything.

KeyTweak and an old keyboard controller is in some cases a great alternative to expensive custom keyboard controllers.