aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Young <18669334+noroadsleft@users.noreply.github.com>2021-08-09 12:14:22 -0700
committerJames Young <18669334+noroadsleft@users.noreply.github.com>2021-08-09 12:14:22 -0700
commit7bec943043b8d03482e9f4ffc69cc63b9fc4a18a (patch)
treee138b4d121f2196d3983e1643cab4381ee729c9b
parentc0628c2820b436550f62af5f6b7fae1f66b0bf8b (diff)
parent26ea090190b815862f108903e5f41f20c6d16d66 (diff)
downloadqmk_firmware-7bec943043b8d03482e9f4ffc69cc63b9fc4a18a.tar.gz
qmk_firmware-7bec943043b8d03482e9f4ffc69cc63b9fc4a18a.zip
Merge remote-tracking branch 'upstream/master' into develop
Fixes merge conflicts in: - keyboards/bm40hsrgb/config.h - Conflict from PR 13132: - RGB_DISABLE_WHEN_USB_SUSPENDED signature updated in develop branch, unmodified in master branch - updated file with changes from master branch - keyboards/keebio/iris/keymaps/nstickney/keymap.c - Conflict from PR 11456: - layer_state_set_user() updated in develop branch, removed in master branch - updated file with changes from master branch
-rwxr-xr-xkeyboards/bm40hsrgb/config.h4
-rw-r--r--keyboards/bm43a/config.h5
-rw-r--r--keyboards/bm60poker/config.h5
-rw-r--r--keyboards/bm60rgb/config.h8
-rw-r--r--keyboards/bm60rgb_iso/config.h9
-rw-r--r--keyboards/bm68rgb/config.h8
-rw-r--r--keyboards/ferris/0_2/bling/bling.c77
-rw-r--r--keyboards/ferris/0_2/bling/config.h34
-rw-r--r--keyboards/ferris/0_2/bling/readme.md16
-rw-r--r--keyboards/ferris/0_2/bling/rules.mk2
-rw-r--r--keyboards/ferris/0_2/compact/config.h23
-rw-r--r--keyboards/ferris/0_2/compact/readme.md17
-rw-r--r--keyboards/ferris/0_2/compact/rules.mk0
-rw-r--r--keyboards/ferris/0_2/config.h4
-rw-r--r--keyboards/ferris/0_2/high/config.h23
-rw-r--r--keyboards/ferris/0_2/high/readme.md17
-rw-r--r--keyboards/ferris/0_2/high/rules.mk0
-rw-r--r--keyboards/ferris/0_2/mini/config.h23
-rw-r--r--keyboards/ferris/0_2/mini/readme.md18
-rw-r--r--keyboards/ferris/0_2/mini/rules.mk0
-rw-r--r--keyboards/ferris/0_2/readme.md7
-rw-r--r--keyboards/ferris/keymaps/default/config.h8
-rw-r--r--keyboards/ferris/keymaps/default/keymap.json4
-rw-r--r--keyboards/ferris/keymaps/pierrec83/config.h8
-rw-r--r--keyboards/ferris/keymaps/pierrec83/keymap.json4
-rw-r--r--keyboards/ferris/keymaps/test/config.h8
-rw-r--r--keyboards/ferris/readme.md6
-rw-r--r--keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c70
-rw-r--r--keyboards/keebio/iris/keymaps/nstickney/README.md47
-rw-r--r--keyboards/keebio/iris/keymaps/nstickney/config.h50
-rw-r--r--keyboards/keebio/iris/keymaps/nstickney/keymap.c140
-rw-r--r--keyboards/keebio/iris/keymaps/nstickney/rules.mk1
-rw-r--r--layouts/community/ergodox/nstickney/keymap.c142
-rw-r--r--users/nstickney/config.h63
-rw-r--r--users/nstickney/nstickney.c112
-rw-r--r--users/nstickney/nstickney.h46
-rw-r--r--users/nstickney/readme.md49
-rw-r--r--users/nstickney/rules.mk35
-rw-r--r--users/nstickney/unicodemap.h106
39 files changed, 815 insertions, 384 deletions
diff --git a/keyboards/bm40hsrgb/config.h b/keyboards/bm40hsrgb/config.h
index 8ef9a78c7..554927a49 100755
--- a/keyboards/bm40hsrgb/config.h
+++ b/keyboards/bm40hsrgb/config.h
@@ -48,8 +48,10 @@
48#define RGB_DI_PIN E2 48#define RGB_DI_PIN E2
49#define DRIVER_LED_TOTAL 53 49#define DRIVER_LED_TOTAL 53
50#ifdef RGB_DI_PIN 50#ifdef RGB_DI_PIN
51 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses 51# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
52# define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value
52#endif 53#endif
53#ifdef RGB_MATRIX_ENABLE 54#ifdef RGB_MATRIX_ENABLE
54# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended 55# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
56# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
55#endif 57#endif
diff --git a/keyboards/bm43a/config.h b/keyboards/bm43a/config.h
index 2ab84781b..e08561d91 100644
--- a/keyboards/bm43a/config.h
+++ b/keyboards/bm43a/config.h
@@ -55,7 +55,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
55 #define RGBLIGHT_HUE_STEP 8 55 #define RGBLIGHT_HUE_STEP 8
56 #define RGBLIGHT_SAT_STEP 8 56 #define RGBLIGHT_SAT_STEP 8
57 #define RGBLIGHT_VAL_STEP 8 57 #define RGBLIGHT_VAL_STEP 8
58 #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ 58 #define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value
59 #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ 59 #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
60/*== all animations enable ==*/ 60/*== all animations enable ==*/
61 #define RGBLIGHT_ANIMATIONS 61 #define RGBLIGHT_ANIMATIONS
@@ -70,3 +70,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
70// #define RGBLIGHT_EFFECT_RGB_TEST 70// #define RGBLIGHT_EFFECT_RGB_TEST
71// #define RGBLIGHT_EFFECT_ALTERNATING 71// #define RGBLIGHT_EFFECT_ALTERNATING
72#endif 72#endif
73#ifdef RGB_MATRIX_ENABLE
74# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
75#endif
diff --git a/keyboards/bm60poker/config.h b/keyboards/bm60poker/config.h
index 4fbec4f9b..831a1a1b8 100644
--- a/keyboards/bm60poker/config.h
+++ b/keyboards/bm60poker/config.h
@@ -53,7 +53,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
53 #define RGBLIGHT_HUE_STEP 8 53 #define RGBLIGHT_HUE_STEP 8
54 #define RGBLIGHT_SAT_STEP 8 54 #define RGBLIGHT_SAT_STEP 8
55 #define RGBLIGHT_VAL_STEP 8 55 #define RGBLIGHT_VAL_STEP 8
56 #define RGBLIGHT_LIMIT_VAL 5 /* The maximum brightness level */ 56 #define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value
57 #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ 57 #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
58/*== all animations enable ==*/ 58/*== all animations enable ==*/
59 #define RGBLIGHT_ANIMATIONS 59 #define RGBLIGHT_ANIMATIONS
@@ -68,3 +68,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
68// #define RGBLIGHT_EFFECT_RGB_TEST 68// #define RGBLIGHT_EFFECT_RGB_TEST
69// #define RGBLIGHT_EFFECT_ALTERNATING 69// #define RGBLIGHT_EFFECT_ALTERNATING
70#endif 70#endif
71#ifdef RGB_MATRIX_ENABLE
72# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
73#endif
diff --git a/keyboards/bm60rgb/config.h b/keyboards/bm60rgb/config.h
index 3eee00e51..bbb38e24f 100644
--- a/keyboards/bm60rgb/config.h
+++ b/keyboards/bm60rgb/config.h
@@ -50,8 +50,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
50#define RGB_DI_PIN E2 50#define RGB_DI_PIN E2
51#define DRIVER_LED_TOTAL 69 51#define DRIVER_LED_TOTAL 69
52#ifdef RGB_DI_PIN 52#ifdef RGB_DI_PIN
53 #define RGBLED_NUM 69 53# define RGBLED_NUM 69
54 #define RGB_MATRIX_KEYPRESSES 54# define RGB_MATRIX_KEYPRESSES
55# define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value
56#endif
57#ifdef RGB_MATRIX_ENABLE
58# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
55#endif 59#endif
56 60
57// generated by KBFirmware JSON to QMK Parser 61// generated by KBFirmware JSON to QMK Parser
diff --git a/keyboards/bm60rgb_iso/config.h b/keyboards/bm60rgb_iso/config.h
index 61d30cd83..17cf1436d 100644
--- a/keyboards/bm60rgb_iso/config.h
+++ b/keyboards/bm60rgb_iso/config.h
@@ -50,12 +50,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
50#define RGB_DI_PIN E2 50#define RGB_DI_PIN E2
51#define DRIVER_LED_TOTAL 70 51#define DRIVER_LED_TOTAL 70
52#ifdef RGB_DI_PIN 52#ifdef RGB_DI_PIN
53 #define RGBLED_NUM 70 53# define RGBLED_NUM 70
54 #define RGB_MATRIX_KEYPRESSES 54# define RGB_MATRIX_KEYPRESSES
55 // #define RGBLIGHT_HUE_STEP 8 55 // #define RGBLIGHT_HUE_STEP 8
56 // #define RGBLIGHT_SAT_STEP 8 56 // #define RGBLIGHT_SAT_STEP 8
57 // #define RGBLIGHT_VAL_STEP 8 57 // #define RGBLIGHT_VAL_STEP 8
58 // #define RGBLIGHT_LIMIT_VAL 180 /* The maximum brightness level */ 58# define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value
59 // #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ 59 // #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
60 /*== all animations enable ==*/ 60 /*== all animations enable ==*/
61 // #define RGBLIGHT_ANIMATIONS 61 // #define RGBLIGHT_ANIMATIONS
@@ -70,3 +70,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
70 // #define RGBLIGHT_EFFECT_RGB_TEST 70 // #define RGBLIGHT_EFFECT_RGB_TEST
71 // #define RGBLIGHT_EFFECT_ALTERNATING 71 // #define RGBLIGHT_EFFECT_ALTERNATING
72#endif 72#endif
73#ifdef RGB_MATRIX_ENABLE
74# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
75#endif
diff --git a/keyboards/bm68rgb/config.h b/keyboards/bm68rgb/config.h
index 1923192e5..48844c295 100644
--- a/keyboards/bm68rgb/config.h
+++ b/keyboards/bm68rgb/config.h
@@ -56,8 +56,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
56// The number of LEDs connected 56// The number of LEDs connected
57#define DRIVER_LED_TOTAL 74 57#define DRIVER_LED_TOTAL 74
58#ifdef RGB_DI_PIN 58#ifdef RGB_DI_PIN
59 #define RGBLED_NUM 74 59# define RGBLED_NUM 74
60 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses 60# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
61# define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value
62#endif
63#ifdef RGB_MATRIX_ENABLE
64# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
61#endif 65#endif
62 66
63/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 67/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
diff --git a/keyboards/ferris/0_2/bling/bling.c b/keyboards/ferris/0_2/bling/bling.c
new file mode 100644
index 000000000..28ca92893
--- /dev/null
+++ b/keyboards/ferris/0_2/bling/bling.c
@@ -0,0 +1,77 @@
1/*
2Copyright 2021 Pierre Chevalier <pierrechevalier83@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include "quantum.h"
18
19#include "drivers/issi/is31fl3731.h"
20
21/*
22| Left || Right |
23| | 3 | | 0 || 0 | | 3 | |
24| 5 | | | || | | | 6 |
25| | | | || | | | |
26| | | | 1 || 1 | | | |
27| | 4 | | || | | 4 | |
28| 6 | | | 2 || 2 | | | 5 |
29*/
30const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
31 /* Refer to IS31 manual for these locations
32 * driver
33 * | R location
34 * | | G location
35 * | | | B location
36 * | | | | */
37 {0, C9_10, C8_10, C7_10}, // Left RGB 5
38 {0, C9_12, C8_12, C7_12}, // Left RGB 3
39 {0, C9_15, C8_15, C6_14}, // Left RGB 0
40 {1, C1_2, C2_2, C4_3}, // Right RGB 0
41 {1, C1_5, C2_5, C3_5}, // Right RGB 3
42 {1, C1_8, C2_8, C3_8}, // Right RGB 6
43 {1, C1_7, C2_7, C3_7}, // Right RGB 5
44 {1, C1_6, C2_6, C3_6}, // Right RGB 4
45 {1, C1_3, C2_3, C3_3}, // Right RGB 1
46 {1, C1_4, C2_4, C3_4}, // Right RGB 2
47 {0, C9_13, C8_13, C7_13}, // Left RGB 2
48 {0, C9_14, C8_14, C7_14}, // Left RGB 1
49 {0, C9_11, C8_11, C7_11}, // Left RGB 4
50 {0, C9_9, C8_9, C7_9}, // Left RGB 6
51};
52// clang-format off
53led_config_t g_led_config = {
54 // Key Matrix to LED Index
55 {
56 {},
57 }, {
58 // LED Index to Physical Position. The unit is roughly milimiters in the real world
59 // | Left || Right |
60 // x->| 10 | 32 | 64 || 160 | 192 | 214 |
61 // y |_____|_____|____||_____|_____|_____|
62 // 0 | | 1 | 2 || 3 | 4 | |
63 // 16 | 0 | | || | | 5 |
64 // 35 | | | 11 || 8 | | |
65 // 45 | | 12 | || | 7 | |
66 // 50 | 13 | | 10 || 9 | | 6 |
67 // 0 1 2 3 4 5
68 {10, 16}, {32, 0}, {64, 0}, {160, 0}, {192, 0}, {214, 16},
69 // 6 7 8 9
70 {214, 50}, {192, 45}, {160, 35}, {160, 50},
71 // 10 11 12 13
72 {64, 50}, {64, 35}, {32, 45}, {10, 50},
73 }, {
74 // LED Index to Flag
75 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
76 }
77};
diff --git a/keyboards/ferris/0_2/bling/config.h b/keyboards/ferris/0_2/bling/config.h
new file mode 100644
index 000000000..bed489ca0
--- /dev/null
+++ b/keyboards/ferris/0_2/bling/config.h
@@ -0,0 +1,34 @@
1/*
2Copyright 2021 Pierre Chevalier <pierrechevalier83@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#undef PRODUCT_ID
21#define PRODUCT_ID 0x0002
22#undef PRODUCT
23#define PRODUCT Ferris 0.2 - Bling
24
25
26
27/* LED Drivers */
28#define DRIVER_ADDR_1 0b1110100
29#define DRIVER_ADDR_2 0b1110101
30#define DRIVER_COUNT 2
31#define DRIVER_1_LED_TOTAL 7
32#define DRIVER_2_LED_TOTAL 7
33#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
34
diff --git a/keyboards/ferris/0_2/bling/readme.md b/keyboards/ferris/0_2/bling/readme.md
new file mode 100644
index 000000000..c20be1edd
--- /dev/null
+++ b/keyboards/ferris/0_2/bling/readme.md
@@ -0,0 +1,16 @@
1# Ferris 0.2 - Bling
2
3![Ferris 0.2 - Bling](https://i.imgur.com/8dmm5Mrh.jpg)
4
5Ferris 0.2 with RGB underglow.
6
7* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
8* Hardware Supported:
9 * Ferris 0.2 - Bling: (STM32F072 MCU on the left, MCP23017 on the right, IS31FL3731 led driver chip on each side)
10* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)
11
12Make examples for this keyboard (after setting up your build environment):
13
14 make ferris/0_2/bling:default
15
16See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ferris/0_2/bling/rules.mk b/keyboards/ferris/0_2/bling/rules.mk
new file mode 100644
index 000000000..e04c8e467
--- /dev/null
+++ b/keyboards/ferris/0_2/bling/rules.mk
@@ -0,0 +1,2 @@
1RGB_MATRIX_ENABLE = yes
2RGB_MATRIX_DRIVER = IS31FL3731
diff --git a/keyboards/ferris/0_2/compact/config.h b/keyboards/ferris/0_2/compact/config.h
new file mode 100644
index 000000000..ee465b9ac
--- /dev/null
+++ b/keyboards/ferris/0_2/compact/config.h
@@ -0,0 +1,23 @@
1/*
2Copyright 2021 Pierre Chevalier <pierrechevalier83@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#undef PRODUCT_ID
21#define PRODUCT_ID 0x0003
22#undef PRODUCT
23#define PRODUCT Ferris 0.2 - Compact
diff --git a/keyboards/ferris/0_2/compact/readme.md b/keyboards/ferris/0_2/compact/readme.md
new file mode 100644
index 000000000..b17b59bfa
--- /dev/null
+++ b/keyboards/ferris/0_2/compact/readme.md
@@ -0,0 +1,17 @@
1# Ferris 0.2 - Compact
2
3![Ferris 0.2 - Compact, top view](https://i.imgur.com/V2ZLKjih.jpg)
4![Ferris 0.2 - Compact, bottom view](https://i.imgur.com/3icP8pzh.jpg)
5
6Ferris 0.2 - Compact with Kailh Choc support and Choc spacing.
7
8* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
9* Hardware Supported:
10 * Ferris 0.2 - Compact: (STM32F072 MCU on the left, MCP23017 on the right)
11* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)
12
13Make examples for this keyboard (after setting up your build environment):
14
15 make ferris/0_2/compact:default
16
17See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ferris/0_2/compact/rules.mk b/keyboards/ferris/0_2/compact/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/ferris/0_2/compact/rules.mk
diff --git a/keyboards/ferris/0_2/config.h b/keyboards/ferris/0_2/config.h
index 958cf4356..89eac7ed1 100644
--- a/keyboards/ferris/0_2/config.h
+++ b/keyboards/ferris/0_2/config.h
@@ -21,8 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
21#define VENDOR_ID 0xC2AB 21#define VENDOR_ID 0xC2AB
22#define PRODUCT_ID 0x0001 22#define PRODUCT_ID 0x0001
23#define DEVICE_VER 0x0002 23#define DEVICE_VER 0x0002
24#define MANUFACTURER Pierre 24#define MANUFACTURER Cuddly Keyboards Ltd.
25#define PRODUCT Ferris the keeb 25#define PRODUCT Ferris 0.2
26 26
27/* key matrix size */ 27/* key matrix size */
28#define MATRIX_ROWS 8 28#define MATRIX_ROWS 8
diff --git a/keyboards/ferris/0_2/high/config.h b/keyboards/ferris/0_2/high/config.h
new file mode 100644
index 000000000..67786241b
--- /dev/null
+++ b/keyboards/ferris/0_2/high/config.h
@@ -0,0 +1,23 @@
1/*
2Copyright 2021 Pierre Chevalier <pierrechevalier83@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#undef PRODUCT_ID
21#define PRODUCT_ID 0x0005
22#undef PRODUCT
23#define PRODUCT Ferris 0.2 - High
diff --git a/keyboards/ferris/0_2/high/readme.md b/keyboards/ferris/0_2/high/readme.md
new file mode 100644
index 000000000..2f01b2b26
--- /dev/null
+++ b/keyboards/ferris/0_2/high/readme.md
@@ -0,0 +1,17 @@
1# Ferris 0.2 - High
2
3![Ferris 0.2 - High, top view](https://i.imgur.com/aOqVmvph.jpg)
4![Ferris 0.2 - High, bottom view](https://i.imgur.com/Nuqy5uJh.jpg)
5
6Ferris 0.2 - High with Cherry MX support.
7
8* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
9* Hardware Supported:
10 * Ferris 0.2 - High: (STM32F072 MCU on the left, MCP23017 on the right)
11* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)
12
13Make examples for this keyboard (after setting up your build environment):
14
15 make ferris/0_2/high:default
16
17See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ferris/0_2/high/rules.mk b/keyboards/ferris/0_2/high/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/ferris/0_2/high/rules.mk
diff --git a/keyboards/ferris/0_2/mini/config.h b/keyboards/ferris/0_2/mini/config.h
new file mode 100644
index 000000000..e357cabe0
--- /dev/null
+++ b/keyboards/ferris/0_2/mini/config.h
@@ -0,0 +1,23 @@
1/*
2Copyright 2021 Pierre Chevalier <pierrechevalier83@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#undef PRODUCT_ID
21#define PRODUCT_ID 0x0004
22#undef PRODUCT
23#define PRODUCT Ferris 0.2 - Mini
diff --git a/keyboards/ferris/0_2/mini/readme.md b/keyboards/ferris/0_2/mini/readme.md
new file mode 100644
index 000000000..dd5cf5a71
--- /dev/null
+++ b/keyboards/ferris/0_2/mini/readme.md
@@ -0,0 +1,18 @@
1# Ferris 0.2 - Mini
2
3![Ferris 0.2 - Mini, top view](https://i.imgur.com/s3luptVh.jpg)
4![Ferris 0.2 - Mini, bottom view](https://i.imgur.com/D4GxLQvh.jpg)
5
6
7Ferris 0.2 - Mini with Kailh Choc Mini support and Choc spacing.
8
9* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
10* Hardware Supported:
11 * Ferris 0.2 - Mini: (STM32F072 MCU on the left, MCP23017 on the right)
12* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)
13
14Make examples for this keyboard (after setting up your build environment):
15
16 make ferris/0_2/mini:default
17
18See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/ferris/0_2/mini/rules.mk b/keyboards/ferris/0_2/mini/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/ferris/0_2/mini/rules.mk
diff --git a/keyboards/ferris/0_2/readme.md b/keyboards/ferris/0_2/readme.md
index bd98ce8ad..3d1ad0c1f 100644
--- a/keyboards/ferris/0_2/readme.md
+++ b/keyboards/ferris/0_2/readme.md
@@ -1,14 +1,13 @@
1# Ferris 0.2 1# Ferris 0.2
2 2
3![Ferris 0.2 - bling, top view](https://i.imgur.com/LwKlmnzh.jpg) 3![Ferris 0.2 family](https://i.imgur.com/SDVOlyZ.jpg)
4![Ferris 0.2 - bling, bottom view](https://i.imgur.com/qGnYGVOh.jpg)
5 4
6An stm32f072 based split 34 keys column staggered keyboard named and decorated after the rustlang mascott. All PCB files and some thoughts on the design are available on the [project's github page](https://github.com/pierrechevalier83/ferris) 5An STM32F072-based split 34-key column-staggered keyboard named and decorated after the Rust mascot. All PCB files and some thoughts on the design are available on the [project's github page](https://github.com/pierrechevalier83/ferris).
7 6
8* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83) 7* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
9* Hardware Supported: 8* Hardware Supported:
10 * Ferris 0.2: stm32f072 chip. Comes in 4 variants: bling, mini, high and compact 9 * Ferris 0.2: stm32f072 chip. Comes in 4 variants: bling, mini, high and compact
11* Hardware Availability: Pierre Chevalier has been selling keyboard kits (see the #ferris channel in the 40% discord chat). Wider availability is on the horizon. 10* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)
12 11
13Make examples for this keyboard (after setting up your build environment): 12Make examples for this keyboard (after setting up your build environment):
14 13
diff --git a/keyboards/ferris/keymaps/default/config.h b/keyboards/ferris/keymaps/default/config.h
index cf0fb7478..5d13cc596 100644
--- a/keyboards/ferris/keymaps/default/config.h
+++ b/keyboards/ferris/keymaps/default/config.h
@@ -37,3 +37,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
37#define PERMISSIVE_HOLD 37#define PERMISSIVE_HOLD
38#define IGNORE_MOD_TAP_INTERRUPT 38#define IGNORE_MOD_TAP_INTERRUPT
39#define TAPPING_FORCE_HOLD 39#define TAPPING_FORCE_HOLD
40
41// Underglow configuration
42#ifdef RGBLIGHT_ENABLE
43 #define RGBLIGHT_ANIMATIONS
44 #define RGBLIGHT_HUE_STEP 8
45 #define RGBLIGHT_SAT_STEP 8
46 #define RGBLIGHT_VAL_STEP 8
47#endif
diff --git a/keyboards/ferris/keymaps/default/keymap.json b/keyboards/ferris/keymaps/default/keymap.json
index 5fe1b9e00..f651b2d8c 100644
--- a/keyboards/ferris/keymaps/default/keymap.json
+++ b/keyboards/ferris/keymaps/default/keymap.json
@@ -50,8 +50,8 @@
50 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", 50 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
51 "KC_TRNS" , "KC_MINS" , "KC_BSLS" , "KC_GRV" , "KC_TRNS", 51 "KC_TRNS" , "KC_MINS" , "KC_BSLS" , "KC_GRV" , "KC_TRNS",
52 52
53 "KC_TRNS" , "KC_TRNS", 53 "RGB_RMOD" , "KC_TRNS",
54 "KC_TRNS" , "KC_TRNS" 54 "KC_TRNS" , "RGB_MOD"
55 ], 55 ],
56 ["KC_TRNS" , "KC_COLN" , "KC_LT" , "KC_GT" , "KC_SCLN", 56 ["KC_TRNS" , "KC_COLN" , "KC_LT" , "KC_GT" , "KC_SCLN",
57 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", 57 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
diff --git a/keyboards/ferris/keymaps/pierrec83/config.h b/keyboards/ferris/keymaps/pierrec83/config.h
index cf0fb7478..5d13cc596 100644
--- a/keyboards/ferris/keymaps/pierrec83/config.h
+++ b/keyboards/ferris/keymaps/pierrec83/config.h
@@ -37,3 +37,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
37#define PERMISSIVE_HOLD 37#define PERMISSIVE_HOLD
38#define IGNORE_MOD_TAP_INTERRUPT 38#define IGNORE_MOD_TAP_INTERRUPT
39#define TAPPING_FORCE_HOLD 39#define TAPPING_FORCE_HOLD
40
41// Underglow configuration
42#ifdef RGBLIGHT_ENABLE
43 #define RGBLIGHT_ANIMATIONS
44 #define RGBLIGHT_HUE_STEP 8
45 #define RGBLIGHT_SAT_STEP 8
46 #define RGBLIGHT_VAL_STEP 8
47#endif
diff --git a/keyboards/ferris/keymaps/pierrec83/keymap.json b/keyboards/ferris/keymaps/pierrec83/keymap.json
index 1f2c166b9..f42259be9 100644
--- a/keyboards/ferris/keymaps/pierrec83/keymap.json
+++ b/keyboards/ferris/keymaps/pierrec83/keymap.json
@@ -50,8 +50,8 @@
50 "KC_TRNS" , "KC_HOME" , "KC_PGDN" , "KC_END" , "KC_TRNS", 50 "KC_TRNS" , "KC_HOME" , "KC_PGDN" , "KC_END" , "KC_TRNS",
51 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", 51 "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
52 52
53 "LGUI(KC_LEFT)" , "KC_TRNS", 53 "RGB_RMOD" , "KC_TRNS",
54 "KC_TRNS" , "LGUI(KC_RGHT)" 54 "KC_TRNS" , "RGB_MOD"
55 ], 55 ],
56 ["KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", 56 ["KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
57 "KC_TRNS" , "KC_UNDS" , "KC_PIPE" , "KC_QUOT" , "KC_TRNS", 57 "KC_TRNS" , "KC_UNDS" , "KC_PIPE" , "KC_QUOT" , "KC_TRNS",
diff --git a/keyboards/ferris/keymaps/test/config.h b/keyboards/ferris/keymaps/test/config.h
index f784af4d1..821bf7c03 100644
--- a/keyboards/ferris/keymaps/test/config.h
+++ b/keyboards/ferris/keymaps/test/config.h
@@ -18,3 +18,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18#pragma once 18#pragma once
19 19
20#define DEBUG_MATRIX_SCAN_RATE 20#define DEBUG_MATRIX_SCAN_RATE
21
22// Underglow configuration
23#ifdef RGBLIGHT_ENABLE
24 #define RGBLIGHT_ANIMATIONS
25 #define RGBLIGHT_HUE_STEP 8
26 #define RGBLIGHT_SAT_STEP 8
27 #define RGBLIGHT_VAL_STEP 8
28#endif
diff --git a/keyboards/ferris/readme.md b/keyboards/ferris/readme.md
index 84ac85b57..0d1fe284f 100644
--- a/keyboards/ferris/readme.md
+++ b/keyboards/ferris/readme.md
@@ -9,12 +9,16 @@ A split 34 keys column staggered keyboard named and decorated after the rustlang
9 * Ferris 0.1 (With atmega32u4 chip. Comes in 4 variants: base, low, high and compact) 9 * Ferris 0.1 (With atmega32u4 chip. Comes in 4 variants: base, low, high and compact)
10 * Ferris 0.2 (With stm32f072 chip. Comes in 4 variants: bling, mini, high and compact) 10 * Ferris 0.2 (With stm32f072 chip. Comes in 4 variants: bling, mini, high and compact)
11 * Ferris sweep (With pro-micro. Comes in a couple of PCB edge cuts shapes, but with identical pinout) 11 * Ferris sweep (With pro-micro. Comes in a couple of PCB edge cuts shapes, but with identical pinout)
12* Hardware Availability: Pierre Chevalier has been selling keyboard kits (see the #ferris channel in the 40% discord chat). Wider availability is on the horizon. 12* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)
13 13
14Make examples for this keyboard (after setting up your build environment): 14Make examples for this keyboard (after setting up your build environment):
15 15
16 make ferris/0_1:default 16 make ferris/0_1:default
17 make ferris/0_2:default 17 make ferris/0_2:default
18 make ferris/0_2/bling:default
19 make ferris/0_2/compact:default
20 make ferris/0_2/mini:default
21 make ferris/0_2/high:default
18 make ferris/sweep:default:avrdude-split-right 22 make ferris/sweep:default:avrdude-split-right
19 23
20See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). 24See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c b/keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c
new file mode 100644
index 000000000..507dd0b15
--- /dev/null
+++ b/keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c
@@ -0,0 +1,70 @@
1/*
2 * Copyright 2020 Quentin LEBASTARD <qlebastard@gmail.com>
3 * Copyright 2020 Anthony MARIN <anthony@hidtech.ca>
4 * Copyright 2021 Stick <stick@stma.is>
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http:www.gnu.org/licenses/>.
18 */
19#include "nstickney.h"
20#include "unicodemap.h"
21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23
24 [BASE] = LAYOUT(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
25 //-------------------------------//
26 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
27 //-------------------------------//
28 CC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CC_QUOT,
29 //-------------------------------//
30 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
31 //-------------------------------//
32 AC_SLSH, FC_BSLS, KC_SPC, KC_ENT, FC_MINS, AC_EQL,
33 //-------------------------------//
34 KC_LBRC, TD(LOCKS), TD(LAYERS), KC_RBRC),
35
36 [SYMB] = LAYOUT(_______, XP(IEX, SS1), X(SS2), X(SS3), XP(CUR, GBP), X(EUR), X(V14), X(V12), X(V34), XP(LSQ, LDQ), XP(RSQ, RDQ), _______,
37 //-------------------------------//
38 _______, XP(A_D, AXD), XP(A_R, ACR), XP(E_A, ECA), XP(REG, CPL), X(THR), XP(U_D, UCD), XP(U_A, UCA), XP(I_A, ICA), XP(O_A, OCA), XP(O_D, OCD), _______,
39 //-------------------------------//
40 _______, XP(A_A, ACA), XP(S_S, SEC), XP(ETH, ETC), X(EMD), _______, _______, _______, _______, XP(O_S, OCS), XP(PLC, DEG), XP(ACT, DIS),
41 //-------------------------------//
42 _______, XP(AEL, AEC), _______, XP(CPR, CNT), _______, _______, _______, _______, XP(N_T, NCT), X(MCR), XP(C_C, CCC), _______,
43 //-------------------------------//
44 X(IQM), XP(NOT, BKB), _______, _______, X(YEN), XP(MLT, DIV),
45 //-------------------------------//
46 _______, _______, _______, _______),
47
48 [NUMP] = LAYOUT(_______, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______,
49 //-------------------------------//
50 _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
51 //-------------------------------//
52 _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
53 //-------------------------------//
54 _______, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______,
55 //-------------------------------//
56 _______, _______, _______, KC_PENT, _______, _______,
57 //-------------------------------//
58 _______, _______, _______, _______),
59
60 [FCTN] = LAYOUT(KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_SYSREQ,
61 //-------------------------------//
62 KC_PSCR, RGB_TOG, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_LOCK, KC_LBRC, KC_RBRC, S(KC_LBRC), S(KC_RBRC), KC_INS,
63 //-------------------------------//
64 KC_PAUS, RGB_VAI, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BRIU, KC_CLR,
65 //-------------------------------//
66 _______, KC_MPRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_MNXT, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, _______,
67 //-------------------------------//
68 RESET, _______, _______, _______, _______, RESET,
69 //-------------------------------//
70 _______, KC_F11, KC_F12, _______)};
diff --git a/keyboards/keebio/iris/keymaps/nstickney/README.md b/keyboards/keebio/iris/keymaps/nstickney/README.md
deleted file mode 100644
index 8124fe1cd..000000000
--- a/keyboards/keebio/iris/keymaps/nstickney/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
1# nstickney's Iris Layout
2
3 > Familiar layout for users who regularly switch between Iris and more standard layouts.
4
5[![Keymap](https://i.imgur.com/hKs7fYr.jpg)](http://www.keyboard-layout-editor.com/#/gists/aa6093ea2eb9c750ab941b92adae7036)
6
7[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme)
8
9## Install
10
11For instructions on building and installing this keymap, see the [docs](https://docs.qmk.fm/#/getting_started_make_guide). Below is the command for me; it may be different for you.
12
13```sh
14$ make keebio/iris/rev2:nstickney:avrdude
15```
16
17## Usage
18
190. QWERTY `BASE` layer.
20 * `/`, `\`, ` `, `[ENTER]`, `-`, and `=` on the thumb clusters.
21 * `CAPSLOCK` replaced by `ESC`; hold it down for `CTRL`. `'` can also be held for `CTRL`.
22 * [Space-Cadet Shift](https://docs.qmk.fm/#/feature_space_cadet_shift) is enabled, so the `SHIFT` keys send `(` and `)` when tapped.
23 * Hold down `/` or `=` for `ALT`.
24 * Hold down `\` or `-` to access the functions layer.
25 * Upper-center thumb keys are `GUI` and `MENU`.
26 * Tapping `GUI` 2, 3, or 4 times will toggle `NUMLOCK`, `CAPSLOCK`, or `SCROLLLOCK`, respectively.
27 * Tapping `MENU` 2, 3, or 4 times will toggle the `NUMP`, `SYMB`, and `SYSH` layers, respectively.
280. Unicode-input symbols on `SYMB` and `SYSH` layers. Based (loosely) on US-International layout.
290. `NUMP` layer has number pads on each hand. Number pad `7`-`8`-`9` align with QWERTY `7`-`8`-`9` on right hand.
300. Function, arrow, media, and miscellaneous keys on `FCTN` layer.
31 * `F1` through `F10` on `1`-`10`. `F11` is on `GUI` and `F12` is on `MENU`.
32 * Brackets (`[` and `]`) available on `U` and `I`; braces (`{` and `}`) on `O` and `P`.
33 * Arrow keys on `ESDF` and `HJKL`; familiar for both Vim users and FPS gamers.
34 * `W` is `HOME`; `R` is `END`. `T` is `PAGE UP` and `G` is `PAGE DOWN`.
35 * Music controls on lower row of left hand.
36 * Volume and screen brightness on lower row of right hand.
37 * `PRINT SCREEN`, `PAUSE`, `SYSREQ`, `INSERT`, and `CLEAR` also mapped, as intelligently as possible.
38 * `A` toggles the RGB underglow (which changes color to indicate active layer).
39 * `Q` toggles the Unicode input through Linux, WinCompose, and MacOS.
40
41## Contribute
42
43If you are using this layout and think you've found a better way to do something, I'd appreciate an [issue](https://github.com/nstickney/qmk_firmware/issues), or better yet a [pull request](https://github.com/nstickney/qmk_firmware/pulls).
44
45## License
46
47Copyright &copy; 2016-2019 @nstickney. Released under [GPL-2.0](/LICENSE).
diff --git a/keyboards/keebio/iris/keymaps/nstickney/config.h b/keyboards/keebio/iris/keymaps/nstickney/config.h
index f4899781e..da682cb92 100644
--- a/keyboards/keebio/iris/keymaps/nstickney/config.h
+++ b/keyboards/keebio/iris/keymaps/nstickney/config.h
@@ -1,36 +1,20 @@
1/* 1/* Copyright 2021 @nstickney
2Copyright 2017 Danny Nguyen <danny@keeb.io> 2 *
3 3 * This program is free software: you can redistribute it and/or modify
4This program is free software: you can redistribute it and/or modify 4 * it under the terms of the GNU General Public License as published by
5it under the terms of the GNU General Public License as published by 5 * the Free Software Foundation, either version 2 of the License, or
6the Free Software Foundation, either version 2 of the License, or 6 * (at your option) any later version.
7(at your option) any later version. 7 *
8 8 * This program is distributed in the hope that it will be useful,
9This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details.
12GNU General Public License for more details. 12 *
13 13 * You should have received a copy of the GNU General Public License
14You should have received a copy of the GNU General Public License 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15 */
16*/
17 16
18#pragma once 17#pragma once
19 18
20/* Use I2C or Serial, not both */ 19#define RGBLED_NUM 12
21 20#define RGBLIGHT_SPLIT
22#define USE_SERIAL
23// #define USE_I2C
24
25/* Select hand configuration */
26
27#define MASTER_LEFT
28// #define MASTER_RIGHT
29// #define EE_HANDS
30
31// #undef RGBLED_NUM
32// #define RGBLIGHT_ANIMATIONS
33// #define RGBLED_NUM 12
34// #define RGBLIGHT_HUE_STEP 8
35// #define RGBLIGHT_SAT_STEP 8
36// #define RGBLIGHT_VAL_STEP 8 \ No newline at end of file
diff --git a/keyboards/keebio/iris/keymaps/nstickney/keymap.c b/keyboards/keebio/iris/keymaps/nstickney/keymap.c
index b68923834..07c4fd28e 100644
--- a/keyboards/keebio/iris/keymaps/nstickney/keymap.c
+++ b/keyboards/keebio/iris/keymaps/nstickney/keymap.c
@@ -1,99 +1,53 @@
1/* Copyright 2021 @nstickney
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
1#include "nstickney.h" 16#include "nstickney.h"
17#include "unicodemap.h"
2 18
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4 20
5 [BASE] = LAYOUT( 21 [BASE] = LAYOUT(
6// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ 22 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
7 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, 23 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
8// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ 24 CC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CC_QUOT,
9 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, 25 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, TD(LOCKS), TD(LAYERS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
10// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ 26 AC_SLSH, FC_BSLS, KC_SPC, KC_ENT, FC_MINS, AC_EQL
11 CC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CC_QUOT, 27 ),
12// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ 28
13 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, TD(LOCKS), TD(LAYERS),KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, 29 [SYMB] = LAYOUT(
14// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘ 30 _______, XP(IEX, SS1), X(SS2), X(SS3), XP(CUR, GBP), X(EUR), X(V14), X(V12), X(V34), XP(LSQ, LDQ), XP(RSQ, RDQ), _______,
15 AC_SLSH, FC_BSLS, KC_SPC, KC_ENT, FC_MINS, AC_EQL 31 _______, XP(A_D, AXD), XP(A_R, ACR), XP(E_A, ECA), XP(REG, CPL), X(THR), XP(U_D, UCD), XP(U_A, UCA), XP(I_A, ICA), XP(O_A, OCA), XP(O_D, OCD), _______,
16// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘ 32 _______, XP(A_A, ACA), XP(S_S, SEC), XP(ETH, ETC), X(EMD), _______, _______, _______, _______, XP(O_S, OCS), XP(PLC, DEG), XP(ACT, DIS),
17 ), 33 _______, XP(AEL, AEC), _______, XP(CPR, CNT), _______, _______, _______, _______, XP(N_T, NCT), X(MCR), XP(C_C, CCC), _______, _______, _______,
34 X(IQM), XP(NOT, BKB), _______, _______, X(YEN), XP(MLT, DIV)
35 ),
36
37 [NUMP] = LAYOUT(
38 _______, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______,
39 _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
40 _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
41 _______, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______, _______, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______,
42 _______, _______, _______, KC_PENT, _______, _______
43 ),
44
45 [FCTN] = LAYOUT(
46 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_SYSREQ,
47 KC_PSCR, RGB_TOG, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_LOCK, KC_LBRC, KC_RBRC, S(KC_LBRC), S(KC_RBRC), KC_INS,
48 KC_PAUS, RGB_VAI, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BRIU, KC_CLR,
49 _______, KC_MPRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_MNXT, KC_F11, KC_F12, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, _______,
50 _______, _______, _______, _______, _______, _______
51 )
18 52
19 [SYMB] = LAYOUT(
20// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
21 UC(0x00EF),UC(0x00A1),UC(0x00B2),UC(0x00B3),UC(0x00A4),UC(0x20AC), UC(0x00BC),UC(0x00BD),UC(0x00BE),UC(0x2018),UC(0x2019),_______,
22// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
23 _______, UC(0x00E4),UC(0x00E5),UC(0x00E9),UC(0x00AE),UC(0x00FE), UC(0x00FC),UC(0x00FA),UC(0x00ED),UC(0x00F3),UC(0x00F6),_______,
24// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
25 _______, UC(0x00E1),UC(0x00DF),UC(0x00F0),UC(0x00EC),UC(0x00ED), UC(0x00EE),UC(0x00E0),UC(0x00E2),UC(0x00F8),UC(0x00B6),UC(0x00B4),
26// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
27 _______, UC(0x00E6),UC(0x00E8),UC(0x00A9),UC(0x00EA),UC(0x00EB),_______, _______, UC(0x00F1),UC(0x00FD),UC(0x00E7),UC(0x00F4),UC(0x00BF),_______,
28// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
29 UC(0x00BF),_______, UC(0x00AC), UC(0x00B1),_______, UC(0x00D7)
30// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
31 ),
32
33 [SYSH] = LAYOUT(
34// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
35 UC(0x00CF),UC(0x00B9),UC(0x2200),UC(0x2201),UC(0x00A3),UC(0x00A5), UC(0x00B5),UC(0x00AB),UC(0x00BB),UC(0x201C),UC(0x201D),_______,
36// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
37 _______, UC(0x00C4),UC(0x00C5),UC(0x00C9),UC(0x2122),UC(0x00DE), UC(0x00DC),UC(0x00DA),UC(0x00CD),UC(0x00D3),UC(0x00D6),_______,
38// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
39 _______, UC(0x00C1),UC(0x00A7),UC(0x00D0),UC(0x00CC),UC(0x00CD), UC(0x00CE),UC(0x00C1),UC(0x00C2),UC(0x00D8),UC(0x00B0),UC(0x00A8),
40// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
41 _______, UC(0x00C6),UC(0x00C8),UC(0x00A2),UC(0x00CA),UC(0x00CB),_______, _______, UC(0x00D1),UC(0x00DD),UC(0x00C7),UC(0x00D4),UC(0x203D),_______,
42// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
43 UC(0x203D),_______, UC(0x00A6), UC(0x00AA),_______, UC(0x00F7)
44// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
45 ),
46
47 [NUMP] = LAYOUT(
48// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
49 _______, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______,
50// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
51 _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
52// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
53 _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
54// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
55 _______, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______, _______, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______,
56// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
57 _______, _______, _______, KC_PENT, _______, _______
58// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
59 ),
60
61 [FCTN] = LAYOUT(
62// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
63 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_SYSREQ,
64// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
65 KC_PSCR, UC_MOD, KC_HOME, KC_UP, KC_END, KC_PGUP, UC(0x2014),KC_LBRC, KC_RBRC, S(KC_LBRC),S(KC_RBRC),KC_INS,
66// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
67 KC_PAUS, RGB_TOG, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BRIU, KC_CLR,
68// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
69 _______, KC_MPRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_MNXT, KC_F11, KC_F12, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, _______,
70// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
71 _______, _______, _______, _______, _______, _______
72// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
73 )
74};
75
76// Initialize rgblight
77void keyboard_post_init_user(void) {
78 rgblight_enable_noeeprom();
79 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
80 layer_state_set_user(layer_state);
81 uint16_t user_hue = rgblight_get_hue();
82 for (uint16_t i = 0; i < 256; ++i) {
83 rgblight_sethsv_noeeprom( (i + user_hue) % 256, 255, 255);
84 wait_ms(5);
85 }
86 layer_state_set_user(layer_state);
87};
88
89// Turn on RGB underglow according to active layer
90layer_state_t layer_state_set_user(layer_state_t state) {
91 switch (biton32(state)) {
92 case FCTN: rgblight_sethsv_noeeprom(96, 255, 255); break;
93 case NUMP: rgblight_sethsv_noeeprom(162, 255, 255); break;
94 case SYMB:
95 case SYSH: rgblight_sethsv_noeeprom(227, 255, 255); break;
96 default: rgblight_sethsv_noeeprom(13, 255, 255); break;
97 }
98 return state;
99}; 53};
diff --git a/keyboards/keebio/iris/keymaps/nstickney/rules.mk b/keyboards/keebio/iris/keymaps/nstickney/rules.mk
deleted file mode 100644
index 7ad666d1a..000000000
--- a/keyboards/keebio/iris/keymaps/nstickney/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
1RGBLIGHT_ENABLE = yes \ No newline at end of file
diff --git a/layouts/community/ergodox/nstickney/keymap.c b/layouts/community/ergodox/nstickney/keymap.c
deleted file mode 100644
index a37bc5f96..000000000
--- a/layouts/community/ergodox/nstickney/keymap.c
+++ /dev/null
@@ -1,142 +0,0 @@
1#include "nstickney.h"
2
3/*
4 * This keymap simulates the key limitations of an Iris on an ErgoDox. See the
5 * matching iris layout (/keyboards/keebio/iris/keymaps/nstickney) for further
6 * information.
7 */
8
9const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
10 [BASE] = LAYOUT_ergodox(
11 // left hand
12 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX,
13 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX,
14 CC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G,
15 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX,
16 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AC_SLSH,
17 TD(LOCKS), XXXXXXX,
18 XXXXXXX,
19 FC_BSLS, KC_SPC, XXXXXXX,
20 // right hand
21 XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
22 XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
23 KC_H, KC_J, KC_K, KC_L, KC_SCLN, CC_QUOT,
24 XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
25 AC_EQL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
26 XXXXXXX, TD(LAYERS),
27 XXXXXXX,
28 XXXXXXX, KC_ENT, FC_MINS
29 ),
30
31 [SYMB] = LAYOUT_ergodox(
32 // left hand
33 UC(0x00EF), UC(0x00A1), UC(0x00B2), UC(0x00B3), UC(0x00A4), UC(0x20AC), _______,
34 _______, UC(0x00E4), UC(0x00E5), UC(0x00E9), UC(0x00AE), UC(0x00FE), _______,
35 _______, UC(0x00E1), UC(0x00DF), UC(0x00F0), UC(0x00EC), UC(0x00ED),
36 _______, UC(0x00E6), UC(0x00E8), UC(0x00A9), UC(0x00EA), UC(0x00EB), _______,
37 _______, _______, _______, _______, UC(0x00BF),
38 _______, _______,
39 _______,
40 _______, UC(0x00AC), _______,
41 // right hand
42 _______, UC(0x00BC), UC(0x00BD), UC(0x00BE), UC(0x2018), UC(0x2019), _______,
43 _______, UC(0x00FC), UC(0x00FA), UC(0x00ED), UC(0x00F3), UC(0x00F6), _______,
44 UC(0x00EE), UC(0x00E0), UC(0x00E2), UC(0x00F8), UC(0x00B6), UC(0x00B4),
45 _______, UC(0x00F1), UC(0x00FD), UC(0x00E7), UC(0x00F4), UC(0x00BF), _______,
46 UC(0x00D7), _______, _______, _______, _______,
47 _______, _______,
48 _______,
49 _______, UC(0x00B1), _______
50 ),
51
52 [SYSH] = LAYOUT_ergodox(
53 // left hand
54 UC(0x00CF), UC(0x00B9), UC(0x2200), UC(0x2201), UC(0x00A3), UC(0x00A5), _______,
55 _______, UC(0x00C4), UC(0x00C5), UC(0x00C9), UC(0x2122), UC(0x00DE), _______,
56 _______, UC(0x00C1), UC(0x00A7), UC(0x00D0), UC(0x00CC), UC(0x00CD),
57 _______, UC(0x00C6), UC(0x00C8), UC(0x00A2), UC(0x00CA), UC(0x00CB), _______,
58 _______, _______, _______, _______, UC(0x203D),
59 _______, _______,
60 _______,
61 _______, UC(0x00A6), _______,
62 // right hand
63 _______, UC(0x00B5), UC(0x00AB), UC(0x00BB), UC(0x201C), UC(0x201D), _______,
64 _______, UC(0x00DC), UC(0x00DA), UC(0x00CD), UC(0x00D3), UC(0x00D6), _______,
65 UC(0x00CE), UC(0x00C1), UC(0x00C2), UC(0x00D8), UC(0x00B0), UC(0x00A8),
66 _______, UC(0x00D1), UC(0x00DD), UC(0x00C7), UC(0x00D4), UC(0x203D), _______,
67 UC(0x00F7), _______, _______, _______, _______,
68 _______, _______,
69 _______,
70 _______, UC(0x00AA), _______
71 ),
72
73 [NUMP] = LAYOUT_ergodox(
74 // left hand
75 _______, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______,
76 _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
77 _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS,
78 _______, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______,
79 _______, _______, _______, _______, _______,
80 _______, _______,
81 _______,
82 _______, _______, _______,
83 // right hand
84 _______, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______,
85 _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
86 _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
87 _______, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______,
88 _______, _______, _______, _______, _______,
89 _______, _______,
90 _______,
91 _______, KC_PENT, _______
92 ),
93
94 [FCTN] = LAYOUT_ergodox(
95 // left hand
96 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______,
97 KC_PSCR, RGB_TOG, KC_HOME, KC_UP, KC_END, KC_PGUP, _______,
98 KC_PAUS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN,
99 _______, KC_MPRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_MNXT, _______,
100 _______, _______, _______, _______, _______,
101 KC_F11, _______,
102 _______,
103 _______, _______, _______,
104 // right hand
105 _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_SYSREQ,
106 _______, UC(0x2014), KC_LBRC, KC_RBRC, S(KC_LBRC), S(KC_RBRC), KC_INS,
107 KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BRIU, KC_CLR,
108 _______, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, _______,
109 _______, _______, _______, _______, _______,
110 _______, KC_F12,
111 _______,
112 _______, _______, _______
113 ),
114};
115
116// Runs just one time when the keyboard initializes.
117void matrix_init_user (void) {
118 ergodox_board_led_off();
119};
120
121// Runs constantly in the background, in a loop.
122void matrix_scan_user (void) {
123
124 if (IS_LAYER_ON(SYMB) || IS_LAYER_ON(SYSH)) {
125 ergodox_right_led_1_on();
126 } else {
127 ergodox_right_led_1_off();
128 }
129
130 if (IS_LAYER_ON(NUMP)) {
131 ergodox_right_led_2_on();
132 } else {
133 ergodox_right_led_2_off();
134 }
135
136 if (IS_LAYER_ON(FCTN)) {
137 ergodox_right_led_3_on();
138 } else {
139 ergodox_right_led_3_off();
140 }
141
142}; \ No newline at end of file
diff --git a/users/nstickney/config.h b/users/nstickney/config.h
new file mode 100644
index 000000000..b853038c2
--- /dev/null
+++ b/users/nstickney/config.h
@@ -0,0 +1,63 @@
1/* Copyright 2021 @nstickney
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17// Changes from Bastyl defaults
18#ifdef MASTER_RIGHT
19# undef MASTER_RIGHT
20#endif
21
22// Turn off RGB lights when computer is sleeping
23#define RGBLIGHT_SLEEP
24
25// https://beta.docs.qmk.fm/developing-qmk/qmk-reference/config_options#features-that-can-be-disabled
26#define NO_ACTION_ONESHOT
27#define NO_ACTION_MACRO
28#define NO_ACTION_FUNCTION
29
30// Turn off all possible RGB animations
31#ifdef RGB_ANIMATIONS
32# undef RGB_ANIMATIONS
33#endif
34#ifdef RGB_EFFECT_ALTERNATING
35# undef RGB_EFFECT_ALTERNATING
36#endif
37#ifdef RGB_EFFECT_BREATHING
38# undef RGB_EFFECT_BREATHING
39#endif
40#ifdef RGB_EFFECT_CHRISTMAS
41# undef RGB_EFFECT_CHRISTMAS
42#endif
43#ifdef RGB_EFFECT_KNIGHT
44# undef RGB_EFFECT_KNIGHT
45#endif
46#ifdef RGB_EFFECT_RAINBOW_MOOD
47# undef RGB_EFFECT_RAINBOW_MOOD
48#endif
49#ifdef RGB_EFFECT_RAINBOW_SWIRL
50# undef RGB_EFFECT_RAINBOW_SWIRL
51#endif
52#ifdef RGB_EFFECT_RGB_TEST
53# undef RGB_EFFECT_RGB_TEST
54#endif
55#ifdef RGB_EFFECT_SNAKE
56# undef RGB_EFFECT_SNAKE
57#endif
58#ifdef RGB_EFFECT_STATIC_GRADIENT
59# undef RGB_EFFECT_STATIC_GRADIENT
60#endif
61#ifdef RGB_EFFECT_TWINKLE
62# undef RGB_EFFECT_TWINKLE
63#endif
diff --git a/users/nstickney/nstickney.c b/users/nstickney/nstickney.c
index 3e18e5c83..8222e7289 100644
--- a/users/nstickney/nstickney.c
+++ b/users/nstickney/nstickney.c
@@ -1,34 +1,73 @@
1/* Copyright 2021 @nstickney
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
1#include "nstickney.h" 16#include "nstickney.h"
2 17
3// Tap Dancing 18// Tap Dancing
4void dance_layer (qk_tap_dance_state_t *state, void *user_data) { 19void dance_layer(qk_tap_dance_state_t *state, void *user_data) {
5 switch (state -> count) { 20 switch (state->count) {
6 case 1: tap_code(KC_APP); break; 21 case 1:
7 case 2: layer_invert(NUMP); break; 22 tap_code(KC_APP);
8 case 3: layer_invert(SYMB); break; 23 break;
9 case 4: layer_invert(SYSH); break; 24 case 2:
10 default: break; 25 layer_invert(NUMP);
11 } 26 break;
27 case 3:
28 layer_invert(SYMB);
29 break;
30 default:
31 break;
32 }
12}; 33};
13 34
14void dance_lock_finished (qk_tap_dance_state_t *state, void *user_data) { 35void dance_lock_finished(qk_tap_dance_state_t *state, void *user_data) {
15 switch (state->count) { 36 switch (state->count) {
16 case 1: register_code(KC_LGUI); break; 37 case 1:
17 case 2: register_code(KC_NLCK); break; 38 register_code(KC_LGUI);
18 case 3: register_code(KC_CAPS); break; 39 break;
19 case 4: register_code(KC_SLCK); break; 40 case 2:
20 default: break; 41 register_code(KC_NLCK);
21 } 42 break;
43 case 3:
44 register_code(KC_CAPS);
45 break;
46 case 4:
47 register_code(KC_SLCK);
48 break;
49 default:
50 break;
51 }
22}; 52};
23 53
24void dance_lock_reset (qk_tap_dance_state_t *state, void *user_data) { 54void dance_lock_reset(qk_tap_dance_state_t *state, void *user_data) {
25 switch (state->count) { 55 switch (state->count) {
26 case 1: unregister_code(KC_LGUI); break; 56 case 1:
27 case 2: unregister_code(KC_NLCK); break; 57 unregister_code(KC_LGUI);
28 case 3: register_code(KC_CAPS); break; 58 break;
29 case 4: register_code(KC_SLCK); break; 59 case 2:
30 default: break; 60 register_code(KC_NLCK);
31 } 61 break;
62 case 3:
63 register_code(KC_CAPS);
64 break;
65 case 4:
66 register_code(KC_SLCK);
67 break;
68 default:
69 break;
70 }
32}; 71};
33 72
34qk_tap_dance_action_t tap_dance_actions[] = { 73qk_tap_dance_action_t tap_dance_actions[] = {
@@ -36,9 +75,22 @@ qk_tap_dance_action_t tap_dance_actions[] = {
36 [LAYERS] = ACTION_TAP_DANCE_FN(dance_layer) 75 [LAYERS] = ACTION_TAP_DANCE_FN(dance_layer)
37}; 76};
38 77
39void eeconfig_init_user (void) { 78// RGB underglow per-layer hue values
40 set_unicode_input_mode(UC_LNX); // Linux 79const uint16_t LAYER_HUE[] = {6, 197, 133, 69};
41 //set_unicode_input_mode(UC_OSX); // Mac OSX 80
42 //set_unicode_input_mode(UC_WIN); // Windows (with registry key, see wiki) 81// Initialize RGB underglow (colorful)
43 //set_unicode_input_mode(UC_WINC); // Windows (with WinCompose, see wiki) 82void keyboard_post_init_user(void) {
44}; \ No newline at end of file 83 rgblight_enable_noeeprom();
84 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
85 for (uint16_t i = 0; i < 256; ++i) {
86 rgblight_sethsv_noeeprom((i + LAYER_HUE[BASE]) % 256, 255, 136);
87 wait_ms(8);
88 }
89};
90
91// Turn on RGB underglow according to active layer
92layer_state_t layer_state_set_user(layer_state_t state) {
93 uint8_t user_val = rgblight_get_val();
94 rgblight_sethsv_noeeprom(LAYER_HUE[get_highest_layer(state)], 255, user_val);
95 return state;
96};
diff --git a/users/nstickney/nstickney.h b/users/nstickney/nstickney.h
index d3f5a7c6f..2b596b25e 100644
--- a/users/nstickney/nstickney.h
+++ b/users/nstickney/nstickney.h
@@ -1,20 +1,22 @@
1#include QMK_KEYBOARD_H 1/* Copyright 2021 @nstickney
2 2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
3#pragma once 16#pragma once
4#define USE_SERIAL 17#include QMK_KEYBOARD_H
5#define MASTER_LEFT
6
7#undef UNICODE_SELECTED_MODES
8#define UNICODE_SELECTED_MODES UC_OSX, UC_LNX, UC_WINC
9
10// Layers
11#define BASE 0 // Base layer
12#define SYMB 1 // Symbols
13#define SYSH 2 // Symbols, shifted
14#define NUMP 3 // Numpad
15#define FCTN 4 // Function
16 18
17// Make keymaps more clear 19// Specialty keycodes
18#define CC_ESC LCTL_T(KC_ESC) 20#define CC_ESC LCTL_T(KC_ESC)
19#define CC_QUOT RCTL_T(KC_QUOT) 21#define CC_QUOT RCTL_T(KC_QUOT)
20#define AC_SLSH LALT_T(KC_SLSH) 22#define AC_SLSH LALT_T(KC_SLSH)
@@ -22,4 +24,16 @@
22#define FC_BSLS LT(FCTN, KC_BSLS) 24#define FC_BSLS LT(FCTN, KC_BSLS)
23#define FC_MINS LT(FCTN, KC_MINS) 25#define FC_MINS LT(FCTN, KC_MINS)
24 26
25enum tap_dances {LOCKS = 0, LAYERS = 1}; \ No newline at end of file 27// Layers
28enum {
29 BASE, // Base layer
30 SYMB, // Symbols
31 NUMP, // Numpad
32 FCTN // Function
33};
34
35// Tap dance
36enum {
37 LOCKS, // Activate NUM/CAPS/SCROLL lock
38 LAYERS // Activate NUMP and SYMB layers
39};
diff --git a/users/nstickney/readme.md b/users/nstickney/readme.md
new file mode 100644
index 000000000..b62264d68
--- /dev/null
+++ b/users/nstickney/readme.md
@@ -0,0 +1,49 @@
1# nstickney's Ortholinear Layout
2
3 > Familiar layout for users who regularly switch between Bastyl/Iris and standard QWERTY.
4
5## Install
6
7For instructions on building and installing this keymap, see the [docs](https://docs.qmk.fm/#/getting_started_make_guide).
8Below is the command for me; it may be different for you.
9Note that my Iris keyboard has an Elite-C on the left half and a ProMicro on the right half.
10
11- Bastyl: `make hidtech/bastyl:nstickney:dfu`
12- Iris
13 - Elite-C: `make keebio/iris/rev2:nstickney:dfu`
14 - ProMicro: `make keebio/iris/rev2:nstickney:avrdude`
15
16## Usage
17
180. QWERTY `BASE` layer.
19 * `/`, `\`, `[SPACE]`, `[ENTER]`, `-`, and `=` on the thumb clusters.
20 * `[` and `]` added on Bastyl.
21 * `CAPSLOCK` replaced by `ESC`; hold it down for `CTRL`.
22 * `'` can also be held for `CTRL`.
23 * [Space-Cadet Shift](https://beta.docs.qmk.fm/using-qmk/advanced-keycodes/feature_space_cadet) is enabled, so the `SHIFT` keys send `(` and `)` when tapped.
24 * Hold down `/` or `=` for `ALT`.
25 * Hold down `\` or `-` to access the functions layer.
26 * Farthest thumb keys are `GUI` (left) and `MENU` (right).
27 * Tapping `GUI` 2, 3, or 4 times will toggle `NUMLOCK`, `CAPSLOCK`, or `SCROLLLOCK`, respectively.
28 * Tapping `MENU` 2 or 3 times will toggle the `NUMP` and `SYMB` layers, respectively.
290. Unicode-input symbols on `SYMB` layer. Based (loosely) on US-International layout.
300. `NUMP` layer has number pads on each hand. Number pad `7`-`8`-`9` align with QWERTY `7`-`8`-`9` on right hand.
310. Function, arrow, media, and miscellaneous keys on `FCTN` layer.
32 * `F1` through `F10` on `1`-`10`. `F11` is on `GUI` and `F12` is on `MENU`.
33 * Brackets (`[` and `]`) available on `U` and `I`; braces (`{` and `}`) on `O` and `P`.
34 * Arrow keys on `ESDF` and `HJKL`; familiar for both Vim users and FPS gamers.
35 * `W` is `HOME`; `R` is `END`. `T` is `PAGE UP` and `G` is `PAGE DOWN`.
36 * Music controls on lower row of left hand.
37 * Volume and screen brightness on lower row of right hand.
38 * `PRINT SCREEN`, `PAUSE`, `SYSREQ`, `INSERT`, and `CLEAR` also mapped, as intelligently as possible.
39 * `Q` toggles the RGB underglow (which changes color to indicate active layer).
40 * `A` increases RGB underglow brightness (with `SHIFT`, decreases brightness).
41 * `Y` is mapped to [`KC_LOCK`](https://beta.docs.qmk.fm/using-qmk/software-features/feature_key_lock).
42
43## Contribute
44
45If you are using this layout and think you've found a better way to do something, I'd appreciate an [issue](https://github.com/nstickney/qmk_firmware/issues), or better yet a [pull request](https://github.com/nstickney/qmk_firmware/pulls).
46
47## License
48
49Copyright &copy; 2016-2021 @nstickney. Released under [GPL-2.0](/LICENSE).
diff --git a/users/nstickney/rules.mk b/users/nstickney/rules.mk
index f52371c79..0f189e8a4 100644
--- a/users/nstickney/rules.mk
+++ b/users/nstickney/rules.mk
@@ -1,4 +1,37 @@
1# Copyright 2021 @nstickney
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 2 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
13# You should have received a copy of the GNU General Public License
14# along with this program. If not, see <http://www.gnu.org/licenses/>.
1SRC += nstickney.c 15SRC += nstickney.c
2 16
17KEY_LOCK_ENABLE = yes
18RGBLIGHT_ENABLE = yes
3TAP_DANCE_ENABLE = yes 19TAP_DANCE_ENABLE = yes
4UNICODE_ENABLE = yes \ No newline at end of file 20UNICODE_ENABLE = no
21UNICODEMAP_ENABLE = yes
22UCIS_ENABLE = no
23
24# https://github.com/qmk/qmk_firmware/issues/3224#issuecomment-399769416
25LTO_ENABLE = yes
26
27# https://beta.docs.qmk.fm/developing-qmk/qmk-reference/getting_started_make_guide#rules-mk-options
28API_SYSEX_ENABLE = no
29AUDIO_ENABLE = no
30BOOTMAGIC_ENABLE = no
31COMMAND_ENABLE = no
32CONSOLE_ENABLE = no
33MOUSEKEY_ENABLE = no
34MIDI_ENABLE = no
35NKRO_ENABLE = no
36SLEEP_LED_ENABLE = no
37VARIABLE_TRACE = no
diff --git a/users/nstickney/unicodemap.h b/users/nstickney/unicodemap.h
new file mode 100644
index 000000000..3b7d9e305
--- /dev/null
+++ b/users/nstickney/unicodemap.h
@@ -0,0 +1,106 @@
1/* Copyright 2021 @nstickney
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#pragma once
17
18enum {
19 // Used on base
20
21 // Used on US-International
22 IEX, SS2, SS3, CUR, EUR, V14, V12, V34, LSQ, RSQ, YEN, MLT,
23 A_D, A_R, E_A, REG, THR, U_D, U_A, I_A, O_A, O_D, LDA, RDA, NOT,
24 A_A, S_S, ETH, EMD, OEL, O_S, PLC, ACT,
25 AEL, CPR, N_T, MCR, C_C, IQM,
26
27 // Used on US-International with Shift
28 SS1, GBP, DIV,
29 AXD, ACR, ECA, UCD, UCA, ICA, OCA, OCD, BKB,
30 ACA, SEC, ETC, OEC, OCS, DEG, DIS,
31 AEC, CNT, NCT, CCC,
32
33 // Added to US-International
34
35 // Added to US-International with Shift
36 LDQ, RDQ,
37 CPL
38};
39
40const uint32_t PROGMEM unicode_map[] = {
41 [IEX] = 0xA1, // ¡
42 [SS2] = 0xB2, // ²
43 [SS3] = 0xB3, // ³
44 [CUR] = 0xA4, // ¤
45 [EUR] = 0x20AC, // €
46 [V14] = 0xBC, // ¼
47 [V12] = 0xBD, // ½
48 [V34] = 0xBE, // ¾
49 [LSQ] = 0x2018, // ‘
50 [RSQ] = 0x2019, // ’
51 [YEN] = 0xA5, // ¥
52 [MLT] = 0xD7, // ×
53 [A_D] = 0xE4, // ä
54 [A_R] = 0xE5, // å
55 [E_A] = 0xE9, // é
56 [REG] = 0xAE, // ®
57 [THR] = 0xFE, // þ
58 [U_D] = 0xFC, // ü
59 [U_A] = 0xFA, // ú
60 [I_A] = 0xED, // í
61 [O_A] = 0xF3, // ó
62 [O_D] = 0xF6, // ö
63 [LDA] = 0xAB, // «
64 [RDA] = 0xBB, // »
65 [NOT] = 0xAC, // ¬
66 [A_A] = 0xE1, // á
67 [S_S] = 0xDF, // ß
68 [ETH] = 0xF0, // ð
69 [EMD] = 0x2014, // —
70 [OEL] = 0x153, // œ
71 [O_S] = 0xF8, // ø
72 [PLC] = 0xB6, // ¶
73 [ACT] = 0xB4, // ´
74 [AEL] = 0xE6, // æ
75 [CPR] = 0xA9, // ©
76 [N_T] = 0xF1, // ñ
77 [MCR] = 0xB5, // µ
78 [C_C] = 0xE7, // ç
79 [IQM] = 0xBF, // ¿
80 [SS1] = 0xB9, // ¹
81 [GBP] = 0xA3, // £
82 [DIV] = 0xF7, // ÷
83 [AXD] = 0xC4, // Ä
84 [ACR] = 0xC5, // Å
85 [ECA] = 0xC9, // É
86 [UCD] = 0xDC, // Ü
87 [UCA] = 0xDA, // Ú
88 [ICA] = 0xCD, // Í
89 [OCA] = 0xD3, // Ó
90 [OCD] = 0xD6, // Ö
91 [BKB] = 0xA6, // ¦
92 [ACA] = 0xC1, // Á
93 [SEC] = 0xA7, // §
94 [ETC] = 0xD0, // Ð
95 [OEC] = 0x152, // Œ
96 [OCS] = 0xD8, // Ø
97 [DEG] = 0xB0, // °
98 [DIS] = 0xA8, // ¨
99 [AEC] = 0xC6, // Æ
100 [CNT] = 0xA2, // ¢
101 [NCT] = 0xD1, // Ñ
102 [CCC] = 0xC7, // Ç
103 [LDQ] = 0x201C, // “
104 [RDQ] = 0x201D, // ”
105 [CPL] = 0x1F12F // 🄯
106};