aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/s65_x/keymaps/default/keymap.c125
-rw-r--r--keyboards/s65_x/keymaps/iso/keymap.c67
-rw-r--r--keyboards/s65_x/s65_x.c6
-rw-r--r--keyboards/s65_x/s65_x.h4
4 files changed, 41 insertions, 161 deletions
diff --git a/keyboards/s65_x/keymaps/default/keymap.c b/keyboards/s65_x/keymaps/default/keymap.c
index 48f4c8432..c0336755b 100644
--- a/keyboards/s65_x/keymaps/default/keymap.c
+++ b/keyboards/s65_x/keymaps/default/keymap.c
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23 23
24 /* 0: ANSI qwerty */ 24 /* 0: ANSI qwerty */
25 [_BL] = ANSI_KEYMAP( 25 [_BL] = ANSI_KEYMAP(
26 F(3), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \ 26 F(4), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \
27 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, \ 27 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, \
28 F(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, \ 28 F(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, \
29 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, \ 29 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, \
@@ -52,74 +52,58 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
52 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), 52 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
53 53
54 /* 2: Fn layer 54 /* 2: Fn layer
55 * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 55 * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
56 * │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│▒▒▒▒▒│ │ 56 * │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│▒▒▒▒▒│ │
57 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ 57 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
58 * │ │ _AL │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │▒▒▒▒▒│ │ 58 * │ │ _AL │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │▒▒▒▒▒│ │
59 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ 59 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
60 * │ │Left │Down │Right│ │ │Left │Down │ Up │Right│ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │ 60 * │ │Left │Down │Right│ │ │Left │Down │ Up │Right│ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
61 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ 61 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
62 * │ │▒▒▒▒▒│_UL │ │ │ │ │ │ │Home │ End │ │▒▒▒▒▒│ │Vol+ │ │ 62 * │ │▒▒▒▒▒│_UL │ │ │ │ │ │ │Home │ End │ │▒▒▒▒▒│ │Vol+ │ │
63 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ 63 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
64 * │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │Mute │Vol- │Play │ 64 * │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │Mute │Vol- │Play │
65 * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 65 * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
66 */ 66 */
67 67
68 [_FL] = ANSI_KEYMAP( 68 [_FL] = ANSI_KEYMAP(
69 KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, \ 69 KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, \
70 KC_TRNS, F(1), KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, \ 70 KC_TRNS, F(1), KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, \
71 KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, \ 71 KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
72 KC_TRNS, KC_TRNS, F(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, \ 72 KC_TRNS, F(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, \
73 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_MPLY), 73 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_MPLY),
74 74
75 /* 3: Locking layer for controlling the underglow 75 /* 3: Locking layer for controlling the underglow
76 * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 76 * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
77 * │ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│▒▒▒▒▒│ │ 77 * │ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│▒▒▒▒▒│ │
78 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ 78 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
79 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ 79 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │
80 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ 80 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
81 * │ │ On │Mode │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │ 81 * │ │ On │Mode │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
82 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ 82 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
83 * │ │▒▒▒▒▒│ │Hue+ │Hue- │Sat+ │Sat- │Val+ │Val- │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │ 83 * │ │▒▒▒▒▒│ │Hue+ │Hue- │Sat+ │Sat- │Val+ │Val- │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ │
84 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ 84 * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
85 * │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │ │ │ 85 * │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │ │ │
86 * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 86 * └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
87 */ 87 */
88 88
89 [_UL] = ANSI_KEYMAP( 89 [_UL] = ANSI_KEYMAP(
90 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 90 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
91 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 91 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
92 KC_TRNS, F(4), F(5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 92 KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
93 KC_TRNS, KC_TRNS, F(6), F(7), F(8), F(9), F(10), F(11), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 93 KC_TRNS, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
94 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), 94 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
95}; 95};
96 96
97enum function_id { 97enum function_id {
98 RGBLED_TOGGLE,
99 RGBLED_STEP_MODE,
100 RGBLED_INCREASE_HUE,
101 RGBLED_DECREASE_HUE,
102 RGBLED_INCREASE_SAT,
103 RGBLED_DECREASE_SAT,
104 RGBLED_INCREASE_VAL,
105 RGBLED_DECREASE_VAL,
106 SHIFT_ESC, 98 SHIFT_ESC,
107}; 99};
108 100
109const uint16_t PROGMEM fn_actions[] = { 101const uint16_t PROGMEM fn_actions[] = {
110 [0] = ACTION_LAYER_MOMENTARY(_FL), // Momentary Fn overlay 102 [0] = ACTION_LAYER_MOMENTARY(_FL), // Momentary Fn overlay
111 [1] = ACTION_LAYER_TOGGLE(_AL), // Toggle Arrow Layer overlay 103 [1] = ACTION_LAYER_TOGGLE(_AL), // Toggle Arrow Layer overlay
112 [2] = ACTION_LAYER_TAP_KEY(_FL, KC_CAPS),// Tap to toggle caps lock and hold to activate function layer 104 [2] = ACTION_LAYER_TAP_KEY(_FL, KC_CAPS),// Tap to toggle caps lock and hold to activate function layer
113 [3] = ACTION_LAYER_TOGGLE(_UL), // Toggle Underglow Layer overlay 105 [3] = ACTION_LAYER_TOGGLE(_UL), // Toggle Underglow Layer overlay
114 [4] = ACTION_FUNCTION(RGBLED_TOGGLE), // Turn on/off underglow 106 [4] = ACTION_FUNCTION(SHIFT_ESC),
115 [5] = ACTION_FUNCTION(RGBLED_STEP_MODE), // Change underglow mode
116 [6] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
117 [7] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
118 [8] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
119 [9] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
120 [10] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
121 [11] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
122 [12] = ACTION_FUNCTION(SHIFT_ESC),
123}; 107};
124 108
125void matrix_scan_user(void) { 109void matrix_scan_user(void) {
@@ -157,49 +141,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
157#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) 141#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
158void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { 142void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
159 switch (id) { 143 switch (id) {
160 case RGBLED_TOGGLE: 144 static uint8_t shift_esc_shift_mask;
161 //led operations 145 // Shift + ESC = ~
162 if (record->event.pressed) {
163 rgblight_toggle();
164 }
165 break;
166 case RGBLED_INCREASE_HUE:
167 if (record->event.pressed) {
168 rgblight_increase_hue();
169 }
170 break;
171 case RGBLED_DECREASE_HUE:
172 if (record->event.pressed) {
173 rgblight_decrease_hue();
174 }
175 break;
176 case RGBLED_INCREASE_SAT:
177 if (record->event.pressed) {
178 rgblight_increase_sat();
179 }
180 break;
181 case RGBLED_DECREASE_SAT:
182 if (record->event.pressed) {
183 rgblight_decrease_sat();
184 }
185 break;
186 case RGBLED_INCREASE_VAL:
187 if (record->event.pressed) {
188 rgblight_increase_val();
189 }
190 break;
191 case RGBLED_DECREASE_VAL:
192 if (record->event.pressed) {
193 rgblight_decrease_val();
194 }
195 break;
196 case RGBLED_STEP_MODE:
197 if (record->event.pressed) {
198 rgblight_step();
199 }
200 break;
201 static uint8_t shift_esc_shift_mask;
202 // Shift + ESC = ~
203 case SHIFT_ESC: 146 case SHIFT_ESC:
204 shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; 147 shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
205 if (record->event.pressed) { 148 if (record->event.pressed) {
diff --git a/keyboards/s65_x/keymaps/iso/keymap.c b/keyboards/s65_x/keymaps/iso/keymap.c
index 36a2b247a..acbb44c03 100644
--- a/keyboards/s65_x/keymaps/iso/keymap.c
+++ b/keyboards/s65_x/keymaps/iso/keymap.c
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23 23
24 /* 0: ISO qwerty */ 24 /* 0: ISO qwerty */
25 [_BL] = ISO_KEYMAP( 25 [_BL] = ISO_KEYMAP(
26 F(3), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \ 26 F(4), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \
27 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_END, \ 27 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_END, \
28 F(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_GRAVE, KC_ENT, KC_PGUP, \ 28 F(2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_GRAVE, KC_ENT, KC_PGUP, \
29 KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, \ 29 KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, \
@@ -89,21 +89,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
89 [_UL] = ISO_KEYMAP( 89 [_UL] = ISO_KEYMAP(
90 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 90 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
91 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 91 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
92 KC_TRNS, F(4), F(5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 92 KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
93 KC_TRNS, KC_TRNS, KC_TRNS, F(6), F(7), F(8), F(9), F(10), F(11), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ 93 KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
94 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), 94 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
95}; 95};
96 96
97 97
98enum function_id { 98enum function_id {
99 RGBLED_TOGGLE,
100 RGBLED_STEP_MODE,
101 RGBLED_INCREASE_HUE,
102 RGBLED_DECREASE_HUE,
103 RGBLED_INCREASE_SAT,
104 RGBLED_DECREASE_SAT,
105 RGBLED_INCREASE_VAL,
106 RGBLED_DECREASE_VAL,
107 SHIFT_ESC, 99 SHIFT_ESC,
108}; 100};
109 101
@@ -112,14 +104,6 @@ const uint16_t PROGMEM fn_actions[] = {
112 [1] = ACTION_LAYER_TOGGLE(_AL), // Toggle Arrow Layer overlay 104 [1] = ACTION_LAYER_TOGGLE(_AL), // Toggle Arrow Layer overlay
113 [2] = ACTION_LAYER_TAP_KEY(_FL, KC_CAPS),// Tap to toggle caps lock and hold to activate function layer 105 [2] = ACTION_LAYER_TAP_KEY(_FL, KC_CAPS),// Tap to toggle caps lock and hold to activate function layer
114 [3] = ACTION_LAYER_TOGGLE(_UL), // Toggle Underglow Layer overlay 106 [3] = ACTION_LAYER_TOGGLE(_UL), // Toggle Underglow Layer overlay
115 [4] = ACTION_FUNCTION(RGBLED_TOGGLE), // Turn on/off underglow
116 [5] = ACTION_FUNCTION(RGBLED_STEP_MODE), // Change underglow mode
117 [6] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
118 [7] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
119 [8] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
120 [9] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
121 [10] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
122 [11] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
123 [12] = ACTION_FUNCTION(SHIFT_ESC), 107 [12] = ACTION_FUNCTION(SHIFT_ESC),
124}; 108};
125 109
@@ -158,49 +142,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
158#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) 142#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
159void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { 143void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
160 switch (id) { 144 switch (id) {
161 case RGBLED_TOGGLE: 145 static uint8_t shift_esc_shift_mask;
162 //led operations 146 // Shift + ESC = ~
163 if (record->event.pressed) {
164 rgblight_toggle();
165 }
166 break;
167 case RGBLED_INCREASE_HUE:
168 if (record->event.pressed) {
169 rgblight_increase_hue();
170 }
171 break;
172 case RGBLED_DECREASE_HUE:
173 if (record->event.pressed) {
174 rgblight_decrease_hue();
175 }
176 break;
177 case RGBLED_INCREASE_SAT:
178 if (record->event.pressed) {
179 rgblight_increase_sat();
180 }
181 break;
182 case RGBLED_DECREASE_SAT:
183 if (record->event.pressed) {
184 rgblight_decrease_sat();
185 }
186 break;
187 case RGBLED_INCREASE_VAL:
188 if (record->event.pressed) {
189 rgblight_increase_val();
190 }
191 break;
192 case RGBLED_DECREASE_VAL:
193 if (record->event.pressed) {
194 rgblight_decrease_val();
195 }
196 break;
197 case RGBLED_STEP_MODE:
198 if (record->event.pressed) {
199 rgblight_step();
200 }
201 break;
202 static uint8_t shift_esc_shift_mask;
203 // Shift + ESC = ~
204 case SHIFT_ESC: 147 case SHIFT_ESC:
205 shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; 148 shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
206 if (record->event.pressed) { 149 if (record->event.pressed) {
diff --git a/keyboards/s65_x/s65_x.c b/keyboards/s65_x/s65_x.c
index f3f8ffbc8..29073750c 100644
--- a/keyboards/s65_x/s65_x.c
+++ b/keyboards/s65_x/s65_x.c
@@ -5,7 +5,6 @@ void matrix_init_kb(void) {
5 // put your keyboard start-up code here 5 // put your keyboard start-up code here
6 // runs once when the firmware starts up 6 // runs once when the firmware starts up
7 matrix_init_user(); 7 matrix_init_user();
8 led_init_ports();
9}; 8};
10 9
11void matrix_scan_kb(void) { 10void matrix_scan_kb(void) {
@@ -14,11 +13,6 @@ void matrix_scan_kb(void) {
14 matrix_scan_user(); 13 matrix_scan_user();
15}; 14};
16 15
17void led_init_ports(void) {
18 // * Set our LED pins as output
19 DDRB |= (1<<7);
20}
21
22void led_set_kb(uint8_t usb_led) { 16void led_set_kb(uint8_t usb_led) {
23 if (usb_led & (1<<USB_LED_CAPS_LOCK)) { 17 if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
24 // Turn capslock on 18 // Turn capslock on
diff --git a/keyboards/s65_x/s65_x.h b/keyboards/s65_x/s65_x.h
index 7682d2a65..ed1ac402c 100644
--- a/keyboards/s65_x/s65_x.h
+++ b/keyboards/s65_x/s65_x.h
@@ -9,13 +9,13 @@
9 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K015, \ 9 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K015, \
10 K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \ 10 K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
11 K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \ 11 K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
12 K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K314, K315, \ 12 K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
13 K400, K401, K402, K408, K410, K411, K412, K413, K414, K415 \ 13 K400, K401, K402, K408, K410, K411, K412, K413, K414, K415 \
14) { \ 14) { \
15 { KC_NO, KC_NO, K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO, K014, K015 }, \ 15 { KC_NO, KC_NO, K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO, K014, K015 }, \
16 { KC_NO, KC_NO, K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \ 16 { KC_NO, KC_NO, K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
17 { KC_NO, KC_NO, K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \ 17 { KC_NO, KC_NO, K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
18 { KC_NO, KC_NO, KC_NO, K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO, K314, K315 }, \ 18 { KC_NO, KC_NO, KC_NO, K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
19 { KC_NO, KC_NO, K400, K401, K402, KC_NO, KC_NO, KC_NO, K408, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, K414, K415 } \ 19 { KC_NO, KC_NO, K400, K401, K402, KC_NO, KC_NO, KC_NO, K408, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, K414, K415 } \
20} 20}
21 21