Hacking the Kinesis Contoured keyboard

Kinesis Contoured Professional QD

With the successful completion of the humble hacker keyboard, I’ve decided to modify one of my Kinesis Contoured Keyboard keyboards so that I can use my firmware to gain additional programmability. I’m going to replace the existing controller with one based on the Teensy++. I’m starting with my second Kinesis board, a “Professional QD”. I don’t remember exactly when I bought this board, but the date on the controller board is 03/18/99.

Step One – determine the matrix

First, we have to discover the keyboard matrix – which is basically how individual keys map to pins on the keyboard connector. For a good description of how a keyboard matrix works, visit Dave Dribin’s Keyboard Matrix Help page.

With a normal keyboard, I would just wire the pins from the keyboard connector to my Teensy++, then load my firmware built in “Matrix Discovery Mode” (see bottom of linked page). Once installed, the matrix can be found simply by pressing keys on the keyboard. But the kinesis is a special case, in that there are essentially 6 individual keyboards joined together. To find the complete matrix, each individual board matrix must first be determined, then the main board has to be mapped out to find out how these are to be combined.

That last bit is not strictly necessary, as I am free to map each individual board however I want, but I thought it best to stick with the original layout. At the very least, someone else may find this information useful.

Below are the individual keyboard matrices. For the most part, I’ve labeled components as they are labeled on the PCBs.

Left hand

Left Hand

Exceptions to the board labeling are:

  • The main connector PL2 had no label
  • Labels with more than two characters have been shortened (e.g. SHIFTLS, TABTB, etc.)


6 7 8 10 11 12
1 \ IN LT RT
2 LS Z X C V B
3 CP A S D F G
5 TB Q W E R T
13 = 1 2 3 4 5

Right hand

Right Hand

Note that the square brackets are labeled incorrectly on the PCB. That is, the left bracket is labeled as the right, and vice versa.


1 2 3 6 12 13
4 UP DN [ ]
7 NS , M RS . /
8 H K J ' L ;
9 Y I U \ O P
10 6 8 7 - 9 0



Left thumb


1 2 3 8
4 SL3 SL6 SL4
5 SL1 SL5 SL2

Right thumb


3 4 5 6
7 SR1 SR2 SR5
8 SR4 SR3 SR6

Left function keys

Left function keys


2 3,6,10 4,7,11
1 ESC F1 F2
8 F3 F4 F5
5 F6 F7 F8

Right function keys

Right function keys


5 8,11 7,10
1 F9 F10 F11
5 F12 PS SL

The two keys PG(Program) and KY(Keypad) in the table above are not actually connected as shown. They serve special purposes and are not part of the normal key matrix when using the Kinesis controller. Instead, they are connected as follows:

1 2

To add them to the matrix above, make the following connections:

  • J4-1 → J4-8
  • J4-2 → J4-7
  • J4-3 → J4-4

The combined matrix

This is the combined matrix based on how each individual keyboard is connected to the controller board.

Keys X1 and X2 in cells 5A and 4L do not exist. These are placeholders for the addition of extra keys below the shift keys.


Since I’m not using the original controller, I’ve rearranged the different blocks and shifted some rows and columns to arrive at the more sensible matrix below.


To obtain this matrix, the rows and columns must be connected as follows:

Row Connection
1 J2-13; J7-10; J3-1
2 J2-5; J7-9; J3-8
3 J2-3; J7-8; J3-5
4 J2-2; J7-7; J4-6
5 J2-1; J7-4; J4-9
6 J5-5; J6-8; J4-3,4
7 J5-4; J6-7
Col Connections
A J2-6
B J2-7
C J2-8; J5-2
D J2-10; J5-8
E J2-11; J5-1
F J2-12; J5-3
G J7-1; J6-3
H J7-3; J6-4
I J7-2; J6-5
J J7-12; J6-6
K J7-13
L J7-6
M J3-2; J4-5
N J3-3,6,10; J4-1,8,11
O J3-4,7,11; J4-2,7,10

Next up: building a replacement controller board!

This entry was posted in keyboards and tagged , . Bookmark the permalink.

4 Responses to Hacking the Kinesis Contoured keyboard

  1. sordna says:

    Hi there, I sent you a PM on Geekhack. I’ve added 6 keys to my Kinesis Advantage, tapping the footswitch terminals, mod documented here: http://geekhack.org/showwiki.php?title=Island:26579

    With the help of your article, I also discovered that at least on the recent Kinesis Advantage, there are not just 2 but 4 hidden keys. I put the info here: http://geekhack.org/showwiki.php?title=Island:8110&p=509615&viewfull=1#post509615

    That post includes a screenshot from your article, I hope you don’t mind.

    I wonder if there are even more unused “hidden keys” to be tapped on the main PCB traces, what do you think?

  2. justin Lee says:

    wow!!!. Great! This is what I want exactly… David,Thanks very much . it provides detail guide and knowledge for me like beginner. now I’d like to modify Kinesis contoured keyboard…. thanks again.

  3. max says:

    Great post, even though I don’t think I’ll try it ! However, I might be wrong but I think there is a mistake which has been repeated widely repeated over the net. You are saying that the angle brackets on the right hand key pad have incorrectly labelled. They are correct.

    The keypad is show from underneath therefore the keys appear in reverse order as they are. The right bracket (closing one) is at the end of the keyboard, therefore the first one on your picture, which is the case. The labels are correct 😉

  4. Anton says:

    I’ve been searching for something like this the last couple of evenings. This is fantastic! I’m going to try to do something similar to my keyboard. Just wanted to say thanks.

Leave a Reply

Your email address will not be published. Required fields are marked *