]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/ergotravel/keymaps/jpconstantineau/keymap.c
8bdaf4faf3fef48e94bc23d0ca0d7f815c6decc5
[qmk_firmware.git] / keyboards / ergotravel / keymaps / jpconstantineau / keymap.c
1 #include QMK_KEYBOARD_H
2
3 extern keymap_config_t keymap_config;
4
5 #define _QWERTY 0
6 #define _LOWER 1
7 #define _RAISE 2
8 #define _ADJUST 16
9
10 enum custom_keycodes {
11   QWERTY = SAFE_RANGE,
12   LOWER,
13   RAISE,
14   ADJUST,
15 };
16
17 #define KC_ KC_TRNS
18
19 #define KC_LOWR LOWER
20 #define KC_RASE RAISE
21 #define KC_ADJT ADJUST
22 #define KC_RST RESET
23 #define KC_BL_S BL_STEP
24 #define KC_DBUG DEBUG
25 #define KC_RTOG RGB_TOG
26 #define KC_RMOD RGB_MOD
27 #define KC_RHUI RGB_HUI
28 #define KC_RHUD RGB_HUD
29 #define KC_RSAI RGB_SAI
30 #define KC_RSAD RGB_SAD
31 #define KC_RVAI RGB_VAI
32 #define KC_RVAD RGB_VAD
33
34 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35
36   [_QWERTY] = LAYOUT_kc(
37   //,----+----+----+----+----+----+----.     ,----+----+----+----+----+----+----.
38      ESC , Q  , W  , E  , R  , T  ,LBRC,      RBRC, Y  , U  , I  , O  , P  ,BSPC,
39   //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
40      TAB , A  , S  , D  , F  , G  , A,          A,  H  , J  , K  , L  ,SCLN,QUOT,
41   //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
42      LSFT, Z  , X  , C  , V  , B  , A,        SPC,  N  , M  ,COMM,DOT ,SLSH,ENT ,
43   //|----+----+----+----+----+----+----.     .----+----+----+----+----+----+----|
44      LCTL,LGUI,LALT,ADJT,LOWR,SPC,                 SPC, RASE,LEFT, UP ,DOWN,RIGHT
45   //`----+----+----+--+-+----/----/               \----\----+----+----+----+----'
46   ),
47
48   [_LOWER] = LAYOUT_kc(
49     //,----+----+----+----+----+----+----.     ,----+----+----+----+----+----+----.
50       GRAVE, 1  , 2  , 3  , 4  , 5  , A,           B,  6  , 7  , 8  , 9  , 0  ,DEL,
51     //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
52        TAB , F1 , F2 , F3 , F4 , F5 , F6 ,         D,  Y  ,MINS, EQL,LBRC,RBRC,BSLS,
53     //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
54        LSFT, F7 , F8 , F9 , F10, F11, F12,       SPC,  N  , M ,COMM,DOT ,SLSH,ENT ,
55     //|----+----+----+----+----+----+----.     .----+----+----+----+----+----+----|
56        LCTL,LGUI,LALT,ADJT,LOWR,SPC,                 SPC, RASE,LEFT, UP ,DOWN,RIGHT
57     //`----+----+----+--+-+----/----/               \----\----+----+----+----+----'
58   ),
59
60   [_RAISE] = LAYOUT_kc(
61     //,----+----+----+----+----+----+----.     ,----+----+----+----+----+----+----.
62        ESC , 1  , 2  , 3  , 4  , 5  , A,          B,  6  , 7  , 8  , 9  , 0  ,BSPC,
63     //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
64        TAB , Q  , W  , E  , R  , T  , C ,         D,  Y  , U  , I  , O  , P  ,DEL ,
65     //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
66        LSFT, Z  , X  , C  , V  , B  , A,        SPC,  N  , M  ,COMM,DOT ,SLSH,ENT ,
67     //|----+----+----+----+----+----+----.     .----+----+----+----+----+----+----|
68        LCTL,LGUI,LALT,ADJT,LOWR,SPC,                 SPC, RASE,LEFT, UP ,DOWN,RIGHT
69     //`----+----+----+--+-+----/----/               \----\----+----+----+----+----'
70   ),
71
72   [_ADJUST] = LAYOUT_kc(
73     //,----+----+----+----+----+----+----.     ,----+----+----+----+----+----+----.
74        ESC , F1 , F2 , F3 , F4 , F5 , F6,         F7,  F8, F9 ,F10 , F11, F12,BSPC,
75     //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
76        TAB , Q  , W  , E  , R  , T  , C ,         D,  Y  , U  , I  , O  , P  ,DEL ,
77     //|----+----+----+----+----+----+----|     |----+----+----+----+----+----+----|
78        LSFT, Z  , X  , C  , V  , B  , A,        SPC,  N  , M  ,COMM,DOT ,SLSH,ENT ,
79     //|----+----+----+----+----+----+----.     .----+----+----+----+----+----+----|
80        LCTL,LGUI,LALT,ADJT,LOWR,SPC,                 SPC, RASE,LEFT, UP ,DOWN,RIGHT
81     //`----+----+----+--+-+----/----/               \----\----+----+----+----+----'
82   )
83
84 };
85
86    
87
88
89
90 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
91   switch (keycode) {
92     case QWERTY:
93       if (record->event.pressed) {
94         set_single_persistent_default_layer(_QWERTY);
95       }
96       return false;
97       break;
98     case LOWER:
99       if (record->event.pressed) {
100         layer_on(_LOWER);
101         update_tri_layer(_LOWER, _RAISE, _ADJUST);
102       } else {
103         layer_off(_LOWER);
104         update_tri_layer(_LOWER, _RAISE, _ADJUST);
105       }
106       return false;
107       break;
108     case RAISE:
109       if (record->event.pressed) {
110         layer_on(_RAISE);
111         update_tri_layer(_LOWER, _RAISE, _ADJUST);
112       } else {
113         layer_off(_RAISE);
114         update_tri_layer(_LOWER, _RAISE, _ADJUST);
115       }
116       return false;
117       break;
118     case ADJUST:
119       if (record->event.pressed) {
120         layer_on(_ADJUST);
121       } else {
122         layer_off(_ADJUST);
123       }
124       return false;
125       break;
126   }
127   return true;
128 }