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