]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
Update keyboards/kbdfans/kbd67/readme.md
[qmk_firmware.git] / keyboards / keebio / iris / keymaps / edvorakjp / keymap.c
1 #include QMK_KEYBOARD_H
2 #include "edvorakjp.h"
3
4 enum custom_keycodes {
5   KC_LOCK = NEW_SAFE_RANGE,
6 };
7
8 #define KC_ KC_TRNS
9
10 #define KC_TMB1 LGUI_T(KC_TAB)
11 #define KC_TMB2 LSFT_T(KC_SPC)
12 #define KC_TMB3 LOWER // act as LOWER when hold, as KC_LANG2(=English) when tapped
13 #define KC_TMB4 LCTL_T(KC_ESC)
14 #define KC_TMB5 RSFT_T(KC_DEL)
15 #define KC_TMB6 RAISE // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped
16 #define KC_TMB7 RCTL_T(KC_BSPC)
17 #define KC_TMB8 RALT_T(KC_ENT)
18 #define KC_TMB9 LGUI(KC_TAB)
19
20 #define KC_RST  RESET
21 #define KC_DBUG DEBUG
22 #define KC_RTOG RGB_TOG
23 #define KC_EDJP EDVORAK
24 #define KC_QWER QWERTY
25
26 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27
28   [_EDVORAK] = LAYOUT_kc(
29   //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
30      GRV ,EXLM, AT ,HASH,DLR ,PERC,               CIRC,AMPR,ASTR,LPRN,RPRN,BSPC,
31   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
32      LBRC,RBRC,COMM,DOT , Y  , P  ,                F  , G  , R  , W  , Q  ,BSLS,
33   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
34      EQL , A  , O  , E  , I  , U  ,                D  , T  , N  , S  , M  ,MINS,
35   //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
36      QUOT,SCLN, X  , C  , V  , Z  ,TMB4,     TMB5, B  , H  , J  , K  , L  ,SLSH,
37   //`----+----+----+----+----+----+----/    \----+----+----+----+----+----+----'
38                        TMB1,TMB2,TMB3,         TMB6,TMB7,TMB8
39   //                  `----+----+----'        `----+----+----'
40   ),
41
42   [_EDVORAKJ1] = LAYOUT_kc(
43   //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
44          ,    ,    ,    ,    ,    ,                   ,    ,    ,    ,    ,    ,
45   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
46          , AI , OU , EI ,    ,    ,                   ,    ,    ,    ,    ,    ,
47   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
48          ,    ,    ,    ,    ,    ,                   ,    ,    , Y  ,    ,    ,
49   //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
50          ,ANN ,ONN ,ENN ,INN ,UNN ,    ,         ,    ,    ,    ,    ,    ,    ,
51   //`----+----+----+----+----+----+----/    \----+----+----+----+----+----+----'
52                            ,    ,    ,             ,    ,
53   //                  `----+----+----'        `----+----+----'
54   ),
55
56   [_EDVORAKJ2] = LAYOUT_kc(
57   //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
58          ,    ,    ,    ,    ,    ,                   ,    ,    ,    ,    ,    ,
59   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
60          , AI , OU , EI ,    ,    ,                   ,    ,    ,    ,    ,    ,
61   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
62          ,    ,    ,    ,    ,    ,                   , Y  ,    ,    ,    ,    ,
63   //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
64          ,ANN ,ONN ,ENN ,INN ,UNN ,    ,         ,    ,    ,    ,    ,    ,    ,
65   //`----+----+----+----+----+----+----/    \----+----+----+----+----+----+----'
66                            ,    ,    ,             ,    ,
67   //                  `----+----+----'        `----+----+----'
68   ),
69
70   [_QWERTY] = LAYOUT_kc(
71   //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
72      GRV ,EXLM, AT ,HASH,DLR ,PERC,               CIRC,AMPR,ASTR,LPRN,RPRN,BSPC,
73   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
74      EQL , Q  , W  , E  , R  , T  ,                Y  , U  , I  , O  , P  ,MINS,
75   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
76      LBRC, A  , S  , D  , F  , G  ,                H  , J  , K  , L  ,SCLN,QUOT,
77   //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
78      RBRC, Z  , X  , C  , V  , B  ,    ,         , N  , M  ,COMM,DOT ,SLSH,BSLS,
79   //`----+----+----+----+----+----+----/    \----+----+----+----+----+----+----'
80                            ,    ,    ,             ,    ,
81   //                  `----+----+----'        `----+----+----'
82   ),
83
84   [_LOWER] = LAYOUT_kc(
85   //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
86          ,    ,    ,    ,    ,    ,                   ,    ,SLSH,ASTR,    ,    ,
87   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
88          ,    ,BTN4,WH_U,BTN5,    ,                   , 7  , 8  , 9  ,MINS,    ,
89   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
90          ,    ,WH_L,WH_D,WH_R,    ,                   , 4  , 5  , 6  ,PLUS,    ,
91   //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
92          ,    ,BTN1,BTN3,BTN2,    ,    ,         ,    , 1  , 2  , 3  ,    ,    ,
93   //`----+----+----+----+----+----+----/    \----+----+----+----+----+----+----'
94                            ,    ,    ,             , 0  ,
95   //                  `----+----+----'        `----+----+----'
96   ),
97
98   [_RAISE] = LAYOUT_kc(
99   //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
100          ,    ,    ,    ,    ,    ,                   ,    ,    ,    ,    ,    ,
101   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
102       F1 , F2 , F3 , F4 , F5 ,LCBR,               RCBR,    ,    ,    ,    ,    ,
103   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
104       F6 , F7 , F8 , F9 ,F10 ,LPRN,               RPRN,HOME,PGDN,PGUP,END ,    ,
105   //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
106      F11 ,F12 ,PSCR,SLCK,PAUS,LBRC,LOCK,         ,RBRC,LEFT,DOWN, UP ,RGHT,    ,
107   //`----+----+----+----+----+----+----/    \----+----+----+----+----+----+----'
108                        TMB9,    ,    ,             ,    ,
109   //                  `----+----+----'        `----+----+----'
110   ),
111
112   [_ADJUST] = LAYOUT_kc(
113   //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
114          ,    ,    ,    ,    ,    ,                   ,    ,    ,    ,    ,    ,
115   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
116          ,    ,    ,   ,EXTOFF,   ,                   ,EXTON,   ,    ,    ,    ,
117   //|----+----+----+----+----+----|              |----+----+----+----+----+----|
118          ,RST ,DBUG,RTOG,WIN ,    ,                   ,MAC ,QWER,EDJP,    ,    ,
119   //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
120          ,    ,    ,    ,    ,    ,    ,         ,    ,    ,    ,    ,    ,    ,
121   //`----+----+----+----+----+----+----/    \----+----+----+----+----+----+----'
122                            ,    ,    ,             ,    ,
123   //                  `----+----+----'        `----+----+----'
124   )
125 };
126
127 void matrix_init_keymap() {
128 }
129
130 bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
131   switch(keycode) {
132     case KC_LOCK:
133       if (record->event.pressed) {
134         if (get_enable_kc_lang()) {
135           SEND_STRING( SS_LCTRL(SS_LSFT(SS_TAP(X_POWER))) );
136         } else {
137           SEND_STRING( SS_LGUI("l") );
138         }
139       }
140       return false;
141   }
142   return true;
143 }
144
145 uint32_t layer_state_set_keymap(uint32_t state) {
146   switch (biton32(state)) {
147     case _EDVORAKJ1:
148     case _EDVORAKJ2:
149       // _EDVORAKJ1 & J2 are same colored
150       rgblight_setrgb (0xFF, 0xFF, 0xFF);
151       break;
152     case _LOWER:
153       rgblight_setrgb (0xFF, 0x00, 0x00);
154       break;
155     case _RAISE:
156       rgblight_setrgb (0x00, 0x00, 0xFF);
157       break;
158     case _ADJUST:
159       rgblight_setrgb (0x00, 0xFF, 0x00);
160       break;
161     default: //  for any other layers, or the default layer
162       rgblight_mode(28);
163       break;
164   }
165   return state;
166 }