I’ve been working on a very similar project myself for a few weeks, except I have an Apple PowerBook G4 (Titanium DVI).
First of all I had to get the connector off of the motherboard because it’s proprietary (I think, if not then I have no idea what I’d search for to find one to buy), I did this by cleaning most of the components off of the motherboard (which was dead anyway) then hacking the corner off of the board with a Stanley knife. Then I soldered 30 pre-crimped flexible jumper wires (i.e. multi core, not solid copper) to the connector to make it breadboard friendly. Then I tested every pin for continuity with every other pin to see what that told me; turns out two pins were shorted together but all the rest were open circuit.
Then came the question of how to actually go about mapping the matrix out. I mean, for every connector pad there would only be a few keys that would close the circuit between it and one other pad, but which one? There were 30 pins so the combinations to check were numerous to say the least. I thought I’d connect all but one pad to ground then use continuity mode connected between the one pad that wasn’t grounded and the 29 others, so I tried that but got no beeps because the keys have significant resistance of between 90 and 130 ohms (I think this was part of an anti-ghosting method involving ADCs, but I can’t be bothered to reproduce it because I won’t be pressing more than one key at a time).
So got my 5V power supply and connected an LED (with series 330R resistor) to +5V but left the cathode floating and connected the one keyboard connector I hadn’t grounded to it, the theory being that there would be some keys on that connector’s FPCB trace that would then ground through another pin to close the circuit and illuminate the LED. I started pressing every button on the keyboard and got some flashes - Bingo! In about an hour I had a complete map, except for one puzzling problem…
Two pins on the board made the breadboard LED flash whenever I pressed the modifier keys, but curiously they also made either the Num lock or Caps lock LED flash with them. Very strange. There were also five other pads that did nothing at all. I then remembered the two pads I’d found that were shorted together; I had neglected to test them because I thought they were shorted because of damage to the PCB (from the Stanley knife) or a tiny soldering error that I couldn’t see. So I plugged them into the ground too and tested one of the two pads that were causing the keyboard LEDs to flash, and guess what: The LED stayed on without me pressing anything. Odd… So I disconnected that pad and tried the ones that previously did nothing. Each one caused the test LED to flash when pressing a unique modifier key.
From this I concluded that the two shorted connections were the modifier key common and also the common cathode for the two keyboard LEDs. The two pads that were causing the LEDs to flash when I pressed a modifier key were the LED anode voltage and nothing more, and the five pads that had previously done nothing were unique pads for shift, ctrl, alt, cmd and fn.
You seem to think that you’ll be able to detect a current flowing at both ends of the matrix, this is impossible. Keypads work by putting a voltage, let’s say 5V, through one column (or row, but let’s say column for the sake of example) at a time. The microcontroller then ‘listens’ to the rows (or columns, but again, for this example) and waits for a 5V signal. When it gets a signal it identifies which column was set to high and which row returned the voltage. Say it’s column B and row 2, that would give you “2” if your matrix is the same as mine (which it almost definitely isn’t).
So my Leonardo sketch (oh yeah, I’m using a Leonardo, I’m kind of hoping I can just wire the trackpad with a PS/2 cable and use a PS/2 - USB adaptor) will have a 2D array with all of the keys stored in it. It will cycle through the rows (of which there are eight) via a 595 and then listen to the columns (of which there are 10) for a voltage, then it’ll grab the co-ordinate when it gets a voltage and then print the relevant keystroke.
I have a thread about it in this very forum actually, it might be helpful if we checked on each other from time to time… But I’m tempted to look into that KeyWarrior as I have my matrix mapped!