* Ergodone refactor * Ergodox Infinity refactor * Ergotravel refactor * Ergotravel configurator layout update * Fixing include on Ergodox Infinity narze keymap
		
			
				
	
	
		
			399 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			399 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #include QMK_KEYBOARD_H
 | |
| #include "debug.h"
 | |
| #include "action_layer.h"
 | |
| #include "version.h"
 | |
| #include "process_keycode/process_tap_dance.h"
 | |
| #include "gordon.h"
 | |
| 
 | |
| #include "keymap_german.h"
 | |
| 
 | |
| #include "keymap_nordic.h"
 | |
| 
 | |
| 
 | |
| enum custom_keycodes {
 | |
|   PLACEHOLDER = SAFE_RANGE, // can always be here
 | |
|   EPRM,
 | |
|   VRSN,
 | |
|   RGB_SLD,
 | |
| };
 | |
| 
 | |
| 
 | |
| // Custom tapping terms for each key.
 | |
| // Requires changes to action_taping.c
 | |
| // uint16_t get_tapping_term(keyevent_t* event) {
 | |
| //     uint16_t keycode = keymap_key_to_keycode(layer_switch_get_layer(event->key), event->key);
 | |
| //     if (keycode == NAV_E ) {
 | |
| //         return TAPPING_TERM + 50;
 | |
| //     }
 | |
| //     return TAPPING_TERM;
 | |
| // }
 | |
| 
 | |
| 
 | |
| // _XXXXXX_ is a symbol that means, "DO NOT ASSIGN THIS KEY TO ANTYING", because the key
 | |
| //        underneath this layer is the key that sends you to/from this layer.
 | |
| //        Meaning, if you were to put something here - then you will be stuck in this layer.
 | |
| //        It is simply a visual reminder not to use that key for this layer.
 | |
| //        Example: On the numpad layer, under the letter `D` is `_XXXXXXX_`, because pressing and holding
 | |
| //          `D` sends you to the numpad layer
 | |
| 
 | |
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | |
| 
 | |
| 
 | |
| //**************************FIRST LAYER - LAYER ZERO **************************************
 | |
|   [_QWERTY] = LAYOUT_ergodox(
 | |
| 
 | |
|     SHF6_AF7, F1_F13  ,    F2_F14,   TD(F3D), F4_ALTF4,    F5_F15,   KC_F11,
 | |
|     SPRK_TCK  , Q_ESC   ,  CTR_SH_W,     NAV_E, ALT_SH_R,      KC_T, PRINTSCR,
 | |
|     KC_TAB  , KC_A    ,     MEH_S,  NUMPAD_D,   CTRL_F,     WIN_G,
 | |
|     OSL(_ONESHOT), CTRL_Z  ,   HYPER_X,   MOUSE_C,    ALT_V,      KC_B, OSL(_MOUSE),
 | |
|     KC_MINUS, KC_GRAVE, KC_DELETE,   KC_LEFT, KC_RIGHT,
 | |
| 
 | |
|                                               LSFT(KC_INSERT),  TT(_QWERTY_KIDS),
 | |
|                                                           ________ ,
 | |
|                                     KC_LSHIFT, SYMB_BSP,  KC_INSERT   ,
 | |
| 
 | |
|                  F12_RUN,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10, TD(CALCCOMP),
 | |
|                 CALTDEL ,    KC_Y,      KC_U,     KC_I,     KC_O,      KC_P,  MODRESET,
 | |
|                              WIN_H,   CTRL_J, APP_SW_K,    MEH_L,  COL_MOUS, END_HOME,
 | |
|              OSL(_ONESHOT),     KC_N,  ALT_M, COMMA_TD, HYPE_DOT,  KC_SLASH, ID_MAN_IP,
 | |
|                                        KC_UP,  KC_DOWN,KC_DELETE,    KC_TILD,    KC_UNDS,
 | |
| 
 | |
|   TT(_STREET_FIGHTER),  ________,
 | |
|          KC_PGUP,
 | |
|   KC_PGDOWN, LT(_NAV,KC_ENTER), SPAC_TXT),
 | |
| 
 | |
| 
 | |
|   //**************************SYMBOLS LAYER**************************
 | |
|   [_SYMBOLS] = LAYOUT_ergodox(
 | |
|     ________, ________, ________, ________, ________, ________,  ________,
 | |
|     ________, DEREF   ,    KC_AT,  KC_LCBR,  KC_RCBR,  KC_CIRC,  ________,
 | |
|     ________,  KC_EXLM,  KC_HASH,  KC_LPRN,  KC_RPRN,  ________,
 | |
|     ________,KC_DOLLAR,  KC_PERC, LSQUIGLY, RSQUIGLY, ________,  ________,
 | |
|     ________,TICK3    ,  ________,  ________,  ________,
 | |
| 
 | |
|                                     ________,________,
 | |
|                                              ________,
 | |
|                            ________,_XXXXXX_,________,
 | |
| 
 | |
| 
 | |
|                   ________, ________, ________, ________, ________, ________, NUMLOCK,
 | |
|                   ________,TIL_SLASH,  KC_PIPE,  KC_PLUS,  KC_AMPR, ________, CAPLOCK,
 | |
|                              EQRIGHT,  KC_DQUO, KC_EQUAL, KC_QUOTE,KC_SCOLON, ________,
 | |
|                   ________, KC_M, BK_SLASH,  ASTERSK,   KC_DOT, KC_SLASH, ________,
 | |
|                   ________,________ ,________,TILD3,________,
 | |
|                                                               ________,________,
 | |
|                                                                        ________,
 | |
|                                                      ________,________,_XXXXXX_),
 | |
| 
 | |
|   //**************************MOUSE MOVEMENT LAYER**************************
 | |
|   [_MOUSE] = LAYOUT_ergodox(UP_ENTER_RESET,________,________,________,________,________,MODRESET,
 | |
|                     RESET,KC_SECRET_5,________,KC_MS_UP,KC_SECRET_4,KC_MS_WH_UP,________,
 | |
|                     ________,________,KC_MS_LEFT,KC_MS_DOWN,KC_MS_RIGHT,KC_MS_WH_DOWN,
 | |
|                     KC_SECRET_5,KC_SECRET_4,KC_SECRET_3,_XXXXXX_,KC_SECRET_2,KC_SECRET_1,_XXXXXX_,
 | |
|                     ________,________,HYPR(KC_F15),KC_MS_WH_LEFT,KC_MS_WH_RIGHT,
 | |
| 
 | |
|                                                        ________,________,
 | |
|                                                                 ________,
 | |
|                                           KC_MS_BTN1,KC_MS_BTN2,________,
 | |
| 
 | |
| 
 | |
|                     ________,________,________,________,________,________,________,
 | |
|                     ________,________,________,KC_UP,________,KC_MEDIA_PLAY_PAUSE,________,
 | |
|                     ________,KC_LEFT,KC_DOWN,KC_RIGHT,_XXXXXX_,________,
 | |
|                     ________,KC_MEDIA_NEXT_TRACK,KC_AUDIO_VOL_UP,KC_AUDIO_VOL_DOWN,KC_MUTE,________,________,
 | |
|                     KC_MS_WH_UP,KC_MS_WH_DOWN,________,________,________,
 | |
|                     ________,________,
 | |
|                     ________,
 | |
|                     ________,KC_WWW_BACK,KC_WWW_FORWARD),
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|   //**************************WINDOWS NAVIGATION LAYER**************************
 | |
| 
 | |
|   [_NAV] = LAYOUT_ergodox(________,________,________,________,________,________,________,
 | |
|                   ________,________,SNAPLEFT,_XXXXXX_,SNAPRGHT,________,________,
 | |
|                   ________,KC_WWW_BACK,PREVTAB,________,NEXTTAB,SNAPUP,
 | |
|                   ________,________,WORKLEFT,________,WORKRIGHT,SNAPDOWN,________,
 | |
|                   ________,________,________,________,________,
 | |
| 
 | |
|                   ________,________,
 | |
|                            ________,
 | |
|          ________,________,________,
 | |
| 
 | |
| 
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,SNAPUP  ,KC_UP   ,SNAPDOWN,________,________,
 | |
|                   ________,KC_LEFT ,KC_DOWN ,KC_RIGHT,________,________,
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,
 | |
| 
 | |
| 
 | |
|          ________,________,
 | |
|          ________,
 | |
|          ________,________,________),
 | |
| 
 | |
|   //****************************NUMPAD LAYER****************************
 | |
|   [_NUMPAD] = LAYOUT_ergodox(________,________,________,________,________,________,________,
 | |
|                      ________,________,________,________,________,________,________,
 | |
|                      ________,KC_DOT  ,KC_SPACE,_XXXXXX_, KC_ESC ,________,
 | |
|                      ________,DBMS_OUT,________,________,________,________,________,
 | |
|                      ________,________,________,________,________,
 | |
| 
 | |
|                      ________,________,
 | |
|                      ________,
 | |
|                      KC_PLUS,KC_MINUS,________,
 | |
| 
 | |
|                      BL_TOGG ,BL_STEP ,________,________,________,________,________,
 | |
|                      ________,________,KC_7    ,KC_8    ,KC_9    ,________,________,
 | |
|                               ________,KC_4    ,KC_5    ,KC_6    ,________,________,
 | |
|                      ________,KC_DOT,  KC_1    ,KC_2    ,KC_3    ,________,________,
 | |
|                                        KC_0    ,KC_DOT ,  KC_DOT   ,________,________,
 | |
| 
 | |
|                                        ________,________,
 | |
|                                        ________,
 | |
|                                        ________,________,KC_0),
 | |
| 
 | |
|   //****************************APP SWITCH LAYER****************************
 | |
|   [_APPSWITCH] = LAYOUT_ergodox(________,________,________,________,________,________,________,
 | |
|                         ________,________   ,  ________ , ________  ,________   ,________,________,
 | |
|                         ________,APP_5,APP_6,APP_7,APP_8,________,
 | |
|                         ________,DBMS_OUT,________,________,________,________,________,
 | |
|                         ________,________,________,________,________,
 | |
| 
 | |
|                                                                   ________,________,
 | |
|                                                                            ________,
 | |
|                                                          KC_PLUS,________,________,
 | |
| 
 | |
|                      ________,________,________,________,________,________,________,
 | |
|                      ________,________,APP_3   ,________,APP_4   ,________,________,
 | |
|                               ________,APP_1   ,_XXXXXX_,APP_2   ,________,________,
 | |
|                      ________,________,________,________,________,________,________,
 | |
|                                        ________,________,________,________,________,
 | |
| 
 | |
|                     ________,________,
 | |
|                     ________,
 | |
|                     ________,________,________),
 | |
| 
 | |
| 
 | |
|   [_ONESHOT] = LAYOUT_ergodox(  UP_ENTER_RESET , ________, ________, ________, ________, ________, ________,
 | |
|                         ________, ________, ________, KC_UP   , ________, ________, ________,
 | |
|                         ________, ________, KC_LEFT , KC_DOWN , KC_RIGHT, ________,
 | |
|                         MAGIC_TOGGLE_NKRO, ________, ________, ________, ________, ________, ________,
 | |
|                         ________, ________, ________, ________, ________,
 | |
| 
 | |
|                         ________, ________,
 | |
|                         ________,
 | |
|                         ________, ________, ________,
 | |
| 
 | |
|                         ________, ________, ________, ________, ________, ________, ________,
 | |
|                         ________, ________, KC_7, KC_8, KC_9, KC_PLUS, ________,
 | |
|                                   ________, KC_4, KC_5, KC_6, KC_EQUAL, ________,
 | |
|                         ________, ________, KC_1, KC_2, KC_3, KC_ASTR, ________,
 | |
|                         ________, ________, KC_0, ________, ________,
 | |
| 
 | |
|                         ________, ________,
 | |
|                         ________,
 | |
|                         ________, ________, ________),
 | |
|   //****************************TEXT/INTELLIJ NAVIGATION LAYER****************************
 | |
|   [_TEXTNAV] = LAYOUT_ergodox(________,________,________,________,________,________,________,
 | |
|                       ________,MEH(KC_Q),LSFT(KC_ESCAPE),MEH(KC_D),MEH(KC_2),LALT(LSFT(KC_UP)),________,
 | |
|                       ________,________,LCTL(KC_LEFT),LCTL(KC_B),LCTL(KC_RIGHT),LALT(LSFT(KC_DOWN)),
 | |
|                       ________,________,________,LCTL(LSFT(KC_COMMA)),MEH(KC_DOT),LALT(KC_MS_WH_UP),________,
 | |
|                       ________,________,________,________,________,
 | |
| 
 | |
|                       ________,________,________,________,________,________,
 | |
| 
 | |
|                       LALT(LSFT(KC_F9)),________,________,________,________,________,________,________,MEH(KC_5),LALT(LSFT(KC_Z)),
 | |
|                       ________,LALT(KC_Z),________,________,________,LCTL(LSFT(KC_LEFT)),LALT(LCTL(KC_S)),LCTL(LSFT(KC_RIGHT)),
 | |
|                       LCTL(LSFT(KC_COMMA)),________,________,________,________,________,________,________,________,________,
 | |
|                       ________,________,________,________,________,________,________,________,________,_XXXXXX_),
 | |
|   [_QWERTY_KIDS] = LAYOUT_ergodox(
 | |
| 
 | |
|       KC_NO ,   KC_NO  , KC_NO ,     KC_NO ,   KC_NO ,      KC_NO ,     KC_NO ,
 | |
|       KC_NO ,   KC_Q   , KC_W,     KC_E, KC_R,      KC_T,   KC_NO ,
 | |
|       KC_NO ,   KC_A   , KC_S,  KC_D,   KC_F,       KC_G ,
 | |
|       KC_NO ,   KC_Z   ,   KC_X,   KC_C,    KC_V,      KC_B,   KC_NO ,
 | |
|     KC_MINUS, KC_GRAVE, KC_DELETE,   KC_LEFT, KC_RIGHT,
 | |
| 
 | |
|                                                 KC_NO ,    TT(_QWERTY_KIDS) ,
 | |
|                                                             KC_NO  ,
 | |
|                                     KC_LSHIFT, KC_BSPACE,    KC_NO    ,
 | |
| 
 | |
|                    KC_NO ,      KC_NO ,      KC_NO ,      KC_NO ,      KC_NO ,      KC_NO ,   KC_NO ,
 | |
|                   KC_NO  ,    KC_Y,      KC_U, KC_I,     KC_O,      KC_P,    KC_NO ,
 | |
|                              KC_H,   KC_J,     KC_K,    KC_L,    KC_SCOLON , KC_NO,
 | |
|                KC_NO ,     KC_N,    KC_M,   KC_COMMA ,   KC_DOT ,  KC_SLASH,   KC_NO ,
 | |
|                                        KC_UP,  KC_DOWN,   KC_DELETE,    KC_TILD,    KC_UNDS,
 | |
| 
 | |
|     KC_NO ,    KC_NO ,
 | |
|          KC_NO,
 | |
|   KC_NO, KC_ENTER, KC_SPACE),
 | |
| 
 | |
|   [_STREET_FIGHTER] = LAYOUT_ergodox(
 | |
| 
 | |
|       KC_NO ,   KC_NO  , KC_NO ,     KC_NO ,   KC_NO ,      KC_NO ,     KC_NO ,
 | |
|       KC_NO ,   KC_NO   , DIE_1000X_LEFT,     KC_UP, DIE_1000X_RIGHT,      KC_NO,   KC_NO ,
 | |
|       KC_NO ,   KC_NO   , KC_LEFT,  KC_DOWN,   KC_RIGHT,       KC_NO ,
 | |
|       KC_NO ,   KC_NO   ,   KC_NO,   KC_NO,    KC_NO,      KC_NO,   KC_NO ,
 | |
|     KC_NO, KC_NO, KC_NO,   KC_NO, KC_NO,
 | |
| 
 | |
|                                                 ________ ,    ________ ,
 | |
|                                                             ________  ,
 | |
|                                     ________, ________,    ________    ,
 | |
| 
 | |
|                    KC_NO,  KC_NO ,      KC_NO ,      KC_NO , KC_NO ,   KC_NO , KC_NO ,
 | |
|                   KC_NO  , KC_NO,      KC_G, KC_H,     KC_J,      KC_NO,    KC_NO ,
 | |
|                              KC_NO,   KC_B,     KC_N,    KC_M,    KC_K , KC_NO,
 | |
|                KC_NO ,     KC_NO,    KC_NO,   KC_NO ,   KC_NO ,  KC_NO,   KC_NO ,
 | |
|                                        KC_NO,  KC_NO,   KC_NO,    KC_NO,    KC_NO,
 | |
| 
 | |
|     TT(_STREET_FIGHTER) ,    ________ ,
 | |
|          ________,
 | |
|   ________, ________, ________),
 | |
| 
 | |
| 
 | |
|   //************************Windows navigation to directories*************************
 | |
|   [_DIRNAV] = LAYOUT_ergodox(
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,KC_A,________,________,________,
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,
 | |
| 
 | |
|                   ________,________,
 | |
|                            ________,
 | |
|          ________,________,________,
 | |
| 
 | |
| 
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,________,________,
 | |
|                   ________,________,_______,________,________,________,
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,
 | |
| 
 | |
| 
 | |
|          ________,________,
 | |
|          ________,
 | |
|          ________,________,________),
 | |
| 
 | |
| 
 | |
|   [_TEXT_MACROS] = LAYOUT_ergodox(
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,KC_A,________,________,________,
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,
 | |
| 
 | |
|                   ________,________,
 | |
|                            ________,
 | |
|          ________,________,________,
 | |
| 
 | |
| 
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,________,________,
 | |
|                   ________,________,_______,________,________,________,
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,
 | |
| 
 | |
| 
 | |
|          ________,________,
 | |
|          ________,
 | |
|          ________,________,________)
 | |
| 
 | |
| 
 | |
| /* FOR FORMATTING FUTURE LAYERS
 | |
|    NO KEY CODES SHOULD BE MORE THAN 8 CHARACTERS
 | |
|    GOES LEFT HAND THEN RIGHT HAND
 | |
|   [_DIRNAV] = LAYOUT_ergodox(
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,
 | |
| 
 | |
|                   ________,________,
 | |
|                            ________,
 | |
|          ________,________,________,
 | |
| 
 | |
| 
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,________,________,
 | |
|                   ________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,________,________,
 | |
|          ________,________,________,________,________,
 | |
| 
 | |
| 
 | |
|          ________,________,
 | |
|          ________,
 | |
|          ________,________,________), */
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| };
 | |
| 
 | |
| const uint16_t PROGMEM fn_actions[] = {
 | |
|   [1] = ACTION_LAYER_TAP_TOGGLE(1)
 | |
| };
 | |
| 
 | |
| void matrix_scan_user(void) {
 | |
| 
 | |
|     uint8_t layer = biton32(layer_state);
 | |
| 
 | |
|     ergodox_board_led_on();
 | |
|     ergodox_led_all_on();
 | |
| 
 | |
|     ergodox_board_led_off();
 | |
|     ergodox_right_led_1_off();
 | |
|     ergodox_right_led_2_off();
 | |
|     ergodox_right_led_3_off();
 | |
|    //    _delay_ms(45);
 | |
| 
 | |
|     switch (layer)
 | |
|     {
 | |
|     case _SYMBOLS:
 | |
|       ergodox_right_led_1_on();
 | |
|       break;
 | |
|     case _MOUSE:
 | |
|       ergodox_right_led_2_on();
 | |
|       break;
 | |
|     case _NUMPAD:
 | |
|       ergodox_right_led_3_on();
 | |
|       break;
 | |
|     case _NAV:
 | |
|       ergodox_right_led_1_on();
 | |
|       ergodox_right_led_2_on();
 | |
|       break;
 | |
|     case _MACROS:
 | |
|       //layer unused right now
 | |
|       break;
 | |
|     case _FUNCTION:
 | |
|       //layer unused right nowex
 | |
|       break;
 | |
|     case _APPSWITCH:
 | |
|       ergodox_right_led_2_on();
 | |
|       ergodox_right_led_3_on();
 | |
|       break;
 | |
|     case _ONESHOT:
 | |
|       ergodox_right_led_1_on();
 | |
|       ergodox_right_led_2_on();
 | |
|       ergodox_right_led_3_on();
 | |
|       break;
 | |
|     case _TEXTNAV:
 | |
|       ergodox_right_led_1_on();
 | |
|       ergodox_right_led_3_on();
 | |
|       break;
 | |
|     case _QWERTY_KIDS:
 | |
|       ergodox_right_led_1_on();
 | |
|       ergodox_right_led_2_on();
 | |
|       ergodox_right_led_3_on();
 | |
|       break;
 | |
|     case _STREET_FIGHTER:
 | |
|       ergodox_right_led_2_on();
 | |
|       ergodox_right_led_3_on();
 | |
|     default:
 | |
|       break;
 | |
|     }
 | |
| };
 |