Help with 1990s laptop keyboard.
- Halvar
- Location: Baden, DE
- Main keyboard: IBM Model M SSK / Filco MT 2
- Favorite switch: Beam & buckling spring, Monterey, MX Brown
- DT Pro Member: 0051
From how I understand your notes on the piece of paper, your leds and the matrix are connected. 8 10 11 and 12 belong to the matrix, right? If that's really the case you'll need to disconnect them, or the leds can interfere with the sensing.
If you disconnect the leds from 8,10, 11 an 12, your matrix should probably work.
Also, are you sure you got the polarity of the LEDs right on your notes? To get the LEDs to work, their anodes need to be connected to a dedicated teensy pin each, and their cathodes to a resistor each and then GND.
If you disconnect the leds from 8,10, 11 an 12, your matrix should probably work.
Also, are you sure you got the polarity of the LEDs right on your notes? To get the LEDs to work, their anodes need to be connected to a dedicated teensy pin each, and their cathodes to a resistor each and then GND.
-
- DT Pro Member: -
I have just done some more probing with a meter and it seems all the rows are connected together. I also probed between pin 12 (PB4) and Pin 16 (PF6). The keypress does not register with the positive probe on pin 12 and the negative on pin 16, but swap the probes around with positive on pin 16 and negative on pin 12 and it works.
Interestingly the working keys react to a key press with the probes in any position.
The conclusion is that the LEDs are blocking the keys, presumably if I bridge over the diodes the keys will work. I could test that theory and if it's correct then break the circuit and wire in the LEDs to the teensy with a common GND. Correct?
Interestingly the working keys react to a key press with the probes in any position.
The conclusion is that the LEDs are blocking the keys, presumably if I bridge over the diodes the keys will work. I could test that theory and if it's correct then break the circuit and wire in the LEDs to the teensy with a common GND. Correct?
- Halvar
- Location: Baden, DE
- Main keyboard: IBM Model M SSK / Filco MT 2
- Favorite switch: Beam & buckling spring, Monterey, MX Brown
- DT Pro Member: 0051
That should not be the case, unless maybe if all keys are pressed. I this were true, no keys should work at all. How and where on the circuit did you measure that? Did you measure a resistance between them at all? How high?ViciousPenguin wrote: ↑I have just done some more probing with a meter and it seems all the rows are connected together.
That actually looks to be how it's supposed to be. Pin 16 is a strobe (output port on the teensy), Pin 12 is a sense (input port on the teensy). So positive on pin 16 and negative on pin 12 is correct. The other way around might be blocked by a diode, I don't know. There seem to be only 7 diodes on the PCB (D1 to D7), I don't know where they go logically in the circuit, the pictures of the PCB are too dark / too low-res to follow traces even where they're visible.I also probed between pin 12 (PB4) and Pin 16 (PF6). The keypress does not register with the positive probe on pin 12 and the negative on pin 16, but swap the probes around with positive on pin 16 and negative on pin 12 and it works.
R1 to R4 are probably for the 4 LEDs.
Could mean that there are no diodes on those columns, but there are some on the columns that don't work.Interestingly the working keys react to a key press with the probes in any position.
There are 4 LEDs and 7 normal diodes on this board. If anything, the normal diodes should be part of the matrix, and the LEDs should be connected to their own circuits, in line with their resistors. So I would start by bridging the normal diodes and see what happens. Alternatively, you could transpose the matrix in the software (make the row pins the column pins and vice versa) and test that.The conclusion is that the LEDs are blocking the keys, presumably if I bridge over the diodes the keys will work. I could test that theory and if it's correct then break the circuit and wire in the LEDs to the teensy with a common GND. Correct?
Also, could you re-check the LEDs? Are the resistors R1 to R4 connected to the LEDs, and where does the other end of each resistor and LED go? I still have trouble believing that they are part of the matrix.
-
- DT Pro Member: -
I've left the workshop for the rest of the weekend. I'll have a crack at it tomorrow and see what's what. I like the douns of transposing the matrix. I'll give that a go first.....
Thanks for the help
Thanks for the help
-
- DT Pro Member: -
Super fantastic Success, it works!
Turning the matrix around fixed it. Here's the config file as it is now having been transposed.
The LEDS are definitely part of the circuit...
Caps Lock = PB4
Scroll Lock = PB0
Num Lock = PD7
Pad Lock = PB2
I can only surmise that the polarity changes on the relevant pin when the caps lock etc is pressed which in turn lights up the LED. I expect I can take them out the circuit as mentioned before but they will have to wait for the time being though. Next I need to sort out the FN1 layer........
Thanks guys you have all been a great help
Turning the matrix around fixed it. Here's the config file as it is now having been transposed.
Code: Select all
# Matrix config for ICL NB386S keyboard.
# http://deskthority.net/workshop-f7/help-with-1990s-laptop-keyboard-t9726.html
matrix
scanrate 1
debounce 5
sense PF0 PF1 PF4 PF5 PF6 PF7 PB6 PB5
strobe PC6 UNASSIGNED UNASSIGNED UNASSIGNED SCROLL_LOCK PRINTSCREEN UNASSIGNED UNASSIGNED LALT
strobe PD3 UNASSIGNED RSHIFT UNASSIGNED UNASSIGNED UNASSIGNED UNASSIGNED LSHIFT UNASSIGNED
strobe PD2 RIGHT Z A Q 1 UNASSIGNED TAB ESC
strobe PD1 DOWN X S W 2 F1 CAPS_LOCK BACKSLASH
strobe PD0 SLASH BACKSLASH SEMICOLON P 0 MINUS LEFT_BRACE BACK_QUOTE
strobe PB7 INSERT COMMA K I 8 EQUAL RIGHT_BRACE F6
strobe PB3 SPACE ENTER UNASSIGNED DELETE F10 F9 BACKSPACE F5
strobe PB2 LEFT UNASSIGNED FN1 UNASSIGNED UNASSIGNED LCTRL F12 F11
strobe PB1 PAUSE C D E 3 F2 F3 F4
strobe PB0 B V F R 4 5 T G
strobe PD7 N M J U 7 6 Y H
strobe PB4 NUM_LOCK PERIOD L O 9 F8 F7 UP
end
Caps Lock = PB4
Scroll Lock = PB0
Num Lock = PD7
Pad Lock = PB2
I can only surmise that the polarity changes on the relevant pin when the caps lock etc is pressed which in turn lights up the LED. I expect I can take them out the circuit as mentioned before but they will have to wait for the time being though. Next I need to sort out the FN1 layer........
Thanks guys you have all been a great help
-
- DT Pro Member: -
Will do, I'm replacing all the internals with new parts. I have a 10" LCD, Raspberry Pi B+ / 2, or an Odroid C1, not sure which yet, to go inside. Plus of course all the power circuits and a LiPo.
The keyboard was the only bit I didn't know how to do, until now
The keyboard was the only bit I didn't know how to do, until now