Mapping of Keyboard Controller Input and Output – ROHS T2414A JH108PCB

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.

KeyboardController

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

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!

7 thoughts on “Mapping of Keyboard Controller Input and Output – ROHS T2414A JH108PCB

  1. Dude, you just saved my ass, i had mapped 10 keys, but was way too annoying for me to go on, and here you are, saving my day!

    thank you!

  2. After mapping 4 keys for a similar project I got tired and decided to google some of the markings on the PCB and this came up. Thank you so much for the work!

  3. Thanks so much!!!! saved so much time. Wondering if you know what kind of connector this is? I want to use the pins and thought it would be cleaner if i plug into the connector rather than solder onto the pins
    Thanks again

Leave a Reply

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