aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorepaew <epaew@users.noreply.github.com>2019-03-10 01:22:21 +0900
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2019-03-09 08:22:21 -0800
commit9d915ed051c43edd828d6cdb784a5d094e9b312d (patch)
tree26e12a4eece02daa1aab74946868f0a01fc87db8
parentcd9e15036e692477d37a3c1a82c5ba1f29b8a11e (diff)
downloadqmk_firmware-9d915ed051c43edd828d6cdb784a5d094e9b312d.tar.gz
qmk_firmware-9d915ed051c43edd828d6cdb784a5d094e9b312d.zip
Update edvorak keymap simplify (#5350)
* Update edvorakjp layouts * swap master hand * update tapping_term
-rw-r--r--keyboards/crkbd/keymaps/edvorakjp/config.h7
-rw-r--r--keyboards/crkbd/keymaps/edvorakjp/keymap.c140
-rw-r--r--keyboards/crkbd/keymaps/edvorakjp/oled.c18
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/config.h18
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/keymap.c27
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/keymap_4rows.c102
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/keymap_5rows.c122
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/keymap_xrows.h31
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/oled.c14
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/rules.mk1
-rw-r--r--keyboards/keebio/iris/keymaps/edvorakjp/config.h19
-rw-r--r--keyboards/keebio/iris/keymaps/edvorakjp/keymap.c187
-rw-r--r--keyboards/keebio/iris/keymaps/edvorakjp/rules.mk26
-rw-r--r--users/edvorakjp/edvorakjp.c6
-rw-r--r--users/edvorakjp/edvorakjp.h26
-rw-r--r--users/edvorakjp/edvorakjp_process_record.c129
-rw-r--r--users/edvorakjp/edvorakjp_status.c13
-rw-r--r--users/edvorakjp/edvorakjp_tap_dance.c36
-rw-r--r--users/edvorakjp/readme.md54
19 files changed, 249 insertions, 727 deletions
diff --git a/keyboards/crkbd/keymaps/edvorakjp/config.h b/keyboards/crkbd/keymaps/edvorakjp/config.h
index 515591a42..b8662aca0 100644
--- a/keyboards/crkbd/keymaps/edvorakjp/config.h
+++ b/keyboards/crkbd/keymaps/edvorakjp/config.h
@@ -3,15 +3,16 @@
3 3
4/* Select hand configuration */ 4/* Select hand configuration */
5 5
6#define MASTER_LEFT 6// #define MASTER_LEFT
7// #define MASTER_RIGHT 7#define MASTER_RIGHT
8// #define EE_HANDS 8// #define EE_HANDS
9 9
10#define SSD1306OLED 10#define SSD1306OLED
11#define SWAP_SCLN 11#define SWAP_SCLN
12 12
13// #define TAPPING_FORCE_HOLD 13// #define TAPPING_FORCE_HOLD
14#define TAPPING_TERM 120 14#define TAPPING_TERM 300
15#define IGNORE_MOD_TAP_INTERRUPT
15 16
16#undef RGBLED_NUM 17#undef RGBLED_NUM
17#define RGBLIGHT_EFFECT_STATIC_GRADIENT 18#define RGBLIGHT_EFFECT_STATIC_GRADIENT
diff --git a/keyboards/crkbd/keymaps/edvorakjp/keymap.c b/keyboards/crkbd/keymaps/edvorakjp/keymap.c
index ae2f710a0..32001f22d 100644
--- a/keyboards/crkbd/keymaps/edvorakjp/keymap.c
+++ b/keyboards/crkbd/keymaps/edvorakjp/keymap.c
@@ -16,113 +16,61 @@
16 16
17#define KC_ KC_TRNS 17#define KC_ KC_TRNS
18 18
19#define KC_TMB1 LGUI_T(KC_TAB) 19#define KC_TMB1 KC_LA(TAB)
20#define KC_TMB2 LSFT_T(KC_SPC) 20#define KC_TMB2 KC_LS(SPC)
21#define KC_TMB3 TD(TD_LOWER) // act as LOWER when hold, as KC_LANG2(=English) when tapped 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 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) 23#define KC_TMB5 KC_RC(BSPC)
24#define KC_TMB6 RALT_T(KC_ENT) 24#define KC_TMB6 KC_RG(ENT)
25#define KC_TMB7 KC_DEL 25#define KC_TMB7 KC_RC(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 26
35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36 28
37 [_EDVORAK] = LAYOUT_kc( 29 [_EDVORAK] = LAYOUT_kc(
38 //|----+----+----+----+----+----| |----+----+----+----+----+----| 30 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
39 ESC ,QUOT,COMM,DOT , Y , P , F , G , R , W , Q ,BSLS, 31 GRV ,QUOT,COMM , DOT , Y , Q , F , G , R , W , P ,BSLS,
40 //|----+----+----+----+----+----| |----+----+----+----+----+----| 32 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
41 EQL , A , O , E , I , U , D , T , N , S , M ,MINS, 33 EQL , A ,LA(O),LG(E),LC(I), U , D ,RS(T),RG(N),RA(S), M ,MINS,
42 //|----+----+----+----+----+----| |----+----+----+----+----+----| 34 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
43 GRV ,SCLN, X , C , V , Z , B , H , J , K , L ,SLSH, 35 ESC ,SCLN, X , C , V , Z , H , J , K , L , B ,SLSH,
44 //`----+----+----+----+----+----+----| |----+----+----+----+----+----+----' 36 //`----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----'
45 TMB1,TMB2,TMB3, TMB4,TMB5,TMB6 37 TMB1 ,TMB2,TMB3, TMB4,TMB5,TMB6
46 // `----+----+----' `----+----+----' 38 // `-----+----+----' `----+----+-----'
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 ), 39 ),
84 40
85 [_LOWER] = LAYOUT_kc( 41 [_LOWER] = LAYOUT_kc(
86 //|----+----+----+----+----+----| |----+----+----+----+----+----| 42 //|----+----+------+------+------+----| |----+------+------+-------+----+----|
87 , , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , , , 43 , , LCBR , LBRC , LPRN , , , RPRN , RBRC , RCBR , , ,
88 //|----+----+----+----+----+----| |----+----+----+----+----+----| 44 //|----+----+------+------+------+----| |----+------+------+-------+----+----|
89 , 1 ,EXLM, AT ,HASH,DLR , PERC,CIRC,AMPR,ASTR, 0 , , 45 F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 , F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 ,
90 //|----+----+----+----+----+----| |----+----+----+----+----+----| 46 //|----+----+------+------+------+----| |----+------+------+-------+----+----|
91 , , LT ,LCBR,LPRN,LBRC, RBRC,RPRN,RCBR, GT , , , 47 PSCR, , HOME , PGDN , PGUP ,END , LEFT, DOWN , UP , RGHT , , ,
92 //`----+----+----+----+----+----+----| |----+----+----+----+----+----+----' 48 //`----+----+------+------+------+----+----| |----+----+------+------+-------+----+----'
93 , , , ,TMB7,TMB8 49 , , NO , MAC ,TMB7,
94 // `----+----+----' `----+----+----' 50 // `-----+----+----' `----+----+-----'
95 ), 51 ),
96 52
97 [_RAISE] = LAYOUT_kc( 53 [_RAISE] = LAYOUT_kc(
98 //|----+----+----+----+----+----| |----+----+----+----+----+----| 54 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
99 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 , , 55 , ,EXLM , AT ,HASH ,DLR , PERC,CIRC ,AMPR ,ASTR , , ,
100 //|----+----+----+----+----+----| |----+----+----+----+----+----| 56 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
101 ,F11 ,F12 ,PSCR,SLCK,PAUS, ,HOME,PGDN,PGUP,END , , 57 , 1 ,LA(2),LG(3),LC(4), 5 , 6 ,RS(7),RG(8),RA(9), 0 , ,
102 //|----+----+----+----+----+----| |----+----+----+----+----+----| 58 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
103 , , , , , , ,LEFT,DOWN, UP ,RGHT, , 59 PSCR, ,HOME ,PGDN ,PGUP ,END , LEFT,DOWN , UP ,RGHT , , ,
104 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----' 60 //`----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----'
105 TMB9, , , , , 61 , ,WIN , NO , ,
106 // `----+----+----' `----+----+----' 62 // `-----+----+----' `----+----+----'
107 ),
108
109 [_ADJUST] = LAYOUT_kc(
110 //|----+----+----+----+----+----| |----+----+----+----+----+----|
111 , , , ,EXTOFF, , ,EXTON, , , , ,
112 //|----+----+----+----+----+----| |----+----+----+----+----+----|
113 , , ,QWER,WIN ,RST , RTOG,MAC ,EDJP, , , ,
114 //|----+----+----+----+----+----| |----+----+----+----+----+----|
115 , , , , , , , , , , , ,
116 //`----+----+----+----+----+----+----| |----+----+----+----+----+----+----'
117 , , , , ,
118 // `----+----+----' `----+----+----'
119 ) 63 )
120}; 64};
121 65
122#ifdef SSD1306OLED 66#ifdef SSD1306OLED
123void matrix_init_keymap(void) { 67void matrix_init_keymap(void) {
124 //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h 68 //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
125 iota_gfx_init(!has_usb()); // turns on the display 69#ifdef MASTER_RIGHT
70 iota_gfx_init(has_usb()); // turns on the display
71#else
72 iota_gfx_init(!has_usb());
73#endif // MASTER_RIGHT
126} 74}
127 75
128void matrix_scan_user(void) { 76void matrix_scan_user(void) {
@@ -134,23 +82,15 @@ void matrix_scan_user(void) {
134uint32_t layer_state_set_keymap(uint32_t state) { 82uint32_t layer_state_set_keymap(uint32_t state) {
135 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); 83 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
136 switch (biton32(state)) { 84 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: 85 case _LOWER:
143 rgblight_sethsv_noeeprom_red(); 86 rgblight_sethsv_noeeprom_red();
144 break; 87 break;
145 case _RAISE: 88 case _RAISE:
146 rgblight_sethsv_noeeprom_blue();
147 break;
148 case _ADJUST:
149 rgblight_sethsv_noeeprom_green(); 89 rgblight_sethsv_noeeprom_green();
150 break; 90 break;
151 default: // for any other layers, or the default layer 91 default: // for any other layers, or the default layer
152 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 3); 92 rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
153 rgblight_sethsv_noeeprom_red(); 93 rgblight_sethsv_red();
154 break; 94 break;
155 } 95 }
156 return state; 96 return state;
diff --git a/keyboards/crkbd/keymaps/edvorakjp/oled.c b/keyboards/crkbd/keymaps/edvorakjp/oled.c
index e4cccf3e7..cbb43d061 100644
--- a/keyboards/crkbd/keymaps/edvorakjp/oled.c
+++ b/keyboards/crkbd/keymaps/edvorakjp/oled.c
@@ -21,11 +21,7 @@ const char *read_layer_state(void) {
21 21
22 switch (biton32(layer_state)) { 22 switch (biton32(layer_state)) {
23 case L_BASE: 23 case L_BASE:
24 strcpy(layer_name, default_layer_state == 1UL<<_EDVORAK ? "EDVORAK" : "QWERTY"); 24 strcpy(layer_name, "Default");
25 break;
26 case _EDVORAKJ1:
27 case _EDVORAKJ2:
28 strcpy(layer_name, "JP_EXT");
29 break; 25 break;
30 case _RAISE: 26 case _RAISE:
31 strcpy(layer_name, "Raise"); 27 strcpy(layer_name, "Raise");
@@ -33,9 +29,6 @@ const char *read_layer_state(void) {
33 case _LOWER: 29 case _LOWER:
34 strcpy(layer_name, "Lower"); 30 strcpy(layer_name, "Lower");
35 break; 31 break;
36 case _ADJUST:
37 strcpy(layer_name, "Adjust");
38 break;
39 default: 32 default:
40 snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state); 33 snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state);
41 } 34 }
@@ -49,10 +42,7 @@ const char *read_layer_state(void) {
49 42
50const char *read_host_led_state(void) { 43const char *read_host_led_state(void) {
51 static char led_str[24]; 44 static char led_str[24];
52 bool ext_status = get_enable_jp_extra_layer() && get_japanese_mode(); 45 strcpy(led_str, (host_keyboard_leds() & (1<<USB_LED_NUM_LOCK)) ? "NMLK" : " ");
53 strcpy(led_str, ext_status ? "EXT" : " ");
54
55 strcat(led_str, (host_keyboard_leds() & (1<<USB_LED_NUM_LOCK)) ? " NMLK" : " ");
56 strcat(led_str, (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ? " CAPS" : " "); 46 strcat(led_str, (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ? " CAPS" : " ");
57 strcat(led_str, (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? " SCLK" : " "); 47 strcat(led_str, (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? " SCLK" : " ");
58 return led_str; 48 return led_str;
@@ -70,7 +60,11 @@ void iota_gfx_task_user(void) {
70 struct CharacterMatrix matrix; 60 struct CharacterMatrix matrix;
71 61
72 matrix_clear(&matrix); 62 matrix_clear(&matrix);
63#ifdef MASTER_RIGHT
64 if (!is_master) {
65#else
73 if (is_master) { 66 if (is_master) {
67#endif // MASTER_RIGHT
74 matrix_write(&matrix, read_mode_icon(!get_enable_kc_lang())); 68 matrix_write(&matrix, read_mode_icon(!get_enable_kc_lang()));
75 matrix_write(&matrix, " "); 69 matrix_write(&matrix, " ");
76 matrix_write(&matrix, read_layer_state()); 70 matrix_write(&matrix, read_layer_state());
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/config.h b/keyboards/helix/rev2/keymaps/edvorakjp/config.h
index 769988cdb..cd0568f61 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/config.h
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/config.h
@@ -1,21 +1,23 @@
1#ifndef CONFIG_USER_H 1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H 2#define CONFIG_USER_H
3 3
4#define SWAP_SCLN
5
4#undef TAPPING_FORCE_HOLD 6#undef TAPPING_FORCE_HOLD
5#undef TAPPING_TERM 7#undef TAPPING_TERM
6#define TAPPING_TERM 120 8#define TAPPING_TERM 300
7#define SWAP_SCLN 9#define IGNORE_MOD_TAP_INTERRUPT
8 10
9// If you need more program area, try select and reduce rgblight modes to use. 11// If you need more program area, try select and reduce rgblight modes to use.
10 12
11// Selection of RGBLIGHT MODE to use. 13// Selection of RGBLIGHT MODE to use.
12#if defined(LED_ANIMATIONS) 14#if defined(LED_ANIMATIONS)
13 #define RGBLIGHT_EFFECT_BREATHING 15 //#define RGBLIGHT_EFFECT_BREATHING
14 #define RGBLIGHT_EFFECT_RAINBOW_MOOD 16 //#define RGBLIGHT_EFFECT_RAINBOW_MOOD
15 #define RGBLIGHT_EFFECT_RAINBOW_SWIRL 17 //#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
16 #define RGBLIGHT_EFFECT_SNAKE 18 //#define RGBLIGHT_EFFECT_SNAKE
17 #define RGBLIGHT_EFFECT_KNIGHT 19 //#define RGBLIGHT_EFFECT_KNIGHT
18 #define RGBLIGHT_EFFECT_CHRISTMAS 20 //#define RGBLIGHT_EFFECT_CHRISTMAS
19 #define RGBLIGHT_EFFECT_STATIC_GRADIENT 21 #define RGBLIGHT_EFFECT_STATIC_GRADIENT
20 //#define RGBLIGHT_EFFECT_RGB_TEST 22 //#define RGBLIGHT_EFFECT_RGB_TEST
21 //#define RGBLIGHT_EFFECT_ALTERNATING 23 //#define RGBLIGHT_EFFECT_ALTERNATING
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c b/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c
index fd324a859..9fba5072c 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c
@@ -7,21 +7,6 @@
7 7
8// keymaps definitions are moved to keymap_Xrows.c. 8// keymaps definitions are moved to keymap_Xrows.c.
9 9
10bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
11 switch(keycode) {
12 case KC_LOCK:
13 if (record->event.pressed) {
14 if (get_enable_kc_lang()) {
15 SEND_STRING( SS_LCTRL(SS_LSFT(SS_TAP(X_POWER))) );
16 } else {
17 SEND_STRING( SS_LGUI("l") );
18 }
19 }
20 return false;
21 }
22 return true;
23}
24
25#ifdef SSD1306OLED 10#ifdef SSD1306OLED
26void matrix_init_keymap(void) { 11void matrix_init_keymap(void) {
27 //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h 12 //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
@@ -37,23 +22,15 @@ void matrix_scan_user(void) {
37uint32_t layer_state_set_keymap(uint32_t state) { 22uint32_t layer_state_set_keymap(uint32_t state) {
38 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); 23 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
39 switch (biton32(state)) { 24 switch (biton32(state)) {
40 case _EDVORAKJ1:
41 case _EDVORAKJ2:
42 // _EDVORAKJ1 & J2 are same colored
43 rgblight_sethsv_noeeprom_white();
44 break;
45 case _LOWER: 25 case _LOWER:
46 rgblight_sethsv_noeeprom_red(); 26 rgblight_sethsv_noeeprom_red();
47 break; 27 break;
48 case _RAISE: 28 case _RAISE:
49 rgblight_sethsv_noeeprom_blue(); 29 rgblight_sethsv_noeeprom_blue();
50 break; 30 break;
51 case _ADJUST:
52 rgblight_sethsv_noeeprom_green();
53 break;
54 default: // for any other layers, or the default layer 31 default: // for any other layers, or the default layer
55 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 3); 32 rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
56 rgblight_sethsv_noeeprom_red(); 33 rgblight_sethsv_red();
57 break; 34 break;
58 } 35 }
59 return state; 36 return state;
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/keymap_4rows.c b/keyboards/helix/rev2/keymaps/edvorakjp/keymap_4rows.c
index 805e6b17b..f2befc03b 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/keymap_4rows.c
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/keymap_4rows.c
@@ -4,86 +4,38 @@
4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5 5
6 [_EDVORAK] = LAYOUT_kc( 6 [_EDVORAK] = LAYOUT_kc(
7 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 7 //,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----.
8 LBRC,RBRC,COMM,DOT , Y , P , F , G , R , W , Q ,BSLS, 8 GRV ,QUOT,COMM , DOT , Y , Q , F , G , R , W , P ,BSLS,
9 //|----+----+----+----+----+----| |----+----+----+----+----+----| 9 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
10 EQL , A , O , E , I , U , D , T , N , S , M ,MINS, 10 EQL , A ,LA(O),LG(E),LC(I), U , D ,RS(T),RG(N),RA(S), M ,MINS,
11 //|----+----+----+----+----+----| |----+----+----+----+----+----| 11 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
12 QUOT,SCLN, X , C , V , Z , B , H , J , K , L ,SLSH, 12 ESC ,SCLN, X , C , V , Z , H , J , K , L , B ,SLSH,
13 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| 13 //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
14 LEFT,DOWN, UP ,RGHT,TMB1,TMB2,TMB3, TMB6,TMB7,TMB8,LEFT,DOWN, UP ,RGHT 14 HOME,PGDN,PGUP , END ,TMB1 ,TMB2,TMB3, TMB4,TMB5,TMB6 ,LEFT ,DOWN , UP ,RGHT
15 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----' 15 //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
16 ),
17
18 [_EDVORAKJ1] = LAYOUT_kc(
19 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
20 , AI , OU , EI , , , , , , , , ,
21 //|----+----+----+----+----+----| |----+----+----+----+----+----|
22 , , , , , , , , , Y , , ,
23 //|----+----+----+----+----+----| |----+----+----+----+----+----|
24 ,ANN ,ONN ,ENN ,INN ,UNN , , , , , , ,
25 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
26 , , , , , , , , , , , , ,
27 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----'
28 ),
29
30 [_EDVORAKJ2] = LAYOUT_kc(
31 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
32 , AI , OU , EI , , , , , , , , ,
33 //|----+----+----+----+----+----| |----+----+----+----+----+----|
34 , , , , , , , Y , , , , ,
35 //|----+----+----+----+----+----| |----+----+----+----+----+----|
36 ,ANN ,ONN ,ENN ,INN ,UNN , , , , , , ,
37 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
38 , , , , , , , , , , , , ,
39 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----'
40 ),
41
42 [_QWERTY] = LAYOUT_kc(
43 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
44 EQL , Q , W , E , R , T , Y , U , I , O , P ,MINS,
45 //|----+----+----+----+----+----| |----+----+----+----+----+----|
46 LBRC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
47 //|----+----+----+----+----+----| |----+----+----+----+----+----|
48 RBRC, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,BSLS,
49 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
50 , , , , , , , , , , , , ,
51 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----'
52 ), 16 ),
53 17
54 [_LOWER] = LAYOUT_kc( 18 [_LOWER] = LAYOUT_kc(
55 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 19 //,----+----+------+------+------+----. ,----+------+------+-------+----+----.
56 F1 , F2 , F3 , F4 , F5 ,LCBR, RCBR, 7 , 8 , 9 ,MINS,SLSH, 20 , , LCBR , LBRC , LPRN , , , RPRN , RBRC , RCBR , , ,
57 //|----+----+----+----+----+----| |----+----+----+----+----+----| 21 //|----+----+------+------+------+----| |----+------+------+-------+----+----|
58 F6 , F7 , F8 , F9 ,F10 ,LPRN, RPRN, 4 , 5 , 6 ,PLUS,ASTR, 22 F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 , F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 ,
59 //|----+----+----+----+----+----| |----+----+----+----+----+----| 23 //|----+----+------+------+------+----| |----+------+------+-------+----+----|
60 F11 ,F12 ,PSCR,SLCK,PAUS,LBRC, RBRC, 1 , 2 , 3 , NO , NO , 24 PSCR, , HOME , PGDN , PGUP ,END , LEFT, DOWN , UP , RGHT , , ,
61 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| 25 //|----+----+------+------+------+----+----. ,----+----+------+------+-------+----+----|
62 HOME,PGDN,PGUP,END , , , , ,ESC , 0 ,HOME,PGDN,PGUP,END 26 , , , , , , NO , MAC ,TMB7, , , , ,
63 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----' 27 //`----+----+------+------+------+----+----/ \----+----+------+------+-------+----+----'
64 ), 28 ),
65 29
66 [_RAISE] = LAYOUT_kc( 30 [_RAISE] = LAYOUT_kc(
67 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 31 //,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----.
68 F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,F12 , 32 , ,EXLM , AT ,HASH ,DLR , PERC,CIRC ,AMPR ,ASTR , , ,
69 //|----+----+----+----+----+----| |----+----+----+----+----+----| 33 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
70 TILD,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN, NO , 34 , 1 ,LA(2),LG(3),LC(4), 5 , 6 ,RS(7),RG(8),RA(9), 0 , ,
71 //|----+----+----+----+----+----| |----+----+----+----+----+----| 35 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
72 GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , NO , 36 PSCR, ,HOME ,PGDN ,PGUP ,END , LEFT,DOWN , UP ,RGHT , , ,
73 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| 37 //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
74 HOME,PGDN,PGUP,END ,TMB9,ESC , , , , ,HOME,PGDN,PGUP,END 38 , , , , , ,WIN , NO , , , , , ,
75 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----' 39 //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
76 ),
77
78 [_ADJUST] = LAYOUT_kc(
79 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
80 , , , ,EXTOFF, , ,EXTON, , , , ,
81 //|----+----+----+----+----+----| |----+----+----+----+----+----|
82 ,RST ,DBUG,RTOG,WIN , , ,MAC ,QWER,EDJP, , ,
83 //|----+----+----+----+----+----| |----+----+----+----+----+----|
84 , , , , , , , , , , , ,
85 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
86 , , , , , , , , , , , , ,
87 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----'
88 ) 40 )
89}; 41};
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/keymap_5rows.c b/keyboards/helix/rev2/keymaps/edvorakjp/keymap_5rows.c
index ef1b9d358..642ba8c63 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/keymap_5rows.c
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/keymap_5rows.c
@@ -4,100 +4,44 @@
4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5 5
6 [_EDVORAK] = LAYOUT_kc( 6 [_EDVORAK] = LAYOUT_kc(
7 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 7 //,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----.
8 GRV ,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN,BSPC, 8 ESC ,EXLM, AT ,HASH , DLR ,PERC, CIRC,AMPR ,ASTR ,LPRN ,RPRN,BSPC,
9 //|----+----+----+----+----+----| |----+----+----+----+----+----| 9 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
10 LBRC,RBRC,COMM,DOT , Y , P , F , G , R , W , Q ,BSLS, 10 GRV ,QUOT,COMM , DOT , Y , Q , F , G , R , W , P ,BSLS,
11 //|----+----+----+----+----+----| |----+----+----+----+----+----| 11 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
12 EQL , A , O , E , I , U , D , T , N , S , M ,MINS, 12 EQL , A ,LA(O),LG(E),LC(I), U , D ,RS(T),RG(N),RA(S), M ,MINS,
13 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| 13 //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
14 QUOT,SCLN, X , C , V , Z ,TMB4, TMB5, B , H , J , K , L ,SLSH, 14 TAB ,SCLN, X , C , V , Z , NO , NO , H , J , K , L , B ,SLSH,
15 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| 15 //|----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----|
16 LEFT,DOWN, UP ,RGHT,TMB1,TMB2,TMB3, TMB6,TMB7,TMB8,LEFT,DOWN, UP ,RGHT 16 HOME,PGDN,PGUP , END ,TMB1 ,TMB2,TMB3, TMB4,TMB5,TMB6 ,LEFT ,DOWN , UP ,RGHT
17 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----' 17 //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
18 ),
19
20 [_EDVORAKJ1] = LAYOUT_kc(
21 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
22 , , , , , , , , , , , ,
23 //|----+----+----+----+----+----| |----+----+----+----+----+----|
24 , AI , OU , EI , , , , , , , , ,
25 //|----+----+----+----+----+----| |----+----+----+----+----+----|
26 , , , , , , , , , Y , , ,
27 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
28 ,ANN ,ONN ,ENN ,INN ,UNN , , , , , , , , ,
29 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
30 , , , , , , , , , , , , ,
31 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----'
32 ),
33
34 [_EDVORAKJ2] = LAYOUT_kc(
35 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
36 , , , , , , , , , , , ,
37 //|----+----+----+----+----+----| |----+----+----+----+----+----|
38 , AI , OU , EI , , , , , , , , ,
39 //|----+----+----+----+----+----| |----+----+----+----+----+----|
40 , , , , , , , Y , , , , ,
41 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
42 ,ANN ,ONN ,ENN ,INN ,UNN , , , , , , , , ,
43 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
44 , , , , , , , , , , , , ,
45 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----'
46 ),
47
48 [_QWERTY] = LAYOUT_kc(
49 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
50 GRV ,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN,BSPC,
51 //|----+----+----+----+----+----| |----+----+----+----+----+----|
52 EQL , Q , W , E , R , T , Y , U , I , O , P ,MINS,
53 //|----+----+----+----+----+----| |----+----+----+----+----+----|
54 LBRC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
55 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
56 RBRC, Z , X , C , V , B , , , N , M ,COMM,DOT ,SLSH,BSLS,
57 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
58 , , , , , , , , , , , , ,
59 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----'
60 ), 18 ),
61 19
62 [_LOWER] = LAYOUT_kc( 20 [_LOWER] = LAYOUT_kc(
63 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 21 //,----+----+------+------+------+----. ,----+------+------+-------+----+----.
64 , , , , , , , ,SLSH,ASTR, , , 22 PSCR, , , , , , , , , , , ,
65 //|----+----+----+----+----+----| |----+----+----+----+----+----| 23 //|----+----+------+------+------+----| |----+------+------+-------+----+----|
66 F1 , F2 , F3 , F4 , F5 ,LCBR, RCBR, 7 , 8 , 9 ,MINS, , 24 , , LCBR , LBRC , LPRN , , , RPRN , RBRC , RCBR , , ,
67 //|----+----+----+----+----+----| |----+----+----+----+----+----| 25 //|----+----+------+------+------+----| |----+------+------+-------+----+----|
68 F6 , F7 , F8 , F9 ,F10 ,LPRN, RPRN, 4 , 5 , 6 ,PLUS, , 26 F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 , F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 ,
69 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| 27 //|----+----+------+------+------+----+----. ,----+----+------+------+-------+----+----|
70 F11 ,F12 ,PSCR,SLCK,PAUS,LBRC,LOCK, ,RBRC, 1 , 2 , 3 , , , 28 , , HOME , PGDN , PGUP ,END , , ,LEFT, DOWN , UP , RGHT , , ,
71 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| 29 //|----+----+------+------+------+----+----| |----+----+------+------+-------+----+----|
72 HOME,PGDN,PGUP,END ,TMB9, , , , , 0 ,HOME,PGDN,PGUP,END 30 , , , , , , NO , MAC ,TMB7, , , , ,
73 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----' 31 //`----+----+------+------+------+----+----/ \----+----+------+------+-------+----+----'
74 ), 32 ),
75 33
76 [_RAISE] = LAYOUT_kc( 34 [_RAISE] = LAYOUT_kc(
77 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 35 //,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----.
78 , , , , , , , ,SLSH,ASTR, , , 36 PSCR, , , , , , , , , , , ,
79 //|----+----+----+----+----+----| |----+----+----+----+----+----| 37 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
80 F1 , F2 , F3 , F4 , F5 ,LCBR, RCBR, 7 , 8 , 9 ,MINS, , 38 , ,EXLM , AT ,HASH ,DLR , PERC,CIRC ,AMPR ,ASTR , , ,
81 //|----+----+----+----+----+----| |----+----+----+----+----+----| 39 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
82 F6 , F7 , F8 , F9 ,F10 ,LPRN, RPRN, 4 , 5 , 6 ,PLUS, , 40 , 1 ,LA(2),LG(3),LC(4), 5 , 6 ,RS(7),RG(8),RA(9), 0 , ,
83 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| 41 //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
84 F11 ,F12 ,PSCR,SLCK,PAUS,LBRC,LOCK, ,RBRC, 1 , 2 , 3 , , , 42 , ,HOME ,PGDN ,PGUP ,END , , ,LEFT,DOWN , UP ,RGHT , , ,
85 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| 43 //|----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----|
86 HOME,PGDN,PGUP,END ,TMB9, , , , , 0 ,HOME,PGDN,PGUP,END 44 , , , , , ,WIN , NO , , , , , ,
87 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----' 45 //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
88 ),
89
90 [_ADJUST] = LAYOUT_kc(
91 //,----+----+----+----+----+----. ,----+----+----+----+----+----.
92 , , , , , , , , , , , ,
93 //|----+----+----+----+----+----| |----+----+----+----+----+----|
94 , , , ,EXTOFF, , ,EXTON, , , , ,
95 //|----+----+----+----+----+----| |----+----+----+----+----+----|
96 ,RST ,DBUG,RTOG,WIN , , ,MAC ,QWER,EDJP, , ,
97 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
98 , , , , , , , , , , , , , ,
99 //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
100 , , , , , , , , , , , , ,
101 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----'
102 ) 46 )
103}; 47};
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/keymap_xrows.h b/keyboards/helix/rev2/keymaps/edvorakjp/keymap_xrows.h
index 6a0e58102..d9561d0b7 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/keymap_xrows.h
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/keymap_xrows.h
@@ -2,27 +2,20 @@
2#define KEYMAP_XROWS_H 2#define KEYMAP_XROWS_H
3 3
4#include "edvorakjp.h" 4#include "edvorakjp.h"
5 5/*
6enum custom_keycodes { 6 * enum custom_keycodes {
7 KC_LOCK = NEW_SAFE_RANGE, 7 * KC_LOCK = NEW_SAFE_RANGE,
8}; 8 * };
9 */
9 10
10#define KC_ KC_TRNS 11#define KC_ KC_TRNS
11 12
12#define KC_TMB1 LGUI_T(KC_TAB) 13#define KC_TMB1 KC_LA(TAB)
13#define KC_TMB2 LSFT_T(KC_SPC) 14#define KC_TMB2 KC_LS(SPC)
14#define KC_TMB3 LOWER // act as LOWER when hold, as KC_LANG2(=English) when tapped 15#define KC_TMB3 TD(TD_LOWER) // act as LOWER when hold, as KC_LANG2(=English) when tapped
15#define KC_TMB4 LCTL_T(KC_ESC) 16#define KC_TMB4 TD(TD_RAISE) // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped
16#define KC_TMB5 RSFT_T(KC_DEL) 17#define KC_TMB5 KC_RC(BSPC)
17#define KC_TMB6 RAISE // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped 18#define KC_TMB6 KC_RG(ENT)
18#define KC_TMB7 RCTL_T(KC_BSPC) 19#define KC_TMB7 KC_RC(DEL)
19#define KC_TMB8 RALT_T(KC_ENT)
20#define KC_TMB9 LGUI(KC_TAB)
21
22#define KC_RST RESET
23#define KC_DBUG DEBUG
24#define KC_RTOG RGB_TOG
25#define KC_EDJP EDVORAK
26#define KC_QWER QWERTY
27 20
28#endif 21#endif
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c b/keyboards/helix/rev2/keymaps/edvorakjp/oled.c
index 227e2c56f..b931b72b7 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/oled.c
@@ -34,13 +34,7 @@ void render_status(struct CharacterMatrix *matrix) {
34 matrix_write_P(matrix, PSTR("\nLayer: ")); 34 matrix_write_P(matrix, PSTR("\nLayer: "));
35 switch (biton32(layer_state)) { 35 switch (biton32(layer_state)) {
36 case L_BASE: 36 case L_BASE:
37 matrix_write_P(matrix, 37 matrix_write_P(matrix, PSTR("Default"));
38 default_layer_state == 1UL<<_EDVORAK ? PSTR("EDVORAK") : PSTR("QWERTY")
39 );
40 break;
41 case _EDVORAKJ1:
42 case _EDVORAKJ2:
43 matrix_write_P(matrix, PSTR("JP_EXT"));
44 break; 38 break;
45 case _RAISE: 39 case _RAISE:
46 matrix_write_P(matrix, PSTR("Raise")); 40 matrix_write_P(matrix, PSTR("Raise"));
@@ -48,17 +42,13 @@ void render_status(struct CharacterMatrix *matrix) {
48 case _LOWER: 42 case _LOWER:
49 matrix_write_P(matrix, PSTR("Lower")); 43 matrix_write_P(matrix, PSTR("Lower"));
50 break; 44 break;
51 case _ADJUST:
52 matrix_write_P(matrix, PSTR("Adjust"));
53 break;
54 default: 45 default:
55 matrix_write(matrix, buf); 46 matrix_write(matrix, buf);
56 } 47 }
57 48
58 // Host Keyboard LED Status 49 // Host Keyboard LED Status
59 char led[40]; 50 char led[40];
60 snprintf(led, sizeof(led), "\n%s %s %s %s", 51 snprintf(led, sizeof(led), "\n%s %s %s",
61 get_enable_jp_extra_layer() && get_japanese_mode() ? "EXT" : " ",
62 (host_keyboard_leds() & (1<<USB_LED_NUM_LOCK)) ? "NMLK" : " ", 52 (host_keyboard_leds() & (1<<USB_LED_NUM_LOCK)) ? "NMLK" : " ",
63 (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ? "CAPS" : " ", 53 (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ? "CAPS" : " ",
64 (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " "); 54 (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " ");
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk b/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk
index 9d3743995..4a96517eb 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk
@@ -15,6 +15,7 @@ UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. 16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
17SWAP_HANDS_ENABLE = no # Enable one-hand typing 17SWAP_HANDS_ENABLE = no # Enable one-hand typing
18TAP_DANCE_ENABLE = yes
18 19
19define HELIX_CUSTOMISE_MSG 20define HELIX_CUSTOMISE_MSG
20 $(info Helix customize) 21 $(info Helix customize)
diff --git a/keyboards/keebio/iris/keymaps/edvorakjp/config.h b/keyboards/keebio/iris/keymaps/edvorakjp/config.h
index 1610c4b12..954d0d3b9 100644
--- a/keyboards/keebio/iris/keymaps/edvorakjp/config.h
+++ b/keyboards/keebio/iris/keymaps/edvorakjp/config.h
@@ -1,10 +1,7 @@
1#ifndef CONFIG_USER_H 1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H 2#define CONFIG_USER_H
3 3
4#include "config_common.h"
5
6/* Use I2C or Serial, not both */ 4/* Use I2C or Serial, not both */
7
8#define USE_SERIAL 5#define USE_SERIAL
9// #define USE_I2C 6// #define USE_I2C
10 7
@@ -14,18 +11,16 @@
14// #define MASTER_RIGHT 11// #define MASTER_RIGHT
15// #define EE_HANDS 12// #define EE_HANDS
16 13
14#define SWAP_SCLN
15#define TAPPING_TERM 300
16#define IGNORE_MOD_TAP_INTERRUPT
17
17#undef RGBLED_NUM 18#undef RGBLED_NUM
18#define RGBLIGHT_ANIMATIONS 19#define RGBLIGHT_EFFECT_STATIC_GRADIENT
19#define RGBLED_NUM 10 20#define RGBLED_NUM 10
21#define RGBLIGHT_LIMIT_VAL 100
20#define RGBLIGHT_HUE_STEP 10 22#define RGBLIGHT_HUE_STEP 10
21#define RGBLIGHT_SAT_STEP 8 23#define RGBLIGHT_SAT_STEP 8
22#define RGBLIGHT_VAL_STEP 8 24#define RGBLIGHT_VAL_STEP 8
23#define RGBLIGHT_LIMIT_VAL 100
24
25#define MOUSEKEY_WHEEL_MAX_SPEED 10
26#define MOUSEKEY_WHEEL_TIME_TO_MAX 20
27
28#define TAPPING_TERM 120
29#define SWAP_SCLN
30 25
31#endif 26#endif // CONFIG_USER_H
diff --git a/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c b/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
index f5d305f7f..be287390d 100644
--- a/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
+++ b/keyboards/keebio/iris/keymaps/edvorakjp/keymap.c
@@ -1,166 +1,85 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "edvorakjp.h" 2#include "edvorakjp.h"
3 3
4enum custom_keycodes { 4/*
5 KC_LOCK = NEW_SAFE_RANGE, 5 * enum custom_keycodes {
6}; 6 * KC_LOCK = NEW_SAFE_RANGE,
7 * };
8 */
7 9
8#define KC_ KC_TRNS 10#define KC_ KC_TRNS
9 11
10#define KC_TMB1 LGUI_T(KC_TAB) 12#define KC_TMB1 KC_LA(TAB)
11#define KC_TMB2 LSFT_T(KC_SPC) 13#define KC_TMB2 KC_LS(SPC)
12#define KC_TMB3 LOWER // act as LOWER when hold, as KC_LANG2(=English) when tapped 14#define KC_TMB3 TD(TD_LOWER) // act as LOWER when hold, as KC_LANG2(=English) when tapped
13#define KC_TMB4 LCTL_T(KC_ESC) 15#define KC_TMB4 TD(TD_RAISE) // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped
14#define KC_TMB5 RSFT_T(KC_DEL) 16#define KC_TMB5 KC_RC(BSPC)
15#define KC_TMB6 RAISE // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped 17#define KC_TMB6 KC_RG(ENT)
16#define KC_TMB7 RCTL_T(KC_BSPC) 18#define KC_TMB7 KC_RC(DEL)
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 19
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 20const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 21
28 [_EDVORAK] = LAYOUT_kc( 22 [_EDVORAK] = LAYOUT_kc(
29 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 23 //,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----.
30 GRV ,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN,BSPC, 24 GRV ,EXLM, AT ,HASH , DLR ,PERC, CIRC,AMPR ,ASTR ,LPRN ,RPRN,BSPC,
31 //|----+----+----+----+----+----| |----+----+----+----+----+----| 25 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
32 LBRC,RBRC,COMM,DOT , Y , P , F , G , R , W , Q ,BSLS, 26 TAB ,QUOT,COMM , DOT , Y , Q , F , G , R , W , P ,BSLS,
33 //|----+----+----+----+----+----| |----+----+----+----+----+----| 27 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
34 EQL , A , O , E , I , U , D , T , N , S , M ,MINS, 28 EQL , A ,LA(O),LG(E),LC(I), U , D ,RS(T),RG(N),RA(S), M ,MINS,
35 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| 29 //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
36 QUOT,SCLN, X , C , V , Z ,TMB4, TMB5, B , H , J , K , L ,SLSH, 30 ESC ,SCLN, X , C , V , Z , NO , NO , H , J , K , L , B ,SLSH,
37 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----' 31 //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
38 TMB1,TMB2,TMB3, TMB6,TMB7,TMB8 32 TMB1,TMB2,TMB3, TMB4,TMB5,TMB6
39 // `----+----+----' `----+----+----' 33 // `----+----+----' `----+----+----'
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 ), 34 ),
83 35
84 [_LOWER] = LAYOUT_kc( 36 [_LOWER] = LAYOUT_kc(
85 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 37 //,----+----+------+------+------+----. ,----+------+------+-------+----+----.
86 , , , , , , , ,SLSH,ASTR, , , 38 , , , , , , , , , , , ,
87 //|----+----+----+----+----+----| |----+----+----+----+----+----| 39 //|----+----+------+------+------+----| |----+------+------+-------+----+----|
88 , ,BTN4,WH_U,BTN5, , , 7 , 8 , 9 ,MINS, , 40 , , LCBR , LBRC , LPRN , , , RPRN , RBRC , RCBR , , ,
89 //|----+----+----+----+----+----| |----+----+----+----+----+----| 41 //|----+----+------+------+------+----| |----+------+------+-------+----+----|
90 , ,WH_L,WH_D,WH_R, , , 4 , 5 , 6 ,PLUS, , 42 F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 , F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 ,
91 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| 43 //|----+----+------+------+------+----+----. ,----+----+------+------+-------+----+----|
92 , ,BTN1,BTN3,BTN2, , , , , 1 , 2 , 3 , , , 44 PSCR, , HOME , PGDN , PGUP ,END , , ,LEFT, DOWN , UP , RGHT , , ,
93 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----' 45 //`----+----+------+------+------+----+----/ \----+----+------+------+-------+----+----'
94 , , , , 0 , 46 , , NO , MAC ,TMB7,
95 // `----+----+----' `----+----+----' 47 // `----+----+----' `----+----+----'
96 ), 48 ),
97 49
98 [_RAISE] = LAYOUT_kc( 50 [_RAISE] = LAYOUT_kc(
99 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 51 //,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----.
100 , , , , , , , , , , , , 52 , , , , , , , , , , , ,
101 //|----+----+----+----+----+----| |----+----+----+----+----+----| 53 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
102 F1 , F2 , F3 , F4 , F5 ,LCBR, RCBR, , , , , , 54 , ,EXLM , AT ,HASH ,DLR , PERC,CIRC ,AMPR ,ASTR , , ,
103 //|----+----+----+----+----+----| |----+----+----+----+----+----| 55 //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
104 F6 , F7 , F8 , F9 ,F10 ,LPRN, RPRN,HOME,PGDN,PGUP,END , , 56 , 1 ,LA(2),LG(3),LC(4), 5 , 6 ,RS(7),RG(8),RA(9), 0 , ,
105 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| 57 //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
106 F11 ,F12 ,PSCR,SLCK,PAUS,LBRC,LOCK, ,RBRC,LEFT,DOWN, UP ,RGHT, , 58 PSCR, ,HOME ,PGDN ,PGUP ,END , , ,LEFT,DOWN , UP ,RGHT , , ,
107 //`----+----+----+----+----+----+----/ \----+----+----+----+----+----+----' 59 //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
108 TMB9, , , , , 60 , ,WIN , NO , ,
109 // `----+----+----' `----+----+----' 61 // `----+----+----' `----+----+----'
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 ) 62 )
125}; 63};
126 64
127void matrix_init_keymap() { 65void matrix_init_keymap() {
128} 66}
129 67
130bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { 68#ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
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
145uint32_t layer_state_set_keymap(uint32_t state) { 69uint32_t layer_state_set_keymap(uint32_t state) {
70 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
146 switch (biton32(state)) { 71 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: 72 case _LOWER:
153 rgblight_setrgb (0xFF, 0x00, 0x00); 73 rgblight_sethsv_noeeprom_red();
154 break; 74 break;
155 case _RAISE: 75 case _RAISE:
156 rgblight_setrgb (0x00, 0x00, 0xFF); 76 rgblight_sethsv_noeeprom_blue();
157 break;
158 case _ADJUST:
159 rgblight_setrgb (0x00, 0xFF, 0x00);
160 break; 77 break;
161 default: // for any other layers, or the default layer 78 default: // for any other layers, or the default layer
162 rgblight_mode(28); 79 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
80 get_japanese_mode() ? rgblight_sethsv_noeeprom_red() : rgblight_sethsv_noeeprom_green();
163 break; 81 break;
164 } 82 }
165 return state; 83 return state;
166} 84}
85#endif
diff --git a/keyboards/keebio/iris/keymaps/edvorakjp/rules.mk b/keyboards/keebio/iris/keymaps/edvorakjp/rules.mk
index 58d244c38..4ee94a983 100644
--- a/keyboards/keebio/iris/keymaps/edvorakjp/rules.mk
+++ b/keyboards/keebio/iris/keymaps/edvorakjp/rules.mk
@@ -2,15 +2,17 @@
2# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
4# 4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700) 6MOUSEKEY_ENABLE = no # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 7EXTRAKEY_ENABLE = no # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400) 8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = no # Commands for debug and configuration 9COMMAND_ENABLE = no # Commands for debug and configuration
10NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 10NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls 12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6 13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode 14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. 16RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
17SWAP_HANDS_ENABLE = no # Enable one-hand typing
18TAP_DANCE_ENABLE = yes
diff --git a/users/edvorakjp/edvorakjp.c b/users/edvorakjp/edvorakjp.c
index 1ac610794..892ce4be3 100644
--- a/users/edvorakjp/edvorakjp.c
+++ b/users/edvorakjp/edvorakjp.c
@@ -1,10 +1,5 @@
1#include "edvorakjp.h" 1#include "edvorakjp.h"
2 2
3void dvorakj_layer_off(void) {
4 layer_off(_EDVORAKJ1);
5 layer_off(_EDVORAKJ2);
6}
7
8void matrix_init_user(void) { 3void matrix_init_user(void) {
9 edvorakjp_status_init(); 4 edvorakjp_status_init();
10 matrix_init_keymap(); 5 matrix_init_keymap();
@@ -25,7 +20,6 @@ uint32_t layer_state_set_keymap(uint32_t state) {
25 20
26bool process_record_user(uint16_t keycode, keyrecord_t *record) { 21bool process_record_user(uint16_t keycode, keyrecord_t *record) {
27 return process_record_keymap(keycode, record) &&\ 22 return process_record_keymap(keycode, record) &&\
28 process_record_edvorakjp_ext(keycode, record) &&\
29 process_record_edvorakjp_swap_scln(keycode, record) &&\ 23 process_record_edvorakjp_swap_scln(keycode, record) &&\
30 process_record_edvorakjp_config(keycode, record) &&\ 24 process_record_edvorakjp_config(keycode, record) &&\
31 process_record_layer(keycode, record) &&\ 25 process_record_layer(keycode, record) &&\
diff --git a/users/edvorakjp/edvorakjp.h b/users/edvorakjp/edvorakjp.h
index e781bf237..688cdeffb 100644
--- a/users/edvorakjp/edvorakjp.h
+++ b/users/edvorakjp/edvorakjp.h
@@ -10,9 +10,6 @@ extern keymap_config_t keymap_config;
10 10
11enum edvorakjp_layers { 11enum edvorakjp_layers {
12 _EDVORAK = 0, 12 _EDVORAK = 0,
13 _EDVORAKJ1,
14 _EDVORAKJ2,
15 _QWERTY,
16 _LOWER, 13 _LOWER,
17 _RAISE, 14 _RAISE,
18 _ADJUST, 15 _ADJUST,
@@ -21,26 +18,24 @@ enum edvorakjp_layers {
21 18
22enum edvorakjp_keycodes { 19enum edvorakjp_keycodes {
23 EDVORAK = SAFE_RANGE, 20 EDVORAK = SAFE_RANGE,
24 QWERTY,
25 LOWER, 21 LOWER,
26 RAISE, 22 RAISE,
27 KC_MAC, 23 KC_MAC,
28 KC_WIN, 24 KC_WIN,
29 KC_EXTON,
30 KC_EXTOFF,
31 KC_JPN, 25 KC_JPN,
32 KC_ENG, 26 KC_ENG,
33 KC_AI,
34 KC_OU,
35 KC_EI,
36 KC_ANN,
37 KC_ONN,
38 KC_ENN,
39 KC_INN,
40 KC_UNN,
41 NEW_SAFE_RANGE 27 NEW_SAFE_RANGE
42}; 28};
43 29
30#define KC_LC(k) LCTL_T(KC_##k)
31#define KC_LS(k) LSFT_T(KC_##k)
32#define KC_LA(k) LALT_T(KC_##k)
33#define KC_LG(k) LGUI_T(KC_##k)
34#define KC_RC(k) RCTL_T(KC_##k)
35#define KC_RS(k) RSFT_T(KC_##k)
36#define KC_RG(k) RGUI_T(KC_##k)
37#define KC_RA(k) RALT_T(KC_##k)
38
44enum tap_dance_code { 39enum tap_dance_code {
45 TD_LOWER = 0, 40 TD_LOWER = 0,
46 TD_RAISE 41 TD_RAISE
@@ -57,8 +52,6 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
57 52
58// status 53// status
59void edvorakjp_status_init(void); 54void edvorakjp_status_init(void);
60bool get_enable_jp_extra_layer(void);
61void set_enable_jp_extra_layer(bool new_state);
62bool get_enable_kc_lang(void); 55bool get_enable_kc_lang(void);
63void set_enable_kc_lang(bool new_state); 56void set_enable_kc_lang(bool new_state);
64bool get_japanese_mode(void); 57bool get_japanese_mode(void);
@@ -69,7 +62,6 @@ void set_japanese_mode(bool new_state);
69 * return false if processed, or return true if not processed. 62 * return false if processed, or return true if not processed.
70 * You can add your original macros in process_record_keymap() in keymap.c. 63 * You can add your original macros in process_record_keymap() in keymap.c.
71 */ 64 */
72bool process_record_edvorakjp_ext(uint16_t keycode, keyrecord_t *record);
73bool process_record_edvorakjp_swap_scln(uint16_t keycode, keyrecord_t *record); 65bool process_record_edvorakjp_swap_scln(uint16_t keycode, keyrecord_t *record);
74bool process_record_edvorakjp_config(uint16_t keycode, keyrecord_t *record); 66bool process_record_edvorakjp_config(uint16_t keycode, keyrecord_t *record);
75bool process_record_layer(uint16_t keycode, keyrecord_t *record); 67bool process_record_layer(uint16_t keycode, keyrecord_t *record);
diff --git a/users/edvorakjp/edvorakjp_process_record.c b/users/edvorakjp/edvorakjp_process_record.c
index 2dcdab2a2..ecc8db936 100644
--- a/users/edvorakjp/edvorakjp_process_record.c
+++ b/users/edvorakjp/edvorakjp_process_record.c
@@ -7,114 +7,6 @@ static uint16_t time_on_pressed;
7 * Each process_record_* methods defined here are 7 * Each process_record_* methods defined here are
8 * return false if handle edvorak_keycodes, or return true others. 8 * return false if handle edvorak_keycodes, or return true others.
9 */ 9 */
10bool process_record_edvorakjp_ext(uint16_t keycode, keyrecord_t *record) {
11 if (!(default_layer_state == 1UL<<_EDVORAK &&
12 get_enable_jp_extra_layer() && get_japanese_mode())) {
13 return true;
14 }
15
16 // consonant keys
17 // layer_on(J1) or layer_on(J2) are defined based on key positions.
18 switch (keycode) {
19 // right hand's left side w/o N
20 case KC_F:
21 case KC_G:
22 case KC_R:
23 case KC_D:
24 case KC_T:
25 case KC_B:
26 case KC_H:
27 case KC_J:
28 if (record->event.pressed) {
29 layer_on(_EDVORAKJ1);
30 }
31 return true;
32
33 // N: toggle layer
34 case KC_N:
35 if (record->event.pressed) {
36 biton32(layer_state) == _EDVORAK ? layer_on(_EDVORAKJ1) : dvorakj_layer_off();
37 }
38 return true;
39
40 // left hand up and right hand's right side
41 case KC_Y:
42 case KC_P:
43 case KC_W:
44 case KC_Q:
45 case KC_S:
46 case KC_M:
47 case KC_K:
48 case KC_L:
49 if (record->event.pressed) {
50 layer_on(_EDVORAKJ2);
51 }
52 return true;
53 // left hand down
54 // If return true, QMK sends keycode in new layer,
55 // but these keys are only available in old layer.
56 case KC_X:
57 case KC_C:
58 case KC_V:
59 case KC_Z:
60 if (record->event.pressed) {
61 layer_on(_EDVORAKJ2);
62 tap_code(keycode);
63 }
64 return false;
65 }
66
67 // vowel keys, symbol keys and modifier keys
68 if (record->event.pressed) {
69 dvorakj_layer_off();
70 }
71 switch (keycode) {
72 // combination vowel keys
73 case KC_AI:
74 if (record->event.pressed) {
75 SEND_STRING("ai");
76 }
77 return false;
78 case KC_OU:
79 if (record->event.pressed) {
80 SEND_STRING("ou");
81 }
82 return false;
83 case KC_EI:
84 if (record->event.pressed) {
85 SEND_STRING("ei");
86 }
87 return false;
88 case KC_ANN:
89 if (record->event.pressed) {
90 SEND_STRING("ann");
91 }
92 return false;
93 case KC_ONN:
94 if (record->event.pressed) {
95 SEND_STRING("onn");
96 }
97 return false;
98 case KC_ENN:
99 if (record->event.pressed) {
100 SEND_STRING("enn");
101 }
102 return false;
103 case KC_INN:
104 if (record->event.pressed) {
105 SEND_STRING("inn");
106 }
107 return false;
108 case KC_UNN:
109 if (record->event.pressed) {
110 SEND_STRING("unn");
111 }
112 return false;
113 }
114 // AOEIU and other (symbol, modifier) keys
115 return true;
116}
117
118bool process_record_edvorakjp_swap_scln(uint16_t keycode, keyrecord_t *record) { 10bool process_record_edvorakjp_swap_scln(uint16_t keycode, keyrecord_t *record) {
119#ifdef SWAP_SCLN 11#ifdef SWAP_SCLN
120 static const uint8_t shift_bits = MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT); 12 static const uint8_t shift_bits = MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT);
@@ -146,30 +38,13 @@ bool process_record_edvorakjp_config(uint16_t keycode, keyrecord_t *record) {
146 set_enable_kc_lang(keycode == KC_MAC); 38 set_enable_kc_lang(keycode == KC_MAC);
147 } 39 }
148 return false; 40 return false;
149 case KC_EXTON:
150 case KC_EXTOFF:
151 if (record->event.pressed) {
152 set_enable_jp_extra_layer(keycode == KC_EXTON);
153 }
154 return false;
155 } 41 }
156 return true; 42 return true;
157} 43}
158 44
159bool process_record_layer(uint16_t keycode, keyrecord_t *record) { 45bool process_record_layer(uint16_t keycode, keyrecord_t *record) {
160 switch (keycode) {
161 case EDVORAK:
162 if (record->event.pressed) {
163 set_single_persistent_default_layer(_EDVORAK);
164 }
165 return false;
166 case QWERTY:
167 if (record->event.pressed) {
168 dvorakj_layer_off();
169 set_single_persistent_default_layer(_QWERTY);
170 }
171 return false;
172#if TAP_DANCE_ENABLE != yes 46#if TAP_DANCE_ENABLE != yes
47 switch (keycode) {
173 case LOWER: 48 case LOWER:
174 if (record->event.pressed) { 49 if (record->event.pressed) {
175 layer_on(_LOWER); 50 layer_on(_LOWER);
@@ -196,8 +71,8 @@ bool process_record_layer(uint16_t keycode, keyrecord_t *record) {
196 time_on_pressed = 0; 71 time_on_pressed = 0;
197 } 72 }
198 return false; 73 return false;
199#endif
200 } 74 }
75#endif
201 return true; 76 return true;
202} 77}
203 78
diff --git a/users/edvorakjp/edvorakjp_status.c b/users/edvorakjp/edvorakjp_status.c
index a60c8d853..128fc3bd2 100644
--- a/users/edvorakjp/edvorakjp_status.c
+++ b/users/edvorakjp/edvorakjp_status.c
@@ -4,8 +4,7 @@
4typedef union { 4typedef union {
5 uint8_t raw; 5 uint8_t raw;
6 struct { 6 struct {
7 bool enable_jp_extra_layer : 1; 7 bool enable_kc_lang; // for macOS
8 bool enable_kc_lang : 1; // for macOS
9 }; 8 };
10} edvorakjp_config_t; 9} edvorakjp_config_t;
11static edvorakjp_config_t edvorakjp_config; 10static edvorakjp_config_t edvorakjp_config;
@@ -34,15 +33,6 @@ void edvorakjp_status_init(void) {
34 edvorakjp_config.raw = eeconfig_read_edvorakjp(); 33 edvorakjp_config.raw = eeconfig_read_edvorakjp();
35} 34}
36 35
37bool get_enable_jp_extra_layer(void) {
38 return edvorakjp_config.enable_jp_extra_layer;
39}
40
41void set_enable_jp_extra_layer(bool new_state) {
42 edvorakjp_config.enable_jp_extra_layer = new_state;
43 eeconfig_update_edvorakjp(edvorakjp_config.raw);
44}
45
46bool get_enable_kc_lang(void) { 36bool get_enable_kc_lang(void) {
47 return edvorakjp_config.enable_kc_lang; 37 return edvorakjp_config.enable_kc_lang;
48} 38}
@@ -65,7 +55,6 @@ void set_japanese_mode(bool new_state) {
65 SEND_STRING(SS_LALT("`")); 55 SEND_STRING(SS_LALT("`"));
66 } 56 }
67 } else { 57 } else {
68 dvorakj_layer_off();
69 if (edvorakjp_config.enable_kc_lang) { 58 if (edvorakjp_config.enable_kc_lang) {
70 SEND_STRING(SS_TAP(X_LANG2)); 59 SEND_STRING(SS_TAP(X_LANG2));
71 } else { 60 } else {
diff --git a/users/edvorakjp/edvorakjp_tap_dance.c b/users/edvorakjp/edvorakjp_tap_dance.c
index 62c0c100a..d5369f926 100644
--- a/users/edvorakjp/edvorakjp_tap_dance.c
+++ b/users/edvorakjp/edvorakjp_tap_dance.c
@@ -8,8 +8,11 @@ enum tap_state {
8 HOLD 8 HOLD
9}; 9};
10 10
11static int td_status_lower = NONE; 11typedef struct {
12static int td_status_raise = NONE; 12 uint8_t lower;
13 uint8_t raise;
14} td_status_t;
15static td_status_t td_status = {NONE, NONE};
13 16
14int cur_dance(qk_tap_dance_state_t *state) { 17int cur_dance(qk_tap_dance_state_t *state) {
15 if (state->interrupted || !state->pressed) { 18 if (state->interrupted || !state->pressed) {
@@ -20,14 +23,14 @@ int cur_dance(qk_tap_dance_state_t *state) {
20} 23}
21 24
22void td_lower_finished(qk_tap_dance_state_t *state, void *user_data) { 25void td_lower_finished(qk_tap_dance_state_t *state, void *user_data) {
23 td_status_lower = cur_dance(state); 26 td_status.lower = cur_dance(state);
24 switch(td_status_lower) { 27 switch(td_status.lower) {
25 case SINGLE_TAP: 28 case SINGLE_TAP:
26 set_japanese_mode(false); 29 set_japanese_mode(false);
27 register_code(KC_ESC);
28 break; 30 break;
29 case DOUBLE_TAP: 31 case DOUBLE_TAP:
30 set_japanese_mode(false); 32 set_japanese_mode(false);
33 register_code(KC_ESC);
31 break; 34 break;
32 case HOLD: 35 case HOLD:
33 break; 36 break;
@@ -36,18 +39,19 @@ void td_lower_finished(qk_tap_dance_state_t *state, void *user_data) {
36} 39}
37 40
38void td_lower_reset(qk_tap_dance_state_t *state, void *user_data) { 41void td_lower_reset(qk_tap_dance_state_t *state, void *user_data) {
39 if (td_status_lower == SINGLE_TAP) { 42 if (td_status.lower == DOUBLE_TAP) {
40 unregister_code(KC_ESC); 43 unregister_code(KC_ESC);
41 } 44 }
42 layer_off(_LOWER); 45 layer_off(_LOWER);
43 td_status_lower = NONE; 46 td_status.lower = NONE;
44} 47}
45 48
46void td_raise_finished(qk_tap_dance_state_t *state, void *user_data) { 49void td_raise_finished(qk_tap_dance_state_t *state, void *user_data) {
47 td_status_raise = cur_dance(state); 50 td_status.raise = cur_dance(state);
48 switch(td_status_raise) { 51 switch(td_status.raise) {
49 case SINGLE_TAP:
50 case DOUBLE_TAP: 52 case DOUBLE_TAP:
53 // same as single
54 case SINGLE_TAP:
51 set_japanese_mode(true); 55 set_japanese_mode(true);
52 break; 56 break;
53 case HOLD: 57 case HOLD:
@@ -58,14 +62,12 @@ void td_raise_finished(qk_tap_dance_state_t *state, void *user_data) {
58 62
59void td_raise_reset(qk_tap_dance_state_t *state, void *user_data) { 63void td_raise_reset(qk_tap_dance_state_t *state, void *user_data) {
60 layer_off(_RAISE); 64 layer_off(_RAISE);
61 td_status_raise = NONE; 65 td_status.raise = NONE;
62} 66}
63 67
64qk_tap_dance_action_t tap_dance_actions[] = { 68qk_tap_dance_action_t tap_dance_actions[] = {
65 [TD_LOWER] = ACTION_TAP_DANCE_FN_ADVANCED_TIME( 69 [TD_LOWER] =
66 NULL, td_lower_finished, td_lower_reset, TAPPING_TERM * 1.5 70 ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_lower_finished, td_lower_reset, 100),
67 ), 71 [TD_RAISE] =
68 [TD_RAISE] = ACTION_TAP_DANCE_FN_ADVANCED_TIME( 72 ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, td_raise_finished, td_raise_reset, 100)
69 NULL, td_raise_finished, td_raise_reset, TAPPING_TERM * 1.5
70 )
71}; 73};
diff --git a/users/edvorakjp/readme.md b/users/edvorakjp/readme.md
index 077ba4abd..679d84b3d 100644
--- a/users/edvorakjp/readme.md
+++ b/users/edvorakjp/readme.md
@@ -5,49 +5,20 @@ epaew's Enhanced Dvorak layout for Japanese Programmer
5## Layout overview 5## Layout overview
6This is a sample. You can swap any symbol keys and modifier keys. 6This is a sample. You can swap any symbol keys and modifier keys.
7 7
8- Base layer (for ansi layout) 8- Basic layout (for ansi)
9``` 9```
10 //+----+----+----+----+----+----+----+----+----+----+----+----+----+---------+ 10 //+----+----+----+----+----+----+----+----+----+----+----+----+----+---------+
11 ` , ! , @ , # , $ , % , ^ , & , * , ( , ) , [ , ] , BSPC , 11 ` , ! , @ , # , $ , % , ^ , & , * , ( , ) , [ , ] , BSPC ,
12 //+----+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+-------+ 12 //+----+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+-------+
13 TAB , ' , , , . , Y , P , F , G , R , W , Q , / , = , \ , 13 TAB , ' , , , . , Y , Q , F , G , R , W , P , / , = , \ ,
14 //+------++---++---++---++---++---++---++---++---++---++---++---++---+-------+ 14 //+------++---++---++---++---++---++---++---++---++---++---++---++---+-------+
15 CAPS , A , O , E , I , U , D , T , N , S , M , - , ENT , 15 CAPS , A , O , E , I , U , D , T , N , S , M , - , ENT ,
16 //+-------+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-----------+ 16 //+-------+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-----------+
17 LSFT , ; , X , C , V , Z , B , H , J , K , L , RSFT , 17 LSFT , : , X , C , V , Z , H , J , K , L , B , RSFT ,
18 //+------+--+---++----++---+----+----+----+----+-+--+---++----++------+------+ 18 //+------+--+---++----++---+----+----+----+----+-+--+---++----++------+------+
19 LCTL , LGUI , LALT , SPACE , RALT , RGUI , MENU , RCTL 19 LCTL , LGUI , LALT , SPACE , RALT , RGUI , MENU , RCTL
20 //+------+------+------+-------------------------+------+------+------+------+ 20 //+------+------+------+-------------------------+------+------+------+------+
21``` 21```
22- Base layer (for iso layout)
23 - Two C keys are placed, it's on purpose.
24```
25 //+----+----+----+----+----+----+----+----+----+----+----+----+----+---------+
26 ` , ! , @ , # , $ , % , ^ , & , * , ( , ) , [ , ] , BSPC ,
27 //+----+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+-------+
28 TAB , ' , , , . , Y , P , F , G , R , W , C , / , = ,
29 //+------++---++---++---++---++---++---++---++---++---++---++---++---++
30 CAPS , A , O , E , I , U , D , T , N , S , M , ; , - , ENT ,
31 //+-------+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+------+
32 LSFT , Q , X , C , V , Z , B , H , J , K , L , \ , RSFT ,
33 //+------+--+---++----++---+----+----+----+----+-+--+---++----++---+--+------+
34 LCTL , LGUI , LALT , SPACE , RALT , RGUI , MENU , RCTL
35 //+------+------+------+-------------------------+------+------+------+------+
36```
37- Additional layer (common, blanks are transparent)
38```
39 //+----+----+----+----+----+----+----+----+----+----+----+----+----+---------+
40 , , , , , , , , , , , , , ,
41 //+----+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+-------+
42 , AI , OU , EI , , , , , , , , , , ,
43 //+------++---++---++---++---++---++---++---++---++---++---++---++---+-------+
44 , A , O , E , I , U , , Y1 , N , Y2 , , , ,
45 //+-------+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-----------+
46 ,ANN ,ONN ,ENN ,INN ,UNN , , , , , , ,
47 //+------+--+---++----++---+----+----+----+----+-+--+---++----++------+------+
48 , , , , , , ,
49 //+------+------+------+-------------------------+------+------+------+------+
50```
51 22
52 And you can see [my iris keyboard layout](../../keyboards/iris/keymaps/edvorakjp/keymap.c) for sample implementation, too. 23 And you can see [my iris keyboard layout](../../keyboards/iris/keymaps/edvorakjp/keymap.c) for sample implementation, too.
53 24
@@ -57,36 +28,25 @@ This is a sample. You can swap any symbol keys and modifier keys.
57 - IME 切り替えキー 28 - IME 切り替えキー
58 - 長押しでレイヤー切り替え、短押しでIME切り替え 29 - 長押しでレイヤー切り替え、短押しでIME切り替え
59 - macOS(かな/英数)、Windows(Alt+\`)の両方に対応 30 - macOS(かな/英数)、Windows(Alt+\`)の両方に対応
60 - DvorakJP(<http://www7.plala.or.jp/dvorakjp/>)を参考にした日本語入力用キーの導入
61 - 拗音入力用のYキーを追加配置
62 - 二重母音入力用のキー(AI, OU, EI)
63 - 撥音入力用のキー(ANN, ONN, ENN, INN, UNN)
64 - いずれかの子音を押下することで Additional layer が出現し、いずれかの母音を押下することで Base layer に戻ります(※1※2)
65 - ※1促音の入力に使うため、また連続で同じ指での打鍵を減らすために、
66 FGRDTNBHJ を押下した場合はy1が、それ以外の子音を押下した場合はy2が出現しません
67 - ※2撥音の入力のため、nを2連打すると、Base layerに戻ります
68- Define some custom keys for typing Japanese 31- Define some custom keys for typing Japanese
69 - IME switching 32 - IME switching
70 - act as LOWER/RAISE when hold, act as IME switching when tapped 33 - act as LOWER/RAISE when hold, act as IME switching when tapped
71 - for macOS(かな/英数), for Windows(Alt+\`) 34 - for macOS(かな/英数), for Windows(Alt+\`)
72 - oneshot combination keys, inspired from DvorakJP (<http://www7.plala.or.jp/dvorakjp/>)
73 - additional Y key to enter a contracted sound
74 - diphthong keys (AI, OU, EI)
75 - syllabic nasal (ANN, ONN, ENN, INN, UNN)
76 - Additional layer is appeared when you taps any consonant keys, and disappeared when you taps any diphthong keys.
77 35
78## for Programmer 36## for Programmer
79 37
80- Dvorak 配列をベースに、ショートカットでよく利用される XCV は QWERTY 配列の位置を維持 38- Dvorak 配列をベースに、ショートカットでよく利用される XCV は QWERTY 配列の位置を維持
81- 一部にVimユーザ用のキー配置を実施 39- 一部にVimユーザ用のキー配置を実施
82 - HJKL キーを横並びで配置 40 - HJKL キーを横並びで配置
83 - Shift押下時と非押下時で、";"キーの挙動を入れ替え(`config.h` 内で `#define SWAP_SCLN` の宣言が必要です) 41 - Shift押下時と非押下時で、";"キーの挙動を入れ替え
42 (`config.h` 内で `#define SWAP_SCLN` の宣言が必要です)
84- デフォルトレイヤーには、数字キーの代わりに記号 `!@#$%^&*()` を配置 43- デフォルトレイヤーには、数字キーの代わりに記号 `!@#$%^&*()` を配置
85 44
86- mainly based on Dvorak layout, but XCV is available in the same position of QWERTY layout 45- mainly based on Dvorak layout, but XCV is available in the same position of QWERTY layout
87- for Vim users 46- for Vim users
88 - HJKL is lining side by side 47 - HJKL is lining side by side
89 - swap the ";" key behavior. i.e. send ":" normally and send ";" when you hold shift. (need `#define SWAP_SCLN` in your `config.h`) 48 - swap the ";" key behavior. i.e. send ":" normally and send ";" when you hold shift.
49 (need `#define SWAP_SCLN` in your `config.h`)
90- we can type `!@#$%^&*()` keys without shift keys in base layer 50- we can type `!@#$%^&*()` keys without shift keys in base layer
91 51
92## License 52## License