]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
Update KBD67 readme so that it mentions the KBD65 PCB (#5143)
[qmk_firmware.git] / keyboards / keebio / iris / keymaps / edvorakjp / keymap.c
1 #include QMK_KEYBOARD_H
2 #include "edvorakjp.h"
3
4 /*
5  * enum custom_keycodes {
6  *   KC_LOCK = NEW_SAFE_RANGE,
7  * };
8  */
9
10 #define KC_ KC_TRNS
11
12 #define KC_TMB1 KC_LA(TAB)
13 #define KC_TMB2 KC_LS(SPC)
14 #define KC_TMB3 TD(TD_LOWER) // act as LOWER when hold, as KC_LANG2(=English) when tapped
15 #define KC_TMB4 TD(TD_RAISE) // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped
16 #define KC_TMB5 KC_RC(BSPC)
17 #define KC_TMB6 KC_RG(ENT)
18 #define KC_TMB7 KC_RC(DEL)
19
20 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21
22   [_EDVORAK] = LAYOUT_kc(
23   //,----+----+-----+-----+-----+----.           ,----+-----+-----+-----+----+----.
24      GRV ,EXLM, AT  ,HASH , DLR ,PERC,            CIRC,AMPR ,ASTR ,LPRN ,RPRN,BSPC,
25   //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
26      TAB ,QUOT,COMM , DOT ,  Y  , Q  ,             F  ,  G  ,  R  ,  W  , P  ,BSLS,
27   //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
28      EQL , A  ,LA(O),LG(E),LC(I), U  ,             D  ,RS(T),RG(N),RA(S), M  ,MINS,
29   //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
30      ESC ,SCLN,  X  ,  C  ,  V  , Z  , NO ,   NO , H  ,  J  ,  K  ,  L  , B  ,SLSH,
31   //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
32                            TMB1,TMB2,TMB3,    TMB4,TMB5,TMB6
33   //                      `----+----+----'   `----+----+----'
34   ),
35
36   [_LOWER] = LAYOUT_kc(
37   //,----+----+------+------+------+----.           ,----+------+------+-------+----+----.
38          ,    ,      ,      ,      ,    ,                ,      ,      ,       ,    ,    ,
39   //|----+----+------+------+------+----|           |----+------+------+-------+----+----|
40          ,    , LCBR , LBRC , LPRN ,    ,                , RPRN , RBRC , RCBR  ,    ,    ,
41   //|----+----+------+------+------+----|           |----+------+------+-------+----+----|
42       F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 ,             F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 ,
43   //|----+----+------+------+------+----+----. ,----+----+------+------+-------+----+----|
44      PSCR,    , HOME , PGDN , PGUP ,END ,    ,      ,LEFT, DOWN ,  UP  , RGHT  ,    ,    ,
45   //`----+----+------+------+------+----+----/ \----+----+------+------+-------+----+----'
46                                   ,    , NO ,    MAC ,TMB7,
47   //                         `----+----+----'   `----+----+----'
48   ),
49
50   [_RAISE] = LAYOUT_kc(
51   //,----+----+-----+-----+-----+----.           ,----+-----+-----+-----+----+----.
52          ,    ,     ,     ,     ,    ,                ,     ,     ,     ,    ,    ,
53   //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
54          ,    ,EXLM , AT  ,HASH ,DLR ,            PERC,CIRC ,AMPR ,ASTR ,    ,    ,
55   //|----+----+-----+-----+-----+----|           |----+-----+-----+-----+----+----|
56          , 1  ,LA(2),LG(3),LC(4), 5  ,             6  ,RS(7),RG(8),RA(9), 0  ,    ,
57   //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
58      PSCR,    ,HOME ,PGDN ,PGUP ,END ,    ,      ,LEFT,DOWN , UP  ,RGHT ,    ,    ,
59   //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
60                                ,    ,WIN ,     NO ,    ,
61   //                      `----+----+----'   `----+----+----'
62   )
63 };
64
65 void matrix_init_keymap() {
66 }
67
68 #ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
69 uint32_t layer_state_set_keymap(uint32_t state) {
70   rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
71   switch (biton32(state)) {
72     case _LOWER:
73       rgblight_sethsv_noeeprom_red();
74       break;
75     case _RAISE:
76       rgblight_sethsv_noeeprom_blue();
77       break;
78     default: // for any other layers, or the default layer
79       rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
80       get_japanese_mode() ? rgblight_sethsv_noeeprom_red() : rgblight_sethsv_noeeprom_green();
81       break;
82   }
83   return state;
84 }
85 #endif