mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-05-06 13:58:20 +00:00
Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c .
This commit is contained in:
parent
47b99fe0a4
commit
185627d5f2
@ -36,12 +36,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define RGBLIGHT_EFFECT_BREATHING
|
#define RGBLIGHT_EFFECT_BREATHING
|
||||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||||
//#define RGBLIGHT_EFFECT_SNAKE
|
#define RGBLIGHT_EFFECT_SNAKE
|
||||||
//#define RGBLIGHT_EFFECT_KNIGHT
|
#define RGBLIGHT_EFFECT_KNIGHT
|
||||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||||
//#define RGBLIGHT_EFFECT_RGB_TEST
|
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||||
//#define RGBLIGHT_EFFECT_ALTERNATING
|
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* CONFIG_USER_H */
|
#endif /* CONFIG_USER_H */
|
||||||
|
@ -29,10 +29,12 @@ extern uint8_t is_master;
|
|||||||
// entirely and just use numbers.
|
// entirely and just use numbers.
|
||||||
enum layer_number {
|
enum layer_number {
|
||||||
_QWERTY = 0,
|
_QWERTY = 0,
|
||||||
|
#if 0
|
||||||
_COLEMAK,
|
_COLEMAK,
|
||||||
_DVORAK,
|
_DVORAK,
|
||||||
_EUCALYN,
|
_EUCALYN,
|
||||||
_KEYPAD,
|
_KEYPAD,
|
||||||
|
#endif
|
||||||
_AUX,
|
_AUX,
|
||||||
_KAUX,
|
_KAUX,
|
||||||
_LOWER,
|
_LOWER,
|
||||||
@ -91,6 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
LOWER, LOWER, CAPS, LALT, LGUI, SPC, RABS, RAEN, SPC, RGUI, RALT, APP,LOWER, LOWER \
|
LOWER, LOWER, CAPS, LALT, LGUI, SPC, RABS, RAEN, SPC, RGUI, RALT, APP,LOWER, LOWER \
|
||||||
),
|
),
|
||||||
|
|
||||||
|
#if 0
|
||||||
/* Colemak
|
/* Colemak
|
||||||
* ,-----------------------------------------. ,-----------------------------------------.
|
* ,-----------------------------------------. ,-----------------------------------------.
|
||||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
|
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||||
@ -111,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
LSFT, Z, X, C, V, B, GRV, QUOT, K, M, COMM, DOT, SLSH, RSFT, \
|
LSFT, Z, X, C, V, B, GRV, QUOT, K, M, COMM, DOT, SLSH, RSFT, \
|
||||||
LOWER, LOWER, CAPS, LALT, LGUI, SPC, RABS, RAEN, SPC, RGUI, RALT, APP,LOWER, LOWER \
|
LOWER, LOWER, CAPS, LALT, LGUI, SPC, RABS, RAEN, SPC, RGUI, RALT, APP,LOWER, LOWER \
|
||||||
),
|
),
|
||||||
|
#endif
|
||||||
/* Dvorak
|
/* Dvorak
|
||||||
* ,-----------------------------------------. ,-----------------------------------------.
|
* ,-----------------------------------------. ,-----------------------------------------.
|
||||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
|
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||||
@ -125,6 +128,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower |
|
* |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower |
|
||||||
* `-------------------------------------------------------------------------------------------------'
|
* `-------------------------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
|
#if 0
|
||||||
[_DVORAK] = LAYOUT_kc( \
|
[_DVORAK] = LAYOUT_kc( \
|
||||||
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC, \
|
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC, \
|
||||||
TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, BSLS, \
|
TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, BSLS, \
|
||||||
@ -132,7 +136,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
LSFT, SCLN, Q, J, K, X, GRV, SLSH, B, M, W, V, Z, RSFT, \
|
LSFT, SCLN, Q, J, K, X, GRV, SLSH, B, M, W, V, Z, RSFT, \
|
||||||
LOWER, LOWER, CAPS, LALT, LGUI, SPC, RABS, RAEN, SPC, RGUI, RALT, APP,LOWER, LOWER \
|
LOWER, LOWER, CAPS, LALT, LGUI, SPC, RABS, RAEN, SPC, RGUI, RALT, APP,LOWER, LOWER \
|
||||||
),
|
),
|
||||||
|
#endif
|
||||||
/* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout)
|
/* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout)
|
||||||
* ,-----------------------------------------. ,-----------------------------------------.
|
* ,-----------------------------------------. ,-----------------------------------------.
|
||||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
|
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||||
@ -146,6 +150,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower |
|
* |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower |
|
||||||
* `-------------------------------------------------------------------------------------------------'
|
* `-------------------------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
|
#if 0
|
||||||
[_EUCALYN] = LAYOUT_kc( \
|
[_EUCALYN] = LAYOUT_kc( \
|
||||||
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC, \
|
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC, \
|
||||||
TAB, Q, W, COMM, DOT, SCLN, M, R, D, Y, P, BSLS, \
|
TAB, Q, W, COMM, DOT, SCLN, M, R, D, Y, P, BSLS, \
|
||||||
@ -153,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
LSFT, Z, X, C, V, F, GRV, QUOT, B, H, J, L, SLSH, RSFT, \
|
LSFT, Z, X, C, V, F, GRV, QUOT, B, H, J, L, SLSH, RSFT, \
|
||||||
LOWER, LOWER, CAPS, LALT, LGUI, SPC, RABS, RAEN, SPC, RGUI, RALT, APP,LOWER, LOWER \
|
LOWER, LOWER, CAPS, LALT, LGUI, SPC, RABS, RAEN, SPC, RGUI, RALT, APP,LOWER, LOWER \
|
||||||
),
|
),
|
||||||
|
#endif
|
||||||
/* Keypad
|
/* Keypad
|
||||||
* ,-----------------------------------------. ,-----------------------------------------.
|
* ,-----------------------------------------. ,-----------------------------------------.
|
||||||
* | Tab | / | * | Del | F1 | F6 | | F1 | F6 | Del | Tab | / | * |
|
* | Tab | / | * | Del | F1 | F6 | | F1 | F6 | Del | Tab | / | * |
|
||||||
@ -167,6 +172,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* | 0 | , | . | Enter| F5 | F10 | F12 | F12 | F5 | F10 | Enter| 0 | , | . |
|
* | 0 | , | . | Enter| F5 | F10 | F12 | F12 | F5 | F10 | Enter| 0 | , | . |
|
||||||
* `-------------------------------------------------------------------------------------------------'
|
* `-------------------------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
|
#if 0
|
||||||
[_KEYPAD] = LAYOUT_kc( \
|
[_KEYPAD] = LAYOUT_kc( \
|
||||||
TAB, PSLS, PAST, DEL, F1, F6, F1, F6, DEL, TAB, PSLS, PAST, \
|
TAB, PSLS, PAST, DEL, F1, F6, F1, F6, DEL, TAB, PSLS, PAST, \
|
||||||
KP_7, KP_8, KP_9, BSPC, F2, F7, F2, F7, BSPC, KP_7, KP_8, KP_9, \
|
KP_7, KP_8, KP_9, BSPC, F2, F7, F2, F7, BSPC, KP_7, KP_8, KP_9, \
|
||||||
@ -174,7 +180,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
KP_1, KP_2, KP_3, PPLS, F4, F9, F11, F11, F4, F9, PPLS, KP_1, KP_2, KP_3, \
|
KP_1, KP_2, KP_3, PPLS, F4, F9, F11, F11, F4, F9, PPLS, KP_1, KP_2, KP_3, \
|
||||||
KP_0, COMM, PDOT, PENT, F5, F10, FF12, FF12, F5, F10, PENT, KP_0, COMM, PDOT \
|
KP_0, COMM, PDOT, PENT, F5, F10, FF12, FF12, F5, F10, PENT, KP_0, COMM, PDOT \
|
||||||
),
|
),
|
||||||
|
#endif
|
||||||
/* AUX modifier key layer
|
/* AUX modifier key layer
|
||||||
* ,-----------------------------------------. ,-----------------------------------------.
|
* ,-----------------------------------------. ,-----------------------------------------.
|
||||||
* | | | | | | | | | | | | | |
|
* | | | | | | | | | | | | | |
|
||||||
@ -188,6 +194,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* | | 00 | | | | | | | | | | | 00 | |
|
* | | 00 | | | | | | | | | | | 00 | |
|
||||||
* `-------------------------------------------------------------------------------------------------'
|
* `-------------------------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
|
#if 0
|
||||||
[_KAUX] = LAYOUT_kc( \
|
[_KAUX] = LAYOUT_kc( \
|
||||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||||
@ -195,7 +202,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||||
____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ZERO2,____ \
|
____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ZERO2,____ \
|
||||||
),
|
),
|
||||||
|
#endif
|
||||||
/* Keypad function layer
|
/* Keypad function layer
|
||||||
* ,-----------------------------------------. ,-----------------------------------------.
|
* ,-----------------------------------------. ,-----------------------------------------.
|
||||||
* | | | | Pause| ScrLk| PtrSc| | PtrSc| ScrLk| Pause| | | |
|
* | | | | Pause| ScrLk| PtrSc| | PtrSc| ScrLk| Pause| | | |
|
||||||
@ -293,6 +300,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* | | | | | | BS | Enter| | | | | | | |
|
* | | | | | | BS | Enter| | | | | | | |
|
||||||
* `-------------------------------------------------------------------------------------------------'
|
* `-------------------------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
|
#if 0
|
||||||
[_AUX] = LAYOUT_kc( \
|
[_AUX] = LAYOUT_kc( \
|
||||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||||
@ -300,6 +308,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||||
____, ____, ____, ____, ____, BSPC, RAEN, ____, ____, ____, ____, ____, ____, ____ \
|
____, ____, ____, ____, ____, BSPC, RAEN, ____, ____, ____, ____, ____, ____, ____ \
|
||||||
)
|
)
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#else
|
#else
|
||||||
@ -337,14 +346,19 @@ void update_base_layer(int base)
|
|||||||
if( current_default_layer != base ) {
|
if( current_default_layer != base ) {
|
||||||
eeconfig_update_default_layer(1UL<<base);
|
eeconfig_update_default_layer(1UL<<base);
|
||||||
default_layer_set(1UL<<base);
|
default_layer_set(1UL<<base);
|
||||||
|
#if 0
|
||||||
layer_off(_AUX);
|
layer_off(_AUX);
|
||||||
layer_off(_KAUX);
|
layer_off(_KAUX);
|
||||||
} else {
|
#endif
|
||||||
|
}
|
||||||
|
#if 0
|
||||||
|
else {
|
||||||
if( base < _KEYPAD )
|
if( base < _KEYPAD )
|
||||||
layer_invert(_AUX);
|
layer_invert(_AUX);
|
||||||
else
|
else
|
||||||
layer_invert(_KAUX);
|
layer_invert(_KAUX);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
@ -359,6 +373,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
case COLEMAK:
|
case COLEMAK:
|
||||||
|
#if 0
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
PLAY_SONG(tone_colemak);
|
PLAY_SONG(tone_colemak);
|
||||||
@ -366,8 +381,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
update_base_layer(_COLEMAK);
|
update_base_layer(_COLEMAK);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DVORAK:
|
case DVORAK:
|
||||||
|
#if 0
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
PLAY_SONG(tone_dvorak);
|
PLAY_SONG(tone_dvorak);
|
||||||
@ -375,8 +392,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
update_base_layer(_DVORAK);
|
update_base_layer(_DVORAK);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case EUCALYN:
|
case EUCALYN:
|
||||||
|
#if 0
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
PLAY_SONG(tone_dvorak);
|
PLAY_SONG(tone_dvorak);
|
||||||
@ -384,8 +403,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
update_base_layer(_EUCALYN);
|
update_base_layer(_EUCALYN);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case KEYPAD:
|
case KEYPAD:
|
||||||
|
#if 0
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
PLAY_SONG(tone_dvorak);
|
PLAY_SONG(tone_dvorak);
|
||||||
@ -393,6 +414,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
update_base_layer(_KEYPAD);
|
update_base_layer(_KEYPAD);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case KC_ZERO2:
|
case KC_ZERO2:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
@ -511,6 +533,7 @@ static void render_logo(struct CharacterMatrix *matrix) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const char Qwerty_name[] PROGMEM = " Qwerty";
|
static const char Qwerty_name[] PROGMEM = " Qwerty";
|
||||||
|
#if 0
|
||||||
static const char Colemak_name[] PROGMEM = " Colemak";
|
static const char Colemak_name[] PROGMEM = " Colemak";
|
||||||
static const char Dvorak_name[] PROGMEM = " Dvorak";
|
static const char Dvorak_name[] PROGMEM = " Dvorak";
|
||||||
static const char Eucalyn_name[] PROGMEM = " Eucalyn";
|
static const char Eucalyn_name[] PROGMEM = " Eucalyn";
|
||||||
@ -518,6 +541,7 @@ static const char Keypad_name[] PROGMEM = " Keypad";
|
|||||||
|
|
||||||
static const char AUX_name[] PROGMEM = ":AUX";
|
static const char AUX_name[] PROGMEM = ":AUX";
|
||||||
static const char KAUX_name[] PROGMEM = ":00";
|
static const char KAUX_name[] PROGMEM = ":00";
|
||||||
|
#endif
|
||||||
static const char Padfunc_name[] PROGMEM = ":PadFunc";
|
static const char Padfunc_name[] PROGMEM = ":PadFunc";
|
||||||
static const char Lower_name[] PROGMEM = ":Func";
|
static const char Lower_name[] PROGMEM = ":Func";
|
||||||
static const char Raise_name[] PROGMEM = ":Extra";
|
static const char Raise_name[] PROGMEM = ":Extra";
|
||||||
@ -525,12 +549,14 @@ static const char Adjust_name[] PROGMEM = ":Adjust";
|
|||||||
|
|
||||||
static const char *layer_names[] = {
|
static const char *layer_names[] = {
|
||||||
[_QWERTY] = Qwerty_name,
|
[_QWERTY] = Qwerty_name,
|
||||||
|
#if 0
|
||||||
[_COLEMAK] = Colemak_name,
|
[_COLEMAK] = Colemak_name,
|
||||||
[_DVORAK] = Dvorak_name,
|
[_DVORAK] = Dvorak_name,
|
||||||
[_EUCALYN]= Eucalyn_name,
|
[_EUCALYN]= Eucalyn_name,
|
||||||
[_KEYPAD] = Keypad_name,
|
[_KEYPAD] = Keypad_name,
|
||||||
[_AUX] = AUX_name,
|
[_AUX] = AUX_name,
|
||||||
[_KAUX] = KAUX_name,
|
[_KAUX] = KAUX_name,
|
||||||
|
#endif
|
||||||
[_LOWER] = Lower_name,
|
[_LOWER] = Lower_name,
|
||||||
[_RAISE] = Raise_name,
|
[_RAISE] = Raise_name,
|
||||||
[_PADFUNC]= Padfunc_name,
|
[_PADFUNC]= Padfunc_name,
|
||||||
|
@ -20,6 +20,7 @@ UNICODE_ENABLE = no # Unicode
|
|||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||||
SWAP_HANDS_ENABLE = no # Enable one-hand typing
|
SWAP_HANDS_ENABLE = no # Enable one-hand typing
|
||||||
|
RGBLIGHT_SPLIT = no
|
||||||
|
|
||||||
define HELIX_CUSTOMISE_MSG
|
define HELIX_CUSTOMISE_MSG
|
||||||
$(info Helix customize)
|
$(info Helix customize)
|
||||||
@ -28,6 +29,7 @@ define HELIX_CUSTOMISE_MSG
|
|||||||
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
|
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
|
||||||
$(info - LED_ANIMATION=$(LED_ANIMATIONS))
|
$(info - LED_ANIMATION=$(LED_ANIMATIONS))
|
||||||
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
|
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
|
||||||
|
$(info - IOS_DEVICE_ENABLE=$(RGBLIGHT_SPLIT))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# Helix keyboard customize
|
# Helix keyboard customize
|
||||||
@ -56,6 +58,9 @@ Link_Time_Optimization = no # if firmware size over limit, try this option
|
|||||||
## make HELIX=oled,back,ios helix:five_rows
|
## make HELIX=oled,back,ios helix:five_rows
|
||||||
##
|
##
|
||||||
ifneq ($(strip $(HELIX)),)
|
ifneq ($(strip $(HELIX)),)
|
||||||
|
ifeq ($(findstring split,$(HELIX)), split)
|
||||||
|
RGBLIGHT_SPLIT = yes
|
||||||
|
endif
|
||||||
ifeq ($(findstring oled,$(HELIX)), oled)
|
ifeq ($(findstring oled,$(HELIX)), oled)
|
||||||
OLED_ENABLE = yes
|
OLED_ENABLE = yes
|
||||||
endif
|
endif
|
||||||
@ -114,6 +119,10 @@ ifeq ($(strip $(OLED_ENABLE)), yes)
|
|||||||
OPT_DEFS += -DOLED_ENABLE
|
OPT_DEFS += -DOLED_ENABLE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(strip $(RGBLIGHT_SPLIT)), yes)
|
||||||
|
OPT_DEFS += -DRGBLIGHT_SPLIT
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
|
ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
|
||||||
OPT_DEFS += -DLOCAL_GLCDFONT
|
OPT_DEFS += -DLOCAL_GLCDFONT
|
||||||
endif
|
endif
|
||||||
|
@ -203,12 +203,16 @@ uint8_t matrix_scan(void)
|
|||||||
{
|
{
|
||||||
if (is_master) {
|
if (is_master) {
|
||||||
matrix_master_scan();
|
matrix_master_scan();
|
||||||
|
serial_update_rgb();
|
||||||
}else{
|
}else{
|
||||||
matrix_slave_scan();
|
matrix_slave_scan();
|
||||||
|
#ifndef RGBLIGHT_SPLIT
|
||||||
int offset = (isLeftHand) ? ROWS_PER_HAND : 0;
|
int offset = (isLeftHand) ? ROWS_PER_HAND : 0;
|
||||||
memcpy(&matrix[offset],
|
memcpy(&matrix[offset],
|
||||||
(void *)serial_master_buffer, sizeof(serial_master_buffer));
|
(void *)serial_master_buffer, sizeof(serial_master_buffer));
|
||||||
|
#endif
|
||||||
matrix_scan_quantum();
|
matrix_scan_quantum();
|
||||||
|
serial_sync_rgb();
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -220,22 +224,25 @@ uint8_t matrix_master_scan(void) {
|
|||||||
int mchanged = 1;
|
int mchanged = 1;
|
||||||
|
|
||||||
#ifndef KEYBOARD_helix_rev1
|
#ifndef KEYBOARD_helix_rev1
|
||||||
|
#ifndef RGBLIGHT_SPLIT
|
||||||
int offset = (isLeftHand) ? 0 : ROWS_PER_HAND;
|
int offset = (isLeftHand) ? 0 : ROWS_PER_HAND;
|
||||||
|
#endif
|
||||||
#ifdef USE_MATRIX_I2C
|
#ifdef USE_MATRIX_I2C
|
||||||
// for (int i = 0; i < ROWS_PER_HAND; ++i) {
|
// for (int i = 0; i < ROWS_PER_HAND; ++i) {
|
||||||
/* i2c_slave_buffer[i] = matrix[offset+i]; */
|
/* i2c_slave_buffer[i] = matrix[offset+i]; */
|
||||||
// i2c_slave_buffer[i] = matrix[offset+i];
|
// i2c_slave_buffer[i] = matrix[offset+i];
|
||||||
// }
|
// }
|
||||||
#else // USE_SERIAL
|
#else // USE_SERIAL
|
||||||
#ifdef SERIAL_USE_MULTI_TRANSACTION
|
#ifndef RGBLIGHT_SPLIT
|
||||||
|
#ifdef SERIAL_USE_MULTI_TRANSACTION
|
||||||
mchanged = memcmp((void *)serial_master_buffer,
|
mchanged = memcmp((void *)serial_master_buffer,
|
||||||
&matrix[offset], sizeof(serial_master_buffer));
|
&matrix[offset], sizeof(serial_master_buffer));
|
||||||
#endif
|
#endif
|
||||||
memcpy((void *)serial_master_buffer,
|
memcpy((void *)serial_master_buffer,
|
||||||
&matrix[offset], sizeof(serial_master_buffer));
|
&matrix[offset], sizeof(serial_master_buffer));
|
||||||
#endif
|
#endif /* RGBLIGHT_SPLIT */
|
||||||
#endif
|
#endif /*USE_MATRIX_I2C*/
|
||||||
|
#endif /*KEYBOARD_helix_rev1*/
|
||||||
|
|
||||||
#ifdef USE_MATRIX_I2C
|
#ifdef USE_MATRIX_I2C
|
||||||
if( i2c_transaction() ) {
|
if( i2c_transaction() ) {
|
||||||
|
@ -12,8 +12,14 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0};
|
uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0};
|
||||||
|
#ifndef RGBLIGHT_SPLIT
|
||||||
uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0};
|
uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0};
|
||||||
|
#endif
|
||||||
|
#ifdef RGBLIGHT_SPLIT
|
||||||
|
rgbsync_t volatile serial_master_rgb = {};
|
||||||
|
#endif
|
||||||
uint8_t volatile status_com = 0;
|
uint8_t volatile status_com = 0;
|
||||||
|
uint8_t volatile status_rgb = 0;
|
||||||
uint8_t volatile status1 = 0;
|
uint8_t volatile status1 = 0;
|
||||||
uint8_t slave_buffer_change_count = 0;
|
uint8_t slave_buffer_change_count = 0;
|
||||||
uint8_t s_change_old = 0xff;
|
uint8_t s_change_old = 0xff;
|
||||||
@ -26,18 +32,28 @@ SSTD_t transactions[] = {
|
|||||||
0, NULL,
|
0, NULL,
|
||||||
sizeof(slave_buffer_change_count), &slave_buffer_change_count,
|
sizeof(slave_buffer_change_count), &slave_buffer_change_count,
|
||||||
},
|
},
|
||||||
#define PUT_MASTER_GET_SLAVE_STATUS 1
|
#define GET_SLAVE_BUFFER 1
|
||||||
/* master buffer changed need send, and recive slave_buffer_change_count */
|
|
||||||
{ (uint8_t *)&status_com,
|
|
||||||
sizeof(serial_master_buffer), (uint8_t *)serial_master_buffer,
|
|
||||||
sizeof(slave_buffer_change_count), &slave_buffer_change_count,
|
|
||||||
},
|
|
||||||
#define GET_SLAVE_BUFFER 2
|
|
||||||
/* recive serial_slave_buffer */
|
/* recive serial_slave_buffer */
|
||||||
{ (uint8_t *)&status1,
|
{ (uint8_t *)&status1,
|
||||||
0, NULL,
|
0, NULL,
|
||||||
sizeof(serial_slave_buffer), (uint8_t *)serial_slave_buffer
|
sizeof(serial_slave_buffer), (uint8_t *)serial_slave_buffer
|
||||||
|
},
|
||||||
|
#ifndef RGBLIGHT_SPLIT
|
||||||
|
#define PUT_MASTER_GET_SLAVE_STATUS 2
|
||||||
|
/* master buffer changed need send, and recive slave_buffer_change_count */
|
||||||
|
{ (uint8_t *)&status_com,
|
||||||
|
sizeof(serial_master_buffer), (uint8_t *)serial_master_buffer,
|
||||||
|
sizeof(slave_buffer_change_count), &slave_buffer_change_count,
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
#ifdef RGBLIGHT_SPLIT
|
||||||
|
#define PUT_MASTER_RGB_STATUS 2
|
||||||
|
/* master rgb status changed need send */
|
||||||
|
{ (uint8_t *)&status_rgb,
|
||||||
|
sizeof(serial_master_rgb), (uint8_t *)&serial_master_rgb,
|
||||||
|
0, NULL
|
||||||
|
}
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
void serial_master_init(void)
|
void serial_master_init(void)
|
||||||
@ -56,8 +72,9 @@ void serial_slave_init(void)
|
|||||||
int serial_update_buffers(int master_update)
|
int serial_update_buffers(int master_update)
|
||||||
{
|
{
|
||||||
int status, smatstatus;
|
int status, smatstatus;
|
||||||
|
#ifndef RGBLIGHT_SPLIT
|
||||||
static int need_retry = 0;
|
static int need_retry = 0;
|
||||||
|
#endif
|
||||||
if( s_change_old != s_change_new ) {
|
if( s_change_old != s_change_new ) {
|
||||||
smatstatus = soft_serial_transaction(GET_SLAVE_BUFFER);
|
smatstatus = soft_serial_transaction(GET_SLAVE_BUFFER);
|
||||||
if( smatstatus == TRANSACTION_END ) {
|
if( smatstatus == TRANSACTION_END ) {
|
||||||
@ -74,6 +91,7 @@ int serial_update_buffers(int master_update)
|
|||||||
smatstatus = TRANSACTION_END; // dummy status
|
smatstatus = TRANSACTION_END; // dummy status
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef RGBLIGHT_SPLIT
|
||||||
if( !master_update && !need_retry) {
|
if( !master_update && !need_retry) {
|
||||||
status = soft_serial_transaction(GET_SLAVE_STATUS);
|
status = soft_serial_transaction(GET_SLAVE_STATUS);
|
||||||
} else {
|
} else {
|
||||||
@ -85,8 +103,42 @@ int serial_update_buffers(int master_update)
|
|||||||
} else {
|
} else {
|
||||||
need_retry = 1;
|
need_retry = 1;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
status = soft_serial_transaction(GET_SLAVE_STATUS);
|
||||||
|
if( status == TRANSACTION_END ) {
|
||||||
|
s_change_new = slave_buffer_change_count;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
return smatstatus;
|
return smatstatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int serial_update_rgb(void)
|
||||||
|
{
|
||||||
|
#ifdef RGBLIGHT_SPLIT
|
||||||
|
if( rgblight_status.change_flags ) {
|
||||||
|
serial_master_rgb.config = rgblight_config;
|
||||||
|
serial_master_rgb.status = rgblight_status;
|
||||||
|
rgblight_status.change_flags = 0;
|
||||||
|
return soft_serial_transaction(PUT_MASTER_RGB_STATUS);
|
||||||
|
} else {
|
||||||
|
return TRANSACTION_END;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
return TRANSACTION_END;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void serial_sync_rgb(void)
|
||||||
|
{
|
||||||
|
#ifdef RGBLIGHT_SPLIT
|
||||||
|
if( status_rgb == TRANSACTION_ACCEPTED ) {
|
||||||
|
rgblight_update_sync((rgblight_config_t *)&serial_master_rgb.config,
|
||||||
|
(rgblight_status_t *)&serial_master_rgb.status,
|
||||||
|
false );
|
||||||
|
status_rgb = TRANSACTION_END;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#endif // SERIAL_USE_MULTI_TRANSACTION
|
#endif // SERIAL_USE_MULTI_TRANSACTION
|
||||||
#endif /* USE_SERIAL */
|
#endif /* USE_SERIAL */
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
#ifndef SPLIT_COMM_H
|
#ifndef SPLIT_COMM_H
|
||||||
#define SPLIT_COMM_H
|
#define SPLIT_COMM_H
|
||||||
|
|
||||||
|
#ifdef RGBLIGHT_SPLIT
|
||||||
|
#include <rgblight.h>
|
||||||
|
typedef struct _rgbsync_t {
|
||||||
|
rgblight_config_t config;
|
||||||
|
rgblight_status_t status;
|
||||||
|
} rgbsync_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef SERIAL_USE_MULTI_TRANSACTION
|
#ifndef SERIAL_USE_MULTI_TRANSACTION
|
||||||
/* --- USE Simple API (OLD API, compatible with let's split serial.c) --- */
|
/* --- USE Simple API (OLD API, compatible with let's split serial.c) --- */
|
||||||
#include "serial.h"
|
#include "serial.h"
|
||||||
@ -12,13 +20,16 @@
|
|||||||
#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
|
#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
|
||||||
|
|
||||||
extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
|
extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
|
||||||
|
#ifndef RGBLIGHT_SPLIT
|
||||||
extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH];
|
extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH];
|
||||||
|
#endif
|
||||||
extern uint8_t slave_buffer_change_count;
|
extern uint8_t slave_buffer_change_count;
|
||||||
|
|
||||||
void serial_master_init(void);
|
void serial_master_init(void);
|
||||||
void serial_slave_init(void);
|
void serial_slave_init(void);
|
||||||
int serial_update_buffers(int master_changed);
|
int serial_update_buffers(int master_changed);
|
||||||
|
int serial_update_rgb(void);
|
||||||
|
void serial_sync_rgb(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* SPLIT_COMM_H */
|
#endif /* SPLIT_COMM_H */
|
||||||
|
@ -68,3 +68,9 @@ void split_keyboard_setup(void) {
|
|||||||
void matrix_setup(void) {
|
void matrix_setup(void) {
|
||||||
split_keyboard_setup();
|
split_keyboard_setup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef RGBLIGHT_SPLIT
|
||||||
|
bool is_keyboard_master(void) {
|
||||||
|
return isLeftHand;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user