Wanting to put an old Nintendo Entertainment System (NES) controller to “good” use, I dialed up some instructions for converting a standard NES controller with a serial cable to an NES controller with a USB cable. The instructions recommended first extracting a keyboard controller from a working keyboard, and then wiring the NES controller buttons to the keyboard controller inputs. After removing a controller from an unused keyboard, I examined the circuitry for identifiable markings on the PCB.

Finding three useful looking strings (ROHS, T2414A and JH108PCB), I searched online for information about the output of combinations of the terminals labeled R and C. Unable to locate anything, I decided to map the inputs and outputs myself. I was able to quickly record the output of the various combinations by placing one end of a jumper wire in an R terminal and tapping the C solder points one at a time. I ended up using a simple text editor for this task after difficulties using a spreadsheet program and wordprocessing program. In both of the latter programs auto-formatting features made the task of recording the outputs unnecessarily cumbersome. The table below shows what I found using a Macbook.
Input Output
R0+C1 q
R0+C2 w
R0+C3 e
R0+C4 r
R0+C5 u
R0+C6 i
R0+C7 o
R0+C8 p
R0+C10
R0+C11 Shutdown
R0+C9 F1
R0+C14 +
R0+C15 9
R0+C12 8
R0+C11 7
R0+C17
R0+C16
R0+C0 F2
R1+C1 Tab
R1+C2 Caps Lock
R1+C3 F3
R1+C4 t
R1+C5 y
R1+C6 ]
R1+C7 F7
R1+C8 [
R1+C10 Delete
R1+C11 Shift
R1+C9 0
R1+C14
R1+C15 6
R1+C12 5
R1+C11 4
R1+C17
R1+C16 Command
R1+C0 Shutdown
R2+C1 a
R2+C2 s
R2+C3 d
R2+C4 f
R2+C5 j
R2+C6 k
R2+C7 l
R2+C8 ;
R2+C10 \
R2+C11 Shift
R2+C9
R2+C14 Down Arrow
R2+C15 3
R2+C12 2
R2+C11 1
R2+C17 Command
R2+C16
R2+C0 0128
R3+C1 Escape
R3+C2 Help
R3+C3 F4
R3+C4 g
R3+C5 h
R3+C6 F6
R3+C7 a
R3+C8 '
R3+C10
R3+C11 F11
R3+C9
R3+C14 Up Arrow
R3+C15 .
R3+C12 0
R3+C11 Space
R3+C17
R3+C16
R3+C0 Shutdown
R4+C1 z
R4+C2 x
R4+C3 c
R4+C4 v
R4+C5 m
R4+C6 ,
R4+C7 .
R4+C8 \
R4+C10 Return
R4+C11 F12
R4+C9 a
R4+C14 F8
R4+C15 *
R4+C12 /
R4+C11
R4+C17
R4+C16
R4+C0 Control
R5+C1 a
R5+C2 a
R5+C3 a
R5+C4 b
R5+C5 n
R5+C6
R5+C7
R5+C8 /
R5+C10
R5+C11
R5+C9
R5+C14 Left Arrow
R5+C15 -
R5+C12 Right Arrow
R5+C11 Down Arrow
R5+C17
R5+C16
R5+C0 Shutdown
R6+C1 `
R6+C2 F1
R6+C3 F2
R6+C4 5
R6+C5 6
R6+C6 =
R6+C7 F8
R6+C8 -
R6+C10 F9
R6+C11
R6+C9 000
R6+C14
R6+C15
R6+C12 Help
R6+C11 Delete Right
R6+C17
R6+C16 F10
R6+C0 Control
R7+C1 1
R7+C2 2
R7+C3 3
R7+C4 4
R7+C5 7
R7+C6 8
R7+C7 9
R7+C8 0
R7+C10 F10
R7+C11
R7+C9
R7+C14
R7+C15
R7+C12 Shutdown
R7+C11 Shutdown
R7+C17
R7+C16
R7+C0 F5 |
Input Output
R0+C1 q
R0+C2 w
R0+C3 e
R0+C4 r
R0+C5 u
R0+C6 i
R0+C7 o
R0+C8 p
R0+C10
R0+C11 Shutdown
R0+C9 F1
R0+C14 +
R0+C15 9
R0+C12 8
R0+C11 7
R0+C17
R0+C16
R0+C0 F2
R1+C1 Tab
R1+C2 Caps Lock
R1+C3 F3
R1+C4 t
R1+C5 y
R1+C6 ]
R1+C7 F7
R1+C8 [
R1+C10 Delete
R1+C11 Shift
R1+C9 0
R1+C14
R1+C15 6
R1+C12 5
R1+C11 4
R1+C17
R1+C16 Command
R1+C0 Shutdown
R2+C1 a
R2+C2 s
R2+C3 d
R2+C4 f
R2+C5 j
R2+C6 k
R2+C7 l
R2+C8 ;
R2+C10 \
R2+C11 Shift
R2+C9
R2+C14 Down Arrow
R2+C15 3
R2+C12 2
R2+C11 1
R2+C17 Command
R2+C16
R2+C0 0128
R3+C1 Escape
R3+C2 Help
R3+C3 F4
R3+C4 g
R3+C5 h
R3+C6 F6
R3+C7 a
R3+C8 '
R3+C10
R3+C11 F11
R3+C9
R3+C14 Up Arrow
R3+C15 .
R3+C12 0
R3+C11 Space
R3+C17
R3+C16
R3+C0 Shutdown
R4+C1 z
R4+C2 x
R4+C3 c
R4+C4 v
R4+C5 m
R4+C6 ,
R4+C7 .
R4+C8 \
R4+C10 Return
R4+C11 F12
R4+C9 a
R4+C14 F8
R4+C15 *
R4+C12 /
R4+C11
R4+C17
R4+C16
R4+C0 Control
R5+C1 a
R5+C2 a
R5+C3 a
R5+C4 b
R5+C5 n
R5+C6
R5+C7
R5+C8 /
R5+C10
R5+C11
R5+C9
R5+C14 Left Arrow
R5+C15 -
R5+C12 Right Arrow
R5+C11 Down Arrow
R5+C17
R5+C16
R5+C0 Shutdown
R6+C1 `
R6+C2 F1
R6+C3 F2
R6+C4 5
R6+C5 6
R6+C6 =
R6+C7 F8
R6+C8 -
R6+C10 F9
R6+C11
R6+C9 000
R6+C14
R6+C15
R6+C12 Help
R6+C11 Delete Right
R6+C17
R6+C16 F10
R6+C0 Control
R7+C1 1
R7+C2 2
R7+C3 3
R7+C4 4
R7+C5 7
R7+C6 8
R7+C7 9
R7+C8 0
R7+C10 F10
R7+C11
R7+C9
R7+C14
R7+C15
R7+C12 Shutdown
R7+C11 Shutdown
R7+C17
R7+C16
R7+C0 F5
Not all input combinations yielded an output. Where a letter, number or symbol was the output, it was recorded in the table. For the function key mappings I used an on-screen keyboard visualizer which is available in the OS X preference pannel under settings for the keyboard. A few input combinations outputted a string of numbers (see R3+C0 and R6+C9). While none of this information is super-exciting, I hope that by recording it here I might save someone working on a similar project some time and effort. Happy tinkering!