mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 13:22:31 +01:00 
			
		
		
		
	[Keyboard] Adding Navi10 macropad (#7556)
* working on keymap and files for the navi10 * fixing and modifying tap dance keys and layers * cleanup, and adding my separate keymap * edited and simplified the default keymap * cleaned up files and added support for future rev2 board * readme edits * moved rev0 specific keymap to it's own folder * added revision data to the config files * added DEFAULT_FOLDER * added note on compiling for a specific revision * documentation and readme edits * moved keymaps around and cleaned up * added photo * formatting and cleanup * fixing whitespace * moving the tap dance enable to keymap folders
This commit is contained in:
		
							parent
							
								
									b3c7864990
								
							
						
					
					
						commit
						6c834dea7b
					
				
							
								
								
									
										12
									
								
								keyboards/navi10/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								keyboards/navi10/info.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | |||||||
|  | { | ||||||
|  |     "keyboard_name": "Navi10",  | ||||||
|  |     "url": "",  | ||||||
|  |     "maintainer": "emdarcher",  | ||||||
|  |     "width": 3,  | ||||||
|  |     "height": 5,  | ||||||
|  |     "layouts": { | ||||||
|  |         "LAYOUT": { | ||||||
|  |             "layout": [{"label":"Fn", "x":0, "y":0}, {"label":"Home", "x":1, "y":0}, {"label":"PgUp", "x":2, "y":0}, {"label":"Del", "x":0, "y":1}, {"label":"End", "x":1, "y":1}, {"label":"PgDn", "x":2, "y":1}, {"label":"Up", "x":1, "y":3}, {"label":"Left", "x":0, "y":4}, {"label":"Down", "x":1, "y":4}, {"label":"Right", "x":2, "y":4}] | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										131
									
								
								keyboards/navi10/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										131
									
								
								keyboards/navi10/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,131 @@ | |||||||
|  | /* Copyright 2019 Ethan Durrant (emdarcher)
 | ||||||
|  |  * | ||||||
|  |  * This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU General Public License as published by | ||||||
|  |  * the Free Software Foundation, either version 2 of the License, or | ||||||
|  |  * (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  |  */ | ||||||
|  | #include QMK_KEYBOARD_H | ||||||
|  | 
 | ||||||
|  | //create the tap type
 | ||||||
|  | typedef struct { | ||||||
|  |     bool is_press_action; | ||||||
|  |     int state; | ||||||
|  | } tap; | ||||||
|  | 
 | ||||||
|  | //tap dance states
 | ||||||
|  | enum { | ||||||
|  |     SINGLE_TAP = 1, | ||||||
|  |     SINGLE_HOLD = 2, | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | //tap dance keys
 | ||||||
|  | enum { | ||||||
|  |     TAPPY_KEY = 0 | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | //function to handle all the tap dances
 | ||||||
|  | int cur_dance(qk_tap_dance_state_t *state); | ||||||
|  | 
 | ||||||
|  | //functions for each tap dance
 | ||||||
|  | void tk_finished(qk_tap_dance_state_t *state, void *user_data); | ||||||
|  | void tk_reset(qk_tap_dance_state_t *state, void *user_data); | ||||||
|  | 
 | ||||||
|  | #define INDICATOR_LED   B5 | ||||||
|  | 
 | ||||||
|  | #define _FN0    1 | ||||||
|  | #define _ML1    2 | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  |     [0] = LAYOUT(/* Base */ | ||||||
|  |                  TD(TAPPY_KEY),KC_HOME, KC_PGUP, | ||||||
|  |                  KC_DEL,    KC_END,     KC_PGDN, | ||||||
|  |                   | ||||||
|  |                             KC_UP, | ||||||
|  |                  KC_LEFT,   KC_DOWN,    KC_RIGHT), | ||||||
|  |     [_FN0] = LAYOUT(/* function layer */ | ||||||
|  |                  KC_TRNS,   KC_PAUS,    KC_VOLU, | ||||||
|  |                  KC_ENTER,  KC_SLCK,    KC_VOLD, | ||||||
|  |                   | ||||||
|  |                             KC_TRNS, | ||||||
|  |                  KC_TRNS,   KC_TRNS,    KC_TRNS), | ||||||
|  |     [_ML1] = LAYOUT(/* media function layer, toggled on a single tap */ | ||||||
|  |                  KC_TRNS,   KC_TRNS,    KC_VOLU,  | ||||||
|  |                  KC_MUTE,   KC_TRNS,    KC_VOLD, | ||||||
|  |                   | ||||||
|  |                             KC_SPC, | ||||||
|  |                  KC_MRWD,   KC_MPLY,    KC_MFFD), | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | //determine the current tap dance state
 | ||||||
|  | int cur_dance (qk_tap_dance_state_t *state){ | ||||||
|  |     if(state->count == 1){ | ||||||
|  |         //if a tap was registered
 | ||||||
|  |         if(!state->pressed){ | ||||||
|  |             //if not still pressed, then was a single tap
 | ||||||
|  |             return SINGLE_TAP; | ||||||
|  |         } else { | ||||||
|  |             //if still pressed/held down, then it's a single hold
 | ||||||
|  |             return SINGLE_HOLD; | ||||||
|  |         } | ||||||
|  |     } else { | ||||||
|  |         return 8; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //initialize the tap structure for the tap key
 | ||||||
|  | static tap tk_tap_state = { | ||||||
|  |     .is_press_action = true, | ||||||
|  |     .state = 0 | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | //functions that control what our tap dance key does
 | ||||||
|  | void tk_finished(qk_tap_dance_state_t *state, void *user_data){ | ||||||
|  |     tk_tap_state.state = cur_dance(state); | ||||||
|  |     switch(tk_tap_state.state){ | ||||||
|  |         case SINGLE_TAP: | ||||||
|  |             //send desired key when tapped:
 | ||||||
|  |             //setting to the media layer
 | ||||||
|  |             if(layer_state_is(_ML1)){ | ||||||
|  |                 //if already active, toggle it to off
 | ||||||
|  |                 layer_off(_ML1); | ||||||
|  |                 //turn off the indicator LED
 | ||||||
|  |                 //set LED HI to turn it off
 | ||||||
|  |                 writePinHigh(INDICATOR_LED); | ||||||
|  |             } else { | ||||||
|  |                 //turn on the media layer
 | ||||||
|  |                 layer_on(_ML1); | ||||||
|  |                 //turn on the indicator LED
 | ||||||
|  |                 //set LED pin to LOW to turn it on
 | ||||||
|  |                 writePinLow(INDICATOR_LED); | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |         case SINGLE_HOLD: | ||||||
|  |             //set to desired layer when held:
 | ||||||
|  |             //setting to the function layer
 | ||||||
|  |             layer_on(_FN0); | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void tk_reset(qk_tap_dance_state_t *state, void *user_data){ | ||||||
|  |     //if held and released, leave the layer
 | ||||||
|  |     if(tk_tap_state.state == SINGLE_HOLD){ | ||||||
|  |         layer_off(_FN0); | ||||||
|  |     } | ||||||
|  |     //reset the state
 | ||||||
|  |     tk_tap_state.state = 0;  | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //associate the tap dance key with its functionality
 | ||||||
|  | qk_tap_dance_action_t tap_dance_actions[] = { | ||||||
|  |     [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, tk_finished, tk_reset, 275) | ||||||
|  | }; | ||||||
							
								
								
									
										11
									
								
								keyboards/navi10/keymaps/default/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								keyboards/navi10/keymaps/default/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | # The default keymap for the Navi10 | ||||||
|  | 
 | ||||||
|  | This keymap keeps a basic Navigation Cluster layout, but utilizes the Insert key as a FN/Tap key to access 2 layers. | ||||||
|  | 
 | ||||||
|  | - Base Layer:  | ||||||
|  |   * Navigation Cluster (sans Insert Key) | ||||||
|  | - Hold Insert -> Function Layer:  | ||||||
|  |   * Maps Volume Control on PgUp/PgDN, Pause/Scroll-Lock on Home/End (MacOS brightness), and Delete to Enter.  | ||||||
|  | - Tap Insert Once -> Media Layer (Tap again to leave):  | ||||||
|  |   * Has mappings for Audio control on MacOS using the arrow keys, PgUp/PgDn, and Delete. | ||||||
|  |   * Lights up the Central 3mm indicator LED. | ||||||
							
								
								
									
										1
									
								
								keyboards/navi10/keymaps/default/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/navi10/keymaps/default/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | TAP_DANCE_ENABLE = yes | ||||||
							
								
								
									
										182
									
								
								keyboards/navi10/keymaps/emdarcher/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										182
									
								
								keyboards/navi10/keymaps/emdarcher/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,182 @@ | |||||||
|  | /* Copyright 2019 Ethan Durrant (emdarcher)
 | ||||||
|  |  * | ||||||
|  |  * This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU General Public License as published by | ||||||
|  |  * the Free Software Foundation, either version 2 of the License, or | ||||||
|  |  * (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  |  */ | ||||||
|  | #include QMK_KEYBOARD_H | ||||||
|  | 
 | ||||||
|  | typedef struct { | ||||||
|  |     bool is_press_action; | ||||||
|  |     int state; | ||||||
|  | } tap; | ||||||
|  | 
 | ||||||
|  | //tap dance states
 | ||||||
|  | enum { | ||||||
|  |     SINGLE_TAP = 1, | ||||||
|  |     SINGLE_HOLD = 2, | ||||||
|  |     DOUBLE_TAP = 3, | ||||||
|  |     TRIPLE_TAP = 4 | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | //tap dance keys
 | ||||||
|  | enum { | ||||||
|  |     TAPPY_KEY = 0 | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | //function to handle all the tap dances
 | ||||||
|  | int cur_dance(qk_tap_dance_state_t *state); | ||||||
|  | 
 | ||||||
|  | //functions for each tap dance
 | ||||||
|  | void tk_finished(qk_tap_dance_state_t *state, void *user_data); | ||||||
|  | void tk_reset(qk_tap_dance_state_t *state, void *user_data); | ||||||
|  | 
 | ||||||
|  | #define INDICATOR_LED   B5 | ||||||
|  | #define TX_LED          D5 | ||||||
|  | #define RX_LED          B0 | ||||||
|  | 
 | ||||||
|  | #define _FN0    1 | ||||||
|  | #define _ML1    2 | ||||||
|  | #define _CL0    3 | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  |     [0] = LAYOUT(/* Base */ | ||||||
|  |                  TD(TAPPY_KEY),KC_HOME, KC_PGUP, | ||||||
|  |                  KC_DEL,    KC_END,     KC_PGDN, | ||||||
|  |                   | ||||||
|  |                             KC_UP, | ||||||
|  |                  KC_LEFT,   KC_DOWN,    KC_RIGHT), | ||||||
|  |     [_FN0] = LAYOUT(/* function layer */ | ||||||
|  |                  KC_TRNS,   KC_PAUS,    KC_VOLU, | ||||||
|  |                  KC_ENTER,  KC_SLCK,    KC_VOLD, | ||||||
|  |                   | ||||||
|  |                             KC_TRNS, | ||||||
|  |                  KC_TRNS,   KC_TRNS,    KC_TRNS), | ||||||
|  |     [_ML1] = LAYOUT(/* media function layer on double tap */ | ||||||
|  |                  KC_TRNS,   KC_TRNS,    KC_VOLU,  | ||||||
|  |                  KC_MUTE,   KC_TRNS,    KC_VOLD, | ||||||
|  |                   | ||||||
|  |                             KC_SPC, | ||||||
|  |                  KC_MRWD,   KC_MPLY,    KC_MFFD), | ||||||
|  |     [_CL0] = LAYOUT(/* control layer on single tap */ | ||||||
|  |                  KC_TRNS,   KC_TRNS,    KC_TRNS, | ||||||
|  |                  KC_TRNS,   KC_TRNS,    KC_TRNS, | ||||||
|  | 
 | ||||||
|  |                                 LCTL(KC_UP), | ||||||
|  |                  LCTL(KC_LEFT), LCTL(KC_DOWN), LCTL(KC_RIGHT) ), | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | void matrix_init_user(void) { | ||||||
|  |     //init the Pro Micro on-board LEDs
 | ||||||
|  |     setPinOutput(TX_LED); | ||||||
|  |     setPinOutput(RX_LED); | ||||||
|  |     //set to off
 | ||||||
|  |     writePinHigh(TX_LED); | ||||||
|  |     writePinHigh(RX_LED); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //determine the current tap dance state
 | ||||||
|  | int cur_dance (qk_tap_dance_state_t *state){ | ||||||
|  |     if(state->count == 1){ | ||||||
|  |         //if a tap was registered
 | ||||||
|  |         if(!state->pressed){ | ||||||
|  |             //if not still pressed, then was a single tap
 | ||||||
|  |             return SINGLE_TAP; | ||||||
|  |         } else { | ||||||
|  |             //if still pressed/held down, then it's a single hold
 | ||||||
|  |             return SINGLE_HOLD; | ||||||
|  |         } | ||||||
|  |     } else if(state->count == 2){ | ||||||
|  |         //if tapped twice, set to double tap
 | ||||||
|  |         return DOUBLE_TAP; | ||||||
|  |     } else if(state->count == 3){ | ||||||
|  |         //if tapped thrice, set to triple tap
 | ||||||
|  |         return TRIPLE_TAP; | ||||||
|  |     } else { | ||||||
|  |         return 8; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | //initialize the tap structure for the tap key
 | ||||||
|  | static tap tk_tap_state = { | ||||||
|  |     .is_press_action = true, | ||||||
|  |     .state = 0 | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | //functions that control what our tap dance key does
 | ||||||
|  | void tk_finished(qk_tap_dance_state_t *state, void *user_data){ | ||||||
|  |     tk_tap_state.state = cur_dance(state); | ||||||
|  |     switch(tk_tap_state.state){ | ||||||
|  |         case SINGLE_TAP: | ||||||
|  |             //toggle desired layer when tapped:
 | ||||||
|  |             if(layer_state_is(_CL0)){ | ||||||
|  |                 //if already active, toggle it to off
 | ||||||
|  |                 layer_off(_CL0); | ||||||
|  |                 //turn off LEDs
 | ||||||
|  |                 writePinHigh(TX_LED); | ||||||
|  |                 writePinHigh(RX_LED); | ||||||
|  |             } else { | ||||||
|  |                 //turn on the command layer
 | ||||||
|  |                 layer_on(_CL0); | ||||||
|  |                 //turn on the LEDs
 | ||||||
|  |                 writePinLow(TX_LED); | ||||||
|  |                 writePinLow(RX_LED); | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |         case SINGLE_HOLD: | ||||||
|  |             //set to desired layer when held:
 | ||||||
|  |             //setting to the function layer
 | ||||||
|  |             layer_on(_FN0); | ||||||
|  |             break; | ||||||
|  |         case DOUBLE_TAP: | ||||||
|  |             //set to desired layer when double tapped:
 | ||||||
|  |             //setting to the media layer
 | ||||||
|  |             if(layer_state_is(_ML1)){ | ||||||
|  |                 //if already active, toggle it to off
 | ||||||
|  |                 layer_off(_ML1); | ||||||
|  |                 //turn off the indicator LED
 | ||||||
|  |                 //set LED HI to turn it off
 | ||||||
|  |                 writePinHigh(INDICATOR_LED); | ||||||
|  |             } else { | ||||||
|  |                 //turn on the media layer
 | ||||||
|  |                 layer_on(_ML1); | ||||||
|  |                 //turn on the indicator LED
 | ||||||
|  |                 //set LED pin to LOW to turn it on
 | ||||||
|  |                 writePinLow(INDICATOR_LED); | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |         case TRIPLE_TAP: | ||||||
|  |             //reset all layers
 | ||||||
|  |             layer_clear(); | ||||||
|  |             //set all LEDs off
 | ||||||
|  |             writePinHigh(TX_LED); | ||||||
|  |             writePinHigh(RX_LED); | ||||||
|  |             writePinHigh(INDICATOR_LED); | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void tk_reset(qk_tap_dance_state_t *state, void *user_data){ | ||||||
|  |     //if held and released, leave the layer
 | ||||||
|  |     if(tk_tap_state.state == SINGLE_HOLD){ | ||||||
|  |         layer_off(_FN0); | ||||||
|  |     } | ||||||
|  |     //reset the state
 | ||||||
|  |     tk_tap_state.state = 0;  | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | //associate the tap dance key with its functionality
 | ||||||
|  | qk_tap_dance_action_t tap_dance_actions[] = { | ||||||
|  |     [TAPPY_KEY] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, tk_finished, tk_reset, 275) | ||||||
|  | }; | ||||||
							
								
								
									
										16
									
								
								keyboards/navi10/keymaps/emdarcher/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								keyboards/navi10/keymaps/emdarcher/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | |||||||
|  | # emdarcher's keymap for the Navi10 | ||||||
|  | 
 | ||||||
|  | This is my personal keymap for the Navi10, developed for the original Rev0 prototype. It uses Tap Dance extensively on the INSERT key to access different layers. | ||||||
|  | 
 | ||||||
|  | - Base Layer:  | ||||||
|  |   * Regular Navigation Cluster except for the INSERT key which is for tapping. | ||||||
|  | - Hold Insert -> Function Layer:  | ||||||
|  |   * Maps Volume Control on PgUp/PgDN, Pause/Scroll-Lock on Home/End (MacOS brightness), and Delete to Enter.  | ||||||
|  | - 2 Taps -> Media Layer:  | ||||||
|  |   * Has mappings for Audio control on MacOS using the arrow keys, PgUp/PgDn, and Delete. | ||||||
|  |   * Lights up the Central 3mm indicator LED. | ||||||
|  | - 1 Tap -> Control Layer:  | ||||||
|  |   * Binds the arrow keys as LCTRL + Arrow Key for use in changing workspaces in MacOS. | ||||||
|  |   * Lights the Pro Micro TX/RX LEDs. These are visible through the board if you use clear PCB mount switch bases. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
							
								
								
									
										1
									
								
								keyboards/navi10/keymaps/emdarcher/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/navi10/keymaps/emdarcher/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | TAP_DANCE_ENABLE = yes | ||||||
							
								
								
									
										19
									
								
								keyboards/navi10/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboards/navi10/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | |||||||
|  | # Navi10 / ナビ10 | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | 
 | ||||||
|  | A simple and fun navigation cluster macropad with exposed components. | ||||||
|  | 
 | ||||||
|  | * Keyboard Maintainer: [emdarcher](https://github.com/emdarcher) | ||||||
|  | * Hardware Supported: Navi10 | ||||||
|  | * Hardware Availability: [KeyHive](https://www.keyhive.xyz/) | ||||||
|  | 
 | ||||||
|  | Make example for this keyboard (after setting up your build environment): | ||||||
|  | 
 | ||||||
|  |     make navi10:default | ||||||
|  | 
 | ||||||
|  | Make example for a specific revision (ex. rev2): | ||||||
|  | 
 | ||||||
|  |     make navi10/rev2:default | ||||||
|  | 
 | ||||||
|  | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||||||
							
								
								
									
										51
									
								
								keyboards/navi10/rev0/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								keyboards/navi10/rev0/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | |||||||
|  | /*
 | ||||||
|  | Copyright 2019 Ethan Durrant (emdarcher) | ||||||
|  | 
 | ||||||
|  | This program is free software: you can redistribute it and/or modify | ||||||
|  | it under the terms of the GNU General Public License as published by | ||||||
|  | the Free Software Foundation, either version 2 of the License, or | ||||||
|  | (at your option) any later version. | ||||||
|  | 
 | ||||||
|  | This program is distributed in the hope that it will be useful, | ||||||
|  | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | GNU General Public License for more details. | ||||||
|  | 
 | ||||||
|  | You should have received a copy of the GNU General Public License | ||||||
|  | along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | #pragma once | ||||||
|  | 
 | ||||||
|  | #include "config_common.h" | ||||||
|  | 
 | ||||||
|  | /* USB Device descriptor parameter */ | ||||||
|  | #define VENDOR_ID           0xFEED | ||||||
|  | #define PRODUCT_ID          0x0000 | ||||||
|  | #define DEVICE_VER          0x0001 | ||||||
|  | #define MANUFACTURER        emdarcher | ||||||
|  | #define PRODUCT             Navi10 | ||||||
|  | #define DESCRIPTION         A simple and fun navigation cluster macropad with retro Sci-Fi vibes. | ||||||
|  | 
 | ||||||
|  | /* key matrix size */ | ||||||
|  | #define MATRIX_ROWS 4 | ||||||
|  | #define MATRIX_COLS 3 | ||||||
|  | 
 | ||||||
|  | /* Keyboard Matrix Assignments */ | ||||||
|  | #define MATRIX_ROW_PINS \ | ||||||
|  |     { B6, B2, B3, B4 } | ||||||
|  | #define MATRIX_COL_PINS \ | ||||||
|  |     { D1, D0, F6 } | ||||||
|  | #define UNUSED_PINS | ||||||
|  | 
 | ||||||
|  | /* COL2ROW, ROW2COL*/ | ||||||
|  | #define DIODE_DIRECTION COL2ROW | ||||||
|  | 
 | ||||||
|  | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||||||
|  | #define DEBOUNCE 5 | ||||||
|  | 
 | ||||||
|  | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||||||
|  | #define LOCKING_SUPPORT_ENABLE | ||||||
|  | /* Locking resynchronize hack */ | ||||||
|  | #define LOCKING_RESYNC_ENABLE | ||||||
|  | 
 | ||||||
							
								
								
									
										30
									
								
								keyboards/navi10/rev0/rev0.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								keyboards/navi10/rev0/rev0.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | |||||||
|  | /* Copyright 2019 Ethan Durrant (emdarcher)
 | ||||||
|  |  * | ||||||
|  |  * This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU General Public License as published by | ||||||
|  |  * the Free Software Foundation, either version 2 of the License, or | ||||||
|  |  * (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  |  */ | ||||||
|  | #include "rev0.h" | ||||||
|  | 
 | ||||||
|  | void matrix_init_kb(void) { | ||||||
|  |   // put your keyboard start-up code here
 | ||||||
|  |   // runs once when the firmware starts up
 | ||||||
|  | 
 | ||||||
|  |   //set the indicator LED pin to Output
 | ||||||
|  |   setPinOutput(B5); | ||||||
|  |   //set HIGH for off.
 | ||||||
|  |   writePinHigh(B5); | ||||||
|  | 
 | ||||||
|  |   //call any user functions
 | ||||||
|  |   matrix_init_user(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
							
								
								
									
										34
									
								
								keyboards/navi10/rev0/rev0.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								keyboards/navi10/rev0/rev0.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | /* Copyright 2019 Ethan Durrant (emdarcher)
 | ||||||
|  |  * | ||||||
|  |  * This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU General Public License as published by | ||||||
|  |  * the Free Software Foundation, either version 2 of the License, or | ||||||
|  |  * (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  |  */ | ||||||
|  | #pragma once | ||||||
|  | 
 | ||||||
|  | #include "quantum.h" | ||||||
|  | 
 | ||||||
|  | #define LAYOUT( \ | ||||||
|  |     k0, k1, k2, \ | ||||||
|  |     k3, k4, k5, \ | ||||||
|  |                 \ | ||||||
|  |         k6, \ | ||||||
|  |     k7, k8, k9 \ | ||||||
|  | ) \ | ||||||
|  | { \ | ||||||
|  |     {k0, k1, k2}, \ | ||||||
|  |     {k3, k4, k5}, \ | ||||||
|  |     {KC_NO, k6, KC_NO}, \ | ||||||
|  |     {k7, k8, k9}, \ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
							
								
								
									
										33
									
								
								keyboards/navi10/rev0/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								keyboards/navi10/rev0/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | |||||||
|  | # MCU name
 | ||||||
|  | MCU = atmega32u4 | ||||||
|  | 
 | ||||||
|  | # Bootloader selection
 | ||||||
|  | #   Teensy       halfkay
 | ||||||
|  | #   Pro Micro    caterina
 | ||||||
|  | #   Atmel DFU    atmel-dfu
 | ||||||
|  | #   LUFA DFU     lufa-dfu
 | ||||||
|  | #   QMK DFU      qmk-dfu
 | ||||||
|  | #   ATmega32A    bootloadHID
 | ||||||
|  | #   ATmega328P   USBasp
 | ||||||
|  | BOOTLOADER = caterina | ||||||
|  | 
 | ||||||
|  | # Build Options
 | ||||||
|  | #   change yes to no to disable
 | ||||||
|  | #
 | ||||||
|  | BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration | ||||||
|  | MOUSEKEY_ENABLE = no        # Mouse keys | ||||||
|  | EXTRAKEY_ENABLE = yes       # Audio control and System control | ||||||
|  | CONSOLE_ENABLE = yes        # Console for debug | ||||||
|  | COMMAND_ENABLE = yes        # Commands for debug and configuration | ||||||
|  | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | ||||||
|  | SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend | ||||||
|  | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | ||||||
|  | NKRO_ENABLE = no            # USB Nkey Rollover | ||||||
|  | BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality | ||||||
|  | RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow | ||||||
|  | MIDI_ENABLE = no            # MIDI support  | ||||||
|  | UNICODE_ENABLE = no         # Unicode | ||||||
|  | BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID | ||||||
|  | AUDIO_ENABLE = no           # Audio output on port C6 | ||||||
|  | FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches | ||||||
|  | HD44780_ENABLE = no         # Enable support for HD44780 based LCDs  | ||||||
							
								
								
									
										51
									
								
								keyboards/navi10/rev2/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								keyboards/navi10/rev2/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | |||||||
|  | /*
 | ||||||
|  | Copyright 2019 Ethan Durrant (emdarcher) | ||||||
|  | 
 | ||||||
|  | This program is free software: you can redistribute it and/or modify | ||||||
|  | it under the terms of the GNU General Public License as published by | ||||||
|  | the Free Software Foundation, either version 2 of the License, or | ||||||
|  | (at your option) any later version. | ||||||
|  | 
 | ||||||
|  | This program is distributed in the hope that it will be useful, | ||||||
|  | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | GNU General Public License for more details. | ||||||
|  | 
 | ||||||
|  | You should have received a copy of the GNU General Public License | ||||||
|  | along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | #pragma once | ||||||
|  | 
 | ||||||
|  | #include "config_common.h" | ||||||
|  | 
 | ||||||
|  | /* USB Device descriptor parameter */ | ||||||
|  | #define VENDOR_ID           0xFEED | ||||||
|  | #define PRODUCT_ID          0x0000 | ||||||
|  | #define DEVICE_VER          0x0002 | ||||||
|  | #define MANUFACTURER        emdarcher | ||||||
|  | #define PRODUCT             Navi10 | ||||||
|  | #define DESCRIPTION         A simple and fun navigation cluster macropad with exposed components. | ||||||
|  | 
 | ||||||
|  | /* key matrix size */ | ||||||
|  | #define MATRIX_ROWS 4 | ||||||
|  | #define MATRIX_COLS 3 | ||||||
|  | 
 | ||||||
|  | /* Keyboard Matrix Assignments */ | ||||||
|  | #define MATRIX_ROW_PINS \ | ||||||
|  |     { B6, B2, B3, B4 } | ||||||
|  | #define MATRIX_COL_PINS \ | ||||||
|  |     { D4, C6, B1 } | ||||||
|  | #define UNUSED_PINS | ||||||
|  | 
 | ||||||
|  | /* COL2ROW, ROW2COL*/ | ||||||
|  | #define DIODE_DIRECTION COL2ROW | ||||||
|  | 
 | ||||||
|  | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||||||
|  | #define DEBOUNCE 5 | ||||||
|  | 
 | ||||||
|  | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||||||
|  | #define LOCKING_SUPPORT_ENABLE | ||||||
|  | /* Locking resynchronize hack */ | ||||||
|  | #define LOCKING_RESYNC_ENABLE | ||||||
|  | 
 | ||||||
							
								
								
									
										30
									
								
								keyboards/navi10/rev2/rev2.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								keyboards/navi10/rev2/rev2.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | |||||||
|  | /* Copyright 2019 Ethan Durrant (emdarcher)
 | ||||||
|  |  * | ||||||
|  |  * This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU General Public License as published by | ||||||
|  |  * the Free Software Foundation, either version 2 of the License, or | ||||||
|  |  * (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  |  */ | ||||||
|  | #include "rev2.h" | ||||||
|  | 
 | ||||||
|  | void matrix_init_kb(void) { | ||||||
|  |   // put your keyboard start-up code here
 | ||||||
|  |   // runs once when the firmware starts up
 | ||||||
|  | 
 | ||||||
|  |   //set the indicator LED pin to Output
 | ||||||
|  |   setPinOutput(B5); | ||||||
|  |   //set HIGH for off.
 | ||||||
|  |   writePinHigh(B5); | ||||||
|  | 
 | ||||||
|  |   //call any user functions
 | ||||||
|  |   matrix_init_user(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
							
								
								
									
										34
									
								
								keyboards/navi10/rev2/rev2.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								keyboards/navi10/rev2/rev2.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | /* Copyright 2019 Ethan Durrant (emdarcher)
 | ||||||
|  |  * | ||||||
|  |  * This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU General Public License as published by | ||||||
|  |  * the Free Software Foundation, either version 2 of the License, or | ||||||
|  |  * (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  |  */ | ||||||
|  | #pragma once | ||||||
|  | 
 | ||||||
|  | #include "quantum.h" | ||||||
|  | 
 | ||||||
|  | #define LAYOUT( \ | ||||||
|  |     k0, k1, k2, \ | ||||||
|  |     k3, k4, k5, \ | ||||||
|  |                 \ | ||||||
|  |         k6, \ | ||||||
|  |     k7, k8, k9 \ | ||||||
|  | ) \ | ||||||
|  | { \ | ||||||
|  |     {k0, k1, k2}, \ | ||||||
|  |     {k3, k4, k5}, \ | ||||||
|  |     {KC_NO, k6, KC_NO}, \ | ||||||
|  |     {k7, k8, k9}, \ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
							
								
								
									
										33
									
								
								keyboards/navi10/rev2/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								keyboards/navi10/rev2/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | |||||||
|  | # MCU name
 | ||||||
|  | MCU = atmega32u4 | ||||||
|  | 
 | ||||||
|  | # Bootloader selection
 | ||||||
|  | #   Teensy       halfkay
 | ||||||
|  | #   Pro Micro    caterina
 | ||||||
|  | #   Atmel DFU    atmel-dfu
 | ||||||
|  | #   LUFA DFU     lufa-dfu
 | ||||||
|  | #   QMK DFU      qmk-dfu
 | ||||||
|  | #   ATmega32A    bootloadHID
 | ||||||
|  | #   ATmega328P   USBasp
 | ||||||
|  | BOOTLOADER = caterina | ||||||
|  | 
 | ||||||
|  | # Build Options
 | ||||||
|  | #   change yes to no to disable
 | ||||||
|  | #
 | ||||||
|  | BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration | ||||||
|  | MOUSEKEY_ENABLE = no        # Mouse keys | ||||||
|  | EXTRAKEY_ENABLE = yes       # Audio control and System control | ||||||
|  | CONSOLE_ENABLE = yes        # Console for debug | ||||||
|  | COMMAND_ENABLE = yes        # Commands for debug and configuration | ||||||
|  | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | ||||||
|  | SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend | ||||||
|  | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | ||||||
|  | NKRO_ENABLE = no            # USB Nkey Rollover | ||||||
|  | BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality | ||||||
|  | RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow | ||||||
|  | MIDI_ENABLE = no            # MIDI support  | ||||||
|  | UNICODE_ENABLE = no         # Unicode | ||||||
|  | BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID | ||||||
|  | AUDIO_ENABLE = no           # Audio output on port C6 | ||||||
|  | FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches | ||||||
|  | HD44780_ENABLE = no         # Enable support for HD44780 based LCDs  | ||||||
							
								
								
									
										51
									
								
								keyboards/navi10/rev3/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								keyboards/navi10/rev3/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | |||||||
|  | /*
 | ||||||
|  | Copyright 2019 Ethan Durrant (emdarcher) | ||||||
|  | 
 | ||||||
|  | This program is free software: you can redistribute it and/or modify | ||||||
|  | it under the terms of the GNU General Public License as published by | ||||||
|  | the Free Software Foundation, either version 2 of the License, or | ||||||
|  | (at your option) any later version. | ||||||
|  | 
 | ||||||
|  | This program is distributed in the hope that it will be useful, | ||||||
|  | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | GNU General Public License for more details. | ||||||
|  | 
 | ||||||
|  | You should have received a copy of the GNU General Public License | ||||||
|  | along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | #pragma once | ||||||
|  | 
 | ||||||
|  | #include "config_common.h" | ||||||
|  | 
 | ||||||
|  | /* USB Device descriptor parameter */ | ||||||
|  | #define VENDOR_ID           0xFEED | ||||||
|  | #define PRODUCT_ID          0x0000 | ||||||
|  | #define DEVICE_VER          0x0003 | ||||||
|  | #define MANUFACTURER        emdarcher | ||||||
|  | #define PRODUCT             Navi10 | ||||||
|  | #define DESCRIPTION         A simple and fun navigation cluster macropad with exposed components. | ||||||
|  | 
 | ||||||
|  | /* key matrix size */ | ||||||
|  | #define MATRIX_ROWS 4 | ||||||
|  | #define MATRIX_COLS 3 | ||||||
|  | 
 | ||||||
|  | /* Keyboard Matrix Assignments */ | ||||||
|  | #define MATRIX_ROW_PINS \ | ||||||
|  |     { B6, B2, B3, B4 } | ||||||
|  | #define MATRIX_COL_PINS \ | ||||||
|  |     { D4, E6, B1 } | ||||||
|  | #define UNUSED_PINS | ||||||
|  | 
 | ||||||
|  | /* COL2ROW, ROW2COL*/ | ||||||
|  | #define DIODE_DIRECTION COL2ROW | ||||||
|  | 
 | ||||||
|  | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||||||
|  | #define DEBOUNCE 5 | ||||||
|  | 
 | ||||||
|  | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||||||
|  | #define LOCKING_SUPPORT_ENABLE | ||||||
|  | /* Locking resynchronize hack */ | ||||||
|  | #define LOCKING_RESYNC_ENABLE | ||||||
|  | 
 | ||||||
							
								
								
									
										30
									
								
								keyboards/navi10/rev3/rev3.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								keyboards/navi10/rev3/rev3.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | |||||||
|  | /* Copyright 2019 Ethan Durrant (emdarcher)
 | ||||||
|  |  * | ||||||
|  |  * This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU General Public License as published by | ||||||
|  |  * the Free Software Foundation, either version 2 of the License, or | ||||||
|  |  * (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  |  */ | ||||||
|  | #include "rev3.h" | ||||||
|  | 
 | ||||||
|  | void matrix_init_kb(void) { | ||||||
|  |   // put your keyboard start-up code here
 | ||||||
|  |   // runs once when the firmware starts up
 | ||||||
|  | 
 | ||||||
|  |   //set the indicator LED pin to Output
 | ||||||
|  |   setPinOutput(B5); | ||||||
|  |   //set HIGH for off.
 | ||||||
|  |   writePinHigh(B5); | ||||||
|  | 
 | ||||||
|  |   //call any user functions
 | ||||||
|  |   matrix_init_user(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
							
								
								
									
										34
									
								
								keyboards/navi10/rev3/rev3.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								keyboards/navi10/rev3/rev3.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | /* Copyright 2019 Ethan Durrant (emdarcher)
 | ||||||
|  |  * | ||||||
|  |  * This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU General Public License as published by | ||||||
|  |  * the Free Software Foundation, either version 2 of the License, or | ||||||
|  |  * (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  |  */ | ||||||
|  | #pragma once | ||||||
|  | 
 | ||||||
|  | #include "quantum.h" | ||||||
|  | 
 | ||||||
|  | #define LAYOUT( \ | ||||||
|  |     k0, k1, k2, \ | ||||||
|  |     k3, k4, k5, \ | ||||||
|  |                 \ | ||||||
|  |         k6, \ | ||||||
|  |     k7, k8, k9 \ | ||||||
|  | ) \ | ||||||
|  | { \ | ||||||
|  |     {k0, k1, k2}, \ | ||||||
|  |     {k3, k4, k5}, \ | ||||||
|  |     {KC_NO, k6, KC_NO}, \ | ||||||
|  |     {k7, k8, k9}, \ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
							
								
								
									
										33
									
								
								keyboards/navi10/rev3/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								keyboards/navi10/rev3/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | |||||||
|  | # MCU name
 | ||||||
|  | MCU = atmega32u4 | ||||||
|  | 
 | ||||||
|  | # Bootloader selection
 | ||||||
|  | #   Teensy       halfkay
 | ||||||
|  | #   Pro Micro    caterina
 | ||||||
|  | #   Atmel DFU    atmel-dfu
 | ||||||
|  | #   LUFA DFU     lufa-dfu
 | ||||||
|  | #   QMK DFU      qmk-dfu
 | ||||||
|  | #   ATmega32A    bootloadHID
 | ||||||
|  | #   ATmega328P   USBasp
 | ||||||
|  | BOOTLOADER = caterina | ||||||
|  | 
 | ||||||
|  | # Build Options
 | ||||||
|  | #   change yes to no to disable
 | ||||||
|  | #
 | ||||||
|  | BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration | ||||||
|  | MOUSEKEY_ENABLE = no        # Mouse keys | ||||||
|  | EXTRAKEY_ENABLE = yes       # Audio control and System control | ||||||
|  | CONSOLE_ENABLE = yes        # Console for debug | ||||||
|  | COMMAND_ENABLE = yes        # Commands for debug and configuration | ||||||
|  | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | ||||||
|  | SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend | ||||||
|  | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | ||||||
|  | NKRO_ENABLE = no            # USB Nkey Rollover | ||||||
|  | BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality | ||||||
|  | RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow | ||||||
|  | MIDI_ENABLE = no            # MIDI support  | ||||||
|  | UNICODE_ENABLE = no         # Unicode | ||||||
|  | BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID | ||||||
|  | AUDIO_ENABLE = yes          # Audio output on port C6 | ||||||
|  | FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches | ||||||
|  | HD44780_ENABLE = no         # Enable support for HD44780 based LCDs  | ||||||
							
								
								
									
										1
									
								
								keyboards/navi10/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/navi10/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | DEFAULT_FOLDER = navi10/rev3 | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Ethan Durrant
						Ethan Durrant