You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					134 lines
				
				2.7 KiB
			
		
		
			
		
	
	
					134 lines
				
				2.7 KiB
			| 
								 
											10 years ago
										 
									 | 
							
								arrow_pad keyboard firmware
							 | 
						||
| 
								 | 
							
								======================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											9 years ago
										 
									 | 
							
								## Keyboard Info
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The ArrowPad is a wired conversion that can be made to any stand-alone keypad. It uses two main layers - a standard numpad, and a more advanced arrow cluster navigator.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The first 24-key ArrowPad was handwired, but the PCB was wired as listed below.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								<Chip Ref Des> pin <Pin #>
							 | 
						||
| 
								 | 
							
								<Keycap Name> (Silkscreen Name if different) - <Switch Pin #>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Note:
							 | 
						||
| 
								 | 
							
								U2 pin 2 is the Num Lock LED and is  active low.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								U2 pin 1
							 | 
						||
| 
								 | 
							
								Clear (Num Lock) - 1
							 | 
						||
| 
								 | 
							
								Enter - 2
							 | 
						||
| 
								 | 
							
								Esc (ESC) - 2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								U2 pin 3
							 | 
						||
| 
								 | 
							
								- - 1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								U2 pin 4
							 | 
						||
| 
								 | 
							
								7 - 2
							 | 
						||
| 
								 | 
							
								8 - 2
							 | 
						||
| 
								 | 
							
								9 - 2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								U2 pin 5
							 | 
						||
| 
								 | 
							
								* - 2
							 | 
						||
| 
								 | 
							
								Delete (BACK SPACE) -  2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								U2 pin 6
							 | 
						||
| 
								 | 
							
								1 - 2
							 | 
						||
| 
								 | 
							
								0 - 2
							 | 
						||
| 
								 | 
							
								. - 2
							 | 
						||
| 
								 | 
							
								, - 2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								U2 pin 7
							 | 
						||
| 
								 | 
							
								4 - 2
							 | 
						||
| 
								 | 
							
								5 - 2
							 | 
						||
| 
								 | 
							
								6 - 2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								U2 pin 8
							 | 
						||
| 
								 | 
							
								Tab - 2
							 | 
						||
| 
								 | 
							
								= (/) - 2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								U2 pin 13
							 | 
						||
| 
								 | 
							
								Delete (BACK SPACE) -  1
							 | 
						||
| 
								 | 
							
								9 - 1
							 | 
						||
| 
								 | 
							
								6 - 1
							 | 
						||
| 
								 | 
							
								3 - 1
							 | 
						||
| 
								 | 
							
								. - 1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								U2 pin 14
							 | 
						||
| 
								 | 
							
								Tab - 1
							 | 
						||
| 
								 | 
							
								8 - 1
							 | 
						||
| 
								 | 
							
								5 - 1
							 | 
						||
| 
								 | 
							
								2 - 1
							 | 
						||
| 
								 | 
							
								0 - 1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								U2 pin 15
							 | 
						||
| 
								 | 
							
								Esc (ESC) - 1
							 | 
						||
| 
								 | 
							
								= (/) - 1
							 | 
						||
| 
								 | 
							
								/ (*) - 1
							 | 
						||
| 
								 | 
							
								7 - 1
							 | 
						||
| 
								 | 
							
								4 - 1
							 | 
						||
| 
								 | 
							
								1 - 1
							 | 
						||
| 
								 | 
							
								+ - 1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								U2 pin 16
							 | 
						||
| 
								 | 
							
								Enter - 1
							 | 
						||
| 
								 | 
							
								* (<--) - 1
							 | 
						||
| 
								 | 
							
								, - 1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								U2 pin 17
							 | 
						||
| 
								 | 
							
								Fn (#NAME?) - 1
							 | 
						||
| 
								 | 
							
								- - 2
							 | 
						||
| 
								 | 
							
								Clear (Num Lock) - 2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								U2 pin 18
							 | 
						||
| 
								 | 
							
								Fn (#NAME?) - 2
							 | 
						||
| 
								 | 
							
								* (<--) - 2
							 | 
						||
| 
								 | 
							
								+ - 2
							 | 
						||
| 
								 | 
							
								3 - 2
							 | 
						||
| 
								 | 
							
								2 - 2
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								More info can be found on [GeekHack](https://geekhack.org/index.php?topic=73632.msg1802497#msg1802497)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The second ArrowPad was a conversion from a 21-key Genovation keypad. It used a 2 row x 11 column matrix.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								#define KEYMAP( \
							 | 
						||
| 
								 | 
							
								    KM_ESC, KM_TAB, KM_BSL, KM_ARR, \
							 | 
						||
| 
								 | 
							
								    KM_NUM, KM_FSL, KM_AST, KM_MIN, \
							 | 
						||
| 
								 | 
							
								    KM___7, KM___8, KM___9, ___PLS, \
							 | 
						||
| 
								 | 
							
								    KM___4, KM___5, KM___6, KM_PLS, \
							 | 
						||
| 
								 | 
							
								    KM___1, KM___2, KM___3, ___ENT, \
							 | 
						||
| 
								 | 
							
								    KM___0, _____0, KM_DOT, KM_ENT  \
							 | 
						||
| 
								 | 
							
								) { \
							 | 
						||
| 
								 | 
							
								    { KM_ESC, KM_TAB, KM_BSL, KM_ARR, KM___7, KM___8, KM___9, KM_PLS, KM___1, KM___2, KM___3, }, \
							 | 
						||
| 
								 | 
							
								    { KM_NUM, KM_FSL, KM_AST, KM_MIN, KM___4, KM___5, KM___6, KM_ENT, KC_NO,  KM___0, KM_DOT, }, \
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											10 years ago
										 
									 | 
							
								## Quantum MK Firmware
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											10 years ago
										 
									 | 
							
								For the full Quantum feature list, see [the parent readme.md](/readme.md).
							 | 
						||
| 
								 
											10 years ago
										 
									 | 
							
								
							 | 
						||
| 
								 | 
							
								## Building
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											9 years ago
										 
									 | 
							
								Download or clone the whole firmware and navigate to the keyboards/arrow_pad folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file.
							 | 
						||
| 
								 
											10 years ago
										 
									 | 
							
								
							 | 
						||
| 
								 | 
							
								Depending on which keymap you would like to use, you will have to compile slightly differently.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Default
							 | 
						||
| 
								 
											9 years ago
										 
									 | 
							
								To build with the default keymap, simply run `make default`.
							 | 
						||
| 
								 
											10 years ago
										 
									 | 
							
								
							 | 
						||
| 
								 | 
							
								### Other Keymaps
							 | 
						||
| 
								 
											10 years ago
										 
									 | 
							
								Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` in the keymaps folder, and see keymap document (you can find in top readme.md) and existent keymap files.
							 | 
						||
| 
								 
											10 years ago
										 
									 | 
							
								
							 | 
						||
| 
								 
											9 years ago
										 
									 | 
							
								To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											10 years ago
										 
									 | 
							
								```
							 | 
						||
| 
								 
											9 years ago
										 
									 | 
							
								$ make [default|pad_21|pad_24|<name>]
							 | 
						||
| 
								 
											10 years ago
										 
									 | 
							
								```
							 | 
						||
| 
								 
											9 years ago
										 
									 | 
							
								
							 | 
						||
| 
								 
											9 years ago
										 
									 | 
							
								Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
							 |