]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/crkbd/keymaps/edvorakjp/keymap.c
Update keyboards/kbdfans/kbd67/readme.md
[qmk_firmware.git] / keyboards / crkbd / keymaps / edvorakjp / keymap.c
1 #include QMK_KEYBOARD_H
2 #ifdef PROTOCOL_LUFA
3   #include "split_util.h"
4 #endif
5 #ifdef SSD1306OLED
6   #include "oled.h"
7 #endif
8
9 #include "edvorakjp.h"
10
11 /*
12  * enum custom_keycodes {
13  *   KC_LOCK = NEW_SAFE_RANGE,
14  * };
15  */
16
17 #define KC_ KC_TRNS
18
19 #define KC_TMB1 LGUI_T(KC_TAB)
20 #define KC_TMB2 LSFT_T(KC_SPC)
21 #define KC_TMB3 TD(TD_LOWER) // act as LOWER when hold, as KC_LANG2(=English) when tapped
22 #define KC_TMB4 TD(TD_RAISE) // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped
23 #define KC_TMB5 RCTL_T(KC_BSPC)
24 #define KC_TMB6 RALT_T(KC_ENT)
25 #define KC_TMB7 KC_DEL
26 #define KC_TMB8 RALT(KC_ENT)
27 #define KC_TMB9 LGUI(KC_TAB)
28
29 #define KC_RST  RESET
30 #define KC_DBUG DEBUG
31 #define KC_RTOG RGB_TOG
32 #define KC_EDJP EDVORAK
33 #define KC_QWER QWERTY
34
35 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36
37   [_EDVORAK] = LAYOUT_kc(
38   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
39      ESC ,QUOT,COMM,DOT , Y  , P  ,             F  , G  , R  , W  , Q  ,BSLS,
40   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
41      EQL , A  , O  , E  , I  , U  ,             D  , T  , N  , S  , M  ,MINS,
42   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
43      GRV ,SCLN, X  , C  , V  , Z  ,             B  , H  , J  , K  , L  ,SLSH,
44   //`----+----+----+----+----+----+----| |----+----+----+----+----+----+----'
45                          TMB1,TMB2,TMB3,  TMB4,TMB5,TMB6
46   //                    `----+----+----' `----+----+----'
47   ),
48
49   [_EDVORAKJ1] = LAYOUT_kc(
50   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
51          , AI , OU , EI ,    ,    ,                ,    ,    ,    ,    ,    ,
52   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
53          ,    ,    ,    ,    ,    ,                ,    ,    , Y  ,    ,    ,
54   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
55          ,ANN ,ONN ,ENN ,INN ,UNN ,                ,    ,    ,    ,    ,    ,
56   //`----+----+----+----+----+----+----| |----+----+----+----+----+----+----'
57                              ,    ,    ,      ,    ,
58   //                    `----+----+----' `----+----+----'
59   ),
60
61   [_EDVORAKJ2] = LAYOUT_kc(
62   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
63          , AI , OU , EI ,    ,    ,                ,    ,    ,    ,    ,    ,
64   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
65          ,    ,    ,    ,    ,    ,                , Y  ,    ,    ,    ,    ,
66   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
67          ,ANN ,ONN ,ENN ,INN ,UNN ,                ,    ,    ,    ,    ,    ,
68   //`----+----+----+----+----+----+----| |----+----+----+----+----+----+----'
69                              ,    ,    ,      ,    ,
70   //                    `----+----+----' `----+----+----'
71   ),
72
73   [_QWERTY] = LAYOUT_kc(
74   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
75      TAB , Q  , W  , E  , R  , T  ,             Y  , U  , I  , O  , P  ,MINS,
76   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
77      EQL , A  , S  , D  , F  , G  ,             H  , J  , K  , L  ,SCLN,QUOT,
78   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
79      GRV , Z  , X  , C  , V  , B  ,             N  , M  ,COMM,DOT ,SLSH,BSLS,
80   //`----+----+----+----+----+----+----| |----+----+----+----+----+----+----'
81                              ,    ,    ,      ,    ,
82   //                    `----+----+----' `----+----+----'
83   ),
84
85   [_LOWER] = LAYOUT_kc(
86   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
87          ,    , 2  , 3  , 4  , 5  ,             6  , 7  , 8  , 9  ,    ,    ,
88   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
89          , 1  ,EXLM, AT ,HASH,DLR ,            PERC,CIRC,AMPR,ASTR, 0  ,    ,
90   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
91          ,    , LT ,LCBR,LPRN,LBRC,            RBRC,RPRN,RCBR, GT ,    ,    ,
92   //`----+----+----+----+----+----+----| |----+----+----+----+----+----+----'
93                              ,    ,    ,      ,TMB7,TMB8
94   //                    `----+----+----' `----+----+----'
95   ),
96
97   [_RAISE] = LAYOUT_kc(
98   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
99          , F1 , F2 , F3 , F4 , F5 ,             F6 , F7 , F8 , F9 ,F10 ,    ,
100   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
101          ,F11 ,F12 ,PSCR,SLCK,PAUS,                ,HOME,PGDN,PGUP,END ,    ,
102   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
103          ,    ,    ,    ,    ,    ,                ,LEFT,DOWN, UP ,RGHT,    ,
104   //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----'
105                          TMB9,    ,    ,      ,    ,
106   //                    `----+----+----' `----+----+----'
107   ),
108
109   [_ADJUST] = LAYOUT_kc(
110   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
111          ,    ,    ,   ,EXTOFF,   ,                ,EXTON,   ,    ,    ,    ,
112   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
113          ,    ,    ,QWER,WIN ,RST ,            RTOG,MAC ,EDJP,    ,    ,    ,
114   //|----+----+----+----+----+----|           |----+----+----+----+----+----|
115          ,    ,    ,    ,    ,    ,                ,    ,    ,    ,    ,    ,
116   //`----+----+----+----+----+----+----| |----+----+----+----+----+----+----'
117                              ,    ,    ,      ,    ,
118   //                    `----+----+----' `----+----+----'
119   )
120 };
121
122 #ifdef SSD1306OLED
123 void matrix_init_keymap(void) {
124   //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
125   iota_gfx_init(!has_usb());   // turns on the display
126 }
127
128 void matrix_scan_user(void) {
129   iota_gfx_task();  // this is what updates the display continuously
130 }
131 #endif
132
133 #ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
134 uint32_t layer_state_set_keymap(uint32_t state) {
135   rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
136   switch (biton32(state)) {
137     case _EDVORAKJ1:
138     case _EDVORAKJ2:
139       // _EDVORAKJ1 & J2 are same colored
140       rgblight_sethsv_noeeprom_white();
141       break;
142     case _LOWER:
143       rgblight_sethsv_noeeprom_red();
144       break;
145     case _RAISE:
146       rgblight_sethsv_noeeprom_blue();
147       break;
148     case _ADJUST:
149       rgblight_sethsv_noeeprom_green();
150       break;
151     default: //  for any other layers, or the default layer
152       rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
153       rgblight_sethsv_noeeprom_red();
154       break;
155   }
156   return state;
157 }
158 #endif