aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/README.md73
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/README_jp.md95
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/config.h33
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/keymap.c330
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/rules.mk39
5 files changed, 341 insertions, 229 deletions
diff --git a/keyboards/helix/rev2/keymaps/five_rows/README.md b/keyboards/helix/rev2/keymaps/five_rows/README.md
index edb768f3b..4feaac2ef 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/README.md
+++ b/keyboards/helix/rev2/keymaps/five_rows/README.md
@@ -4,15 +4,17 @@ This keymap is only for 5 rows Helix keyboard.
4 4
5## Layout 5## Layout
6 6
7![fig1](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/662082b66231eb8d1f45776d813c57f29d445e68/helix-five_rows_r2.png) 7![fig1](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/827632dda7db87cf88d41a0d3b476c5962c29213/helix-five_rows_r3.png)
8 8
9## Layer 9## Layer
10 10
11|Priority|Number|Name|Discription| 11|Priority|Number|Name|Discription|
12| ---- | ---- | --- | --- | 12| ---- | ---- | --- | --- |
13|high|16|Adjust| keyboard local functions| 13|high|9|Adjust| keyboard local functions (violet)|
14||4|Extra char| some charactors | 14||8|KFunction| TenkeyPad function keys (bule)|
15||3|Function| function keys | 15||7|Extra char| some charactors (red)|
16||6|Function| function keys (blue)|
17||2|Keypad|TenkeyPad|
16||2|Dvorak|Dvorak| 18||2|Dvorak|Dvorak|
17||1|Colemak|Colemak| 19||1|Colemak|Colemak|
18|low|0|Qwerty|QWERTY (base)| 20|low|0|Qwerty|QWERTY (base)|
@@ -23,7 +25,9 @@ Adjust Layer has keyboard local function keys.
23 25
24* LED control. 26* LED control.
25* Mac/Win mode change. 27* Mac/Win mode change.
26* Qwerty/Colemak/Dvorak change. 28* Qwerty/Colemak/Dvorak/TenkeyPad change.
29
30![fig2](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/827632dda7db87cf88d41a0d3b476c5962c29213/helix-five_rows_r3adj.png)
27 31
28### Mac mode and Win mode 32### Mac mode and Win mode
29 33
@@ -32,42 +36,49 @@ Mac mode swap Alt/Win(GUI) key.
32|mode|key|code| 36|mode|key|code|
33| ---- | ---- | --- | 37| ---- | ---- | --- |
34|Mac mode|Adjust + g(Qwerty)|AG_NORM| 38|Mac mode|Adjust + g(Qwerty)|AG_NORM|
35|Win mode|Adjust + h(Qwerty)|AG_SWAP| 39| |Adjust + h(Qwerty)| |
36| |Adjust + t(Qwerty)| | 40|Win mode|Adjust + t(Qwerty)|AG_SWAP|
41| |Adjust + y(Qwerty)| |
37 42
38### LED control 43### LED control
39 44
40|command|key|code| 45|command|key|code|
41| ---- | ---- | --- | 46| ---- | ---- | --- |
42|on/off|Adjust + ,(Qwerty)|RGB_TOG| 47|on/off|Adjust + e(Qwerty)|RGB_TOG|
43| |Adjust + v(Qwerty)| | 48| |Adjust + i(Qwerty)| |
44|change mode|Adjust + Right option |RGB_SMOD| 49|change mode|Adjust + d(Qwerty) |RGB_SMOD|
45| |Adjust + c(Qwerty)| | 50| |Adjust + k(Qwerty)| |
46|HUE +|Adjust + .(Qwerty) |RGB_HUI| 51|HUE +|Adjust + Left Control|RGB_HUI|
47| |Adjust + Left Control| | 52| |Adjust + Right Control| |
48|HUE -|Adjust + menu |RGB_HUD| 53|HUE -|Adjust + Left Shift |RGB_HUD|
49| |Adjust + Left Shift | | 54| |Adjust + Right Shift | |
50|SAT +|Adjust + /(Qwerty) |RGB_SAI| 55|SAT +|Adjust + ;(Qwerty) |RGB_SAI|
51| |Adjust + a(Qwerty) | | 56| |Adjust + a(Qwerty) | |
52|SAT -|Adjust + right hand left side Fn|RGB_SAD| 57|SAT -|Adjust + z(Qwerty) |RGB_SAD|
53| |Adjust + z(Qwerty) | | 58| |Adjust + /(Qwerty) | |
54|Bright +|Adjust + Right Shift |RGB_VAI| 59|Bright +|Adjust + s(Qwerty) |RGB_VAI|
55| |Adjust + s(Qwerty)| | 60| |Adjust + l(Qwerty) | |
56|Bright -|Adjust + right hand right side Fn|RGB_VAD| 61|Bright -|Adjust + x(Qwerty) |RGB_VAD|
57| |Adjust + x(Qwerty) | | 62| |Adjust + >(Qwerty) | |
58|reset|Adjust + w(Qwerty)|RGBRST| 63|reset|Adjust + w|RGBRST|
59 64
60### Qwerty, Colemak, Dvorak selection 65### Qwerty, Colemak, Dvorak, TenkeyPad selection
61 66
62|char layout|key| 67|char layout|key|
63| ---- | ---- | 68| ---- | ---- |
64|Qwerty | Adjust + j(Qwerty) | 69|Qwerty | Adjust + 5 |
65| | Adjust + 5| 70| | Adjust + 6 |
66|Calemak| Adjust + k(Qwerty) | 71|Calemak| Adjust + 4 |
67| | Adjust + 4| 72| | Adjust + 7 |
68|Dvorak | Adjust + l(Qwerty) | 73|Dvorak | Adjust + 3 |
69| | Adjust + 3| 74| | Adjust + 8 |
75|Keypad | Adjust + 2 |
76| | Adjust + 9 |
77
78## TenkeyPad layout
79
80![fig3](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/827632dda7db87cf88d41a0d3b476c5962c29213/helix-five_rows_r3key.png)
70 81
71## Note 82## Note
72 83
73![fig2](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/9979482e9aa0b25962fad9ee634cd1c23cef1751/five_rows_making.jpg) 84![fig4](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/d6e9af7684c051de4744b9dee9cd96b762bf4e2d/five_rows_making2.jpg)
diff --git a/keyboards/helix/rev2/keymaps/five_rows/README_jp.md b/keyboards/helix/rev2/keymaps/five_rows/README_jp.md
index 8d3d8f2de..932e200a5 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/README_jp.md
+++ b/keyboards/helix/rev2/keymaps/five_rows/README_jp.md
@@ -7,33 +7,38 @@
7## キー配置 7## キー配置
8以下に、Qwerty配列時の、文字配列の図を示します。 8以下に、Qwerty配列時の、文字配列の図を示します。
9 9
10![fig1](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/662082b66231eb8d1f45776d813c57f29d445e68/helix-five_rows_r2.png) 10![fig1](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/827632dda7db87cf88d41a0d3b476c5962c29213/helix-five_rows_r3.png)
11 11
12## レイヤー 12## レイヤー
13 13
14|優先順位|番号|名称|内容| 14|優先順位|番号|名称|内容|
15| ---- | ---- | --- | --- | 15| ---- | ---- | --- | --- |
16|高い|16|Adjust|機能キー(紫)| 16|高い|9|Adjust|機能キー(紫)|
17||4|Extra char|記号類(赤)| 17||8|KFunction|テンキーパッド用ファンクションキー類(青)|
18||3|Function|ファンクションキー類(青)| 18||7|Extra char|記号類(赤)|
19||6|Function|ファンクションキー類(青)|
20||3|Keypad|テンキーパッド配列|
19||2|Dvorak|Dvorak配列| 21||2|Dvorak|Dvorak配列|
20||1|Colemak|Colemak配列| 22||1|Colemak|Colemak配列|
21|低い|0|Qwerty|QWERTY配列(ベース)| 23|低い|0|Qwerty|QWERTY配列(ベース)|
22 24
23Qwerty/Colemak/Dvorak の各レイヤーは、後述する、Ajuest キーによる選択で、いずれか一つだけが有効になり、標準のキーマップとなります。 25Qwerty/Colemak/Dvorak/Keypad の各レイヤーは、後述する、Ajuestレイヤーの キーによる選択で、いずれか一つだけが有効になり、標準のキーマップとなります。
24 26
25Adjust レイヤーは、Adjust キーを押している間だけ有効になり、標準のキーマップの上にかぶさるように一部のキーが置き換わります。 27Function レイヤーは、下段両端の4つのFnキーのどれかひとつを押している間だけ有効になり、矢印キー等のナビゲーションキーや F1, F2, ...F12キーなどが配置されています。
28上の図の青色の刻印のキーのあるレイヤーです。
26 29
27Function レイヤーは、Fn キーを押している間だけ有効になり、標準のキーマップの上にかぶさるように一部のキーが置き換わります。 30Extra レイヤーは、下段中央部の Enter キーか BS キーを一定時間(0.2秒)以上押していると押している間だけ有効になり、'+=-_[]{}' の 8つの記号と「英数」キー、「かな」キーが配置されています。
31このため、Enter/BS キーで Enter/BS を入力するには、Enter/BSキーを押して短時間ですぐ離してください。
32上の図の赤色の刻印のキーのあるレイヤーです。
28 33
29Extra レイヤーは、Enter キーを一定時間(0.1秒)以上押していると押している間だけ有効になり、標準のキーマップの上にかぶさるように一部のキーが置き換わります。 34Adjust レイヤーは、Adjust キーを押している間有効になります。
30このため、Enterキーで Enter を入力するには、Enterキーを押して短時間ですぐ離してください。 35Adjust キーは Function レイヤーに有り、下段両端の4つのFnキーのどれか一つを押しながら、下段中央部の Enter キーか BS キーを押すことで Adjust レイヤーが有効になります。
36Adjust キー (Enter/BS)を押した後は、Fnキーは離して構いません。
31 37
32### Adjust レイヤー 38### Adjust レイヤー
33Ajust レイヤーは、Helix の標準キーマップ "default" から F1,F2..F12 を除き、右側にあった機能キーを 39Ajust レイヤーは、LEDのコントロール、Mac/Win モードの切り替え、Qwerty配列, Colemak配列, Dvorak配列, TenkeyPad配列の切り替えが行えます。
34左側にも追加したものとなっています。
35 40
36LEDコントロール、Mac/Win モードの切り替え、Qwerty配列, Colemak配列, Dvorak配列の切り替えが行えます。 41![fig2](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/827632dda7db87cf88d41a0d3b476c5962c29213/helix-five_rows_r3adj.png)
37 42
38### MacモードとWinモード 43### MacモードとWinモード
39キーボードには、Mac モードと、Win モードの二つのモードがあります。 44キーボードには、Mac モードと、Win モードの二つのモードがあります。
@@ -44,12 +49,13 @@ LEDコントロール、Mac/Win モードの切り替え、Qwerty配列, Colemak
44|コマンド|指定キー|コード| 49|コマンド|指定キー|コード|
45| ---- | ---- | --- | 50| ---- | ---- | --- |
46|Macモード|Adjust + g(Qwerty)|AG_NORM| 51|Macモード|Adjust + g(Qwerty)|AG_NORM|
47|Winモード|Adjust + h(Qwerty)|AG_SWAP| 52| |Adjust + h(Qwerty)| |
48| |Adjust + t(Qwerty)| | 53|Winモード|Adjust + t(Qwerty)|AG_SWAP|
54| |Adjust + y(Qwerty)| |
49 55
50Mac モードと Win モードでは、AltキーとWin(GUI)キーが入れ替わります。 56Mac モードと Win モードでは、AltキーとWin(GUI)キーが入れ替わります。
51 57
52Mac モードでは、上の配列図の「英数キー」と「かなキー」で英語モードと日本語モードの切り替えができます。。 58Mac モードでは、Extra レイヤー の「英数」キーと「かな」キーで英語モードと日本語モードの切り替えができます。
53 59
54Winモードでは、該当のキーはどちらも共に Alt + `(日本語IMEの切り替え)として入力されます。 60Winモードでは、該当のキーはどちらも共に Alt + `(日本語IMEの切り替え)として入力されます。
55 61
@@ -60,35 +66,48 @@ Winモードでは、該当のキーはどちらも共に Alt + `(日本語IME
60 66
61|コマンド|指定キー|コード| 67|コマンド|指定キー|コード|
62| ---- | ---- | --- | 68| ---- | ---- | --- |
63|オン/オフ|Adjust + ,(Qwerty)|RGB_TOG| 69|オン/オフ|Adjust + e(Qwerty)|RGB_TOG|
64| |Adjust + v(Qwerty)| | 70| |Adjust + i(Qwerty)| |
65|モード切り替え|Adjust + Right option |RGB_SMOD| 71|モード切り替え|Adjust + d(Qwerty) |RGB_SMOD|
66| |Adjust + c(Qwerty)| | 72| |Adjust + k(Qwerty)| |
67|色相 +|Adjust + .(Qwerty)|RGB_HUI| 73|色相 +|Adjust + Left Control|RGB_HUI|
68| |Adjust + Left Control| | 74| |Adjust + Right Control| |
69|色相 -|Adjust + menu|RGB_HUD| 75|色相 -|Adjust + Left Shift |RGB_HUD|
70| |Adjust + Left Shift | | 76| |Adjust + Right Shift | |
71|彩度 +|Adjust + /(Qwerty) |RGB_SAI| 77|彩度 +|Adjust + ;(Qwerty) |RGB_SAI|
72| |Adjust + a(Qwerty) | | 78| |Adjust + a(Qwerty) | |
73|彩度 -|Adjust + 右手Fnの左側|RGB_SAD| 79|彩度 -|Adjust + z(Qwerty) |RGB_SAD|
74| |Adjust + z(Qwerty) | | 80| |Adjust + /(Qwerty) | |
75|明度 +|Adjust + Right Shift|RGB_VAI| 81|明度 +|Adjust + s(Qwerty) |RGB_VAI|
76| |Adjust + s(Qwerty) | | 82| |Adjust + l(Qwerty) | |
77|明度 -|Adjust + 右手Fnの右側|RGB_VAD| 83|明度 -|Adjust + x(Qwerty) |RGB_VAD|
78| |Adjust + x(Qwerty) | | 84| |Adjust + >(Qwerty) | |
79|リセット|Adjust + w|RGBRST| 85|リセット|Adjust + w|RGBRST|
80 86
81### 文字配列選択 87### 文字配列選択
82Qwerty, Colemak, Dvorak それぞれの文字配列の選択は以下のキーを使います。 88Qwerty, Colemak, Dvorak, Keypad それぞれの文字配列の選択は以下のキーを使います。
83 89
84|選択配列|指定キー| 90|選択配列|指定キー|
85| ---- | ---- | 91| ---- | ---- |
86|Qwerty | Adjust + j(Qwerty) | 92|Qwerty | Adjust + 5 |
87| | Adjust + 5| 93| | Adjust + 6 |
88|Calemak| Adjust + k(Qwerty) | 94|Calemak| Adjust + 4 |
89| | Adjust + 4| 95| | Adjust + 7 |
90|Dvorak | Adjust + l(Qwerty) | 96|Dvorak | Adjust + 3 |
91| | Adjust + 3| 97| | Adjust + 8 |
98|Keypad | Adjust + 2 |
99| | Adjust + 9 |
100
101## テンキーパッドのキー配置
102以下に、テンキーパッド配列時の、文字配列の図を示します。
103
104![fig3](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/827632dda7db87cf88d41a0d3b476c5962c29213/helix-five_rows_r3key.png)
105
106図でわかるように、テンキーと F1,F2..F12 のキー入力ができる配列です。
107F12キーは一定時間(0.2秒)以上押していると KFunc キーとして働き、押している間は、青色の刻印のキー入力を行えます。
108F12 そのものを入力するときは押して短時間ですぐ離してください。
109F12キーを押しているときは、F11キー は Adjust キーとなり、Adjust レイヤーが有効になります。
110これによって、Qwerty 配列などに戻すことが可能になります。
92 111
93## 備考 112## 備考
94本キーマップは、通常のキーボードの主要部分のホームポジション周辺をなるべくそのまま踏襲する方針で作成しました。 113本キーマップは、通常のキーボードの主要部分のホームポジション周辺をなるべくそのまま踏襲する方針で作成しました。
@@ -99,4 +118,4 @@ Qwerty, Colemak, Dvorak それぞれの文字配列の選択は以下のキー
99 * Control キーを左右共にホームポジションの行に移動。 118 * Control キーを左右共にホームポジションの行に移動。
100 * 左手親指に BackSpace キーを割り当てる。 119 * 左手親指に BackSpace キーを割り当てる。
101 120
102![fig2](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/9979482e9aa0b25962fad9ee634cd1c23cef1751/five_rows_making.jpg) 121![fig4](https://gist.github.com/mtei/c81a3688206aa50996339cb9ced4751d/raw/d6e9af7684c051de4744b9dee9cd96b762bf4e2d/five_rows_making2.jpg)
diff --git a/keyboards/helix/rev2/keymaps/five_rows/config.h b/keyboards/helix/rev2/keymaps/five_rows/config.h
index 8b1f00d9c..10d9fc1c4 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/config.h
+++ b/keyboards/helix/rev2/keymaps/five_rows/config.h
@@ -78,30 +78,45 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
78 #define RGBLED_NUM 6 78 #define RGBLED_NUM 6
79#endif 79#endif
80 80
81#if RGBLED_NUM <= 6 81#ifndef IOS_DEVICE_ENABLE
82 #define RGBLIGHT_LIMIT_VAL 255 82 #if RGBLED_NUM <= 6
83 #define RGBLIGHT_LIMIT_VAL 255
84 #else
85 #if HELIX_ROWS == 5
86 #define RGBLIGHT_LIMIT_VAL 120
87 #else
88 #define RGBLIGHT_LIMIT_VAL 130
89 #endif
90 #endif
91 #define RGBLIGHT_VAL_STEP 17
83#else 92#else
84 #if HELIX_ROWS == 5 93 #if RGBLED_NUM <= 6
85 #define RGBLIGHT_LIMIT_VAL 120 94 #define RGBLIGHT_LIMIT_VAL 90
86 #else 95 #else
87 #define RGBLIGHT_LIMIT_VAL 130 96 #if HELIX_ROWS == 5
97 #define RGBLIGHT_LIMIT_VAL 35
98 #else
99 #define RGBLIGHT_LIMIT_VAL 45
100 #endif
88 #endif 101 #endif
102 #define RGBLIGHT_VAL_STEP 4
89#endif 103#endif
90#define RGBLIGHT_HUE_STEP 10 104#define RGBLIGHT_HUE_STEP 10
91#define RGBLIGHT_SAT_STEP 17 105#define RGBLIGHT_SAT_STEP 17
92#define RGBLIGHT_VAL_STEP 17
93#endif
94 106
95#ifdef RGBLIGHT_ENABLE 107
108#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
96// USB_MAX_POWER_CONSUMPTION value for Helix keyboard 109// USB_MAX_POWER_CONSUMPTION value for Helix keyboard
97// 120 RGBoff, OLEDoff 110// 120 RGBoff, OLEDoff
98// 120 OLED 111// 120 OLED
99// 330 RGB 6 112// 330 RGB 6
100// 300 RGB 32 113// 300 RGB 32
101// 310 OLED & RGB 32 114// 310 OLED & RGB 32
102 #define USB_MAX_POWER_CONSUMPTION 330 115 #define USB_MAX_POWER_CONSUMPTION 400
103#else 116#else
104 // fix iPhone and iPad power adapter issue 117 // fix iPhone and iPad power adapter issue
105 // iOS device need lessthan 100 118 // iOS device need lessthan 100
106 #define USB_MAX_POWER_CONSUMPTION 100 119 #define USB_MAX_POWER_CONSUMPTION 100
107#endif 120#endif
121
122#endif /* CONFIG_USER_H */
diff --git a/keyboards/helix/rev2/keymaps/five_rows/keymap.c b/keyboards/helix/rev2/keymaps/five_rows/keymap.c
index f036c94ef..d4fabd5a2 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/keymap.c
+++ b/keyboards/helix/rev2/keymaps/five_rows/keymap.c
@@ -27,23 +27,27 @@ extern uint8_t is_master;
27// The underscores don't mean anything - you can have a layer called STUFF or any other name. 27// The underscores don't mean anything - you can have a layer called STUFF or any other name.
28// Layer names don't all need to be of the same length, obviously, and you can also skip them 28// Layer names don't all need to be of the same length, obviously, and you can also skip them
29// entirely and just use numbers. 29// entirely and just use numbers.
30#define _QWERTY 0 30enum layer_number {
31#define _COLEMAK 1 31 _QWERTY = 0,
32#define _DVORAK 2 32 _COLEMAK,
33#define _LOWER 3 33 _DVORAK,
34#define _RAISE 4 34 _KEYPAD,
35#define _ADJUST 16 35 _AUX,
36 _KAUX,
37 _LOWER,
38 _RAISE,
39 _PADFUNC,
40 _ADJUST,
41};
36 42
37enum custom_keycodes { 43enum custom_keycodes {
38 QWERTY = SAFE_RANGE, 44 QWERTY = SAFE_RANGE,
39 COLEMAK, 45 COLEMAK,
40 DVORAK, 46 DVORAK,
41 LOWER, 47 KEYPAD,
42 RAISE,
43 ADJUST,
44 BACKLIT,
45 EISU, 48 EISU,
46 KANA, 49 KANA,
50 ZERO2,
47 RGBRST 51 RGBRST
48}; 52};
49 53
@@ -63,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
63 67
64 /* Qwerty 68 /* Qwerty
65 * ,-----------------------------------------. ,-----------------------------------------. 69 * ,-----------------------------------------. ,-----------------------------------------.
66 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | 70 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
67 * |------+------+------+------+------+------| |------+------+------+------+------+------| 71 * |------+------+------+------+------+------| |------+------+------+------+------+------|
68 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | 72 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
69 * |------+------+------+------+------+------| |------+------+------+------+------+------| 73 * |------+------+------+------+------+------| |------+------+------+------+------+------|
@@ -71,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
71 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| 75 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
72 * | Shift| Z | X | C | V | B | ` | ' | N | M | , | . | / | Shift| 76 * | Shift| Z | X | C | V | B | ` | ' | N | M | , | . | / | Shift|
73 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| 77 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
74 * |Adjust| Lower| Caps | GUI | Alt | Del | Enter| Enter| Space| Alt | GUI | Menu |Lower |Lower | 78 * |Lower | Lower| Caps | GUI | Alt | Space| BS | Enter| Space| Alt | GUI | Menu |Lower |Lower |
75 * `-------------------------------------------------------------------------------------------------' 79 * `-------------------------------------------------------------------------------------------------'
76 */ 80 */
77 [_QWERTY] = KEYMAP( \ 81 [_QWERTY] = KEYMAP( \
@@ -79,8 +83,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
79 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, \ 83 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, \
80 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RCTL, \ 84 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RCTL, \
81 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_QUOT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ 85 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_QUOT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
82 ADJUST, LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_BSPC, LT(_RAISE,KC_ENT), \ 86 MO(_LOWER),MO(_LOWER), KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC), \
83 LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP, LOWER, LOWER \ 87 LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP,MO(_LOWER),MO(_LOWER) \
84 ), 88 ),
85 89
86 /* Colemak 90 /* Colemak
@@ -93,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
93 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| 97 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
94 * | Shift| Z | X | C | V | B | ` | ' | K | M | , | . | / | Shift| 98 * | Shift| Z | X | C | V | B | ` | ' | K | M | , | . | / | Shift|
95 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| 99 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
96 * |Adjust| Lower| Caps | GUI | Alt | Del | Enter| Enter| Space| Alt | GUI | Menu |Lower |Lower | 100 * |Lower | Lower| Caps | GUI | Alt | Space| BS | Enter| Space| Alt | GUI | Menu |Lower |Lower |
97 * `-------------------------------------------------------------------------------------------------' 101 * `-------------------------------------------------------------------------------------------------'
98 */ 102 */
99 [_COLEMAK] = KEYMAP( \ 103 [_COLEMAK] = KEYMAP( \
@@ -101,8 +105,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
101 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, \ 105 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, \
102 KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_RCTL, \ 106 KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_RCTL, \
103 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_QUOT, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ 107 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_QUOT, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
104 ADJUST, LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_DEL, LT(_RAISE,KC_ENT), \ 108 MO(_LOWER),MO(_LOWER), KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC), \
105 LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP, LOWER, LOWER \ 109 LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP,MO(_LOWER),MO(_LOWER) \
106 ), 110 ),
107 111
108 /* Dvorak 112 /* Dvorak
@@ -115,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
115 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| 119 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
116 * | Shift| ; | Q | J | K | X | ` | / | B | M | W | V | Z | Shift| 120 * | Shift| ; | Q | J | K | X | ` | / | B | M | W | V | Z | Shift|
117 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| 121 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
118 * |Adjust| Lower| Caps | GUI | Alt | Del | Enter| Enter| Space| Alt | GUI | Menu |Lower |Lower | 122 * |Lower | Lower| Caps | GUI | Alt | Space| BS | Enter| Space| Alt | GUI | Menu |Lower |Lower |
119 * `-------------------------------------------------------------------------------------------------' 123 * `-------------------------------------------------------------------------------------------------'
120 */ 124 */
121 [_DVORAK] = KEYMAP( \ 125 [_DVORAK] = KEYMAP( \
@@ -123,10 +127,75 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
123 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, \ 127 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, \
124 KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_RCTL, \ 128 KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_RCTL, \
125 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_GRV, KC_SLSH, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \ 129 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_GRV, KC_SLSH, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \
126 ADJUST, LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_DEL, LT(_RAISE,KC_ENT), \ 130 MO(_LOWER),MO(_LOWER), KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC), \
127 LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP, LOWER, LOWER \ 131 LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP,MO(_LOWER),MO(_LOWER) \
132 ),
133
134 /* Keypad
135 * ,-----------------------------------------. ,-----------------------------------------.
136 * | Tab | / | * | Del | F1 | F6 | | F1 | F6 | Del | Tab | / | * |
137 * |------+------+------+------+------+------| |------+------+------+------+------+------|
138 * | 7 | 8 | 9 | BS | F2 | F7 | | F2 | F7 | BS | 7 | 8 | 9 |
139 * |------+------+------+------+------+------| |------+------+------+------+------+------|
140 * | 4 | 5 | 6 | - | F3 | F8 | | F3 | F8 | - | 4 | 5 | 6 |
141 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
142 * | 1 | 2 | 3 | + | F4 | F9 | F11 | F11 | F4 | F9 | + | 1 | 2 | 3 |
143 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
144 * | 0 | , | . | Enter| F5 | F10 | F12 | F12 | F5 | F10 | Enter| 0 | , | . |
145 * `-------------------------------------------------------------------------------------------------'
146 */
147 [_KEYPAD] = KEYMAP( \
148 KC_TAB, KC_PSLS, KC_PAST, KC_DEL, KC_F1, KC_F6, KC_F1, KC_F6, KC_DEL, KC_TAB, KC_PSLS, KC_PAST, \
149 KC_KP_7, KC_KP_8, KC_KP_9, KC_BSPC, KC_F2, KC_F7, KC_F2, KC_F7, KC_BSPC, KC_KP_7, KC_KP_8, KC_KP_9, \
150 KC_KP_4, KC_KP_5, KC_KP_6, KC_PMNS, KC_F3, KC_F8, KC_F3, KC_F8, KC_PMNS, KC_KP_4, KC_KP_5, KC_KP_6, \
151 KC_KP_1, KC_KP_2, KC_KP_3, KC_PPLS, KC_F4, KC_F9, KC_F11, KC_F11, KC_F4, KC_F9, KC_PPLS, KC_KP_1, KC_KP_2, KC_KP_3, \
152 KC_KP_0, KC_COMM, KC_PDOT, KC_PENT, KC_F5, KC_F10, LT(_PADFUNC,KC_F12),
153 LT(_PADFUNC,KC_F12),KC_F5, KC_F10, KC_PENT, KC_KP_0, KC_COMM, KC_PDOT \
128 ), 154 ),
129 155
156 /* AUX modifier key layer
157 * ,-----------------------------------------. ,-----------------------------------------.
158 * | | | | | | | | | | | | | |
159 * |------+------+------+------+------+------| |------+------+------+------+------+------|
160 * | | | | | | | | | | | | | |
161 * |------+------+------+------+------+------| |------+------+------+------+------+------|
162 * | | | | | | | | | | | | | |
163 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
164 * | | | | | | | | | | | | | | |
165 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
166 * | | 00 | | | | | | | | | | | 00 | |
167 * `-------------------------------------------------------------------------------------------------'
168 */
169 [_KAUX] = KEYMAP( \
170 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
171 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
172 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
173 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
174 _______, ZERO2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, ZERO2, _______ \
175 ),
176
177 /* Keypad function layer
178 * ,-----------------------------------------. ,-----------------------------------------.
179 * | | | | Pause| ScrLk| PtrSc| | PtrSc| ScrLk| Pause| | | |
180 * |------+------+------+------+------+------| |------+------+------+------+------+------|
181 * | | | | Home | Up | PgUp | | PgUp | Up | Home | | | |
182 * |------+------+------+------+------+------| |------+------+------+------+------+------|
183 * | |Delete|Insert| Left | Down | Right| | Left | Down | Right|Insert|Delete| |
184 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
185 * | | | | End | | PgDn |Adjust|Adjust| PgDn | | End | | | |
186 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
187 * | | | | | | | | | | | | | | |
188 * `-------------------------------------------------------------------------------------------------'
189 */
190 [_PADFUNC] = KEYMAP( \
191 XXXXXXX, XXXXXXX, XXXXXXX, KC_PAUS, KC_SLCK, KC_PSCR, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX, XXXXXXX, XXXXXXX, \
192 XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_PGUP, KC_PGUP, KC_UP, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, \
193 XXXXXXX, KC_DEL, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, XXXXXXX, \
194 XXXXXXX, XXXXXXX, XXXXXXX, KC_END, XXXXXXX, KC_PGDN,MO(_ADJUST),
195 MO(_ADJUST), KC_PGDN, XXXXXXX, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, \
196 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
197 ),
198
130 /* Lower 199 /* Lower
131 * ,-----------------------------------------. ,-----------------------------------------. 200 * ,-----------------------------------------. ,-----------------------------------------.
132 * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | 201 * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
@@ -135,7 +204,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
135 * |------+------+------+------+------+------| |------+------+------+------+------+------| 204 * |------+------+------+------+------+------| |------+------+------+------+------+------|
136 * | | PgUp | | Up |Delete| Home | | Home |Delete| Up | | PgUp | | 205 * | | PgUp | | Up |Delete| Home | | Home |Delete| Up | | PgUp | |
137 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| 206 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
138 * | | PgDn | Left | Down | Right| End | | | End | Left | Down | Right| PgDn | | 207 * | | PgDn | Left | Down | Right| End |Adjust|Adjust| End | Left | Down | Right| PgDn | |
139 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| 208 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
140 * | | | PrtSc| | | | | | | | | PrtSc| | | 209 * | | | PrtSc| | | | | | | | | PrtSc| | |
141 * `-------------------------------------------------------------------------------------------------' 210 * `-------------------------------------------------------------------------------------------------'
@@ -143,9 +212,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
143 [_LOWER] = KEYMAP( \ 212 [_LOWER] = KEYMAP( \
144 XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, \ 213 XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, \
145 XXXXXXX, XXXXXXX, KC_PAUS, KC_SLCK, KC_INS, XXXXXXX, XXXXXXX, KC_INS, KC_SLCK, KC_PAUS, XXXXXXX, KC_F12, \ 214 XXXXXXX, XXXXXXX, KC_PAUS, KC_SLCK, KC_INS, XXXXXXX, XXXXXXX, KC_INS, KC_SLCK, KC_PAUS, XXXXXXX, KC_F12, \
146 _______, KC_PGUP, XXXXXXX, KC_UP, KC_DEL, KC_HOME, KC_HOME, KC_DEL, KC_UP, XXXXXXX, KC_PGUP, _______, \ 215 _______, KC_HOME, XXXXXXX, KC_UP, KC_DEL, KC_PGUP, KC_PGUP, KC_DEL, KC_UP, XXXXXXX, KC_HOME, _______, \
147 _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, XXXXXXX, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, \ 216 _______, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, XXXXXXX,KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, \
148 XXXXXXX, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______ \ 217 _______, _______, KC_PSCR, _______, _______, _______, MO(_ADJUST),
218 MO(_ADJUST), _______, _______, _______, KC_PSCR, _______, _______ \
149 ), 219 ),
150 220
151 /* Raise 221 /* Raise
@@ -166,28 +236,51 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
166 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LSFT(KC_MINS), KC_MINS, KC_EQL, LSFT(KC_EQL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 236 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LSFT(KC_MINS), KC_MINS, KC_EQL, LSFT(KC_EQL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
167 _______, XXXXXXX, XXXXXXX, XXXXXXX, LSFT(KC_LBRC), KC_LBRC, KC_RBRC, LSFT(KC_RBRC), XXXXXXX, XXXXXXX, XXXXXXX, _______, \ 237 _______, XXXXXXX, XXXXXXX, XXXXXXX, LSFT(KC_LBRC), KC_LBRC, KC_RBRC, LSFT(KC_RBRC), XXXXXXX, XXXXXXX, XXXXXXX, _______, \
168 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EISU, EISU, KANA, KANA, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, \ 238 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EISU, EISU, KANA, KANA, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, \
169 _______, _______, XXXXXXX, _______, _______, XXXXXXX, _______, _______, XXXXXXX, _______, _______, XXXXXXX, _______, _______ \ 239 MO(_ADJUST),MO(_ADJUST),XXXXXXX, _______, _______, XXXXXXX, _______,
240 _______, XXXXXXX, _______, _______, XXXXXXX,MO(_ADJUST),MO(_ADJUST) \
170 ), 241 ),
171 242
172 /* Adjust (Lower + Raise) 243 /* Adjust (Lower + Raise)
173 * ,-----------------------------------------. ,-----------------------------------------. 244 * ,-----------------------------------------. ,-----------------------------------------.
174 * | | | |Dvorak|Colemk|Qwerty| | | | | | | | 245 * | | |Keypad|Dvorak|Colemk|Qwerty| |Qwerty|Colemk|Dvorak|Keypad| | |
175 * |------+------+------+------+------+------| |------+------+------+------+------+------| 246 * |------+------+------+------+------+------| |------+------+------+------+------+------|
176 * | | Reset|RGBRST| | | Win | | | | | | | | 247 * | | Reset|RGBRST|RGB ON|Aud on| Win | | Win |Aud on|RGB ON|RGBRST| | |
177 * |------+------+------+------+------+------| |------+------+------+------+------+------| 248 * |------+------+------+------+------+------| |------+------+------+------+------+------|
178 * | HUE+ | SAT+ | VAL+ |Aud on|Audoff| Mac | | Win |Qwerty|Colemk|Dvorak| | | 249 * | HUE+ | SAT+ | VAL+ |RGB md|Audoff| Mac | | Mac |Audoff|RGB md| VAL+ | SAT+ | HUE+ |
179 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| 250 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
180 * | HUE- | SAT- | VAL- |RGB md|RGB ON| | | | | |RGB ON| HUE+ | SAT+ | VAL+ | 251 * | HUE- | SAT- | VAL- | | | | | | | | | VAL- | SAT- | HUE- |
181 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| 252 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
182 * | | | | | | | | | | | MODE | HUE- | SAT- | VAL- | 253 * | | | | | | | | | | | | | | |
183 * `-------------------------------------------------------------------------------------------------' 254 * `-------------------------------------------------------------------------------------------------'
184 */ 255 */
185 [_ADJUST] = KEYMAP( \ 256 [_ADJUST] = KEYMAP( \
186 XXXXXXX, XXXXXXX, XXXXXXX, DVORAK, COLEMAK, QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 257 XXXXXXX, XXXXXXX, KEYPAD, DVORAK, COLEMAK, QWERTY, QWERTY, COLEMAK, DVORAK, KEYPAD, XXXXXXX, XXXXXXX, \
187 XXXXXXX, RESET, RGBRST, XXXXXXX, XXXXXXX, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ 258 XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX, \
188 RGB_HUI, RGB_SAI, RGB_VAI, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, XXXXXXX, XXXXXXX, \ 259 RGB_HUI, RGB_SAI, RGB_VAI,RGB_SMOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF,RGB_SMOD, RGB_VAI, RGB_SAI, RGB_HUI, \
189 RGB_HUD, RGB_SAD, RGB_VAD,RGB_SMOD, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \ 260 RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, \
190 _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, RGB_SMOD,RGB_HUD, RGB_SAD, RGB_VAD \ 261 _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ \
262 ),
263
264 /* AUX modifier key layer
265 * ,-----------------------------------------. ,-----------------------------------------.
266 * | | | | | | | | | | | | | |
267 * |------+------+------+------+------+------| |------+------+------+------+------+------|
268 * | | | | | | | | | | | | | |
269 * |------+------+------+------+------+------| |------+------+------+------+------+------|
270 * | | | | | | | | | | | | | |
271 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
272 * | | | | | | | | | | | | | | |
273 * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
274 * | | | | | | BS | Enter| | | | | | | |
275 * `-------------------------------------------------------------------------------------------------'
276 */
277 [_AUX] = KEYMAP( \
278 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
279 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
280 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
281 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
282 _______, _______, _______, _______, _______, KC_BSPC, LT(_RAISE,KC_ENT), \
283 _______, _______, _______, _______, _______, _______, _______ \
191 ) 284 )
192}; 285};
193 286
@@ -206,31 +299,32 @@ float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND);
206float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); 299float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
207#endif 300#endif
208 301
209// define variables for reactive RGB 302static int current_default_layer;
210bool TOG_STATUS = false;
211int RGB_current_mode;
212static uint32_t current_default_layer_state;
213 303
214uint32_t default_layer_state_set_kb(uint32_t state) { 304uint32_t default_layer_state_set_kb(uint32_t state) {
215 current_default_layer_state = state; 305 // 1<<_QWERTY - 1 == 1 - 1 == _QWERTY (=0)
306 // 1<<_COLEMAK - 1 == 2 - 1 == _COLEMAK (=1)
307 current_default_layer = state - 1;
308 // 1<<_DVORAK - 2 == 4 - 2 == _DVORAK (=2)
309 if ( current_default_layer == 3 ) current_default_layer -= 1;
310 // 1<<_KEYPAD - 5 == 8 - 5 == _KEYPAD (=3)
311 if ( current_default_layer == 7 ) current_default_layer -= 4;
216 return state; 312 return state;
217} 313}
218 314
219void persistent_default_layer_set(uint16_t default_layer) { 315void update_base_layer(int base)
220 eeconfig_update_default_layer(default_layer); 316{
221 default_layer_set(default_layer); 317 if( current_default_layer != base ) {
222} 318 eeconfig_update_default_layer(1UL<<base);
223 319 default_layer_set(1UL<<base);
224// Setting ADJUST layer RGB back to default 320 layer_off(_AUX);
225void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { 321 layer_off(_KAUX);
226 if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { 322 } else {
227 #ifdef RGBLIGHT_ENABLE 323 if( base < _KEYPAD )
228 //rgblight_mode(RGB_current_mode); 324 layer_invert(_AUX);
229 #endif 325 else
230 layer_on(layer3); 326 layer_invert(_KAUX);
231 } else { 327 }
232 layer_off(layer3);
233 }
234} 328}
235 329
236bool process_record_user(uint16_t keycode, keyrecord_t *record) { 330bool process_record_user(uint16_t keycode, keyrecord_t *record) {
@@ -240,7 +334,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
240 #ifdef AUDIO_ENABLE 334 #ifdef AUDIO_ENABLE
241 PLAY_SONG(tone_qwerty); 335 PLAY_SONG(tone_qwerty);
242 #endif 336 #endif
243 persistent_default_layer_set(1UL<<_QWERTY); 337 update_base_layer(_QWERTY);
244 } 338 }
245 return false; 339 return false;
246 break; 340 break;
@@ -249,7 +343,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
249 #ifdef AUDIO_ENABLE 343 #ifdef AUDIO_ENABLE
250 PLAY_SONG(tone_colemak); 344 PLAY_SONG(tone_colemak);
251 #endif 345 #endif
252 persistent_default_layer_set(1UL<<_COLEMAK); 346 update_base_layer(_COLEMAK);
253 } 347 }
254 return false; 348 return false;
255 break; 349 break;
@@ -258,75 +352,25 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
258 #ifdef AUDIO_ENABLE 352 #ifdef AUDIO_ENABLE
259 PLAY_SONG(tone_dvorak); 353 PLAY_SONG(tone_dvorak);
260 #endif 354 #endif
261 persistent_default_layer_set(1UL<<_DVORAK); 355 update_base_layer(_DVORAK);
262 } 356 }
263 return false; 357 return false;
264 break; 358 break;
265 case LOWER: 359 case KEYPAD:
266 if (record->event.pressed) { 360 if (record->event.pressed) {
267 //not sure how to have keyboard check mode and set it to a variable, so my work around 361 #ifdef AUDIO_ENABLE
268 //uses another variable that would be set to true after the first time a reactive key is pressed. 362 PLAY_SONG(tone_dvorak);
269 if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
270 } else {
271 TOG_STATUS = !TOG_STATUS;
272 #ifdef RGBLIGHT_ENABLE
273 //rgblight_mode(16);
274 #endif
275 }
276 layer_on(_LOWER);
277 update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
278 } else {
279 #ifdef RGBLIGHT_ENABLE
280 //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change
281 #endif 363 #endif
282 TOG_STATUS = false; 364 update_base_layer(_KEYPAD);
283 layer_off(_LOWER);
284 update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
285 } 365 }
286 return false; 366 return false;
287 break; 367 break;
288 case RAISE: 368 case ZERO2:
289 if (record->event.pressed) { 369 if (record->event.pressed) {
290 //not sure how to have keyboard check mode and set it to a variable, so my work around 370 SEND_STRING("00");
291 //uses another variable that would be set to true after the first time a reactive key is pressed.
292 if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
293 } else {
294 TOG_STATUS = !TOG_STATUS;
295 #ifdef RGBLIGHT_ENABLE
296 //rgblight_mode(15);
297 #endif
298 }
299 layer_on(_RAISE);
300 update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
301 } else {
302 #ifdef RGBLIGHT_ENABLE
303 //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change
304 #endif
305 layer_off(_RAISE);
306 TOG_STATUS = false;
307 update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
308 } 371 }
309 return false; 372 return false;
310 break; 373 break;
311 case ADJUST:
312 if (record->event.pressed) {
313 layer_on(_ADJUST);
314 } else {
315 layer_off(_ADJUST);
316 }
317 return false;
318 break;
319 //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
320 case RGB_MOD:
321 #ifdef RGBLIGHT_ENABLE
322 if (record->event.pressed) {
323 rgblight_mode(RGB_current_mode);
324 rgblight_step();
325 RGB_current_mode = rgblight_config.mode;
326 }
327 #endif
328 return false;
329 break;
330 case EISU: 374 case EISU:
331 if (record->event.pressed) { 375 if (record->event.pressed) {
332 if(keymap_config.swap_lalt_lgui==false){ 376 if(keymap_config.swap_lalt_lgui==false){
@@ -356,7 +400,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
356 if (record->event.pressed) { 400 if (record->event.pressed) {
357 eeconfig_update_rgblight_default(); 401 eeconfig_update_rgblight_default();
358 rgblight_enable(); 402 rgblight_enable();
359 RGB_current_mode = rgblight_config.mode;
360 } 403 }
361 #endif 404 #endif
362 break; 405 break;
@@ -368,9 +411,6 @@ void matrix_init_user(void) {
368 #ifdef AUDIO_ENABLE 411 #ifdef AUDIO_ENABLE
369 startup_user(); 412 startup_user();
370 #endif 413 #endif
371 #ifdef RGBLIGHT_ENABLE
372 RGB_current_mode = rgblight_config.mode;
373 #endif
374 //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h 414 //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
375 #ifdef SSD1306OLED 415 #ifdef SSD1306OLED
376 TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000)); 416 TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
@@ -428,36 +468,45 @@ static void render_logo(struct CharacterMatrix *matrix) {
428 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, 468 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,
429 0}; 469 0};
430 matrix_write(matrix, logo); 470 matrix_write(matrix, logo);
471#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_ANIMATIONS)
472 char buf[30];
473 if(rgblight_config.enable) {
474 snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ",
475 rgblight_config.mode,
476 rgblight_config.hue/RGBLIGHT_HUE_STEP,
477 rgblight_config.sat/RGBLIGHT_SAT_STEP,
478 rgblight_config.val/RGBLIGHT_VAL_STEP);
479 matrix_write(matrix, buf);
480 }
481#endif
431 //matrix_write_P(&matrix, PSTR(" Split keyboard kit")); 482 //matrix_write_P(&matrix, PSTR(" Split keyboard kit"));
432} 483}
433 484
434// #define DEBUG_OLED_LAYER_DISPLAY
435
436static const char Qwerty_name[] PROGMEM = " Qwerty"; 485static const char Qwerty_name[] PROGMEM = " Qwerty";
437static const char Colemak_name[] PROGMEM = " Colemak"; 486static const char Colemak_name[] PROGMEM = " Colemak";
438static const char Dvorak_name[] PROGMEM = " Dvorak"; 487static const char Dvorak_name[] PROGMEM = " Dvorak";
488static const char Keypad_name[] PROGMEM = " Keypad";
439 489
440static const char Raise_name[] PROGMEM = ":Extra"; 490static const char AUX_name[] PROGMEM = ":AUX";
491static const char KAUX_name[] PROGMEM = ":00";
492static const char Padfunc_name[] PROGMEM = ":PadFunc";
441static const char Lower_name[] PROGMEM = ":Func"; 493static const char Lower_name[] PROGMEM = ":Func";
494static const char Raise_name[] PROGMEM = ":Extra";
442static const char Adjust_name[] PROGMEM = ":Adjust"; 495static const char Adjust_name[] PROGMEM = ":Adjust";
443 496
444static const char *layer_names[] = { 497static const char *layer_names[] = {
445 [_QWERTY] = Qwerty_name, 498 [_QWERTY] = Qwerty_name,
446 [_COLEMAK] = Colemak_name, 499 [_COLEMAK] = Colemak_name,
447 [_DVORAK] = Dvorak_name, 500 [_DVORAK] = Dvorak_name,
448 [_RAISE] = Raise_name, 501 [_KEYPAD] = Keypad_name,
449 [_LOWER] = Lower_name, 502 [_AUX] = AUX_name,
503 [_KAUX] = KAUX_name,
504 [_LOWER] = Lower_name,
505 [_RAISE] = Raise_name,
506 [_PADFUNC]= Padfunc_name,
450 [_ADJUST] = Adjust_name 507 [_ADJUST] = Adjust_name
451}; 508};
452 509
453static int search_bit_form_lsb(uint32_t data)
454{
455 int i;
456 for( i = 0; i < 32 && (data & 1)==0 ; data >>= 1, i++ )
457 {}
458 return i;
459}
460
461void render_status(struct CharacterMatrix *matrix) { 510void render_status(struct CharacterMatrix *matrix) {
462 511
463 // Render to mode icon 512 // Render to mode icon
@@ -473,21 +522,9 @@ void render_status(struct CharacterMatrix *matrix) {
473 } 522 }
474 523
475 // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below 524 // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
476#ifdef DEBUG_OLED_LAYER_DISPLAY
477 char buf[40];
478#endif
479 int name_num; 525 int name_num;
480 uint32_t lstate; 526 uint32_t lstate;
481 527 matrix_write_P(matrix, layer_names[current_default_layer]);
482 name_num = search_bit_form_lsb(current_default_layer_state);
483 if( name_num < sizeof(layer_names)/sizeof(char *) ) {
484 matrix_write_P(matrix, layer_names[name_num]);
485#ifdef DEBUG_OLED_LAYER_DISPLAY
486 } else {
487 snprintf(buf, sizeof(buf), "base=%d? ", name_num);
488 matrix_write(matrix, buf);
489#endif
490 }
491 matrix_write_P(matrix, PSTR("\n")); 528 matrix_write_P(matrix, PSTR("\n"));
492 for( lstate = layer_state, name_num = 0; 529 for( lstate = layer_state, name_num = 0;
493 lstate && name_num < sizeof(layer_names)/sizeof(char *); 530 lstate && name_num < sizeof(layer_names)/sizeof(char *);
@@ -495,11 +532,6 @@ void render_status(struct CharacterMatrix *matrix) {
495 if( (lstate & 1) != 0 ) { 532 if( (lstate & 1) != 0 ) {
496 if( layer_names[name_num] ) { 533 if( layer_names[name_num] ) {
497 matrix_write_P(matrix, layer_names[name_num]); 534 matrix_write_P(matrix, layer_names[name_num]);
498#ifdef DEBUG_OLED_LAYER_DISPLAY
499 } else {
500 snprintf(buf, sizeof(buf), ":L=%d?", name_num);
501 matrix_write(matrix, buf);
502#endif
503 } 535 }
504 } 536 }
505 } 537 }
diff --git a/keyboards/helix/rev2/keymaps/five_rows/rules.mk b/keyboards/helix/rev2/keymaps/five_rows/rules.mk
index bde606238..67344f94f 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/rules.mk
+++ b/keyboards/helix/rev2/keymaps/five_rows/rules.mk
@@ -23,19 +23,50 @@ define HELIX_CUSTOMISE_MSG
23 $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE)) 23 $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE))
24 $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE)) 24 $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
25 $(info - LED_ANIMATION=$(LED_ANIMATIONS)) 25 $(info - LED_ANIMATION=$(LED_ANIMATIONS))
26 $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
26endef 27endef
27 28
28# Helix keyboard customize 29# Helix keyboard customize
29# you can edit follows 4 Variables 30# you can edit follows 5 Variables
30# jp: 以下の4つの変数を必要に応じて編集します。 31# jp: 以下の5つの変数を必要に応じて編集します。
31OLED_ENABLE = no # OLED_ENABLE 32OLED_ENABLE = no # OLED_ENABLE
32LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) 33LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
33LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) 34LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
34LED_ANIMATIONS = yes # LED animations 35LED_ANIMATIONS = yes # LED animations
36IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
35 37
36#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE. 38#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
37#### Do not enable these with audio at the same time. 39#### Do not enable these with audio at the same time.
38 40
41### Helix keyboard 'five_rows' keymap: convenient command line option
42## make HELIX=<options> helix:five_rows
43## option= oled | back | under | na | ios
44## ex.
45## make HELIX=oled helix:five_rows
46## make HELIX=oled,back helix:five_rows
47## make HELIX=oled,under helix:five_rows
48## make HELIX=oled,back,na helix:five_rows
49## make HELIX=oled,back,ios helix:five_rows
50##
51ifneq ($(strip $(HELIX)),)
52 ifeq ($(findstring oled,$(HELIX)), oled)
53 OLED_ENABLE = yes
54 endif
55 ifeq ($(findstring back,$(HELIX)), back)
56 LED_BACK_ENABLE = yes
57 else ifeq ($(findstring under,$(HELIX)), under)
58 LED_UNDERGLOW_ENABLE = yes
59 endif
60 ifeq ($(findstring na,$(HELIX)), na)
61 LED_ANIMATIONS = no
62 endif
63 ifeq ($(findstring ios,$(HELIX)), ios)
64 IOS_DEVICE_ENABLE = yes
65 endif
66 $(eval $(call HELIX_CUSTOMISE_MSG))
67 $(info )
68endif
69
39# Uncomment these for checking 70# Uncomment these for checking
40# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。 71# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
41# $(eval $(call HELIX_CUSTOMISE_MSG)) 72# $(eval $(call HELIX_CUSTOMISE_MSG))
@@ -54,6 +85,10 @@ else
54 RGBLIGHT_ENABLE = no 85 RGBLIGHT_ENABLE = no
55endif 86endif
56 87
88ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
89 OPT_DEFS += -DIOS_DEVICE_ENABLE
90endif
91
57ifeq ($(strip $(LED_ANIMATIONS)), yes) 92ifeq ($(strip $(LED_ANIMATIONS)), yes)
58 OPT_DEFS += -DRGBLIGHT_ANIMATIONS 93 OPT_DEFS += -DRGBLIGHT_ANIMATIONS
59endif 94endif