forked from mirrors/qmk_firmware
New layer added to giabalanai keyboard (#20118)
This commit is contained in:
parent
2d7240f730
commit
fb6557acf1
9 changed files with 183 additions and 70 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright 2020 3araht
|
||||
Copyright 2023 3araht
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -36,16 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
/* COL2ROW, ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define SELECT_SOFT_SERIAL_SPEED 1
|
||||
/*Sets the protocol speed when using serial communication*/
|
||||
//Speeds:
|
||||
//0: about 189kbps (Experimental only)
|
||||
//1: about 137kbps (default)
|
||||
//2: about 75kbps
|
||||
//3: about 39kbps
|
||||
//4: about 26kbps
|
||||
//5: about 20kbps
|
||||
|
||||
// Right side has to be the master since 1, LED data is output from right side, and 2, Audio pin is prepared on right side as a reserve.
|
||||
#define MASTER_RIGHT
|
||||
|
||||
|
@ -227,3 +217,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
// #define NO_ACTION_TAPPING
|
||||
// NO_ACTION_ONESHOT -388 bytes
|
||||
#define NO_ACTION_ONESHOT
|
||||
/*
|
||||
* Encoder options
|
||||
*/
|
||||
#ifdef ENCODER_ENABLE
|
||||
# define ENCODER_RESOLUTIONS_RIGHT { 4 }
|
||||
#endif // ENCODER_ENABLE
|
||||
|
|
|
@ -8,10 +8,22 @@
|
|||
"pid": "0xF4B0",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"features": {
|
||||
"midi": true,
|
||||
"extrakey": true,
|
||||
"encoder": true,
|
||||
"bootmagic": false,
|
||||
"console": false,
|
||||
"mousekey": false,
|
||||
"nkro": false,
|
||||
"rgblight": false,
|
||||
"audio": false
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": []
|
||||
},
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"soft_serial_pin": "D2",
|
||||
"encoder": {
|
||||
"right": {
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
Copyright 2023 3araht
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
//#define USE_MATRIX_I2C
|
||||
|
|
|
@ -58,17 +58,18 @@ user_config_t user_config;
|
|||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_C_SYSTEM_BASE, // MIDI C-system
|
||||
_FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system.
|
||||
_C_SYSTEM_BASS2ROW, // counter bass system
|
||||
_C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
|
||||
_C_SYSTEM_FREEBASS, // C-system Free Bass
|
||||
_C_SYSTEM_BASE, // MIDI C-system
|
||||
_FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system.
|
||||
_C_SYSTEM_BASS2ROW, // counter bass system
|
||||
_FAKE_B_SYSTEM_BASS2ROW, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system. Counter bass version.
|
||||
_C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
|
||||
_C_SYSTEM_FREEBASS, // C-system Free Bass
|
||||
_CHROMATONE,
|
||||
_CFLIP_BASS2ROW, // 180 degree flipped layout on right side keyboard
|
||||
_CFLIP_BASS2ROW, // 180 degree flipped layout on right side keyboard
|
||||
_QWERTY,
|
||||
_COLEMAK,
|
||||
_ADJUST, // for Fn keys, etc.
|
||||
_FN // for changing layers, octaves, etc.
|
||||
_ADJUST, // for Fn keys, etc.
|
||||
_FN // for changing layers, octaves, etc.
|
||||
};
|
||||
|
||||
// Defines the keycodes used by our macros in process_record_user
|
||||
|
@ -181,6 +182,7 @@ enum custom_keycodes {
|
|||
CSYSTEM, // C-SYSTEM layout
|
||||
BSYSTEM, // B-SYSTEM layout
|
||||
CNTBASC, // CouNTer BASs C-system layout
|
||||
CNTBASB, // CouNTer BASs B-system layout
|
||||
CSYSALL, // C-SYStem ALL layout
|
||||
CSYSFBS, // C-SYStem Free BaSs
|
||||
CHRTONE, // CHRomaTONE layout
|
||||
|
@ -240,6 +242,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
|
||||
),
|
||||
|
||||
/* fake B-system */
|
||||
[_FAKE_B_SYSTEM_BASS2ROW] = LAYOUT(
|
||||
MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr,
|
||||
MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
|
||||
MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
|
||||
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
|
||||
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
|
||||
|
||||
MI_Ab2,
|
||||
MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
|
||||
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
|
||||
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
|
||||
),
|
||||
|
||||
/* C-system entirely */
|
||||
[_C_SYSTEM_ENTIRELY] = LAYOUT(
|
||||
MI_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
|
||||
|
@ -340,7 +356,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
/* Fn */
|
||||
[_FN] = LAYOUT(
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG,
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG,
|
||||
DF_QWER, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLMICH,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
@ -348,24 +364,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
XXXXXXX,
|
||||
MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG,
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG,
|
||||
XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_FREEBASS] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_CFLIP_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_FN] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_FAKE_B_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_FREEBASS] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_CFLIP_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_FN] = { ENCODER_CCW_CW(_______, _______) },
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -383,7 +400,7 @@ const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS({1,
|
|||
|
||||
// Light up fn layer keys
|
||||
const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( // left keyboard
|
||||
{0, 7, HSV_ORANGE}, // MIDI layouts
|
||||
{0, 8, HSV_ORANGE}, // MIDI layouts
|
||||
{11, 1, HSV_RED}, // RGB_TOG
|
||||
{12, 1, HSV_WHITE}, // DF_QWER
|
||||
{13, 1, HSV_CORAL}, // TGLBASS
|
||||
|
@ -410,15 +427,16 @@ const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS(
|
|||
{53, 1, HSV_PINK},
|
||||
#endif
|
||||
// right keyboard
|
||||
{60, 7, HSV_ORANGE}, // MIDI layouts
|
||||
{60, 8, HSV_ORANGE}, // MIDI layouts
|
||||
{74, 1, HSV_CORAL}, // TGLBASS
|
||||
{85, 1, HSV_BLUE}, // MIDI Oct
|
||||
{86, 1, HSV_CYAN}, // MIDI Oct
|
||||
{87, 1, HSV_SPRINGGREEN}, // MIDI Oct
|
||||
{88, 1, HSV_GREEN}, // MIDI Oct
|
||||
{89, 1, HSV_CHARTREUSE}, // MIDI Oct
|
||||
{95, 1, HSV_GOLD}, // VERSION
|
||||
{96, 1, HSV_PINK}, // EE_CLR
|
||||
{98, 7, HSV_ORANGE}, // MIDI layouts
|
||||
{98, 8, HSV_ORANGE}, // MIDI layouts
|
||||
{107, 1, HSV_YELLOW}, // MI_VELD
|
||||
{108, 1, HSV_GREEN}, // MI_VELU
|
||||
{110, 1, HSV_RED}, // RGB_TOG
|
||||
|
@ -530,6 +548,7 @@ void switch_keylight_color4bass(keyrecord_t *record, uint8_t keylocation){
|
|||
keylight_manager(record, HSV_ORANGE, keylocation);
|
||||
break;
|
||||
case _C_SYSTEM_BASS2ROW:
|
||||
case _FAKE_B_SYSTEM_BASS2ROW:
|
||||
keylight_manager(record, HSV_YELLOW, keylocation);
|
||||
break;
|
||||
case _CFLIP_BASS2ROW:
|
||||
|
@ -546,6 +565,7 @@ void switch_keylight_color4chords(keyrecord_t *record, uint8_t keylocation){
|
|||
keylight_manager(record, HSV_YELLOW, keylocation);
|
||||
break;
|
||||
case _C_SYSTEM_BASS2ROW:
|
||||
case _FAKE_B_SYSTEM_BASS2ROW:
|
||||
keylight_manager(record, HSV_GOLDENROD, keylocation);
|
||||
break;
|
||||
case _CFLIP_BASS2ROW:
|
||||
|
@ -596,6 +616,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
}
|
||||
break;
|
||||
|
||||
case CNTBASB:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_FAKE_B_SYSTEM_BASS2ROW);
|
||||
}
|
||||
break;
|
||||
|
||||
case CSYSALL:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_C_SYSTEM_ENTIRELY);
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
Copyright 2023 3araht
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define GIABARINAIX2
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
Copyright 2023 3araht
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define GIABARINAIX2
|
||||
|
|
|
@ -58,17 +58,18 @@ user_config_t user_config;
|
|||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_C_SYSTEM_BASE, // MIDI C-system
|
||||
_FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system.
|
||||
_C_SYSTEM_BASS2ROW, // counter bass system
|
||||
_C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
|
||||
_C_SYSTEM_FREEBASS, // C-system Free Bass
|
||||
_C_SYSTEM_BASE, // MIDI C-system
|
||||
_FAKE_B_SYSTEM, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system.
|
||||
_C_SYSTEM_BASS2ROW, // counter bass system
|
||||
_FAKE_B_SYSTEM_BASS2ROW, // MIDI fake B-system doesn't have correct assignments on top two rows. The bottom 3 rows are B-system. Counter bass version.
|
||||
_C_SYSTEM_ENTIRELY, // single notes for both left and right keybaords.
|
||||
_C_SYSTEM_FREEBASS, // C-system Free Bass
|
||||
_CHROMATONE,
|
||||
_CFLIP_BASS2ROW, // 180 degree flipped layout on right side keyboard
|
||||
_CFLIP_BASS2ROW, // 180 degree flipped layout on right side keyboard
|
||||
_QWERTY,
|
||||
_COLEMAK,
|
||||
_ADJUST, // for Fn keys, etc.
|
||||
_FN // for changing layers, octaves, etc.
|
||||
_ADJUST, // for Fn keys, etc.
|
||||
_FN // for changing layers, octaves, etc.
|
||||
};
|
||||
|
||||
// Defines the keycodes used by our macros in process_record_user
|
||||
|
@ -181,6 +182,7 @@ enum custom_keycodes {
|
|||
CSYSTEM, // C-SYSTEM layout
|
||||
BSYSTEM, // B-SYSTEM layout
|
||||
CNTBASC, // CouNTer BASs C-system layout
|
||||
CNTBASB, // CouNTer BASs B-system layout
|
||||
CSYSALL, // C-SYStem ALL layout
|
||||
CSYSFBS, // C-SYStem Free BaSs
|
||||
CHRTONE, // CHRomaTONE layout
|
||||
|
@ -240,6 +242,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
|
||||
),
|
||||
|
||||
/* fake B-system */
|
||||
[_FAKE_B_SYSTEM_BASS2ROW] = LAYOUT(
|
||||
MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr, MI_CH_Csr, MI_CH_Gsr, MI_CH_Dsr, MI_CH_Asr,
|
||||
MI_CH_Dbr, MI_CH_Abr, MI_CH_Ebr, MI_CH_Bbr, MI_CH_Fr, MI_CH_Cr, MI_CH_Gr, MI_CH_Dr, MI_CH_Ar, MI_CH_Er, MI_CH_Br, MI_CH_Fsr,
|
||||
MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Fs,
|
||||
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
|
||||
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
|
||||
|
||||
MI_Ab2,
|
||||
MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
|
||||
MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
|
||||
MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
|
||||
),
|
||||
|
||||
/* C-system entirely */
|
||||
[_C_SYSTEM_ENTIRELY] = LAYOUT(
|
||||
MI_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
|
||||
|
@ -340,7 +356,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
/* Fn */
|
||||
[_FN] = LAYOUT(
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_TOG,
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, XXXXXXX, RGB_MOD, RGB_TOG,
|
||||
DF_QWER, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
DF_COLE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLMICH,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
|
@ -348,24 +364,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
XXXXXXX,
|
||||
MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, RGB_MOD, RGB_TOG,
|
||||
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, CNTBASB, XXXXXXX, MI_VELD, MI_VELU, RGB_MOD, RGB_TOG,
|
||||
XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_FREEBASS] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_CFLIP_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
[_C_SYSTEM_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FAKE_B_SYSTEM] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_FAKE_B_SYSTEM_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_ENTIRELY] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_C_SYSTEM_FREEBASS] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_CHROMATONE] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_CFLIP_BASS2ROW] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_QWERTY] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_COLEMAK] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_ADJUST] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -383,7 +400,7 @@ const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS({1,
|
|||
|
||||
// Light up fn layer keys
|
||||
const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS( // left keyboard
|
||||
{0, 7, HSV_ORANGE}, // MIDI layouts
|
||||
{0, 8, HSV_ORANGE}, // MIDI layouts
|
||||
{11, 1, HSV_RED}, // RGB_TOG
|
||||
{12, 1, HSV_WHITE}, // DF_QWER
|
||||
{13, 1, HSV_CORAL}, // TGLBASS
|
||||
|
@ -410,15 +427,16 @@ const rgblight_segment_t PROGMEM my_fn_layer[] = RGBLIGHT_LAYER_SEGMENTS(
|
|||
{53, 1, HSV_PINK},
|
||||
#endif
|
||||
// right keyboard
|
||||
{60, 7, HSV_ORANGE}, // MIDI layouts
|
||||
{60, 8, HSV_ORANGE}, // MIDI layouts
|
||||
{74, 1, HSV_CORAL}, // TGLBASS
|
||||
{85, 1, HSV_BLUE}, // MIDI Oct
|
||||
{86, 1, HSV_CYAN}, // MIDI Oct
|
||||
{87, 1, HSV_SPRINGGREEN}, // MIDI Oct
|
||||
{88, 1, HSV_GREEN}, // MIDI Oct
|
||||
{89, 1, HSV_CHARTREUSE}, // MIDI Oct
|
||||
{95, 1, HSV_GOLD}, // VERSION
|
||||
{96, 1, HSV_PINK}, // EE_CLR
|
||||
{98, 7, HSV_ORANGE}, // MIDI layouts
|
||||
{98, 8, HSV_ORANGE}, // MIDI layouts
|
||||
{107, 1, HSV_YELLOW}, // MI_VELD
|
||||
{108, 1, HSV_GREEN}, // MI_VELU
|
||||
{110, 1, HSV_RED}, // RGB_TOG
|
||||
|
@ -490,7 +508,7 @@ bool rgb_matrix_indicators_user(void) {
|
|||
// rgb_matrix_set_color(72, RGB_DARKORANGE);
|
||||
break;
|
||||
case _FN:
|
||||
for (i = 0;i < 7;i++) {
|
||||
for (i = 0;i < 8;i++) {
|
||||
rgb_matrix_set_color(74 - i, RGB_DARKORANGE); // MIDI layouts
|
||||
// right keyboard
|
||||
rgb_matrix_set_color(i, RGB_DARKORANGE); // MIDI layouts
|
||||
|
@ -512,6 +530,7 @@ bool rgb_matrix_indicators_user(void) {
|
|||
rgb_matrix_set_color(28, RGB_DARKSPRINGGREEN); // MIDI Oct
|
||||
rgb_matrix_set_color(29, RGB_DARKGREEN); // MIDI Oct
|
||||
rgb_matrix_set_color(30, RGB_DARKCHARTREUSE); // MIDI Oct
|
||||
rgb_matrix_set_color(36, RGB_DARKGOLD); // VERSION
|
||||
rgb_matrix_set_color(37, RGB_DARKPINK); // EE_CLR
|
||||
rgb_matrix_set_color(41, RGB_DARKYELLOW); // MI_VELD
|
||||
rgb_matrix_set_color(40, RGB_DARKGREEN); // MI_VELU
|
||||
|
@ -645,6 +664,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
}
|
||||
break;
|
||||
|
||||
case CNTBASB:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_FAKE_B_SYSTEM_BASS2ROW);
|
||||
}
|
||||
break;
|
||||
|
||||
case CSYSALL:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_C_SYSTEM_ENTIRELY);
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
/*
|
||||
Copyright 2023 3araht
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
||||
|
|
|
@ -1,18 +1,8 @@
|
|||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
MIDI_ENABLE = yes # MIDI support
|
||||
ENCODER_ENABLE = yes # encoder on mute button
|
||||
SPLIT_KEYBOARD = yes # Enables split keyboard support
|
||||
# RGB_MATRIX_ENABLE is not suitable for giabalanai keyboard on the right side (there are dulpicate keys).
|
||||
RGB_MATRIX_ENABLE = no # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
|
||||
RGB_MATRIX_DRIVER = WS2812 # 2021/01/23 added.
|
||||
|
|
Loading…
Reference in a new issue