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