24 Dec 2015: Chicony MP-03756GB-5287 keyboard matrix reverse-engineering
A commonly-available keyboard, used in ASUS Laptops, was chosen for the Libre 15.6in Laptop. However, there are absolutely no datasheets whatsoever available for these keyboards, nor for the laptops in which they are used. A reverse-engineering effort has therefore been underway to work out the 16 x 8 matrix. Initial efforts assumed a rational and sensible layout where the first 8 pins of the connector would be rows and the remaining 16 would be columns, and, on that basis, a circuit was made that set GPIO Banks A, B and C in order, to make the software simple. Weeks later, after considerable research including reading of this particular article, results of testing to determine the keyboard matrix had still proven unsuccessful. Permission was therefore sought from the sponsor to obtain two more sample keyboards and to destructively reverse-engineer the existing one. The results of the initial disassembly can be seen below. Sadly, the keys are designed in such a way that it is impossible to guarantee that all 100+ keys would not be damaged, and on this logical basis the decision was taken to expedite the process of disassembly. This does not fit well with the environmentally ethical basis of the project, but in this instance there is very little in the way of alternative options.
The first thing noted is the sheer amazing complexity of the keyboard's thin film circuit. it's triple layer! The middle layer is presumed to provide a small air-gap around each pair of top and bottom key contact-points, ensuring that the top and bottom plastic act as a "spring". This middle layer thin film circuit provides bridge-points between the top and bottom circuit tracks, allowing tracks to jump across places that would otherwise be impossible to route in a simple two-layer circuit.
The numbers that are building up in the bottom left of the A4 sheet are the rows (8-contact-points) and columns (16-contact-points). All eight 16-point columns have been located. The interesting thing is that they are not the first 8 pins, nor the last 8 pins, of the connector: they are, rather unfortunately, interspersed. A non-destructive black-box reverse-engineering process would have definitely been too time-consuming. Now, the laborious task of tracing every single track, going over and documenting all 200+ contact-points, is approximately half way through, after two days of study. Full results will follow later.