aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSalicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com>2019-10-23 02:54:53 +0900
committerDrashna Jaelre <drashna@live.com>2019-10-22 10:54:53 -0700
commit737bca8e5134086dd52eb4ec6ca5ca034e9c5bd9 (patch)
tree9ce6a1e958c77bd01ca7026750ebb133c34060ea
parentd99f6e95e15075ecab28090e1361e2581b70a517 (diff)
downloadqmk_firmware-737bca8e5134086dd52eb4ec6ca5ca034e9c5bd9.tar.gz
qmk_firmware-737bca8e5134086dd52eb4ec6ca5ca034e9c5bd9.zip
[Keyboard] Keyboard Naked60 Update (#7106)
* [Keyboard] Keyboard Naked60 Update Support for SPLIT_KEYBOARD Keymap updates * Update keyboards/naked60/readme.md Co-Authored-By: Joel Challis <git@zvecr.com> * Update keyboards/naked60/rev1/config.h Co-Authored-By: Joel Challis <git@zvecr.com> * Update keyboards/naked60/rev1/rev1.h Co-Authored-By: Joel Challis <git@zvecr.com> * Update keyboards/naked60/rev1/rev1.h Co-Authored-By: Joel Challis <git@zvecr.com>
-rw-r--r--keyboards/naked60/config.h22
-rw-r--r--keyboards/naked60/keymaps/default/config.h29
-rw-r--r--keyboards/naked60/keymaps/default/keymap.c44
-rw-r--r--keyboards/naked60/keymaps/default/readme.md4
-rw-r--r--keyboards/naked60/keymaps/default_with_nafuda/config.h63
-rw-r--r--keyboards/naked60/keymaps/default_with_nafuda/keymap.c80
-rw-r--r--keyboards/naked60/keymaps/default_with_nafuda/readme.md56
-rw-r--r--keyboards/naked60/keymaps/default_with_nafuda/rules.mk10
-rw-r--r--keyboards/naked60/keymaps/default_with_setta21/config.h63
-rw-r--r--keyboards/naked60/keymaps/default_with_setta21/keymap.c90
-rw-r--r--keyboards/naked60/keymaps/default_with_setta21/rules.mk9
-rw-r--r--keyboards/naked60/keymaps/salicylic/config.h29
-rw-r--r--keyboards/naked60/keymaps/salicylic/keymap.c56
-rw-r--r--keyboards/naked60/keymaps/salicylic/readme.md32
-rw-r--r--keyboards/naked60/keymaps/salicylic_with_nafuda/config.h62
-rw-r--r--keyboards/naked60/keymaps/salicylic_with_nafuda/keymap.c73
-rw-r--r--keyboards/naked60/keymaps/salicylic_with_nafuda/readme.md57
-rw-r--r--keyboards/naked60/keymaps/salicylic_with_nafuda/rules.mk9
-rw-r--r--keyboards/naked60/keymaps/salicylic_with_setta21/config.h63
-rw-r--r--keyboards/naked60/keymaps/salicylic_with_setta21/keymap.c95
-rw-r--r--keyboards/naked60/keymaps/salicylic_with_setta21/readme.md4
-rw-r--r--keyboards/naked60/keymaps/salicylic_with_setta21/rules.mk10
-rw-r--r--keyboards/naked60/naked60.h9
-rw-r--r--keyboards/naked60/rev1/config.h92
-rw-r--r--keyboards/naked60/rev1/matrix.c357
-rw-r--r--keyboards/naked60/rev1/rev1.c6
-rw-r--r--keyboards/naked60/rev1/rev1.h45
-rw-r--r--keyboards/naked60/rev1/rules.mk3
-rw-r--r--keyboards/naked60/rev1/serial_config.h8
-rw-r--r--keyboards/naked60/rev1/serial_config_simpleapi.h8
-rw-r--r--keyboards/naked60/rev1/split_scomm.c92
-rw-r--r--keyboards/naked60/rev1/split_scomm.h22
-rw-r--r--keyboards/naked60/rev1/split_util.c70
-rw-r--r--keyboards/naked60/rev1/split_util.h16
-rw-r--r--keyboards/naked60/rules.mk10
-rw-r--r--keyboards/naked60/serial.c590
-rw-r--r--keyboards/naked60/serial.h86
37 files changed, 237 insertions, 2137 deletions
diff --git a/keyboards/naked60/config.h b/keyboards/naked60/config.h
index 47f2a9aac..cfb6bf4ff 100644
--- a/keyboards/naked60/config.h
+++ b/keyboards/naked60/config.h
@@ -19,25 +19,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19#pragma once 19#pragma once
20 20
21#include "config_common.h" 21#include "config_common.h"
22
23// GCC include 'config.h" sequence in qmk_firmware/keyboards/naked60/
24// -include keyboards/naked60/config.h
25// -include keyboards/naked60/rev?/config.h
26// -include keyboards/naked60/rev?/keymaps/MAPNAME/config.h
27// XXXX.c
28
29#include <serial_config.h>
30
31// GCC include search path in qmk_firmare/keyboards/naked60/
32// #include "..." search starts here:
33// #include <...> search starts here:
34// keyboards/naked60/rev?/keymaps/MAPNAME
35// keyboards/naked60
36// keyboards/naked60/rev?
37// .
38// ./tmk_core
39// ......
40
41// MACRO and FUNCTION are features that are depreciated.
42#define NO_ACTION_MACRO
43#define NO_ACTION_FUNCTION
diff --git a/keyboards/naked60/keymaps/default/config.h b/keyboards/naked60/keymaps/default/config.h
index 140a79c77..4b3496d85 100644
--- a/keyboards/naked60/keymaps/default/config.h
+++ b/keyboards/naked60/keymaps/default/config.h
@@ -18,34 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define MASTER_LEFT
22// #define MASTER_RIGHT
23// #define EE_HANDS
24
25#define USE_SERIAL_PD2
26
27#define TAPPING_FORCE_HOLD 21#define TAPPING_FORCE_HOLD
28#define TAPPING_TERM 180 22#define TAPPING_TERM 180
29
30#define MK_3_SPEED
31
32#undef MOUSEKEY_INTERVAL
33#define MOUSEKEY_INTERVAL 0
34
35#undef MOUSEKEY_TIME_TO_MAX
36#define MOUSEKEY_TIME_TO_MAX 150
37
38#undef MOUSEKEY_MAX_SPEED
39#define MOUSEKEY_MAX_SPEED 3
40
41#undef MOUSEKEY_MOVE_DELTA
42#define MOUSEKEY_MOVE_DELTA 5
43
44#undef MOUSEKEY_DELAY
45#define MOUSEKEY_DELAY 0
46
47#undef MOUSEKEY_WHEEL_MAX_SPEED
48#define MOUSEKEY_WHEEL_MAX_SPEED 1
49
50#undef MOUSEKEY_WHEEL_TIME_TO_MAX
51#define MOUSEKEY_WHEEL_TIME_TO_MAX 0
diff --git a/keyboards/naked60/keymaps/default/keymap.c b/keyboards/naked60/keymaps/default/keymap.c
index 4b15e969d..b8812090c 100644
--- a/keyboards/naked60/keymaps/default/keymap.c
+++ b/keyboards/naked60/keymaps/default/keymap.c
@@ -2,11 +2,6 @@
2 2
3extern keymap_config_t keymap_config; 3extern keymap_config_t keymap_config;
4 4
5#ifdef RGBLIGHT_ENABLE
6//Following line allows macro to read current RGB settings
7extern rgblight_config_t rgblight_config;
8#endif
9
10extern uint8_t is_master; 5extern uint8_t is_master;
11 6
12// Each layer gets a name for readability, which is then used in the keymap matrix below. 7// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -21,22 +16,11 @@ enum layer_number {
21 _ADJUST, 16 _ADJUST,
22}; 17};
23 18
24enum custom_keycodes {
25 FLOCK = SAFE_RANGE,
26 ADJUST,
27 RGBRST
28};
29
30enum tapdances{ 19enum tapdances{
31 TD_ESFL = 0, 20 TD_ESFL = 0,
32 TD_ESQW, 21 TD_ESQW,
33}; 22};
34 23
35// Layer Mode aliases
36
37#define KC_SNUBS S(KC_NUBS)
38#define KC_SNUHS S(KC_NUHS)
39
40qk_tap_dance_action_t tap_dance_actions[] = { 24qk_tap_dance_action_t tap_dance_actions[] = {
41 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), 25 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
42 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), 26 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
@@ -53,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
53 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 37 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
54 KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, 38 KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
55 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 39 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
56 ADJUST,KC_LCTRL, KC_LALT, KC_LGUI,MO(_LOWER),KC_SPC, KC_SPC,MO(_RAISE),KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT 40 MO(_ADJUST),KC_LCTRL, KC_LALT, KC_LGUI,MO(_LOWER),KC_SPC, KC_SPC,MO(_RAISE),KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT
57 //`------------------------------------------------------------------------------------------------------------' 41 //`------------------------------------------------------------------------------------------------------------'
58 ), 42 ),
59 43
@@ -81,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
81 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 65 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
82 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, 66 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
83 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 67 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
84 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,KC_SNUHS,KC_SNUBS, _______, _______, _______, 68 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS), _______, _______, _______,
85 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 69 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
86 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY 70 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
87 //`------------------------------------------------------------------------------------------------------------' 71 //`------------------------------------------------------------------------------------------------------------'
@@ -107,33 +91,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
107 //,-----------------------------------------------------| |-----------------------------------------------------. 91 //,-----------------------------------------------------| |-----------------------------------------------------.
108 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 92 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
109 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 93 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
110 _______, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), 94 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR),
111 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 95 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
112 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, 96 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR,
113 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 97 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
114 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), 98 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL),
115 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 99 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
116 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 100 _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
117 //`------------------------------------------------------------------------------------------------------------' 101 //`------------------------------------------------------------------------------------------------------------'
118 ) 102 )
119}; 103};
120 104
121uint32_t layer_state_set_user(uint32_t state) { 105void matrix_init_user(void) {
122 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
123}
124 106
125int RGB_current_mode; 107}
126bool process_record_user(uint16_t keycode, keyrecord_t *record) {
127
128 bool result = false;
129 switch (keycode) {
130 case ADJUST:
131 update_tri_layer_state(record->event.pressed, _ADJUST, _RAISE, _LOWER);
132 break;
133 default:
134 result = true;
135 break;
136 }
137
138 return result;
139} \ No newline at end of file
diff --git a/keyboards/naked60/keymaps/default/readme.md b/keyboards/naked60/keymaps/default/readme.md
index 87ce8b3a2..b5959919a 100644
--- a/keyboards/naked60/keymaps/default/readme.md
+++ b/keyboards/naked60/keymaps/default/readme.md
@@ -46,8 +46,8 @@
46| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 46| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
47|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:| 47|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
48| ESC| F2| F3| F4| F5| F6| | | F7| F8| F9| F10| F11| F12| 48| ESC| F2| F3| F4| F5| F6| | | F7| F8| F9| F10| F11| F12|
49| TILD| RST| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| BTN1| MS_U| BTN2| XXXXX|Alt+PSCR| 49| TILD| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| BTN1| MS_U| BTN2| XXXXX|Alt+PSCR|
50| LSFT| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| MS_L| MS_D| MS_R| XXXXX| PSCR| 50| LSFT| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| MS_L| MS_D| MS_R| XXXXX| PSCR|
51| LCTRL| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| C+A+D| 51| LCTRL| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| C+A+D|
52| |ADJUST| LCTRL| LALT| LGUI| LOWER| SPC| SPC| RAISE| MNXT| VOLD| VOLU| MPLY| | 52| |ADJUST| LCTRL| LALT| LGUI| LOWER| RESET| RESET| RAISE| MNXT| VOLD| VOLU| MPLY| |
53 53
diff --git a/keyboards/naked60/keymaps/default_with_nafuda/config.h b/keyboards/naked60/keymaps/default_with_nafuda/config.h
index e188262cf..0761e5b6d 100644
--- a/keyboards/naked60/keymaps/default_with_nafuda/config.h
+++ b/keyboards/naked60/keymaps/default_with_nafuda/config.h
@@ -21,70 +21,7 @@
21#define MASTER_LEFT 21#define MASTER_LEFT
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24
25#define USE_SERIAL_PD2 24#define USE_SERIAL_PD2
26 25
27#define TAPPING_FORCE_HOLD 26#define TAPPING_FORCE_HOLD
28#define TAPPING_TERM 180 27#define TAPPING_TERM 180
29
30#define RGBLED_NUM 7
31
32#ifndef IOS_DEVICE_ENABLE
33 #define RGBLIGHT_LIMIT_VAL 180
34 #define RGBLIGHT_VAL_STEP 17
35#else
36 #define RGBLIGHT_LIMIT_VAL 50
37 #define RGBLIGHT_VAL_STEP 4
38#endif
39#define RGBLIGHT_HUE_STEP 10
40#define RGBLIGHT_SAT_STEP 17
41
42#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
43// USB_MAX_POWER_CONSUMPTION value for naked48 keyboard
44// 120 RGBoff, OLEDoff
45// 120 OLED
46// 330 RGB 6
47// 300 RGB 32
48// 310 OLED & RGB 32
49 #define USB_MAX_POWER_CONSUMPTION 400
50#else
51 // fix iPhone and iPad power adapter issue
52 // iOS device need lessthan 100
53 #define USB_MAX_POWER_CONSUMPTION 100
54#endif
55
56// Selection of RGBLIGHT MODE to use.
57#if defined(LED_ANIMATIONS)
58 //#define RGBLIGHT_EFFECT_BREATHING
59 #define RGBLIGHT_EFFECT_RAINBOW_MOOD
60 #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
61 //#define RGBLIGHT_EFFECT_SNAKE
62 #define RGBLIGHT_EFFECT_KNIGHT
63 //#define RGBLIGHT_EFFECT_CHRISTMAS
64 #define RGBLIGHT_EFFECT_STATIC_GRADIENT
65 //#define RGBLIGHT_EFFECT_RGB_TEST
66 //#define RGBLIGHT_EFFECT_ALTERNATING
67#endif
68
69#define MK_3_SPEED
70
71#undef MOUSEKEY_INTERVAL
72#define MOUSEKEY_INTERVAL 0
73
74#undef MOUSEKEY_TIME_TO_MAX
75#define MOUSEKEY_TIME_TO_MAX 150
76
77#undef MOUSEKEY_MAX_SPEED
78#define MOUSEKEY_MAX_SPEED 3
79
80#undef MOUSEKEY_MOVE_DELTA
81#define MOUSEKEY_MOVE_DELTA 5
82
83#undef MOUSEKEY_DELAY
84#define MOUSEKEY_DELAY 0
85
86#undef MOUSEKEY_WHEEL_MAX_SPEED
87#define MOUSEKEY_WHEEL_MAX_SPEED 1
88
89#undef MOUSEKEY_WHEEL_TIME_TO_MAX
90#define MOUSEKEY_WHEEL_TIME_TO_MAX 0
diff --git a/keyboards/naked60/keymaps/default_with_nafuda/keymap.c b/keyboards/naked60/keymaps/default_with_nafuda/keymap.c
index d50af530d..4738ef36e 100644
--- a/keyboards/naked60/keymaps/default_with_nafuda/keymap.c
+++ b/keyboards/naked60/keymaps/default_with_nafuda/keymap.c
@@ -2,11 +2,6 @@
2 2
3extern keymap_config_t keymap_config; 3extern keymap_config_t keymap_config;
4 4
5#ifdef RGBLIGHT_ENABLE
6//Following line allows macro to read current RGB settings
7extern rgblight_config_t rgblight_config;
8#endif
9
10extern uint8_t is_master; 5extern uint8_t is_master;
11 6
12// Each layer gets a name for readability, which is then used in the keymap matrix below. 7// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -24,13 +19,7 @@ enum layer_number {
24}; 19};
25 20
26enum custom_keycodes { 21enum custom_keycodes {
27 FLOCK = SAFE_RANGE, 22 RGB_RST = SAFE_RANGE
28 MOUSE,
29 BROWSER,
30 LOWER,
31 RAISE,
32 ADJUST,
33 RGBRST
34}; 23};
35 24
36enum tapdances{ 25enum tapdances{
@@ -38,41 +27,23 @@ enum tapdances{
38 TD_ESQW, 27 TD_ESQW,
39}; 28};
40 29
41// Fillers to make layering more clear
42
43#define KC_CAD LCA(KC_DEL)
44#define KC_APSCR LALT(KC_PSCR)
45
46#define KC_SNUBS S(KC_NUBS)
47#define KC_SNUHS S(KC_NUHS)
48
49#define KC_RTAB LCTL(KC_TAB)
50#define KC_LTAB LCTL(LSFT(KC_TAB))
51#define KC_CTAB LCTL(KC_W)
52#define KC_RETAB LCTL(LSFT(KC_T))
53
54#define KC_TGMO TG(_MOUSE)
55#define KC_TGBR TG(_BROWSER)
56#define KC_BSAD LT(_ADJUST, KC_BSPC)
57
58qk_tap_dance_action_t tap_dance_actions[] = { 30qk_tap_dance_action_t tap_dance_actions[] = {
59 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), 31 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
60 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), 32 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
61}; 33};
62 34
63
64const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
65 [_QWERTY] = LAYOUT_with_nafuda( 36 [_QWERTY] = LAYOUT_with_nafuda(
66 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| 37 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
67 TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TGMO, 38 TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, TG(_MOUSE),
68 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 39 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
69 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_BSAD, KC_UP, KC_TGBR, 40 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,LT(_ADJUST, KC_BSPC),KC_UP,TG(_BROWSER),
70 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 41 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
71 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LEFT, KC_DOWN,KC_RIGHT, 42 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LEFT, KC_DOWN,KC_RIGHT,
72 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| 43 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
73 KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, 44 KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
74 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 45 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
75 ADJUST,KC_LCTRL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT 46 MO(_ADJUST),KC_LCTRL, KC_LALT, KC_LGUI,MO(_LOWER),KC_SPC,KC_SPC,MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT
76 //`------------------------------------------------------------------------------------------------------------' 47 //`------------------------------------------------------------------------------------------------------------'
77 ), 48 ),
78 49
@@ -92,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
92 63
93 [_MOUSE] = LAYOUT_with_nafuda( 64 [_MOUSE] = LAYOUT_with_nafuda(
94 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| 65 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
95 TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TGMO, 66 TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, TG(_MOUSE),
96 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 67 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
97 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, 68 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2,
98 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 69 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
@@ -106,11 +77,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
106 77
107 [_BROWSER] = LAYOUT_with_nafuda( 78 [_BROWSER] = LAYOUT_with_nafuda(
108 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| 79 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
109 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CTAB, 80 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LCTL(KC_W),
110 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 81 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
111 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RETAB, KC_WH_U, KC_TGBR, 82 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,LCTL(LSFT(KC_T)),KC_WH_U,TG(_BROWSER),
112 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 83 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
113 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LTAB, KC_WH_D, KC_RTAB, 84 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,LCTL(LSFT(KC_TAB)), KC_WH_D,LCTL(KC_TAB),
114 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| 85 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
115 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 86 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
116 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 87 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -120,13 +91,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
120 91
121 [_LOWER] = LAYOUT_with_nafuda( 92 [_LOWER] = LAYOUT_with_nafuda(
122 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| 93 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
123 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TGMO, 94 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TG(_MOUSE),
124 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 95 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
125 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR,KC_LPRN, KC_RPRN, KC_DEL, KC_BSAD, KC_UP, KC_TGBR, 96 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR,KC_LPRN, KC_RPRN, KC_DEL,LT(_ADJUST, KC_BSPC), KC_UP,TG(_MOUSE),
126 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 97 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
127 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN,KC_RIGHT, 98 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN,KC_RIGHT,
128 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| 99 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
129 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,KC_SNUHS,KC_SNUBS, _______, _______, _______, 100 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______,_______,_______,
130 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 101 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
131 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY 102 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
132 //`------------------------------------------------------------------------------------------------------------' 103 //`------------------------------------------------------------------------------------------------------------'
@@ -134,9 +105,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
134 105
135 [_RAISE] = LAYOUT_with_nafuda( 106 [_RAISE] = LAYOUT_with_nafuda(
136 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| 107 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
137 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TGMO, 108 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TG(_MOUSE),
138 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 109 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
139 KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_BSAD, KC_UP, KC_TGBR, 110 KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,LT(_ADJUST, KC_BSPC), KC_UP,TG(_MOUSE),
140 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 111 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
141 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_LEFT, KC_DOWN,KC_RIGHT, 112 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_LEFT, KC_DOWN,KC_RIGHT,
142 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| 113 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
@@ -150,37 +121,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
150 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| 121 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
151 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_VAD, 122 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_VAD,
152 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 123 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
153 _______, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), ADJUST, RGB_SAD, RGB_VAI, 124 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), _ADJUST, RGB_SAD, RGB_VAI,
154 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 125 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
155 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, RGB_MOD, RGB_TOG, RGB_SAI, 126 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, RGB_MOD, RGB_TOG, RGB_SAI,
156 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| 127 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
157 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), 128 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL),
158 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 129 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
159 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 130 _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
160 //`------------------------------------------------------------------------------------------------------------' 131 //`------------------------------------------------------------------------------------------------------------'
161 ) 132 )
162}; 133};
163 134
164static inline void update_change_layer(bool pressed, uint8_t layer1, uint8_t layer2, uint8_t layer3) {
165
166 pressed ? layer_on(layer1) : layer_off(layer1);
167 IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2) ? layer_on(layer3) : layer_off(layer3);
168}
169
170int RGB_current_mode; 135int RGB_current_mode;
171bool process_record_user(uint16_t keycode, keyrecord_t *record) { 136bool process_record_user(uint16_t keycode, keyrecord_t *record) {
172 137
173 bool result = false; 138 bool result = false;
174 switch (keycode) { 139 switch (keycode) {
175 case LOWER:
176 update_change_layer(record->event.pressed, _LOWER, _RAISE, _ADJUST);
177 break;
178 case RAISE:
179 update_change_layer(record->event.pressed, _RAISE, _LOWER, _ADJUST);
180 break;
181 case ADJUST:
182 update_change_layer(record->event.pressed, _ADJUST, _RAISE, _LOWER);
183 break;
184 #ifdef RGBLIGHT_ENABLE 140 #ifdef RGBLIGHT_ENABLE
185 case RGB_MOD: 141 case RGB_MOD:
186 if (record->event.pressed) { 142 if (record->event.pressed) {
@@ -189,7 +145,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
189 RGB_current_mode = rgblight_config.mode; 145 RGB_current_mode = rgblight_config.mode;
190 } 146 }
191 break; 147 break;
192 case RGBRST: 148 case RGB_RST:
193 if (record->event.pressed) { 149 if (record->event.pressed) {
194 eeconfig_update_rgblight_default(); 150 eeconfig_update_rgblight_default();
195 rgblight_enable(); 151 rgblight_enable();
@@ -206,7 +162,5 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
206} 162}
207 163
208void matrix_init_user(void) { 164void matrix_init_user(void) {
209 #ifdef RGBLIGHT_ENABLE 165
210 RGB_current_mode = rgblight_config.mode;
211 #endif
212} 166}
diff --git a/keyboards/naked60/keymaps/default_with_nafuda/readme.md b/keyboards/naked60/keymaps/default_with_nafuda/readme.md
index 574f90ffb..27201090d 100644
--- a/keyboards/naked60/keymaps/default_with_nafuda/readme.md
+++ b/keyboards/naked60/keymaps/default_with_nafuda/readme.md
@@ -2,30 +2,38 @@
2 2
3Add Nafuda maps to the default layout. 3Add Nafuda maps to the default layout.
4 4
5## Default 5Default
6| 1 | 2 | 3 | 6 //|--------------------|
7|:----:|:----:|:----:| 7 Mouse,
8| | MOUSE| | 8 //|------+------+------|
9| BS+Ad| UP|Browser| 9 BS + Ad, UP,Browser,
10| LEFT| DOWN| RIGHT| 10 //|------+------+------|
11 LEFT, DOWN, RIGHT
12 //|--------------------|
11 13
12## Mouse 14Mouse
13| 1 | 2 | 3 | 15 //|--------------------|
14|:----:|:----:|:----:| 16 Default,
15| |Default| | 17 //|------+------+------|
16| BTN1| MS_U| BTN2| 18 BTN1, MS_U, BTN2,
17| MS_L| MS_D| MS_R| 19 //|------+------+------|
20 MS_L, MS_D, MS_R
21 //|--------------------|
18 22
19## Browser 23Browser
20| 1 | 2 | 3 | 24 //|--------------------|
21|:----:|:----:|:----:| 25 CloseTAB,
22| |CloseTAB| | 26 //|------+------+------|
23|ReOpenTAB|WH_U|Default| 27 ReOpenTAB, WH_U,Default,
24| LTAB| WH_D| RTAB| 28 //|------+------+------|
29 LTAB, WH_D, RTAB
30 //|--------------------|
25 31
26## Adjust 32Adjust
27| 1 | 2 | 3 | 33 //|------------------------|
28|:----:|:----:|:----:| 34 LED VAD,
29| |LED_VAD| | 35 //|------+----------+------|
30|Default|LED_HUD|LED_VAI| 36 Default, LED HUD,LED VAI,
31|LED_MOD|LED_ON/Off|LED_HUI| 37 //|------+----------+------|
38 LED MOD,LED ON/Off,LED HUI
39 //|------------------------|
diff --git a/keyboards/naked60/keymaps/default_with_nafuda/rules.mk b/keyboards/naked60/keymaps/default_with_nafuda/rules.mk
index 15a887e78..e69de29bb 100644
--- a/keyboards/naked60/keymaps/default_with_nafuda/rules.mk
+++ b/keyboards/naked60/keymaps/default_with_nafuda/rules.mk
@@ -1,10 +0,0 @@
1RGBLIGHT_ENABLE = yes
2
3# If your custom naked60 pcb, you can rewrite to yes.
4LED_ANIMATIONS = yes # LED animations
5
6ifeq ($(strip $(LED_ANIMATIONS)), yes)
7 # OPT_DEFS += -DRGBLIGHT_ANIMATIONS
8 OPT_DEFS += -DLED_ANIMATIONS
9endif
10
diff --git a/keyboards/naked60/keymaps/default_with_setta21/config.h b/keyboards/naked60/keymaps/default_with_setta21/config.h
index fe162510d..0761e5b6d 100644
--- a/keyboards/naked60/keymaps/default_with_setta21/config.h
+++ b/keyboards/naked60/keymaps/default_with_setta21/config.h
@@ -21,70 +21,7 @@
21#define MASTER_LEFT 21#define MASTER_LEFT
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24
25#define USE_SERIAL_PD2 24#define USE_SERIAL_PD2
26 25
27#define TAPPING_FORCE_HOLD 26#define TAPPING_FORCE_HOLD
28#define TAPPING_TERM 180 27#define TAPPING_TERM 180
29
30#define RGBLED_NUM 21
31
32#ifndef IOS_DEVICE_ENABLE
33 #define RGBLIGHT_LIMIT_VAL 180
34 #define RGBLIGHT_VAL_STEP 17
35#else
36 #define RGBLIGHT_LIMIT_VAL 50
37 #define RGBLIGHT_VAL_STEP 4
38#endif
39#define RGBLIGHT_HUE_STEP 10
40#define RGBLIGHT_SAT_STEP 17
41
42#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
43// USB_MAX_POWER_CONSUMPTION value for naked48 keyboard
44// 120 RGBoff, OLEDoff
45// 120 OLED
46// 330 RGB 6
47// 300 RGB 32
48// 310 OLED & RGB 32
49 #define USB_MAX_POWER_CONSUMPTION 400
50#else
51 // fix iPhone and iPad power adapter issue
52 // iOS device need lessthan 100
53 #define USB_MAX_POWER_CONSUMPTION 100
54#endif
55
56// Selection of RGBLIGHT MODE to use.
57#if defined(LED_ANIMATIONS)
58 //#define RGBLIGHT_EFFECT_BREATHING
59 #define RGBLIGHT_EFFECT_RAINBOW_MOOD
60 #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
61 //#define RGBLIGHT_EFFECT_SNAKE
62 #define RGBLIGHT_EFFECT_KNIGHT
63 //#define RGBLIGHT_EFFECT_CHRISTMAS
64 #define RGBLIGHT_EFFECT_STATIC_GRADIENT
65 //#define RGBLIGHT_EFFECT_RGB_TEST
66 //#define RGBLIGHT_EFFECT_ALTERNATING
67#endif
68
69#define MK_3_SPEED
70
71#undef MOUSEKEY_INTERVAL
72#define MOUSEKEY_INTERVAL 0
73
74#undef MOUSEKEY_TIME_TO_MAX
75#define MOUSEKEY_TIME_TO_MAX 150
76
77#undef MOUSEKEY_MAX_SPEED
78#define MOUSEKEY_MAX_SPEED 3
79
80#undef MOUSEKEY_MOVE_DELTA
81#define MOUSEKEY_MOVE_DELTA 5
82
83#undef MOUSEKEY_DELAY
84#define MOUSEKEY_DELAY 0
85
86#undef MOUSEKEY_WHEEL_MAX_SPEED
87#define MOUSEKEY_WHEEL_MAX_SPEED 1
88
89#undef MOUSEKEY_WHEEL_TIME_TO_MAX
90#define MOUSEKEY_WHEEL_TIME_TO_MAX 0
diff --git a/keyboards/naked60/keymaps/default_with_setta21/keymap.c b/keyboards/naked60/keymaps/default_with_setta21/keymap.c
index 06ea56501..0717d3c3f 100644
--- a/keyboards/naked60/keymaps/default_with_setta21/keymap.c
+++ b/keyboards/naked60/keymaps/default_with_setta21/keymap.c
@@ -22,15 +22,10 @@ enum layer_number {
22}; 22};
23 23
24enum custom_keycodes { 24enum custom_keycodes {
25 FLOCK = SAFE_RANGE, 25 RGB_RST = SAFE_RANGE,
26 LOWER,
27 RAISE,
28 ADJUST,
29 KANJI,
30 RGBRST,
31 SEND_SUM, 26 SEND_SUM,
32 SEND_AVERAGE, 27 SEND_AVE,
33 SEND_COUNTIF, 28 SEND_CIF,
34 SEND_MAX, 29 SEND_MAX,
35 SEND_MIN 30 SEND_MIN
36}; 31};
@@ -40,20 +35,6 @@ enum tapdances{
40 TD_ESQW, 35 TD_ESQW,
41}; 36};
42 37
43// Fillers to make layering more clear
44#define KC_SNUBS S(KC_NUBS)
45#define KC_SNUHS S(KC_NUHS)
46
47#define KC_SSUM SEND_SUM
48#define KC_SAVE SEND_AVERAGE
49#define KC_SCOU SEND_COUNTIF
50#define KC_SMAX SEND_MAX
51#define KC_SMIN SEND_MIN
52
53#define KC_RADO LT(_RAISE, KC_PDOT)
54#define KC_LOP0 LT(_LOWER, KC_P0)
55#define KC_ADNL LT(_ADJUST, KC_NLCK)
56
57qk_tap_dance_action_t tap_dance_actions[] = { 38qk_tap_dance_action_t tap_dance_actions[] = {
58 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), 39 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
59 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), 40 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
@@ -62,15 +43,15 @@ qk_tap_dance_action_t tap_dance_actions[] = {
62const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 43const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
63 [_QWERTY] = LAYOUT_with_setta21( 44 [_QWERTY] = LAYOUT_with_setta21(
64 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| 45 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
65 TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_LOP0, KC_P1, KC_P4, KC_P7,KC_ADNL, KC_ESC, 46 TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,LT(_LOWER, KC_P0),KC_P1, KC_P4, KC_P7,KC_NLCK, KC_ESC,
66 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 47 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
67 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_P2, KC_P5, KC_P8,KC_PSLS, KC_F2, 48 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_P2, KC_P5, KC_P8,KC_PSLS, KC_F2,
68 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 49 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
69 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_RADO, KC_P3, KC_P6, KC_P9,KC_PAST, KC_EQL, 50 KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,LT(_RAISE, KC_PDOT),KC_P3,KC_P6, KC_P9,KC_PAST, KC_EQL,
70 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| 51 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
71 KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL, 52 KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL,
72 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------| 53 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
73 ADJUST,KC_LCTRL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT 54 MO(_ADJUST),KC_LCTRL, KC_LALT, KC_LGUI,MO(_LOWER), KC_SPC, KC_SPC,MO(_RAISE),KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT
74 //`------------------------------------------------------------------------------------------------------------' 55 //`------------------------------------------------------------------------------------------------------------'
75 ), 56 ),
76 57
@@ -90,78 +71,63 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
90 71
91 [_LOWER] = LAYOUT_with_setta21( 72 [_LOWER] = LAYOUT_with_setta21(
92 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| 73 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
93 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, LOWER,XXXXXXX,KC_LEFT,XXXXXXX,XXXXXXX, KC_ESC, 74 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(_LOWER),XXXXXXX,KC_LEFT,XXXXXXX,XXXXXXX, KC_ESC,
94 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 75 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
95 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR,KC_LPRN, KC_RPRN, KC_DEL, KC_DOWN,KC_DOWN, KC_UP,KC_PSLS, KC_F2, 76 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR,KC_LPRN, KC_RPRN, KC_DEL, KC_DOWN,KC_DOWN, KC_UP,KC_PSLS, KC_F2,
96 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 77 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
97 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, RAISE,XXXXXXX,KC_RIGHT,XXXXXXX,KC_PAST, KC_EQL, 78 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, MO(_RAISE),XXXXXXX,KC_RIGHT,XXXXXXX,KC_PAST,KC_EQL,
98 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| 79 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
99 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,KC_SNUHS,KC_SNUBS, _______, _______, _______, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL, 80 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______,_______,_______, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL,
100 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------| 81 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
101 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY 82 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
102 //`------------------------------------------------------------------------------------------------------------' 83 //`------------------------------------------------------------------------------------------------------------'
103 ), 84 ),
104 85
105 [_RAISE] = LAYOUT_with_setta21( 86 [_RAISE] = LAYOUT_with_setta21(
106 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| 87 //,-----------------------------------------------------| |-----------------------------------------------------. |------------------------------------------------|
107 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, LOWER, KC_F11, KC_F4, KC_F7,KC_SMIN, KC_ESC, 88 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_F11, KC_F4, KC_F7,SEND_MIN, KC_ESC,
108 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 89 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+--------+-------|
109 KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_F12, KC_F5, KC_F8,KC_SMAX, KC_F2, 90 KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_F12, KC_F5, KC_F8,SEND_MAX, KC_F2,
110 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 91 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+--------+-------|
111 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, RAISE, KC_F3, KC_F6, KC_F9,KC_SCOU, KC_EQL, 92 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, KC_F3, KC_F6, KC_F9,SEND_CIF, KC_EQL,
112 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| 93 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+--------+-------|
113 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, KC_RPRN, KC_SSUM,KC_SAVE, KC_DEL, 94 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, KC_RPRN, SEND_SUM,SEND_AVE, KC_DEL,
114 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------| 95 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |------------------------------------------------|
115 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 96 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
116 //`------------------------------------------------------------------------------------------------------------' 97 //`------------------------------------------------------------------------------------------------------------'
117 ), 98 ),
118 99
119 [_ADJUST] = LAYOUT_with_setta21( /* Base */ 100 [_ADJUST] = LAYOUT_with_setta21( /* Base */
120 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| 101 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
121 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, LOWER,RGB_VAD,RGB_HUD,RGB_SAD, ADJUST,RGB_TOG, 102 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,RGB_VAD,RGB_HUD,RGB_SAD,XXXXXXX,_______,
122 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 103 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
123 _______, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), RGB_VAI,RGB_HUI,RGB_SAI,XXXXXXX,_______, 104 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), RGB_VAI,RGB_HUI,RGB_SAI,XXXXXXX,_______,
124 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 105 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
125 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, RAISE,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______, 106 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, _______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______,
126 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| 107 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
127 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), RGB_MOD, _______,_______,_______, 108 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), RGB_MOD, RGB_TOG,_______,_______,
128 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------| 109 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
129 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 110 _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
130 //`------------------------------------------------------------------------------------------------------------' 111 //`------------------------------------------------------------------------------------------------------------'
131 ) 112 )
132}; 113};
133 114
134static inline void update_change_layer(bool pressed, uint8_t layer1, uint8_t layer2, uint8_t layer3) {
135
136 pressed ? layer_on(layer1) : layer_off(layer1);
137 IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2) ? layer_on(layer3) : layer_off(layer3);
138}
139
140int RGB_current_mode; 115int RGB_current_mode;
141bool process_record_user(uint16_t keycode, keyrecord_t *record) { 116bool process_record_user(uint16_t keycode, keyrecord_t *record) {
142 117
143 bool result = false; 118 bool result = false;
144 switch (keycode) { 119 switch (keycode) {
145 case LOWER:
146 update_change_layer(record->event.pressed, _LOWER, _RAISE, _ADJUST);
147 break;
148 case RAISE:
149 update_change_layer(record->event.pressed, _RAISE, _LOWER, _ADJUST);
150 break;
151 case ADJUST:
152 update_change_layer(record->event.pressed, _ADJUST, _RAISE, _LOWER);
153 break;
154 case SEND_SUM: 120 case SEND_SUM:
155 if (record->event.pressed) { 121 if (record->event.pressed) {
156 SEND_STRING("=SUM("); 122 SEND_STRING("=SUM(");
157 } 123 }
158 break; 124 break;
159 case SEND_AVERAGE: 125 case SEND_AVE:
160 if (record->event.pressed) { 126 if (record->event.pressed) {
161 SEND_STRING("=AVERAGE("); 127 SEND_STRING("=AVERAGE(");
162 } 128 }
163 break; 129 break;
164 case SEND_COUNTIF: 130 case SEND_CIF:
165 if (record->event.pressed) { 131 if (record->event.pressed) {
166 SEND_STRING("=COUNTIF("); 132 SEND_STRING("=COUNTIF(");
167 } 133 }
@@ -184,7 +150,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
184 RGB_current_mode = rgblight_config.mode; 150 RGB_current_mode = rgblight_config.mode;
185 } 151 }
186 break; 152 break;
187 case RGBRST: 153 case RGB_RST:
188 if (record->event.pressed) { 154 if (record->event.pressed) {
189 eeconfig_update_rgblight_default(); 155 eeconfig_update_rgblight_default();
190 rgblight_enable(); 156 rgblight_enable();
@@ -201,7 +167,5 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
201} 167}
202 168
203void matrix_init_user(void) { 169void matrix_init_user(void) {
204 #ifdef RGBLIGHT_ENABLE 170
205 RGB_current_mode = rgblight_config.mode;
206 #endif
207} 171}
diff --git a/keyboards/naked60/keymaps/default_with_setta21/rules.mk b/keyboards/naked60/keymaps/default_with_setta21/rules.mk
index b714c8f51..e69de29bb 100644
--- a/keyboards/naked60/keymaps/default_with_setta21/rules.mk
+++ b/keyboards/naked60/keymaps/default_with_setta21/rules.mk
@@ -1,9 +0,0 @@
1RGBLIGHT_ENABLE = yes
2
3# If your custom naked60 pcb, you can rewrite to yes.
4LED_ANIMATIONS = yes # LED animations
5
6ifeq ($(strip $(LED_ANIMATIONS)), yes)
7 # OPT_DEFS += -DRGBLIGHT_ANIMATIONS
8 OPT_DEFS += -DLED_ANIMATIONS
9endif
diff --git a/keyboards/naked60/keymaps/salicylic/config.h b/keyboards/naked60/keymaps/salicylic/config.h
index 140a79c77..4b3496d85 100644
--- a/keyboards/naked60/keymaps/salicylic/config.h
+++ b/keyboards/naked60/keymaps/salicylic/config.h
@@ -18,34 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define MASTER_LEFT
22// #define MASTER_RIGHT
23// #define EE_HANDS
24
25#define USE_SERIAL_PD2
26
27#define TAPPING_FORCE_HOLD 21#define TAPPING_FORCE_HOLD
28#define TAPPING_TERM 180 22#define TAPPING_TERM 180
29
30#define MK_3_SPEED
31
32#undef MOUSEKEY_INTERVAL
33#define MOUSEKEY_INTERVAL 0
34
35#undef MOUSEKEY_TIME_TO_MAX
36#define MOUSEKEY_TIME_TO_MAX 150
37
38#undef MOUSEKEY_MAX_SPEED
39#define MOUSEKEY_MAX_SPEED 3
40
41#undef MOUSEKEY_MOVE_DELTA
42#define MOUSEKEY_MOVE_DELTA 5
43
44#undef MOUSEKEY_DELAY
45#define MOUSEKEY_DELAY 0
46
47#undef MOUSEKEY_WHEEL_MAX_SPEED
48#define MOUSEKEY_WHEEL_MAX_SPEED 1
49
50#undef MOUSEKEY_WHEEL_TIME_TO_MAX
51#define MOUSEKEY_WHEEL_TIME_TO_MAX 0
diff --git a/keyboards/naked60/keymaps/salicylic/keymap.c b/keyboards/naked60/keymaps/salicylic/keymap.c
index 11d2e1431..17172f77b 100644
--- a/keyboards/naked60/keymaps/salicylic/keymap.c
+++ b/keyboards/naked60/keymaps/salicylic/keymap.c
@@ -3,11 +3,6 @@
3 3
4extern keymap_config_t keymap_config; 4extern keymap_config_t keymap_config;
5 5
6#ifdef RGBLIGHT_ENABLE
7//Following line allows macro to read current RGB settings
8extern rgblight_config_t rgblight_config;
9#endif
10
11extern uint8_t is_master; 6extern uint8_t is_master;
12 7
13// Each layer gets a name for readability, which is then used in the keymap matrix below. 8// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -22,25 +17,11 @@ enum layer_number {
22 _ADJUST, 17 _ADJUST,
23}; 18};
24 19
25enum custom_keycodes {
26 FLOCK = SAFE_RANGE,
27 LOWER,
28 RAISE,
29 ADJUST,
30 RGBRST
31};
32
33enum tapdances{ 20enum tapdances{
34 TD_ESFL = 0, 21 TD_ESFL = 0,
35 TD_ESQW, 22 TD_ESQW,
36}; 23};
37 24
38// Fillers to make layering more clear
39#define KC_CT11 LCTL_T(KC_F11)
40#define KC_SF12 SFT_T(KC_F12)
41#define KC_LOEN LT(_LOWER, KC_ENT)
42#define KC_RASP LT(_RAISE, KC_SPC)
43
44qk_tap_dance_action_t tap_dance_actions[] = { 25qk_tap_dance_action_t tap_dance_actions[] = {
45 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), 26 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
46 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), 27 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
@@ -57,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
57 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 38 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
58 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, 39 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS,
59 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 40 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
60 KC_LEFT,KC_RIGHT, KC_LGUI, KC_MHEN, KC_LOEN, KC_BSPC, KC_DEL, KC_RASP, KC_HENK, KC_LALT, KC_DOWN, KC_UP 41 KC_LEFT,KC_RIGHT, KC_LGUI, KC_MHEN, LT(_LOWER,KC_ENT),KC_BSPC, KC_DEL,LT(_RAISE,KC_SPC), KC_HENK, KC_LALT, KC_DOWN, KC_UP
61 //`------------------------------------------------------------------------------------------------------------' 42 //`------------------------------------------------------------------------------------------------------------'
62 ), 43 ),
63 44
@@ -87,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
87 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 68 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
88 JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT, 69 JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT,
89 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 70 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
90 _______, _______, _______, KC_ZKHK, LOWER, _______, _______, RAISE, KC_0, JP_DOT, _______, _______ 71 _______, _______, _______, KC_ZKHK,MO(_LOWER),_______,_______,MO(_RAISE),JP_DOT, _______, _______, _______
91 //`------------------------------------------------------------------------------------------------------------' 72 //`------------------------------------------------------------------------------------------------------------'
92 ), 73 ),
93 74
@@ -98,9 +79,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
98 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 79 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
99 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_DEL, 80 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_DEL,
100 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 81 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
101 KC_CT11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_LSFT, KC_ENT, 82LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_LSFT, KC_ENT,
102 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 83 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
103 KC_SF12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, 84SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX,
104 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 85 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
105 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 86 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
106 //`------------------------------------------------------------------------------------------------------------' 87 //`------------------------------------------------------------------------------------------------------------'
@@ -110,38 +91,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
110 //,-----------------------------------------------------| |-----------------------------------------------------. 91 //,-----------------------------------------------------| |-----------------------------------------------------.
111 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 92 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
112 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 93 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
113 _______, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), 94 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR),
114 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 95 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
115 KC_LCTRL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, 96 KC_LCTRL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR,
116 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| 97 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
117 KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), 98 KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL),
118 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 99 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
119 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 100 _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
120 //`------------------------------------------------------------------------------------------------------------' 101 //`------------------------------------------------------------------------------------------------------------'
121 ) 102 )
122}; 103};
123 104
124static inline void update_change_layer(bool pressed, uint8_t layer1, uint8_t layer2, uint8_t layer3) { 105uint32_t layer_state_set_user(uint32_t state) {
125 106 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
126 pressed ? layer_on(layer1) : layer_off(layer1);
127 IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2) ? layer_on(layer3) : layer_off(layer3);
128} 107}
129 108
130int RGB_current_mode; 109void matrix_init_user(void) {
131bool process_record_user(uint16_t keycode, keyrecord_t *record) { 110
132
133 bool result = false;
134 switch (keycode) {
135 case LOWER:
136 update_change_layer(record->event.pressed, _LOWER, _RAISE, _ADJUST);
137 break;
138 case RAISE:
139 update_change_layer(record->event.pressed, _RAISE, _LOWER, _ADJUST);
140 break;
141 default:
142 result = true;
143 break;
144 }
145
146 return result;
147} 111}
diff --git a/keyboards/naked60/keymaps/salicylic/readme.md b/keyboards/naked60/keymaps/salicylic/readme.md
index da2126381..2901dbf7f 100644
--- a/keyboards/naked60/keymaps/salicylic/readme.md
+++ b/keyboards/naked60/keymaps/salicylic/readme.md
@@ -6,19 +6,18 @@
6| ESC(FLock) | 1| 2| 3| 4| 5| | | 6| 7| 8| 9| 0| BSPC| 6| ESC(FLock) | 1| 2| 3| 4| 5| | | 6| 7| 8| 9| 0| BSPC|
7| TAB | Q| W| E| R| T| | | Y| U| I| O| P| [| 7| TAB | Q| W| E| R| T| | | Y| U| I| O| P| [|
8|LCTRL | A| S| D| F| G| | | H| J| K| L| -| ]| 8|LCTRL | A| S| D| F| G| | | H| J| K| L| -| ]|
9| LSFT | Z| X| C| V| B| | | N| M| ,| .| /| \ | 9| LSFT | Z| X| C| V| B| | | N| M| ,| .| /| \|
10| | LEFT| RIGHT| LGUI| MHEN|Low+Ent| BSPC| DEL|Rai+SPC| HENK| LALT| UP| DOWN| | 10| | LEFT| RIGHT| LGUI| MHEN|LOWER, ENT|BSPC|DEL|RAISE,SPC|HENK| LALT| DOWN| UP| |
11
12 11
13 12
14## FLock 13## FLock
15| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 14| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
16|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:| 15|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
17| ESC(FLock)|F2| F3| F4| F5| F6| | | F7| F8| F9| F10| F11| _____| 16| ESC(FLock)| F2| F3| F4| F5| F6| | | F7| F8| F9| F10| F11| BSPC|
18| TAB | Q| W| E| R| T| | | Y| U| I| O| P| [| 17| TAB | Q| W| E| R| T| | | Y| U| I| O| P| [|
19|LCTRL | A| S| D| F| G| | | H| J| K| L| -| ]| 18|LCTRL | A| S| D| F| G| | | H| J| K| L| -| ]|
20| LSFT | Z| X| C| V| B| | | N| M| ,| .| /| \ | 19| LSFT | Z| X| C| V| B| | | N| M| ,| .| /| \|
21| | LEFT| RIGHT| LGUI| MHEN|Low+Ent| BSPC| DEL|Rai+SPC| HENK| LALT| UP| DOWN| | 20| | LEFT| RIGHT| LGUI| MHEN|LOWER, ENT|BSPC|DEL|RAISE,SPC|HENK| LALT| DOWN| UP| |
22 21
23 22
24## Lower 23## Lower
@@ -28,26 +27,25 @@
28| :| !| ?| [| ]| ~| | | 6| 7| 8| 9| *| /| 27| :| !| ?| [| ]| ~| | | 6| 7| 8| 9| *| /|
29| '| #| "| (| )| @| | | XXXXX| 4| 5| 6| -| =| 28| '| #| "| (| )| @| | | XXXXX| 4| 5| 6| -| =|
30| ^| %| &| ;| :| PIPE| | | 0| 1| 2| 3| +| ENT| 29| ^| %| &| ;| :| PIPE| | | 0| 1| 2| 3| +| ENT|
31| | LEFT| RIGHT| LGUI| ZKHK| LOWER| BSPC| DEL| RAISE| 0| .| UP| DOWN| | 30| | LEFT| RIGHT| LGUI| ZKHK| LOWER| BSPC| DEL| RAISE| HENK| LALT| DOWN| UP| |
32 31
33 32
34## Raise 33## Raise
35| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 34| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
36|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:| 35|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
37| ESC| F2| F3| F4| F5| F6| | | F7| F8| F9| F10| F11| F12| 36| ESC| F2| F3| F4| F5| F6| | | F7| F8| F9| F10| F11| F12|
38| ESC| 1| 2| 3| 4| 5| | | XXXXX| XXXXX| UP| XXXXX| PGUP| BSPC| 37| ESC| 1| 2| 3| 4| 5| | | 6| XXXXX| UP| XXXXX| PGUP| DEL|
39|CtrlF11| F1| F2| F3| F4| F5| | | XXXXX| LEFT| DOWN| RIGHT| LSFT| ENT| 38|F11,LCTRL| F1| F2| F3| F4| F5| | | XXXXX| LEFT| DOWN| RIGHT| LSFT| ENT|
40|ShiftF12| F6| F7| F8| F9| F10| | | XXXXX| XXXXX| XXXXX| XXXXX| PGDN| XXXXX| 39|F12,LSFT| F6| F7| F8| F9| F10| | | XXXXX| XXXXX| XXXXX| XXXXX| PGDN| XXXXX|
41| | LEFT| RIGHT| LGUI| ZKHK| LOWER| BSPC| DEL| RAISE| HENK| LALT| UP| DOWN| | 40| | LEFT| RIGHT| LGUI| MHEN| LOWER| BSPC| DEL| RAISE| HENK| LALT| DOWN| UP| |
42
43 41
44 42
45## Adjust 43## Adjust
46| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 44| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
47|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:| 45|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:-----:|:----:|
48| ESC| F2| F3| F4| F5| | | F6| F7| F8| F9| F10| F11| F12| 46| ESC| F2| F3| F4| F5| F6| | | F7| F8| F9| F10| F11| F12|
49| ESC| RST| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| BTN1| MS_U| BTN2| XXXXX|Alt+PSCR| 47| ESC| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| BTN1| MS_U| BTN2| XXXXX|Alt+PSCR|
50| LCTRL| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| MS_L| MS_D| MS_R| XXXXX| PSCR| 48| LCTRL| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| MS_L| MS_D| MS_R| XXXXX| PSCR|
51| LSFT| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| C+A+D| 49| LSFT| XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| | | XXXXX| XXXXX| XXXXX| XXXXX| XXXXX| C+A+D|
52| | LEFT| RIGHT| LGUI| ZKHK| LOWER| BSPC| DEL| RAISE| HENK| LALT| UP| DOWN| | 50| |ADJUST| LCTRL| LALT| LGUI| LOWER| RESET| RESET| RAISE| HENK| LALT| DOWN| UP| |
53 51
diff --git a/keyboards/naked60/keymaps/salicylic_with_nafuda/config.h b/keyboards/naked60/keymaps/salicylic_with_nafuda/config.h
index e188262cf..47da6d441 100644
--- a/keyboards/naked60/keymaps/salicylic_with_nafuda/config.h
+++ b/keyboards/naked60/keymaps/salicylic_with_nafuda/config.h
@@ -26,65 +26,3 @@
26 26
27#define TAPPING_FORCE_HOLD 27#define TAPPING_FORCE_HOLD
28#define TAPPING_TERM 180 28#define TAPPING_TERM 180
29
30#define RGBLED_NUM 7
31
32#ifndef IOS_DEVICE_ENABLE
33 #define RGBLIGHT_LIMIT_VAL 180
34 #define RGBLIGHT_VAL_STEP 17
35#else
36 #define RGBLIGHT_LIMIT_VAL 50
37 #define RGBLIGHT_VAL_STEP 4
38#endif
39#define RGBLIGHT_HUE_STEP 10
40#define RGBLIGHT_SAT_STEP 17
41
42#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
43// USB_MAX_POWER_CONSUMPTION value for naked48 keyboard
44// 120 RGBoff, OLEDoff
45// 120 OLED
46// 330 RGB 6
47// 300 RGB 32
48// 310 OLED & RGB 32
49 #define USB_MAX_POWER_CONSUMPTION 400
50#else
51 // fix iPhone and iPad power adapter issue
52 // iOS device need lessthan 100
53 #define USB_MAX_POWER_CONSUMPTION 100
54#endif
55
56// Selection of RGBLIGHT MODE to use.
57#if defined(LED_ANIMATIONS)
58 //#define RGBLIGHT_EFFECT_BREATHING
59 #define RGBLIGHT_EFFECT_RAINBOW_MOOD
60 #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
61 //#define RGBLIGHT_EFFECT_SNAKE
62 #define RGBLIGHT_EFFECT_KNIGHT
63 //#define RGBLIGHT_EFFECT_CHRISTMAS
64 #define RGBLIGHT_EFFECT_STATIC_GRADIENT
65 //#define RGBLIGHT_EFFECT_RGB_TEST
66 //#define RGBLIGHT_EFFECT_ALTERNATING
67#endif
68
69#define MK_3_SPEED
70
71#undef MOUSEKEY_INTERVAL
72#define MOUSEKEY_INTERVAL 0
73
74#undef MOUSEKEY_TIME_TO_MAX
75#define MOUSEKEY_TIME_TO_MAX 150
76
77#undef MOUSEKEY_MAX_SPEED
78#define MOUSEKEY_MAX_SPEED 3
79
80#undef MOUSEKEY_MOVE_DELTA
81#define MOUSEKEY_MOVE_DELTA 5
82
83#undef MOUSEKEY_DELAY
84#define MOUSEKEY_DELAY 0
85
86#undef MOUSEKEY_WHEEL_MAX_SPEED
87#define MOUSEKEY_WHEEL_MAX_SPEED 1
88
89#undef MOUSEKEY_WHEEL_TIME_TO_MAX
90#define MOUSEKEY_WHEEL_TIME_TO_MAX 0
diff --git a/keyboards/naked60/keymaps/salicylic_with_nafuda/keymap.c b/keyboards/naked60/keymaps/salicylic_with_nafuda/keymap.c
index 33ccdf603..3a2cd9eb8 100644
--- a/keyboards/naked60/keymaps/salicylic_with_nafuda/keymap.c
+++ b/keyboards/naked60/keymaps/salicylic_with_nafuda/keymap.c
@@ -25,13 +25,7 @@ enum layer_number {
25}; 25};
26 26
27enum custom_keycodes { 27enum custom_keycodes {
28 FLOCK = SAFE_RANGE, 28 RGB_RST = SAFE_RANGE
29 MOUSE,
30 BROWSER,
31 LOWER,
32 RAISE,
33 ADJUST,
34 RGBRST
35}; 29};
36 30
37enum tapdances{ 31enum tapdances{
@@ -39,21 +33,6 @@ enum tapdances{
39 TD_ESQW, 33 TD_ESQW,
40}; 34};
41 35
42// Fillers to make layering more clear
43#define KC_CT11 LCTL_T(KC_F11)
44#define KC_SF12 SFT_T(KC_F12)
45#define KC_LOEN LT(_LOWER, KC_ENT)
46#define KC_RASP LT(_RAISE, KC_SPC)
47
48#define KC_RTAB LCTL(KC_TAB)
49#define KC_LTAB LCTL(LSFT(KC_TAB))
50#define KC_CTAB LCTL(KC_W)
51#define KC_RETAB LCTL(LSFT(KC_T))
52
53#define KC_TGMO TG(_MOUSE)
54#define KC_TGBR TG(_BROWSER)
55#define KC_BSAD LT(_ADJUST, KC_BSPC)
56
57qk_tap_dance_action_t tap_dance_actions[] = { 36qk_tap_dance_action_t tap_dance_actions[] = {
58 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), 37 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
59 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), 38 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
@@ -62,15 +41,15 @@ qk_tap_dance_action_t tap_dance_actions[] = {
62const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 41const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
63 [_QWERTY] = LAYOUT_with_nafuda( 42 [_QWERTY] = LAYOUT_with_nafuda(
64 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| 43 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
65 TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TGMO, 44 TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, TG(_MOUSE),
66 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 45 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
67 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, KC_BSAD, KC_UP, KC_TGBR, 46 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC,LT(_ADJUST, KC_BSPC),KC_UP,TG(_BROWSER),
68 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 47 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
69 KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC, KC_LEFT, KC_DOWN,KC_RIGHT, 48 KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC, KC_LEFT, KC_DOWN,KC_RIGHT,
70 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| 49 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
71 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, 50 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS,
72 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 51 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
73 KC_LEFT,KC_RIGHT, KC_LGUI, KC_MHEN, KC_LOEN, KC_BSPC, KC_DEL, KC_RASP, KC_HENK, KC_LALT, KC_DOWN, KC_UP 52 KC_LEFT,KC_RIGHT, KC_LGUI, KC_MHEN,LT(_LOWER, KC_ENT), KC_BSPC, KC_DEL,LT(_RAISE, KC_SPC), KC_HENK, KC_LALT, KC_DOWN, KC_UP
74 //`------------------------------------------------------------------------------------------------------------' 53 //`------------------------------------------------------------------------------------------------------------'
75 ), 54 ),
76 55
@@ -90,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
90 69
91 [_MOUSE] = LAYOUT_with_nafuda( 70 [_MOUSE] = LAYOUT_with_nafuda(
92 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| 71 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
93 TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TGMO, 72 TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, TG(_MOUSE),
94 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 73 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
95 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, 74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2,
96 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 75 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
@@ -104,11 +83,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
104 83
105 [_BROWSER] = LAYOUT_with_nafuda( 84 [_BROWSER] = LAYOUT_with_nafuda(
106 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| 85 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
107 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CTAB, 86 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LCTL(KC_W),
108 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 87 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
109 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RETAB, KC_WH_U, KC_TGBR, 88 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,LCTL(LSFT(KC_T)),KC_WH_U,TG(_BROWSER),
110 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 89 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
111 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LTAB, KC_WH_D, KC_RTAB, 90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,LCTL(LSFT(KC_TAB)), KC_WH_D,LCTL(KC_TAB),
112 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| 91 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
113 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 92 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
114 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 93 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -118,27 +97,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
118 97
119 [_LOWER] = LAYOUT_with_nafuda( 98 [_LOWER] = LAYOUT_with_nafuda(
120 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| 99 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
121 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TGMO, 100 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TG(_MOUSE),
122 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 101 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
123 JP_COLN, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH, KC_BSAD, KC_UP, KC_TGBR, 102 JP_COLN, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH,LT(_ADJUST, KC_BSPC),KC_UP,TG(_BROWSER),
124 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 103 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
125 JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, KC_LEFT, KC_DOWN,KC_RIGHT, 104 JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, KC_LEFT, KC_DOWN,KC_RIGHT,
126 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| 105 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
127 JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT, 106 JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT,
128 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 107 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
129 _______, _______, _______, KC_ZKHK, LOWER, _______, _______, RAISE, KC_0, JP_DOT, _______, _______ 108 _______, _______, _______, KC_ZKHK,MO(_LOWER),_______,_______,MO(_RAISE), JP_DOT,_______, _______, _______
130 //`------------------------------------------------------------------------------------------------------------' 109 //`------------------------------------------------------------------------------------------------------------'
131 ), 110 ),
132 111
133 [_RAISE] = LAYOUT_with_nafuda( 112 [_RAISE] = LAYOUT_with_nafuda(
134 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| 113 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
135 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TGMO, 114 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TG(_MOUSE),
136 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 115 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
137 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_DEL, KC_BSAD, KC_UP, KC_TGBR, 116 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_DEL,LT(_ADJUST, KC_BSPC),KC_UP,TG(_BROWSER),
138 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 117 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
139 KC_CT11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_LSFT, KC_ENT, KC_LEFT, KC_DOWN,KC_RIGHT, 118LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_LSFT, KC_ENT, KC_LEFT, KC_DOWN,KC_RIGHT,
140 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| 119 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
141 KC_SF12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, 120SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX,
142 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 121 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
143 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 122 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
144 //`------------------------------------------------------------------------------------------------------------' 123 //`------------------------------------------------------------------------------------------------------------'
@@ -148,21 +127,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
148 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| 127 //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
149 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_VAD, 128 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_VAD,
150 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 129 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
151 _______, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), ADJUST, RGB_SAD, RGB_VAI, 130 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), _ADJUST, RGB_SAD, RGB_VAI,
152 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| 131 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
153 KC_LCTRL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, RGB_MOD, RGB_TOG, RGB_SAI, 132 KC_LCTRL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, RGB_MOD, RGB_TOG, RGB_SAI,
154 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------| 133 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
155 KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), 134 KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL),
156 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| 135 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
157 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 136 _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
158 //`------------------------------------------------------------------------------------------------------------' 137 //`------------------------------------------------------------------------------------------------------------'
159 ) 138 )
160}; 139};
161 140
162static inline void update_change_layer(bool pressed, uint8_t layer1, uint8_t layer2, uint8_t layer3) { 141uint32_t layer_state_set_user(uint32_t state) {
163 142 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
164 pressed ? layer_on(layer1) : layer_off(layer1);
165 IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2) ? layer_on(layer3) : layer_off(layer3);
166} 143}
167 144
168int RGB_current_mode; 145int RGB_current_mode;
@@ -170,12 +147,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
170 147
171 bool result = false; 148 bool result = false;
172 switch (keycode) { 149 switch (keycode) {
173 case LOWER:
174 update_change_layer(record->event.pressed, _LOWER, _RAISE, _ADJUST);
175 break;
176 case RAISE:
177 update_change_layer(record->event.pressed, _RAISE, _LOWER, _ADJUST);
178 break;
179 #ifdef RGBLIGHT_ENABLE 150 #ifdef RGBLIGHT_ENABLE
180 case RGB_MOD: 151 case RGB_MOD:
181 if (record->event.pressed) { 152 if (record->event.pressed) {
@@ -184,7 +155,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
184 RGB_current_mode = rgblight_config.mode; 155 RGB_current_mode = rgblight_config.mode;
185 } 156 }
186 break; 157 break;
187 case RGBRST: 158 case RGB_RST:
188 if (record->event.pressed) { 159 if (record->event.pressed) {
189 eeconfig_update_rgblight_default(); 160 eeconfig_update_rgblight_default();
190 rgblight_enable(); 161 rgblight_enable();
@@ -201,7 +172,5 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
201} 172}
202 173
203void matrix_init_user(void) { 174void matrix_init_user(void) {
204 #ifdef RGBLIGHT_ENABLE 175
205 RGB_current_mode = rgblight_config.mode;
206 #endif
207} 176}
diff --git a/keyboards/naked60/keymaps/salicylic_with_nafuda/readme.md b/keyboards/naked60/keymaps/salicylic_with_nafuda/readme.md
index 8c83f7ea3..17b973b73 100644
--- a/keyboards/naked60/keymaps/salicylic_with_nafuda/readme.md
+++ b/keyboards/naked60/keymaps/salicylic_with_nafuda/readme.md
@@ -2,31 +2,38 @@
2 2
3Add Nafuda maps to the salicylic layout. 3Add Nafuda maps to the salicylic layout.
4 4
5## Default 5Default
6| 1 | 2 | 3 | 6 //|--------------------|
7|:----:|:----:|:----:| 7 Mouse,
8| | MOUSE| | 8 //|------+------+------|
9| BS+Ad| UP|Browser| 9 BS + Ad, UP,Browser,
10| LEFT| DOWN| RIGHT| 10 //|------+------+------|
11 LEFT, DOWN, RIGHT
12 //|--------------------|
11 13
12## Mouse 14Mouse
13| 1 | 2 | 3 | 15 //|--------------------|
14|:----:|:----:|:----:| 16 Default,
15| |Default| | 17 //|------+------+------|
16| BTN1| MS_U| BTN2| 18 BTN1, MS_U, BTN2,
17| MS_L| MS_D| MS_R| 19 //|------+------+------|
20 MS_L, MS_D, MS_R
21 //|--------------------|
18 22
19## Browser 23Browser
20| 1 | 2 | 3 | 24 //|--------------------|
21|:----:|:----:|:----:| 25 CloseTAB,
22| |CloseTAB| | 26 //|------+------+------|
23|ReOpenTAB|WH_U|Default| 27 ReOpenTAB, WH_U,Default,
24| LTAB| WH_D| RTAB| 28 //|------+------+------|
25 29 LTAB, WH_D, RTAB
26## Adjust 30 //|--------------------|
27| 1 | 2 | 3 |
28|:----:|:----:|:----:|
29| |LED_VAD| |
30|Default|LED_HUD|LED_VAI|
31|LED_MOD|LED_ON/Off|LED_HUI|
32 31
32Adjust
33 //|------------------------|
34 LED VAD,
35 //|------+----------+------|
36 Default, LED HUD,LED VAI,
37 //|------+----------+------|
38 LED MOD,LED ON/Off,LED HUI
39 //|------------------------|
diff --git a/keyboards/naked60/keymaps/salicylic_with_nafuda/rules.mk b/keyboards/naked60/keymaps/salicylic_with_nafuda/rules.mk
index b714c8f51..e69de29bb 100644
--- a/keyboards/naked60/keymaps/salicylic_with_nafuda/rules.mk
+++ b/keyboards/naked60/keymaps/salicylic_with_nafuda/rules.mk
@@ -1,9 +0,0 @@
1RGBLIGHT_ENABLE = yes
2
3# If your custom naked60 pcb, you can rewrite to yes.
4LED_ANIMATIONS = yes # LED animations
5
6ifeq ($(strip $(LED_ANIMATIONS)), yes)
7 # OPT_DEFS += -DRGBLIGHT_ANIMATIONS
8 OPT_DEFS += -DLED_ANIMATIONS
9endif
diff --git a/keyboards/naked60/keymaps/salicylic_with_setta21/config.h b/keyboards/naked60/keymaps/salicylic_with_setta21/config.h
index fe162510d..0761e5b6d 100644
--- a/keyboards/naked60/keymaps/salicylic_with_setta21/config.h
+++ b/keyboards/naked60/keymaps/salicylic_with_setta21/config.h
@@ -21,70 +21,7 @@
21#define MASTER_LEFT 21#define MASTER_LEFT
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24
25#define USE_SERIAL_PD2 24#define USE_SERIAL_PD2
26 25
27#define TAPPING_FORCE_HOLD 26#define TAPPING_FORCE_HOLD
28#define TAPPING_TERM 180 27#define TAPPING_TERM 180
29
30#define RGBLED_NUM 21
31
32#ifndef IOS_DEVICE_ENABLE
33 #define RGBLIGHT_LIMIT_VAL 180
34 #define RGBLIGHT_VAL_STEP 17
35#else
36 #define RGBLIGHT_LIMIT_VAL 50
37 #define RGBLIGHT_VAL_STEP 4
38#endif
39#define RGBLIGHT_HUE_STEP 10
40#define RGBLIGHT_SAT_STEP 17
41
42#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
43// USB_MAX_POWER_CONSUMPTION value for naked48 keyboard
44// 120 RGBoff, OLEDoff
45// 120 OLED
46// 330 RGB 6
47// 300 RGB 32
48// 310 OLED & RGB 32
49 #define USB_MAX_POWER_CONSUMPTION 400
50#else
51 // fix iPhone and iPad power adapter issue
52 // iOS device need lessthan 100
53 #define USB_MAX_POWER_CONSUMPTION 100
54#endif
55
56// Selection of RGBLIGHT MODE to use.
57#if defined(LED_ANIMATIONS)
58 //#define RGBLIGHT_EFFECT_BREATHING
59 #define RGBLIGHT_EFFECT_RAINBOW_MOOD
60 #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
61 //#define RGBLIGHT_EFFECT_SNAKE
62 #define RGBLIGHT_EFFECT_KNIGHT
63 //#define RGBLIGHT_EFFECT_CHRISTMAS
64 #define RGBLIGHT_EFFECT_STATIC_GRADIENT
65 //#define RGBLIGHT_EFFECT_RGB_TEST
66 //#define RGBLIGHT_EFFECT_ALTERNATING
67#endif
68
69#define MK_3_SPEED
70
71#undef MOUSEKEY_INTERVAL
72#define MOUSEKEY_INTERVAL 0
73
74#undef MOUSEKEY_TIME_TO_MAX
75#define MOUSEKEY_TIME_TO_MAX 150
76
77#undef MOUSEKEY_MAX_SPEED
78#define MOUSEKEY_MAX_SPEED 3
79
80#undef MOUSEKEY_MOVE_DELTA
81#define MOUSEKEY_MOVE_DELTA 5
82
83#undef MOUSEKEY_DELAY
84#define MOUSEKEY_DELAY 0
85
86#undef MOUSEKEY_WHEEL_MAX_SPEED
87#define MOUSEKEY_WHEEL_MAX_SPEED 1
88
89#undef MOUSEKEY_WHEEL_TIME_TO_MAX
90#define MOUSEKEY_WHEEL_TIME_TO_MAX 0
diff --git a/keyboards/naked60/keymaps/salicylic_with_setta21/keymap.c b/keyboards/naked60/keymaps/salicylic_with_setta21/keymap.c
index 4d2618c52..a1f5a6e21 100644
--- a/keyboards/naked60/keymaps/salicylic_with_setta21/keymap.c
+++ b/keyboards/naked60/keymaps/salicylic_with_setta21/keymap.c
@@ -3,11 +3,6 @@
3 3
4extern keymap_config_t keymap_config; 4extern keymap_config_t keymap_config;
5 5
6#ifdef RGBLIGHT_ENABLE
7//Following line allows macro to read current RGB settings
8extern rgblight_config_t rgblight_config;
9#endif
10
11extern uint8_t is_master; 6extern uint8_t is_master;
12 7
13// Each layer gets a name for readability, which is then used in the keymap matrix below. 8// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -23,15 +18,10 @@ enum layer_number {
23}; 18};
24 19
25enum custom_keycodes { 20enum custom_keycodes {
26 FLOCK = SAFE_RANGE, 21 RGB_RST = SAFE_RANGE,
27 LOWER,
28 RAISE,
29 ADJUST,
30 KANJI,
31 RGBRST,
32 SEND_SUM, 22 SEND_SUM,
33 SEND_AVERAGE, 23 SEND_AVE,
34 SEND_COUNTIF, 24 SEND_CIF,
35 SEND_MAX, 25 SEND_MAX,
36 SEND_MIN 26 SEND_MIN
37}; 27};
@@ -41,22 +31,6 @@ enum tapdances{
41 TD_ESQW, 31 TD_ESQW,
42}; 32};
43 33
44// Fillers to make layering more clear
45#define KC_CT11 LCTL_T(KC_F11)
46#define KC_SF12 SFT_T(KC_F12)
47#define KC_LOEN LT(_LOWER, KC_ENT)
48#define KC_RASP LT(_RAISE, KC_SPC)
49
50#define KC_SSUM SEND_SUM
51#define KC_SAVE SEND_AVERAGE
52#define KC_SCOU SEND_COUNTIF
53#define KC_SMAX SEND_MAX
54#define KC_SMIN SEND_MIN
55
56#define KC_RADO LT(_RAISE, KC_PDOT)
57#define KC_LOP0 LT(_LOWER, KC_P0)
58#define KC_ADNL LT(_ADJUST, KC_NLCK)
59
60qk_tap_dance_action_t tap_dance_actions[] = { 34qk_tap_dance_action_t tap_dance_actions[] = {
61 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK), 35 [TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
62 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY), 36 [TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
@@ -65,15 +39,15 @@ qk_tap_dance_action_t tap_dance_actions[] = {
65const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 39const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
66 [_QWERTY] = LAYOUT_with_setta21( 40 [_QWERTY] = LAYOUT_with_setta21(
67 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| 41 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
68 TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_LOP0, KC_P1, KC_P4, KC_P7,KC_ADNL, KC_ESC, 42 TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,LT(_LOWER, KC_P0),KC_P1, KC_P4, KC_P7,KC_NLCK, KC_ESC,
69 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 43 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
70 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, KC_P2, KC_P5, KC_P8,KC_PSLS, KC_F2, 44 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, KC_P2, KC_P5, KC_P8,KC_PSLS, KC_F2,
71 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 45 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
72 KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC, KC_RADO, KC_P3, KC_P6, KC_P9,KC_PAST, JP_EQL, 46 KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC,LT(_RAISE, KC_PDOT),KC_P3,KC_P6, KC_P9,KC_PAST, JP_EQL,
73 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| 47 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
74 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL, 48 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL,
75 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------| 49 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
76 KC_LEFT,KC_RIGHT, KC_LGUI, KC_MHEN, KC_LOEN, KC_BSPC, KC_DEL, KC_RASP, KC_HENK, KC_LALT, KC_DOWN, KC_UP 50 KC_LEFT,KC_RIGHT, KC_LGUI, KC_MHEN, LT(_LOWER,KC_ENT),KC_BSPC, KC_DEL,LT(_RAISE,KC_SPC), KC_HENK, KC_LALT, KC_DOWN, KC_UP
77 //`------------------------------------------------------------------------------------------------------------' 51 //`------------------------------------------------------------------------------------------------------------'
78 ), 52 ),
79 53
@@ -93,75 +67,66 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
93 67
94 [_LOWER] = LAYOUT_with_setta21( 68 [_LOWER] = LAYOUT_with_setta21(
95 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| 69 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
96 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, LOWER,XXXXXXX,KC_LEFT,XXXXXXX,XXXXXXX, KC_ESC, 70 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(_LOWER),XXXXXXX,KC_LEFT,XXXXXXX,XXXXXXX, KC_ESC,
97 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 71 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
98 JP_COLN, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH, KC_DOWN,KC_DOWN, KC_UP,KC_PSLS, KC_F2, 72 JP_COLN, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH, KC_DOWN,KC_DOWN, KC_UP,KC_PSLS, KC_F2,
99 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 73 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
100 JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, RAISE,XXXXXXX,KC_RIGHT,XXXXXXX,KC_PAST, JP_EQL, 74 JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, MO(_RAISE),XXXXXXX,KC_RIGHT,XXXXXXX,KC_PAST, JP_EQL,
101 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| 75 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
102 JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL, 76 JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL,
103 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------| 77 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
104 _______, _______, _______, KC_ZKHK, LOWER, _______, _______, RAISE, KC_0, JP_DOT, _______, _______ 78 _______, _______, _______, KC_ZKHK,MO(_LOWER),_______,_______,MO(_RAISE), JP_DOT,_______, _______, _______
105 //`------------------------------------------------------------------------------------------------------------' 79 //`------------------------------------------------------------------------------------------------------------'
106 ), 80 ),
107 81
108 [_RAISE] = LAYOUT_with_setta21( 82 [_RAISE] = LAYOUT_with_setta21(
109 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| 83 //,-----------------------------------------------------| |-----------------------------------------------------. |------------------------------------------------|
110 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, LOWER, KC_F11, KC_F4, KC_F7,KC_SMIN, KC_ESC, 84 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_F11, KC_F4, KC_F7,SEND_MIN, KC_ESC,
111 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 85 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+--------+-------|
112 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_DEL, KC_F12, KC_F5, KC_F8,KC_SMAX, KC_F2, 86 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, KC_DEL, KC_F12, KC_F5, KC_F8,SEND_MAX, KC_F2,
113 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 87 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+--------+-------|
114 KC_CT11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_LSFT, KC_ENT, RAISE, KC_F3, KC_F6, KC_F9,KC_SCOU, JP_EQL, 88LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, KC_LSFT, KC_ENT, _______, KC_F3, KC_F6, KC_F9,SEND_CIF, JP_EQL,
115 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| 89 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+--------+-------|
116 KC_SF12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, JP_RPRN, KC_SSUM,KC_SAVE, KC_DEL, 90SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, JP_RPRN, SEND_SUM,SEND_AVE, KC_DEL,
117 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------| 91 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |------------------------------------------------|
118 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 92 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
119 //`------------------------------------------------------------------------------------------------------------' 93 //`------------------------------------------------------------------------------------------------------------'
120 ), 94 ),
121 95
122 [_ADJUST] = LAYOUT_with_setta21( /* Base */ 96 [_ADJUST] = LAYOUT_with_setta21( /* Base */
123 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| 97 //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
124 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, LOWER,RGB_VAD,RGB_HUD,RGB_SAD, ADJUST,RGB_TOG, 98 KC_ESC, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,RGB_VAD,RGB_HUD,RGB_SAD,XXXXXXX,_______,
125 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 99 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
126 _______, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), RGB_VAI,RGB_HUI,RGB_SAI,XXXXXXX,_______, 100 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_MS_U, KC_BTN2, XXXXXXX,LALT(KC_PSCR), RGB_VAI,RGB_HUI,RGB_SAI,XXXXXXX,_______,
127 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| 101 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
128 KC_LCTRL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, RAISE,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______, 102 KC_LCTRL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PSCR, _______,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,_______,
129 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| 103 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
130 KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), RGB_MOD, _______,_______,_______, 104 KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,LCA(KC_DEL), RGB_MOD, RGB_TOG,_______,_______,
131 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------| 105 //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
132 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 106 _______, _______, _______, _______, _______, RESET, RESET, _______, _______, _______, _______, _______
133 //`------------------------------------------------------------------------------------------------------------' 107 //`------------------------------------------------------------------------------------------------------------'
134 ) 108 )
135}; 109};
136 110
137static inline void update_change_layer(bool pressed, uint8_t layer1, uint8_t layer2, uint8_t layer3) { 111uint32_t layer_state_set_user(uint32_t state) {
138 112 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
139 pressed ? layer_on(layer1) : layer_off(layer1);
140 IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2) ? layer_on(layer3) : layer_off(layer3);
141} 113}
142 114
143int RGB_current_mode; 115int RGB_current_mode;
144bool process_record_user(uint16_t keycode, keyrecord_t *record) { 116bool process_record_user(uint16_t keycode, keyrecord_t *record) {
145
146 bool result = false; 117 bool result = false;
147 switch (keycode) { 118 switch (keycode) {
148 case LOWER:
149 update_change_layer(record->event.pressed, _LOWER, _RAISE, _ADJUST);
150 break;
151 case RAISE:
152 update_change_layer(record->event.pressed, _RAISE, _LOWER, _ADJUST);
153 break;
154 case SEND_SUM: 119 case SEND_SUM:
155 if (record->event.pressed) { 120 if (record->event.pressed) {
156 SEND_STRING("_SUM*"); 121 SEND_STRING("_SUM*");
157 } 122 }
158 break; 123 break;
159 case SEND_AVERAGE: 124 case SEND_AVE:
160 if (record->event.pressed) { 125 if (record->event.pressed) {
161 SEND_STRING("_AVERAGE*"); 126 SEND_STRING("_AVERAGE*");
162 } 127 }
163 break; 128 break;
164 case SEND_COUNTIF: 129 case SEND_CIF:
165 if (record->event.pressed) { 130 if (record->event.pressed) {
166 SEND_STRING("_COUNTIF*"); 131 SEND_STRING("_COUNTIF*");
167 } 132 }
@@ -184,7 +149,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
184 RGB_current_mode = rgblight_config.mode; 149 RGB_current_mode = rgblight_config.mode;
185 } 150 }
186 break; 151 break;
187 case RGBRST: 152 case RGB_RST:
188 if (record->event.pressed) { 153 if (record->event.pressed) {
189 eeconfig_update_rgblight_default(); 154 eeconfig_update_rgblight_default();
190 rgblight_enable(); 155 rgblight_enable();
@@ -201,7 +166,5 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
201} 166}
202 167
203void matrix_init_user(void) { 168void matrix_init_user(void) {
204 #ifdef RGBLIGHT_ENABLE 169
205 RGB_current_mode = rgblight_config.mode;
206 #endif
207} 170}
diff --git a/keyboards/naked60/keymaps/salicylic_with_setta21/readme.md b/keyboards/naked60/keymaps/salicylic_with_setta21/readme.md
index 0912d5431..1baa36703 100644
--- a/keyboards/naked60/keymaps/salicylic_with_setta21/readme.md
+++ b/keyboards/naked60/keymaps/salicylic_with_setta21/readme.md
@@ -6,7 +6,7 @@ Add Setta21 maps to the salicylic layout.
6| 1 | 2 | 3 | 4 | 6| 1 | 2 | 3 | 4 |
7|:----:|:----:|:----:|:----:| 7|:----:|:----:|:----:|:----:|
8| ESC| F2| =| DEL| 8| ESC| F2| =| DEL|
9|Ad+Num| /| *| -| 9| Num| /| *| -|
10| 7| 8| 9| | 10| 7| 8| 9| |
11| 4| 5| 6| +| 11| 4| 5| 6| +|
12| 1| 2| 3| | 12| 1| 2| 3| |
@@ -36,7 +36,7 @@ Add Setta21 maps to the salicylic layout.
36| 1 | 2 | 3 | 4 | 36| 1 | 2 | 3 | 4 |
37|:----:|:----:|:----:|:----:| 37|:----:|:----:|:----:|:----:|
38| ESC| F2| =| DEL| 38| ESC| F2| =| DEL|
39|ADJUST| XXXXX| XXXXX| -| 39| XXXXX| XXXXX| XXXXX| -|
40|LED_SAD|LED_SAI| XXXXX| | 40|LED_SAD|LED_SAI| XXXXX| |
41|LED_HUD|LED_HUI| XXXXX| +| 41|LED_HUD|LED_HUI| XXXXX| +|
42|LED_VAD|LED_VAI| XXXXX| | 42|LED_VAD|LED_VAI| XXXXX| |
diff --git a/keyboards/naked60/keymaps/salicylic_with_setta21/rules.mk b/keyboards/naked60/keymaps/salicylic_with_setta21/rules.mk
index 15a887e78..e69de29bb 100644
--- a/keyboards/naked60/keymaps/salicylic_with_setta21/rules.mk
+++ b/keyboards/naked60/keymaps/salicylic_with_setta21/rules.mk
@@ -1,10 +0,0 @@
1RGBLIGHT_ENABLE = yes
2
3# If your custom naked60 pcb, you can rewrite to yes.
4LED_ANIMATIONS = yes # LED animations
5
6ifeq ($(strip $(LED_ANIMATIONS)), yes)
7 # OPT_DEFS += -DRGBLIGHT_ANIMATIONS
8 OPT_DEFS += -DLED_ANIMATIONS
9endif
10
diff --git a/keyboards/naked60/naked60.h b/keyboards/naked60/naked60.h
index fde791c5e..1b736feec 100644
--- a/keyboards/naked60/naked60.h
+++ b/keyboards/naked60/naked60.h
@@ -1,12 +1,7 @@
1#pragma once 1#pragma once
2 2
3#ifdef KEYBOARD_naked60_rev1
4 #include "rev1.h"
5#endif
6
7#include "quantum.h" 3#include "quantum.h"
8 4
9#ifdef PROTOCOL_LUFA 5#ifdef KEYBOARD_naked60_rev1
10#include "lufa.h" 6 #include "rev1.h"
11#include "split_util.h"
12#endif 7#endif
diff --git a/keyboards/naked60/rev1/config.h b/keyboards/naked60/rev1/config.h
index 1724ef060..ac0c0ab2f 100644
--- a/keyboards/naked60/rev1/config.h
+++ b/keyboards/naked60/rev1/config.h
@@ -18,6 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18 18
19#pragma once 19#pragma once
20 20
21
21/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
22#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0xFEED
23#define PRODUCT_ID 0x3060 24#define PRODUCT_ID 0x3060
@@ -26,94 +27,27 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
26#define PRODUCT naked60 27#define PRODUCT naked60
27#define DESCRIPTION Ortholinear 60 Keys Keyboard 28#define DESCRIPTION Ortholinear 60 Keys Keyboard
28 29
29/* Use I2C or Serial */
30//#define USE_I2C
31#define USE_SERIAL
32//#define USE_MATRIX_I2C
33
34/* Select hand configuration */
35#define MASTER_LEFT
36// #define MASTER_RIGHT
37// #define EE_HANDS
38
39// OLED support
40// see ./rules.mk: OLED_ENABLE=yes or no
41#ifdef OLED_ENABLE
42 #define SSD1306OLED
43#endif
44
45/* key matrix size */ 30/* key matrix size */
46#define MATRIX_ROWS 10 31#define MATRIX_ROWS 10
47#define MATRIX_COLS 14 32#define MATRIX_COLS 12
48 33
49// Rows are doubled-up 34// Rows are doubled-up
50#define MATRIX_ROW_PINS { B6, D1, D0, D4, C6 } 35#define MATRIX_ROW_PINS { B6, D1, D0, D4, C6 }
51
52// wiring of each half
53#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, D7, E6, B4, B5, D3 } 36#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, D7, E6, B4, B5, D3 }
54// #define MATRIX_COL_PINS { D3, B5, B4, E6, D7, B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order 37// When using Setta21
55 38#define MATRIX_ROW_PINS_RIGHT { D4, C6, D7, E6, B2 }
56/* define if matrix has ghost */ 39#define MATRIX_COL_PINS_RIGHT { F4, F5, F6, F7, B1, B3, B2, B6, B4, B5, B2, B2 }
57//#define MATRIX_HAS_GHOST 40// When using Nafuda
58 41//#define MATRIX_ROW_PINS_RIGHT { D1, D0, D4, C6, B6 }
59/* number of backlight levels */ 42//#define MATRIX_COL_PINS_RIGHT { F4, F5, F6, F7, B1, B3, B2, D7, E6, B4, B5, D3 }
60// #define BACKLIGHT_LEVELS 3
61 43
62/* Set 0 if debouncing isn't needed */ 44/* Set 0 if debouncing isn't needed */
63#define DEBOUNCE 5 45#define DEBOUNCE 5
64 46
47/* serial.c configuration for split keyboard */
48#define SOFT_SERIAL_PIN D2
49
65/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ 50/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
66//#define LOCKING_SUPPORT_ENABLE 51#define LOCKING_SUPPORT_ENABLE
67/* Locking resynchronize hack */ 52/* Locking resynchronize hack */
68//#define LOCKING_RESYNC_ENABLE 53#define LOCKING_RESYNC_ENABLE
69
70/* ws2812 RGB LED */
71#define RGB_DI_PIN D3
72#define RGBLIGHT_TIMER
73
74// naked60 keyboard RGB LED support
75//#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no
76// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
77//#define RGBLED_NUM 21
78
79#ifndef IOS_DEVICE_ENABLE
80 #define RGBLIGHT_LIMIT_VAL 180
81 #define RGBLIGHT_VAL_STEP 17
82#else
83 #define RGBLIGHT_LIMIT_VAL 50
84 #define RGBLIGHT_VAL_STEP 4
85#endif
86#define RGBLIGHT_HUE_STEP 10
87#define RGBLIGHT_SAT_STEP 17
88
89#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
90// USB_MAX_POWER_CONSUMPTION value for naked60 keyboard
91// 120 RGBoff, OLEDoff
92// 120 OLED
93// 330 RGB 6
94// 300 RGB 32
95// 310 OLED & RGB 32
96 #define USB_MAX_POWER_CONSUMPTION 400
97#else
98 // fix iPhone and iPad power adapter issue
99 // iOS device need lessthan 100
100 #define USB_MAX_POWER_CONSUMPTION 100
101#endif
102
103/*
104 * Feature disable options
105 * These options are also useful to firmware size reduction.
106 */
107
108/* disable debug print */
109// #define NO_DEBUG
110
111/* disable print */
112// #define NO_PRINT
113
114/* disable action features */
115//#define NO_ACTION_LAYER
116//#define NO_ACTION_TAPPING
117//#define NO_ACTION_ONESHOT
118//#define NO_ACTION_MACRO
119//#define NO_ACTION_FUNCTION
diff --git a/keyboards/naked60/rev1/matrix.c b/keyboards/naked60/rev1/matrix.c
deleted file mode 100644
index 8685a8125..000000000
--- a/keyboards/naked60/rev1/matrix.c
+++ /dev/null
@@ -1,357 +0,0 @@
1/*
2Copyright 2012 Jun Wako <wakojun@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/*
19 * scan matrix
20 */
21#include <stdint.h>
22#include <stdbool.h>
23#include <string.h>
24#include <avr/io.h>
25#include <avr/wdt.h>
26#include <avr/interrupt.h>
27#include <util/delay.h>
28#include "print.h"
29#include "debug.h"
30#include "util.h"
31#include "matrix.h"
32#include "split_util.h"
33#include "pro_micro.h"
34
35#ifdef USE_MATRIX_I2C
36# include "i2c.h"
37#else // USE_SERIAL
38# include "split_scomm.h"
39#endif
40
41#ifndef DEBOUNCE
42# define DEBOUNCE 5
43#endif
44
45#define ERROR_DISCONNECT_COUNT 5
46
47static uint8_t debouncing = DEBOUNCE;
48static const int ROWS_PER_HAND = MATRIX_ROWS/2;
49static uint8_t error_count = 0;
50uint8_t is_master = 0 ;
51
52static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
53static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
54
55/* matrix state(1:on, 0:off) */
56static matrix_row_t matrix[MATRIX_ROWS];
57static matrix_row_t matrix_debouncing[MATRIX_ROWS];
58
59static matrix_row_t read_cols(void);
60static void init_cols(void);
61static void unselect_rows(void);
62static void select_row(uint8_t row);
63static uint8_t matrix_master_scan(void);
64
65
66__attribute__ ((weak))
67void matrix_init_kb(void) {
68 matrix_init_user();
69}
70
71__attribute__ ((weak))
72void matrix_scan_kb(void) {
73 matrix_scan_user();
74}
75
76__attribute__ ((weak))
77void matrix_init_user(void) {
78}
79
80__attribute__ ((weak))
81void matrix_scan_user(void) {
82}
83
84inline
85uint8_t matrix_rows(void)
86{
87 return MATRIX_ROWS;
88}
89
90inline
91uint8_t matrix_cols(void)
92{
93 return MATRIX_COLS;
94}
95
96void matrix_init(void)
97{
98 debug_enable = true;
99 debug_matrix = true;
100 debug_mouse = true;
101 // initialize row and col
102 unselect_rows();
103 init_cols();
104
105 TX_RX_LED_INIT;
106 TXLED0;
107 RXLED0;
108
109 // initialize matrix state: all keys off
110 for (uint8_t i=0; i < MATRIX_ROWS; i++) {
111 matrix[i] = 0;
112 matrix_debouncing[i] = 0;
113 }
114
115 is_master = has_usb();
116
117 matrix_init_quantum();
118}
119
120uint8_t _matrix_scan(void)
121{
122 // Right hand is stored after the left in the matirx so, we need to offset it
123 int offset = isLeftHand ? 0 : (ROWS_PER_HAND);
124
125 for (uint8_t i = 0; i < ROWS_PER_HAND; i++) {
126 select_row(i);
127 _delay_us(30); // without this wait read unstable value.
128 matrix_row_t cols = read_cols();
129 if (matrix_debouncing[i+offset] != cols) {
130 matrix_debouncing[i+offset] = cols;
131 debouncing = DEBOUNCE;
132 }
133 unselect_rows();
134 }
135
136 if (debouncing) {
137 if (--debouncing) {
138 _delay_ms(1);
139 } else {
140 for (uint8_t i = 0; i < ROWS_PER_HAND; i++) {
141 matrix[i+offset] = matrix_debouncing[i+offset];
142 }
143 }
144 }
145
146 return 1;
147}
148
149#ifdef USE_MATRIX_I2C
150
151// Get rows from other half over i2c
152int i2c_transaction(void) {
153 int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
154
155 int err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_WRITE);
156 if (err) goto i2c_error;
157
158 // start of matrix stored at 0x00
159 err = i2c_master_write(0x00);
160 if (err) goto i2c_error;
161
162 // Start read
163 err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_READ);
164 if (err) goto i2c_error;
165
166 if (!err) {
167 int i;
168 for (i = 0; i < ROWS_PER_HAND-1; ++i) {
169 matrix[slaveOffset+i] = i2c_master_read(I2C_ACK);
170 }
171 matrix[slaveOffset+i] = i2c_master_read(I2C_NACK);
172 i2c_master_stop();
173 } else {
174i2c_error: // the cable is disconnceted, or something else went wrong
175 i2c_reset_state();
176 return err;
177 }
178
179 return 0;
180}
181
182#else // USE_SERIAL
183
184int serial_transaction(int master_changed) {
185 int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
186#ifdef SERIAL_USE_MULTI_TRANSACTION
187 int ret=serial_update_buffers(master_changed);
188#else
189 int ret=serial_update_buffers();
190#endif
191 if (ret ) {
192 if(ret==2) RXLED1;
193 return 1;
194 }
195 RXLED0;
196 memcpy(&matrix[slaveOffset],
197 (void *)serial_slave_buffer, sizeof(serial_slave_buffer));
198 return 0;
199}
200#endif
201
202uint8_t matrix_scan(void)
203{
204 if (is_master) {
205 matrix_master_scan();
206 }else{
207 matrix_slave_scan();
208 int offset = (isLeftHand) ? ROWS_PER_HAND : 0;
209 memcpy(&matrix[offset],
210 (void *)serial_master_buffer, sizeof(serial_master_buffer));
211 matrix_scan_quantum();
212 }
213 return 1;
214}
215
216
217uint8_t matrix_master_scan(void) {
218
219 int ret = _matrix_scan();
220 int mchanged = 1;
221
222 int offset = (isLeftHand) ? 0 : ROWS_PER_HAND;
223
224#ifdef USE_MATRIX_I2C
225// for (int i = 0; i < ROWS_PER_HAND; ++i) {
226 /* i2c_slave_buffer[i] = matrix[offset+i]; */
227// i2c_slave_buffer[i] = matrix[offset+i];
228// }
229#else // USE_SERIAL
230 #ifdef SERIAL_USE_MULTI_TRANSACTION
231 mchanged = memcmp((void *)serial_master_buffer,
232 &matrix[offset], sizeof(serial_master_buffer));
233 #endif
234 memcpy((void *)serial_master_buffer,
235 &matrix[offset], sizeof(serial_master_buffer));
236#endif
237
238#ifdef USE_MATRIX_I2C
239 if( i2c_transaction() ) {
240#else // USE_SERIAL
241 if( serial_transaction(mchanged) ) {
242#endif
243 // turn on the indicator led when halves are disconnected
244 TXLED1;
245
246 error_count++;
247
248 if (error_count > ERROR_DISCONNECT_COUNT) {
249 // reset other half if disconnected
250 int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
251 for (int i = 0; i < ROWS_PER_HAND; ++i) {
252 matrix[slaveOffset+i] = 0;
253 }
254 }
255 } else {
256 // turn off the indicator led on no error
257 TXLED0;
258 error_count = 0;
259 }
260 matrix_scan_quantum();
261 return ret;
262}
263
264void matrix_slave_scan(void) {
265 _matrix_scan();
266
267 int offset = (isLeftHand) ? 0 : ROWS_PER_HAND;
268
269#ifdef USE_MATRIX_I2C
270 for (int i = 0; i < ROWS_PER_HAND; ++i) {
271 /* i2c_slave_buffer[i] = matrix[offset+i]; */
272 i2c_slave_buffer[i] = matrix[offset+i];
273 }
274#else // USE_SERIAL
275 #ifdef SERIAL_USE_MULTI_TRANSACTION
276 int change = 0;
277 #endif
278 for (int i = 0; i < ROWS_PER_HAND; ++i) {
279 #ifdef SERIAL_USE_MULTI_TRANSACTION
280 if( serial_slave_buffer[i] != matrix[offset+i] )
281 change = 1;
282 #endif
283 serial_slave_buffer[i] = matrix[offset+i];
284 }
285 #ifdef SERIAL_USE_MULTI_TRANSACTION
286 slave_buffer_change_count += change;
287 #endif
288#endif
289}
290
291bool matrix_is_modified(void)
292{
293 if (debouncing) return false;
294 return true;
295}
296
297inline
298bool matrix_is_on(uint8_t row, uint8_t col)
299{
300 return (matrix[row] & ((matrix_row_t)1<<col));
301}
302
303inline
304matrix_row_t matrix_get_row(uint8_t row)
305{
306 return matrix[row];
307}
308
309void matrix_print(void)
310{
311 print("\nr/c 0123456789ABCDEF\n");
312 for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
313 phex(row); print(": ");
314 pbin_reverse16(matrix_get_row(row));
315 print("\n");
316 }
317}
318
319uint8_t matrix_key_count(void)
320{
321 uint8_t count = 0;
322 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
323 count += bitpop16(matrix[i]);
324 }
325 return count;
326}
327
328static void init_cols(void)
329{
330 for(int x = 0; x < MATRIX_COLS; x++) {
331 _SFR_IO8((col_pins[x] >> 4) + 1) &= ~_BV(col_pins[x] & 0xF);
332 _SFR_IO8((col_pins[x] >> 4) + 2) |= _BV(col_pins[x] & 0xF);
333 }
334}
335
336static matrix_row_t read_cols(void)
337{
338 matrix_row_t result = 0;
339 for(int x = 0; x < MATRIX_COLS; x++) {
340 result |= (_SFR_IO8(col_pins[x] >> 4) & _BV(col_pins[x] & 0xF)) ? 0 : (1 << x);
341 }
342 return result;
343}
344
345static void unselect_rows(void)
346{
347 for(int x = 0; x < ROWS_PER_HAND; x++) {
348 _SFR_IO8((row_pins[x] >> 4) + 1) &= ~_BV(row_pins[x] & 0xF);
349 _SFR_IO8((row_pins[x] >> 4) + 2) |= _BV(row_pins[x] & 0xF);
350 }
351}
352
353static void select_row(uint8_t row)
354{
355 _SFR_IO8((row_pins[row] >> 4) + 1) |= _BV(row_pins[row] & 0xF);
356 _SFR_IO8((row_pins[row] >> 4) + 2) &= ~_BV(row_pins[row] & 0xF);
357}
diff --git a/keyboards/naked60/rev1/rev1.c b/keyboards/naked60/rev1/rev1.c
index 520a869e5..bce48f89c 100644
--- a/keyboards/naked60/rev1/rev1.c
+++ b/keyboards/naked60/rev1/rev1.c
@@ -1 +1,5 @@
1#include "rev1.h" 1#include "naked60.h"
2
3void matrix_init_kb(void) {
4 matrix_init_user();
5};
diff --git a/keyboards/naked60/rev1/rev1.h b/keyboards/naked60/rev1/rev1.h
index 38e355cfc..d8ee83c47 100644
--- a/keyboards/naked60/rev1/rev1.h
+++ b/keyboards/naked60/rev1/rev1.h
@@ -4,11 +4,6 @@
4 4
5#include "quantum.h" 5#include "quantum.h"
6 6
7#ifdef RGBLIGHT_ENABLE
8//rgb led driver
9#include "ws2812.h"
10#endif
11
12 7
13////////////////////////////////////////////////////////////////////////////// 8//////////////////////////////////////////////////////////////////////////////
14// When only use naked60. 9// When only use naked60.
@@ -59,16 +54,16 @@
59 L40, L41, L42, L43, L44, L45, L46, L47, L48, L49, L4A, L4B \ 54 L40, L41, L42, L43, L44, L45, L46, L47, L48, L49, L4A, L4B \
60 ) \ 55 ) \
61 { \ 56 { \
62 { L00, L01, L02, L03, L04, L05, L06, L07, L08, L09, L0A, L0B,KC_NO,KC_NO }, \ 57 { L00, L01, L02, L03, L04, L05, L06, L07, L08, L09, L0A, L0B }, \
63 { L10, L11, L12, L13, L14, L15, L16, L17, L18, L19, L1A, L1B,KC_NO,KC_NO }, \ 58 { L10, L11, L12, L13, L14, L15, L16, L17, L18, L19, L1A, L1B }, \
64 { L20, L21, L22, L23, L24, L25, L26, L27, L28, L29, L2A, L2B,KC_NO,KC_NO }, \ 59 { L20, L21, L22, L23, L24, L25, L26, L27, L28, L29, L2A, L2B }, \
65 { L30, L31, L32, L33, L34, L35, L36, L37, L38, L39, L3A, L3B,KC_NO,KC_NO }, \ 60 { L30, L31, L32, L33, L34, L35, L36, L37, L38, L39, L3A, L3B }, \
66 { L40, L41, L42, L43, L44, L45, L46, L47, L48, L49, L4A, L4B,KC_NO,KC_NO }, \ 61 { L40, L41, L42, L43, L44, L45, L46, L47, L48, L49, L4A, L4B }, \
67 { R00, R01, R02, R03, R04, R05,KC_NO,KC_NO,KC_NO, R11, R12, R13, R14, R15 }, \ 62 { R00, R01, R02, R03, R04, R05,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \
68 { R20, R21, R22, R23, R24, R25,KC_NO,KC_NO, R30,KC_NO, R32,KC_NO, R34, R35 }, \ 63 {KC_NO, R11, R12, R13, R14, R15,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \
69 {KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \ 64 { R20, R21, R22, R23, R24, R25,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \
70 {KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \ 65 { R30,KC_NO, R32,KC_NO, R34, R35,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \
71 {KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO } \ 66 {KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO } \
72 } 67 }
73 68
74////////////////////////////////////////////////////////////////////////////// 69//////////////////////////////////////////////////////////////////////////////
@@ -83,15 +78,15 @@
83 L40, L41, L42, L43, L44, L45, L46, L47, L48, L49, L4A, L4B \ 78 L40, L41, L42, L43, L44, L45, L46, L47, L48, L49, L4A, L4B \
84 ) \ 79 ) \
85 { \ 80 { \
86 { L00, L01, L02, L03, L04, L05, L06, L07, L08, L09, L0A, L0B,KC_NO,KC_NO }, \ 81 { L00, L01, L02, L03, L04, L05, L06, L07, L08, L09, L0A, L0B }, \
87 { L10, L11, L12, L13, L14, L15, L16, L17, L18, L19, L1A, L1B,KC_NO,KC_NO }, \ 82 { L10, L11, L12, L13, L14, L15, L16, L17, L18, L19, L1A, L1B }, \
88 { L20, L21, L22, L23, L24, L25, L26, L27, L28, L29, L2A, L2B,KC_NO,KC_NO }, \ 83 { L20, L21, L22, L23, L24, L25, L26, L27, L28, L29, L2A, L2B }, \
89 { L30, L31, L32, L33, L34, L35, L36, L37, L38, L39, L3A, L3B,KC_NO,KC_NO }, \ 84 { L30, L31, L32, L33, L34, L35, L36, L37, L38, L39, L3A, L3B }, \
90 { L40, L41, L42, L43, L44, L45, L46, L47, L48, L49, L4A, L4B,KC_NO,KC_NO }, \ 85 { L40, L41, L42, L43, L44, L45, L46, L47, L48, L49, L4A, L4B }, \
91 {KC_NO, R01,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, R10, R11, R12,KC_NO,KC_NO,KC_NO }, \ 86 {KC_NO, R01,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \
92 { R20, R21, R22,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \ 87 { R10, R11, R12,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \
93 {KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \ 88 { R20, R21, R22,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \
94 {KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \ 89 {KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \
95 {KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO } \ 90 {KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO } \
96 } 91 }
97 92
diff --git a/keyboards/naked60/rev1/rules.mk b/keyboards/naked60/rev1/rules.mk
index a71181033..e69de29bb 100644
--- a/keyboards/naked60/rev1/rules.mk
+++ b/keyboards/naked60/rev1/rules.mk
@@ -1,3 +0,0 @@
1SRC += matrix.c \
2 split_util.c \
3 split_scomm.c
diff --git a/keyboards/naked60/rev1/serial_config.h b/keyboards/naked60/rev1/serial_config.h
deleted file mode 100644
index 37135213d..000000000
--- a/keyboards/naked60/rev1/serial_config.h
+++ /dev/null
@@ -1,8 +0,0 @@
1//// #error rev2 serial config
2
3#ifndef SOFT_SERIAL_PIN
4/* Soft Serial defines */
5#define SOFT_SERIAL_PIN D2
6
7#define SERIAL_USE_MULTI_TRANSACTION
8#endif
diff --git a/keyboards/naked60/rev1/serial_config_simpleapi.h b/keyboards/naked60/rev1/serial_config_simpleapi.h
deleted file mode 100644
index e2d22a41e..000000000
--- a/keyboards/naked60/rev1/serial_config_simpleapi.h
+++ /dev/null
@@ -1,8 +0,0 @@
1#ifndef SERIAL_CONFIG_SIMPLEAPI_H
2#define SERIAL_CONFIG_SIMPLEAPI_H
3
4#undef SERIAL_USE_MULTI_TRANSACTION
5#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
6#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
7
8#endif // SERIAL_CONFIG_SIMPLEAPI_H
diff --git a/keyboards/naked60/rev1/split_scomm.c b/keyboards/naked60/rev1/split_scomm.c
deleted file mode 100644
index ada786796..000000000
--- a/keyboards/naked60/rev1/split_scomm.c
+++ /dev/null
@@ -1,92 +0,0 @@
1#ifdef USE_SERIAL
2#ifdef SERIAL_USE_MULTI_TRANSACTION
3/* --- USE flexible API (using multi-type transaction function) --- */
4
5#include <stdbool.h>
6#include <stdint.h>
7#include <stddef.h>
8#include <split_scomm.h>
9#include "serial.h"
10#ifdef CONSOLE_ENABLE
11 #include <print.h>
12#endif
13
14uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0};
15uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0};
16uint8_t volatile status_com = 0;
17uint8_t volatile status1 = 0;
18uint8_t slave_buffer_change_count = 0;
19uint8_t s_change_old = 0xff;
20uint8_t s_change_new = 0xff;
21
22SSTD_t transactions[] = {
23#define GET_SLAVE_STATUS 0
24 /* master buffer not changed, only recive slave_buffer_change_count */
25 { (uint8_t *)&status_com,
26 0, NULL,
27 sizeof(slave_buffer_change_count), &slave_buffer_change_count,
28 },
29#define PUT_MASTER_GET_SLAVE_STATUS 1
30 /* master buffer changed need send, and recive slave_buffer_change_count */
31 { (uint8_t *)&status_com,
32 sizeof(serial_master_buffer), (uint8_t *)serial_master_buffer,
33 sizeof(slave_buffer_change_count), &slave_buffer_change_count,
34 },
35#define GET_SLAVE_BUFFER 2
36 /* recive serial_slave_buffer */
37 { (uint8_t *)&status1,
38 0, NULL,
39 sizeof(serial_slave_buffer), (uint8_t *)serial_slave_buffer
40 }
41};
42
43void serial_master_init(void)
44{
45 soft_serial_initiator_init(transactions, TID_LIMIT(transactions));
46}
47
48void serial_slave_init(void)
49{
50 soft_serial_target_init(transactions, TID_LIMIT(transactions));
51}
52
53// 0 => no error
54// 1 => slave did not respond
55// 2 => checksum error
56int serial_update_buffers(int master_update)
57{
58 int status, smatstatus;
59 static int need_retry = 0;
60
61 if( s_change_old != s_change_new ) {
62 smatstatus = soft_serial_transaction(GET_SLAVE_BUFFER);
63 if( smatstatus == TRANSACTION_END ) {
64 s_change_old = s_change_new;
65#ifdef CONSOLE_ENABLE
66 uprintf("slave matrix = %b %b %b %b %b\n",
67 serial_slave_buffer[0], serial_slave_buffer[1],
68 serial_slave_buffer[2], serial_slave_buffer[3],
69 serial_slave_buffer[4] );
70#endif
71 }
72 } else {
73 // serial_slave_buffer dosen't change
74 smatstatus = TRANSACTION_END; // dummy status
75 }
76
77 if( !master_update && !need_retry) {
78 status = soft_serial_transaction(GET_SLAVE_STATUS);
79 } else {
80 status = soft_serial_transaction(PUT_MASTER_GET_SLAVE_STATUS);
81 }
82 if( status == TRANSACTION_END ) {
83 s_change_new = slave_buffer_change_count;
84 need_retry = 0;
85 } else {
86 need_retry = 1;
87 }
88 return smatstatus;
89}
90
91#endif // SERIAL_USE_MULTI_TRANSACTION
92#endif /* USE_SERIAL */
diff --git a/keyboards/naked60/rev1/split_scomm.h b/keyboards/naked60/rev1/split_scomm.h
deleted file mode 100644
index 537ec4080..000000000
--- a/keyboards/naked60/rev1/split_scomm.h
+++ /dev/null
@@ -1,22 +0,0 @@
1#pragma once
2
3#ifndef SERIAL_USE_MULTI_TRANSACTION
4/* --- USE Simple API (OLD API, compatible with let's split serial.c) --- */
5#include "serial.h"
6
7#else
8/* --- USE flexible API (using multi-type transaction function) --- */
9// Buffers for master - slave communication
10#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
11#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
12
13extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
14extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH];
15extern uint8_t slave_buffer_change_count;
16
17void serial_master_init(void);
18void serial_slave_init(void);
19int serial_update_buffers(int master_changed);
20
21#endif
22
diff --git a/keyboards/naked60/rev1/split_util.c b/keyboards/naked60/rev1/split_util.c
deleted file mode 100644
index e1ff8b437..000000000
--- a/keyboards/naked60/rev1/split_util.c
+++ /dev/null
@@ -1,70 +0,0 @@
1#include <avr/io.h>
2#include <avr/wdt.h>
3#include <avr/power.h>
4#include <avr/interrupt.h>
5#include <util/delay.h>
6#include <avr/eeprom.h>
7#include "split_util.h"
8#include "matrix.h"
9#include "keyboard.h"
10
11#ifdef USE_MATRIX_I2C
12# include "i2c.h"
13#else
14# include "split_scomm.h"
15#endif
16
17volatile bool isLeftHand = true;
18
19static void setup_handedness(void) {
20 #ifdef EE_HANDS
21 isLeftHand = eeprom_read_byte(EECONFIG_HANDEDNESS);
22 #else
23 // I2C_MASTER_RIGHT is deprecated, use MASTER_RIGHT instead, since this works for both serial and i2c
24 #if defined(I2C_MASTER_RIGHT) || defined(MASTER_RIGHT)
25 isLeftHand = !has_usb();
26 #else
27 isLeftHand = has_usb();
28 #endif
29 #endif
30}
31
32static void keyboard_master_setup(void) {
33
34#ifdef USE_MATRIX_I2C
35 i2c_master_init();
36#else
37 serial_master_init();
38#endif
39}
40
41static void keyboard_slave_setup(void) {
42
43#ifdef USE_MATRIX_I2C
44 i2c_slave_init(SLAVE_I2C_ADDRESS);
45#else
46 serial_slave_init();
47#endif
48}
49
50bool has_usb(void) {
51 USBCON |= (1 << OTGPADE); //enables VBUS pad
52 _delay_us(5);
53 return (USBSTA & (1<<VBUS)); //checks state of VBUS
54}
55
56void split_keyboard_setup(void) {
57 setup_handedness();
58
59 if (has_usb()) {
60 keyboard_master_setup();
61 } else {
62 keyboard_slave_setup();
63 }
64 sei();
65}
66
67// this code runs before the usb and keyboard is initialized
68void matrix_setup(void) {
69 split_keyboard_setup();
70}
diff --git a/keyboards/naked60/rev1/split_util.h b/keyboards/naked60/rev1/split_util.h
deleted file mode 100644
index f59304756..000000000
--- a/keyboards/naked60/rev1/split_util.h
+++ /dev/null
@@ -1,16 +0,0 @@
1#pragma once
2
3#include <stdbool.h>
4#include "eeconfig.h"
5
6#define SLAVE_I2C_ADDRESS 0x32
7
8extern volatile bool isLeftHand;
9
10// slave version of matix scan, defined in matrix.c
11void matrix_slave_scan(void);
12
13void split_keyboard_setup(void);
14bool has_usb(void);
15
16void matrix_master_OLED_init (void);
diff --git a/keyboards/naked60/rules.mk b/keyboards/naked60/rules.mk
index fc2fe3032..22dbd509b 100644
--- a/keyboards/naked60/rules.mk
+++ b/keyboards/naked60/rules.mk
@@ -1,5 +1,3 @@
1QUANTUM_LIB_SRC += serial.c
2
3# MCU name 1# MCU name
4MCU = atmega32u4 2MCU = atmega32u4
5 3
@@ -19,9 +17,9 @@ BOOTLOADER = caterina
19# 17#
20BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 18BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
21MOUSEKEY_ENABLE = yes # Mouse keys(+4700) 19MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
22EXTRAKEY_ENABLE = no # Audio control and System control(+450) 20EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
23CONSOLE_ENABLE = no # Console for debug(+400) 21CONSOLE_ENABLE = no # Console for debug(+400)
24COMMAND_ENABLE = no # Commands for debug and configuration 22COMMAND_ENABLE = yes # Commands for debug and configuration
25NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 23NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 24BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27MIDI_ENABLE = no # MIDI controls 25MIDI_ENABLE = no # MIDI controls
@@ -30,11 +28,11 @@ UNICODE_ENABLE = no # Unicode
30BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 28BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
31RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. 29RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
32TAP_DANCE_ENABLE = yes 30TAP_DANCE_ENABLE = yes
33SUBPROJECT_rev1 = no 31OLED_DRIVER_ENABLE = no
34USE_I2C = no 32USE_I2C = no
35# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 33# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
36SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 34SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
37 35
38CUSTOM_MATRIX = yes 36SPLIT_KEYBOARD = yes
39 37
40DEFAULT_FOLDER = naked60/rev1 38DEFAULT_FOLDER = naked60/rev1
diff --git a/keyboards/naked60/serial.c b/keyboards/naked60/serial.c
deleted file mode 100644
index 6006ebf1b..000000000
--- a/keyboards/naked60/serial.c
+++ /dev/null
@@ -1,590 +0,0 @@
1/*
2 * WARNING: be careful changing this code, it is very timing dependent
3 *
4 * 2018-10-28 checked
5 * avr-gcc 4.9.2
6 * avr-gcc 5.4.0
7 * avr-gcc 7.3.0
8 */
9
10#ifndef F_CPU
11#define F_CPU 16000000
12#endif
13
14#include <avr/io.h>
15#include <avr/interrupt.h>
16#include <util/delay.h>
17#include <stddef.h>
18#include <stdbool.h>
19#include "serial.h"
20//#include <pro_micro.h>
21
22#ifdef SOFT_SERIAL_PIN
23
24#ifdef __AVR_ATmega32U4__
25 // if using ATmega32U4 I2C, can not use PD0 and PD1 in soft serial.
26 #ifdef USE_I2C
27 #if SOFT_SERIAL_PIN == D0 || SOFT_SERIAL_PIN == D1
28 #error Using ATmega32U4 I2C, so can not use PD0, PD1
29 #endif
30 #endif
31
32 #if SOFT_SERIAL_PIN >= D0 && SOFT_SERIAL_PIN <= D3
33 #define SERIAL_PIN_DDR DDRD
34 #define SERIAL_PIN_PORT PORTD
35 #define SERIAL_PIN_INPUT PIND
36 #if SOFT_SERIAL_PIN == D0
37 #define SERIAL_PIN_MASK _BV(PD0)
38 #define EIMSK_BIT _BV(INT0)
39 #define EICRx_BIT (~(_BV(ISC00) | _BV(ISC01)))
40 #define SERIAL_PIN_INTERRUPT INT0_vect
41 #elif SOFT_SERIAL_PIN == D1
42 #define SERIAL_PIN_MASK _BV(PD1)
43 #define EIMSK_BIT _BV(INT1)
44 #define EICRx_BIT (~(_BV(ISC10) | _BV(ISC11)))
45 #define SERIAL_PIN_INTERRUPT INT1_vect
46 #elif SOFT_SERIAL_PIN == D2
47 #define SERIAL_PIN_MASK _BV(PD2)
48 #define EIMSK_BIT _BV(INT2)
49 #define EICRx_BIT (~(_BV(ISC20) | _BV(ISC21)))
50 #define SERIAL_PIN_INTERRUPT INT2_vect
51 #elif SOFT_SERIAL_PIN == D3
52 #define SERIAL_PIN_MASK _BV(PD3)
53 #define EIMSK_BIT _BV(INT3)
54 #define EICRx_BIT (~(_BV(ISC30) | _BV(ISC31)))
55 #define SERIAL_PIN_INTERRUPT INT3_vect
56 #endif
57 #elif SOFT_SERIAL_PIN == E6
58 #define SERIAL_PIN_DDR DDRE
59 #define SERIAL_PIN_PORT PORTE
60 #define SERIAL_PIN_INPUT PINE
61 #define SERIAL_PIN_MASK _BV(PE6)
62 #define EIMSK_BIT _BV(INT6)
63 #define EICRx_BIT (~(_BV(ISC60) | _BV(ISC61)))
64 #define SERIAL_PIN_INTERRUPT INT6_vect
65 #else
66 #error invalid SOFT_SERIAL_PIN value
67 #endif
68
69#else
70 #error serial.c now support ATmega32U4 only
71#endif
72
73//////////////// for backward compatibility ////////////////////////////////
74#if !defined(SERIAL_USE_SINGLE_TRANSACTION) && !defined(SERIAL_USE_MULTI_TRANSACTION)
75/* --- USE OLD API (compatible with let's split serial.c) */
76 #if SERIAL_SLAVE_BUFFER_LENGTH > 0
77 uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0};
78 #endif
79 #if SERIAL_MASTER_BUFFER_LENGTH > 0
80 uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0};
81 #endif
82 uint8_t volatile status0 = 0;
83
84SSTD_t transactions[] = {
85 { (uint8_t *)&status0,
86 #if SERIAL_MASTER_BUFFER_LENGTH > 0
87 sizeof(serial_master_buffer), (uint8_t *)serial_master_buffer,
88 #else
89 0, (uint8_t *)NULL,
90 #endif
91 #if SERIAL_SLAVE_BUFFER_LENGTH > 0
92 sizeof(serial_slave_buffer), (uint8_t *)serial_slave_buffer
93 #else
94 0, (uint8_t *)NULL,
95 #endif
96 }
97};
98
99void serial_master_init(void)
100{ soft_serial_initiator_init(transactions, TID_LIMIT(transactions)); }
101
102void serial_slave_init(void)
103{ soft_serial_target_init(transactions, TID_LIMIT(transactions)); }
104
105// 0 => no error
106// 1 => slave did not respond
107// 2 => checksum error
108int serial_update_buffers()
109{
110 int result;
111 result = soft_serial_transaction();
112 return result;
113}
114
115#endif // end of OLD API (compatible with let's split serial.c)
116////////////////////////////////////////////////////////////////////////////
117
118#define ALWAYS_INLINE __attribute__((always_inline))
119#define NO_INLINE __attribute__((noinline))
120#define _delay_sub_us(x) __builtin_avr_delay_cycles(x)
121
122// parity check
123#define ODD_PARITY 1
124#define EVEN_PARITY 0
125#define PARITY EVEN_PARITY
126
127#ifdef SERIAL_DELAY
128 // custom setup in config.h
129 // #define TID_SEND_ADJUST 2
130 // #define SERIAL_DELAY 6 // micro sec
131 // #define READ_WRITE_START_ADJUST 30 // cycles
132 // #define READ_WRITE_WIDTH_ADJUST 8 // cycles
133#else
134// ============ Standard setups ============
135
136#ifndef SELECT_SOFT_SERIAL_SPEED
137#define SELECT_SOFT_SERIAL_SPEED 1
138// 0: about 189kbps
139// 1: about 137kbps (default)
140// 2: about 75kbps
141// 3: about 39kbps
142// 4: about 26kbps
143// 5: about 20kbps
144#endif
145
146#if __GNUC__ < 6
147 #define TID_SEND_ADJUST 14
148#else
149 #define TID_SEND_ADJUST 2
150#endif
151
152#if SELECT_SOFT_SERIAL_SPEED == 0
153 // Very High speed
154 #define SERIAL_DELAY 4 // micro sec
155 #if __GNUC__ < 6
156 #define READ_WRITE_START_ADJUST 33 // cycles
157 #define READ_WRITE_WIDTH_ADJUST 3 // cycles
158 #else
159 #define READ_WRITE_START_ADJUST 34 // cycles
160 #define READ_WRITE_WIDTH_ADJUST 7 // cycles
161 #endif
162#elif SELECT_SOFT_SERIAL_SPEED == 1
163 // High speed
164 #define SERIAL_DELAY 6 // micro sec
165 #if __GNUC__ < 6
166 #define READ_WRITE_START_ADJUST 30 // cycles
167 #define READ_WRITE_WIDTH_ADJUST 3 // cycles
168 #else
169 #define READ_WRITE_START_ADJUST 33 // cycles
170 #define READ_WRITE_WIDTH_ADJUST 7 // cycles
171 #endif
172#elif SELECT_SOFT_SERIAL_SPEED == 2
173 // Middle speed
174 #define SERIAL_DELAY 12 // micro sec
175 #define READ_WRITE_START_ADJUST 30 // cycles
176 #if __GNUC__ < 6
177 #define READ_WRITE_WIDTH_ADJUST 3 // cycles
178 #else
179 #define READ_WRITE_WIDTH_ADJUST 7 // cycles
180 #endif
181#elif SELECT_SOFT_SERIAL_SPEED == 3
182 // Low speed
183 #define SERIAL_DELAY 24 // micro sec
184 #define READ_WRITE_START_ADJUST 30 // cycles
185 #if __GNUC__ < 6
186 #define READ_WRITE_WIDTH_ADJUST 3 // cycles
187 #else
188 #define READ_WRITE_WIDTH_ADJUST 7 // cycles
189 #endif
190#elif SELECT_SOFT_SERIAL_SPEED == 4
191 // Very Low speed
192 #define SERIAL_DELAY 36 // micro sec
193 #define READ_WRITE_START_ADJUST 30 // cycles
194 #if __GNUC__ < 6
195 #define READ_WRITE_WIDTH_ADJUST 3 // cycles
196 #else
197 #define READ_WRITE_WIDTH_ADJUST 7 // cycles
198 #endif
199#elif SELECT_SOFT_SERIAL_SPEED == 5
200 // Ultra Low speed
201 #define SERIAL_DELAY 48 // micro sec
202 #define READ_WRITE_START_ADJUST 30 // cycles
203 #if __GNUC__ < 6
204 #define READ_WRITE_WIDTH_ADJUST 3 // cycles
205 #else
206 #define READ_WRITE_WIDTH_ADJUST 7 // cycles
207 #endif
208#else
209#error invalid SELECT_SOFT_SERIAL_SPEED value
210#endif /* SELECT_SOFT_SERIAL_SPEED */
211#endif /* SERIAL_DELAY */
212
213#define SERIAL_DELAY_HALF1 (SERIAL_DELAY/2)
214#define SERIAL_DELAY_HALF2 (SERIAL_DELAY - SERIAL_DELAY/2)
215
216#define SLAVE_INT_WIDTH_US 1
217#ifndef SERIAL_USE_MULTI_TRANSACTION
218 #define SLAVE_INT_RESPONSE_TIME SERIAL_DELAY
219#else
220 #define SLAVE_INT_ACK_WIDTH_UNIT 2
221 #define SLAVE_INT_ACK_WIDTH 4
222#endif
223
224static SSTD_t *Transaction_table = NULL;
225static uint8_t Transaction_table_size = 0;
226
227inline static void serial_delay(void) ALWAYS_INLINE;
228inline static
229void serial_delay(void) {
230 _delay_us(SERIAL_DELAY);
231}
232
233inline static void serial_delay_half1(void) ALWAYS_INLINE;
234inline static
235void serial_delay_half1(void) {
236 _delay_us(SERIAL_DELAY_HALF1);
237}
238
239inline static void serial_delay_half2(void) ALWAYS_INLINE;
240inline static
241void serial_delay_half2(void) {
242 _delay_us(SERIAL_DELAY_HALF2);
243}
244
245inline static void serial_output(void) ALWAYS_INLINE;
246inline static
247void serial_output(void) {
248 SERIAL_PIN_DDR |= SERIAL_PIN_MASK;
249}
250
251// make the serial pin an input with pull-up resistor
252inline static void serial_input_with_pullup(void) ALWAYS_INLINE;
253inline static
254void serial_input_with_pullup(void) {
255 SERIAL_PIN_DDR &= ~SERIAL_PIN_MASK;
256 SERIAL_PIN_PORT |= SERIAL_PIN_MASK;
257}
258
259inline static uint8_t serial_read_pin(void) ALWAYS_INLINE;
260inline static
261uint8_t serial_read_pin(void) {
262 return !!(SERIAL_PIN_INPUT & SERIAL_PIN_MASK);
263}
264
265inline static void serial_low(void) ALWAYS_INLINE;
266inline static
267void serial_low(void) {
268 SERIAL_PIN_PORT &= ~SERIAL_PIN_MASK;
269}
270
271inline static void serial_high(void) ALWAYS_INLINE;
272inline static
273void serial_high(void) {
274 SERIAL_PIN_PORT |= SERIAL_PIN_MASK;
275}
276
277void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size)
278{
279 Transaction_table = sstd_table;
280 Transaction_table_size = (uint8_t)sstd_table_size;
281 serial_output();
282 serial_high();
283}
284
285void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size)
286{
287 Transaction_table = sstd_table;
288 Transaction_table_size = (uint8_t)sstd_table_size;
289 serial_input_with_pullup();
290
291 // Enable INT0-INT3,INT6
292 EIMSK |= EIMSK_BIT;
293#if SERIAL_PIN_MASK == _BV(PE6)
294 // Trigger on falling edge of INT6
295 EICRB &= EICRx_BIT;
296#else
297 // Trigger on falling edge of INT0-INT3
298 EICRA &= EICRx_BIT;
299#endif
300}
301
302// Used by the sender to synchronize timing with the reciver.
303static void sync_recv(void) NO_INLINE;
304static
305void sync_recv(void) {
306 for (uint8_t i = 0; i < SERIAL_DELAY*5 && serial_read_pin(); i++ ) {
307 }
308 // This shouldn't hang if the target disconnects because the
309 // serial line will float to high if the target does disconnect.
310 while (!serial_read_pin());
311}
312
313// Used by the reciver to send a synchronization signal to the sender.
314static void sync_send(void) NO_INLINE;
315static
316void sync_send(void) {
317 serial_low();
318 serial_delay();
319 serial_high();
320}
321
322// Reads a byte from the serial line
323static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) NO_INLINE;
324static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) {
325 uint8_t byte, i, p, pb;
326
327 _delay_sub_us(READ_WRITE_START_ADJUST);
328 for( i = 0, byte = 0, p = PARITY; i < bit; i++ ) {
329 serial_delay_half1(); // read the middle of pulses
330 if( serial_read_pin() ) {
331 byte = (byte << 1) | 1; p ^= 1;
332 } else {
333 byte = (byte << 1) | 0; p ^= 0;
334 }
335 _delay_sub_us(READ_WRITE_WIDTH_ADJUST);
336 serial_delay_half2();
337 }
338 /* recive parity bit */
339 serial_delay_half1(); // read the middle of pulses
340 pb = serial_read_pin();
341 _delay_sub_us(READ_WRITE_WIDTH_ADJUST);
342 serial_delay_half2();
343
344 *pterrcount += (p != pb)? 1 : 0;
345
346 return byte;
347}
348
349// Sends a byte with MSB ordering
350void serial_write_chunk(uint8_t data, uint8_t bit) NO_INLINE;
351void serial_write_chunk(uint8_t data, uint8_t bit) {
352 uint8_t b, p;
353 for( p = PARITY, b = 1<<(bit-1); b ; b >>= 1) {
354 if(data & b) {
355 serial_high(); p ^= 1;
356 } else {
357 serial_low(); p ^= 0;
358 }
359 serial_delay();
360 }
361 /* send parity bit */
362 if(p & 1) { serial_high(); }
363 else { serial_low(); }
364 serial_delay();
365
366 serial_low(); // sync_send() / senc_recv() need raise edge
367}
368
369static void serial_send_packet(uint8_t *buffer, uint8_t size) NO_INLINE;
370static
371void serial_send_packet(uint8_t *buffer, uint8_t size) {
372 for (uint8_t i = 0; i < size; ++i) {
373 uint8_t data;
374 data = buffer[i];
375 sync_send();
376 serial_write_chunk(data,8);
377 }
378}
379
380static uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) NO_INLINE;
381static
382uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) {
383 uint8_t pecount = 0;
384 for (uint8_t i = 0; i < size; ++i) {
385 uint8_t data;
386 sync_recv();
387 data = serial_read_chunk(&pecount, 8);
388 buffer[i] = data;
389 }
390 return pecount == 0;
391}
392
393inline static
394void change_sender2reciver(void) {
395 sync_send(); //0
396 serial_delay_half1(); //1
397 serial_low(); //2
398 serial_input_with_pullup(); //2
399 serial_delay_half1(); //3
400}
401
402inline static
403void change_reciver2sender(void) {
404 sync_recv(); //0
405 serial_delay(); //1
406 serial_low(); //3
407 serial_output(); //3
408 serial_delay_half1(); //4
409}
410
411static inline uint8_t nibble_bits_count(uint8_t bits)
412{
413 bits = (bits & 0x5) + (bits >> 1 & 0x5);
414 bits = (bits & 0x3) + (bits >> 2 & 0x3);
415 return bits;
416}
417
418// interrupt handle to be used by the target device
419ISR(SERIAL_PIN_INTERRUPT) {
420
421#ifndef SERIAL_USE_MULTI_TRANSACTION
422 serial_low();
423 serial_output();
424 SSTD_t *trans = Transaction_table;
425#else
426 // recive transaction table index
427 uint8_t tid, bits;
428 uint8_t pecount = 0;
429 sync_recv();
430 bits = serial_read_chunk(&pecount,7);
431 tid = bits>>3;
432 bits = (bits&7) != nibble_bits_count(tid);
433 if( bits || pecount> 0 || tid > Transaction_table_size ) {
434 return;
435 }
436 serial_delay_half1();
437
438 serial_high(); // response step1 low->high
439 serial_output();
440 _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT*SLAVE_INT_ACK_WIDTH);
441 SSTD_t *trans = &Transaction_table[tid];
442 serial_low(); // response step2 ack high->low
443#endif
444
445 // target send phase
446 if( trans->target2initiator_buffer_size > 0 )
447 serial_send_packet((uint8_t *)trans->target2initiator_buffer,
448 trans->target2initiator_buffer_size);
449 // target switch to input
450 change_sender2reciver();
451
452 // target recive phase
453 if( trans->initiator2target_buffer_size > 0 ) {
454 if (serial_recive_packet((uint8_t *)trans->initiator2target_buffer,
455 trans->initiator2target_buffer_size) ) {
456 *trans->status = TRANSACTION_ACCEPTED;
457 } else {
458 *trans->status = TRANSACTION_DATA_ERROR;
459 }
460 } else {
461 *trans->status = TRANSACTION_ACCEPTED;
462 }
463
464 sync_recv(); //weit initiator output to high
465}
466
467/////////
468// start transaction by initiator
469//
470// int soft_serial_transaction(int sstd_index)
471//
472// Returns:
473// TRANSACTION_END
474// TRANSACTION_NO_RESPONSE
475// TRANSACTION_DATA_ERROR
476// this code is very time dependent, so we need to disable interrupts
477#ifndef SERIAL_USE_MULTI_TRANSACTION
478int soft_serial_transaction(void) {
479 SSTD_t *trans = Transaction_table;
480#else
481int soft_serial_transaction(int sstd_index) {
482 if( sstd_index > Transaction_table_size )
483 return TRANSACTION_TYPE_ERROR;
484 SSTD_t *trans = &Transaction_table[sstd_index];
485#endif
486 cli();
487
488 // signal to the target that we want to start a transaction
489 serial_output();
490 serial_low();
491 _delay_us(SLAVE_INT_WIDTH_US);
492
493#ifndef SERIAL_USE_MULTI_TRANSACTION
494 // wait for the target response
495 serial_input_with_pullup();
496 _delay_us(SLAVE_INT_RESPONSE_TIME);
497
498 // check if the target is present
499 if (serial_read_pin()) {
500 // target failed to pull the line low, assume not present
501 serial_output();
502 serial_high();
503 *trans->status = TRANSACTION_NO_RESPONSE;
504 sei();
505 return TRANSACTION_NO_RESPONSE;
506 }
507
508#else
509 // send transaction table index
510 int tid = (sstd_index<<3) | (7 & nibble_bits_count(sstd_index));
511 sync_send();
512 _delay_sub_us(TID_SEND_ADJUST);
513 serial_write_chunk(tid, 7);
514 serial_delay_half1();
515
516 // wait for the target response (step1 low->high)
517 serial_input_with_pullup();
518 while( !serial_read_pin() ) {
519 _delay_sub_us(2);
520 }
521
522 // check if the target is present (step2 high->low)
523 for( int i = 0; serial_read_pin(); i++ ) {
524 if (i > SLAVE_INT_ACK_WIDTH + 1) {
525 // slave failed to pull the line low, assume not present
526 serial_output();
527 serial_high();
528 *trans->status = TRANSACTION_NO_RESPONSE;
529 sei();
530 return TRANSACTION_NO_RESPONSE;
531 }
532 _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT);
533 }
534#endif
535
536 // initiator recive phase
537 // if the target is present syncronize with it
538 if( trans->target2initiator_buffer_size > 0 ) {
539 if (!serial_recive_packet((uint8_t *)trans->target2initiator_buffer,
540 trans->target2initiator_buffer_size) ) {
541 serial_output();
542 serial_high();
543 *trans->status = TRANSACTION_DATA_ERROR;
544 sei();
545 return TRANSACTION_DATA_ERROR;
546 }
547 }
548
549 // initiator switch to output
550 change_reciver2sender();
551
552 // initiator send phase
553 if( trans->initiator2target_buffer_size > 0 ) {
554 serial_send_packet((uint8_t *)trans->initiator2target_buffer,
555 trans->initiator2target_buffer_size);
556 }
557
558 // always, release the line when not in use
559 sync_send();
560
561 *trans->status = TRANSACTION_END;
562 sei();
563 return TRANSACTION_END;
564}
565
566#ifdef SERIAL_USE_MULTI_TRANSACTION
567int soft_serial_get_and_clean_status(int sstd_index) {
568 SSTD_t *trans = &Transaction_table[sstd_index];
569 cli();
570 int retval = *trans->status;
571 *trans->status = 0;;
572 sei();
573 return retval;
574}
575#endif
576
577#endif
578
579// Helix serial.c history
580// 2018-1-29 fork from let's split and add PD2, modify sync_recv() (#2308, bceffdefc)
581// 2018-6-28 bug fix master to slave comm and speed up (#3255, 1038bbef4)
582// (adjusted with avr-gcc 4.9.2)
583// 2018-7-13 remove USE_SERIAL_PD2 macro (#3374, f30d6dd78)
584// (adjusted with avr-gcc 4.9.2)
585// 2018-8-11 add support multi-type transaction (#3608, feb5e4aae)
586// (adjusted with avr-gcc 4.9.2)
587// 2018-10-21 fix serial and RGB animation conflict (#4191, 4665e4fff)
588// (adjusted with avr-gcc 7.3.0)
589// 2018-10-28 re-adjust compiler depend value of delay (#4269, 8517f8a66)
590// (adjusted with avr-gcc 5.4.0, 7.3.0)
diff --git a/keyboards/naked60/serial.h b/keyboards/naked60/serial.h
deleted file mode 100644
index 5deaf789e..000000000
--- a/keyboards/naked60/serial.h
+++ /dev/null
@@ -1,86 +0,0 @@
1#pragma once
2
3#include <stdbool.h>
4
5// /////////////////////////////////////////////////////////////////
6// Need Soft Serial defines in config.h
7// /////////////////////////////////////////////////////////////////
8// ex.
9// #define SOFT_SERIAL_PIN ?? // ?? = D0,D1,D2,D3,E6
10// OPTIONAL: #define SELECT_SOFT_SERIAL_SPEED ? // ? = 1,2,3,4,5
11// // 1: about 137kbps (default)
12// // 2: about 75kbps
13// // 3: about 39kbps
14// // 4: about 26kbps
15// // 5: about 20kbps
16//
17// //// USE OLD API (compatible with let's split serial.c)
18// ex.
19// #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
20// #define SERIAL_MASTER_BUFFER_LENGTH 1
21//
22// //// USE NEW API
23// //// USE simple API (using signle-type transaction function)
24// #define SERIAL_USE_SINGLE_TRANSACTION
25// //// USE flexible API (using multi-type transaction function)
26// #define SERIAL_USE_MULTI_TRANSACTION
27//
28// /////////////////////////////////////////////////////////////////
29
30
31//////////////// for backward compatibility ////////////////////////////////
32#if !defined(SERIAL_USE_SINGLE_TRANSACTION) && !defined(SERIAL_USE_MULTI_TRANSACTION)
33/* --- USE OLD API (compatible with let's split serial.c) */
34 #if SERIAL_SLAVE_BUFFER_LENGTH > 0
35 extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
36 #endif
37 #if SERIAL_MASTER_BUFFER_LENGTH > 0
38 extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH];
39 #endif
40
41 void serial_master_init(void);
42 void serial_slave_init(void);
43 int serial_update_buffers(void);
44
45#endif // end of USE OLD API
46////////////////////////////////////////////////////////////////////////////
47
48// Soft Serial Transaction Descriptor
49typedef struct _SSTD_t {
50 uint8_t *status;
51 uint8_t initiator2target_buffer_size;
52 uint8_t *initiator2target_buffer;
53 uint8_t target2initiator_buffer_size;
54 uint8_t *target2initiator_buffer;
55} SSTD_t;
56#define TID_LIMIT( table ) (sizeof(table) / sizeof(SSTD_t))
57
58// initiator is transaction start side
59void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size);
60// target is interrupt accept side
61void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size);
62
63// initiator resullt
64#define TRANSACTION_END 0
65#define TRANSACTION_NO_RESPONSE 0x1
66#define TRANSACTION_DATA_ERROR 0x2
67#define TRANSACTION_TYPE_ERROR 0x4
68#ifndef SERIAL_USE_MULTI_TRANSACTION
69int soft_serial_transaction(void);
70#else
71int soft_serial_transaction(int sstd_index);
72#endif
73
74// target status
75// *SSTD_t.status has
76// initiator:
77// TRANSACTION_END
78// or TRANSACTION_NO_RESPONSE
79// or TRANSACTION_DATA_ERROR
80// target:
81// TRANSACTION_DATA_ERROR
82// or TRANSACTION_ACCEPTED
83#define TRANSACTION_ACCEPTED 0x8
84#ifdef SERIAL_USE_MULTI_TRANSACTION
85int soft_serial_get_and_clean_status(int sstd_index);
86#endif