#include "./user_config.h"
#include QMK_KEYBOARD_H
#define _DEF_BASE_MASK 0x1
#define _ALT_BASE_MASK 0x2
enum {
_DEF_BASE,
# ifndef MINIFAN_SINGLE_LAYOUT
_ALT_BASE,
# endif
_DEF_NSY,
# ifndef MINIFAN_SINGLE_LAYOUT
_ALT_NSY,
# endif
_MOV, _RAR,
# ifndef REMOVE_PAD
_PAD,
# endif
# ifndef REMOVE_ACC
_ACC,
# endif
# ifndef REMOVE_DRA
_DRA,
# endif
# ifndef REMOVE_BON
_BON,
# endif
_FUN, } ;
enum {
_NORMAL_, _FULL_, # ifdef DVORAK_DESCRAMBLE
_HALF_, # endif
};
# ifndef STARTUP_ALTERNATE
short alternate = _NORMAL_;
# else
short alternate = _FULL_; # endif
bool shift_ison = 0; # define TRUE 1
# define FALSE 0
bool _fun_stay = FALSE; bool leds_on;
# ifdef LEDS_OFF_BASE_DEF
bool led_middle_on = TRUE; # endif
bool isolate_trigger = FALSE; bool capslock; bool numlock; layer_state_t state_recall; bool speed_measure = SPEED_INIT_VALUE; uint32_t speed_counttime; short speed_countdown = SPEED_COUNTDOWN; int speed; long int speed_batches = 0; long int speed_add = 0; bool sizecount_measure = COUNT_INIT_VALUE; long int sizecount_blanks = 0; long int sizecount_chars = 0; bool sizecount_word; bool sizecount_menu = FALSE; long int sizecount_max = 0; bool sizecount_max_type; #define SIZECOUNT_WORD 0
#define SIZECOUNT_CHAR 1
#include "./unicode_macros.c"
void keyboard_post_init_user (void) {
# ifdef RGBLIGHT_ENABLE
# ifdef STARTUP_SIDE_LEDS_OFF
leds_on = FALSE;
# else
leds_on = TRUE;
# endif
rgblight_set_effect_range (1, 1); rgblight_sethsv_noeeprom (HSV_WHITE); rgblight_mode_noeeprom (RGBLIGHT_EFFECT_BREATHING + 2);
setrgb (0, 0, 0, (LED_TYPE *)&led[0]); setrgb (0, 0, 0, (LED_TYPE *)&led[2]);
# ifdef STARTUP_MID_LED_OFF
rgblight_disable (); # ifdef LEDS_OFF_BASE_DEF
led_middle_on = FALSE;
# endif
# endif
isolate_rgblight_set ();
# endif
# ifdef STARTUP_ALTERNATE
layer_move (_ALT_BASE);
# else
layer_move (_DEF_BASE);
# endif
_fun_stay = TRUE;
}
int write_number (long int input, short divide10) {
long int step10;
short digit;
short start = FALSE;
short printed = 0;
char output[2];
output[1] = '\0';
if (0 > input) { send_string ("-"); printed++;
input *= -1; }
for (step10 = 1000000000; 0 != step10; step10 /= 10) { digit = input / step10;
input = input % step10;
if (!start) { if ((0 != digit) || (1 == step10)) start = TRUE; }
if (divide10 && (1 == step10)) { send_string (".");
printed++;
}
if (start) { output[0] = '0' + digit;
send_string (output);
printed++;
}
}
return printed;
}
void middle_led_control (short hsv_h, short hsv_s, short hsv_v ) {
# ifdef RGBLIGHT_ENABLE
if (FALSE == speed_measure) { if ( ! ((TRUE == sizecount_measure) && (0 != sizecount_max)) ) {
rgblight_sethsv_noeeprom (hsv_h, hsv_s, hsv_v); }
}
# endif
}
void speed_led (int speed) {
# ifdef RGBLIGHT_ENABLE
speed /= 10; if ( ! ((TRUE == sizecount_measure) && (0 != sizecount_max)) ) { rgblight_sethsv_noeeprom (SPEED_HUE_STEP * speed + SPEED_HUE_START, 255, 128); rgblight_set (); }
# endif
}
void isolate_rgblight_set () {
# ifdef RGBLIGHT_ENABLE
if (!leds_on) { uint8_t led0r = 0; uint8_t led0g = 0; uint8_t led0b = 0;
uint8_t led2r = 0; uint8_t led2g = 0; uint8_t led2b = 0;
led0r = 0;
led0g = 0;
led0b = 0;
led2r = 0;
led2g = 0;
led2b = 0;
setrgb(led0r, led0g, led0b, (LED_TYPE *)&led[0]); setrgb(led2r, led2g, led2b, (LED_TYPE *)&led[2]); }
rgblight_set ();
# endif
}
void indicate_fun_stay (void) {
# ifdef RGBLIGHT_ENABLE
uint8_t led0r = 0; uint8_t led0g = 0; uint8_t led0b = 0;
uint8_t led2r = 0; uint8_t led2g = 0; uint8_t led2b = 0;
if (_fun_stay == TRUE) { led0r = 255; led2r = 255; led2g = 50;
}else{
led0r = 255; led0g = 50; led2r = 255; }
setrgb(led0r, led0g, led0b, (LED_TYPE *)&led[0]); setrgb(led2r, led2g, led2b, (LED_TYPE *)&led[2]); isolate_rgblight_set ();
# endif }
void indicate_base (void) {
# ifdef RGBLIGHT_ENABLE
uint8_t led0r = 0; uint8_t led0g = 0; uint8_t led0b = 0;
uint8_t led2r = 0; uint8_t led2g = 0; uint8_t led2b = 0;
if (_NORMAL_ == alternate) { led0r = 255; led0g = 255;
led0b = 255;
rgblight_sethsv_noeeprom (HSV_PURPLE); led2r = 100; led2b = 100;
}
# ifdef DVORAK_DESCRAMBLE
else if (_HALF_ == alternate) { led0r = 100; led0b = 100;
rgblight_sethsv_noeeprom (HSV_WHITE); led2r = 100; led2b = 100;
}
# endif
else if (_FULL_ == alternate) { led0r = 100; led0b = 100;
rgblight_sethsv_noeeprom (HSV_PURPLE);
led2r = 255; led2g = 255;
led2b = 255;
}
setrgb(led0r, led0g, led0b, (LED_TYPE *)&led[0]); setrgb(led2r, led2g, led2b, (LED_TYPE *)&led[2]); isolate_rgblight_set ();
# endif }
void set_led_colors_ (layer_state_t state) {
# ifdef RGBLIGHT_ENABLE
uint8_t led0r = 0; uint8_t led0g = 0; uint8_t led0b = 0;
uint8_t led2r = 0; uint8_t led2g = 0; uint8_t led2b = 0;
short color_ddl = 28 ;
# ifdef LEDS_OFF_BASE_DEF
if (!layer_state_cmp (state, _DEF_BASE)) { if (led_middle_on) { rgblight_enable_noeeprom (); }
}
# endif
if (layer_state_cmp (state, _FUN)) { middle_led_control (HSV_RED); indicate_fun_stay (); return ; }
# ifndef REMOVE_BON
else if (layer_state_cmp (state, _BON)) { middle_led_control (HSV_YELLOW);
}
# endif
# ifndef REMOVE_DRA
else if (layer_state_cmp (state, _DRA)) { led0r = 255; led0g = 128; led2r = 255; led2g = 128; middle_led_control( HSV_GOLDENROD );
}
# endif
# ifndef REMOVE_ACC
else if (layer_state_cmp (state, _ACC)) { led0g = 150; led0b = 100;
led2g = 150;
led2b = 100;
middle_led_control (HSV_TURQUOISE); }
# endif
# ifndef REMOVE_PAD
else if (layer_state_cmp (state, _PAD)) { if (numlock) {
led0b = 255; led2g = 255; }else{
led0g = 255; led2b = 255; }
middle_led_control (60, 20, 100); }
# endif
else if (layer_state_cmp (state, _RAR)) { indicate_base (); return; }
else if (layer_state_cmp (state, _MOV)) { led0g = 255; led2g = 255;
middle_led_control(HSV_GREEN);
}
else if (layer_state_cmp (state, _ALT_NSY)) { led0b = 255; led2r = color_ddl; led2g = color_ddl; led2b = color_ddl; middle_led_control (HSV_BLUE);
}
else if (layer_state_cmp (state, _DEF_NSY)) { led0b = 255; led2b = 255;
middle_led_control (HSV_BLUE);
}
else if (layer_state_cmp (state, _ALT_BASE)) {
# ifdef LEDS_OFF_BASE_ALT
rgblight_disable_noeeprom ();
# else
# if !defined(BASE_NUMPAD__ALT_BASE)
if (capslock) {
led2r = 255; led2g = 255; led2b = 255; } else {
led2r = color_ddl; led2g = color_ddl; led2b = color_ddl; }
middle_led_control (HSV_TEAL);
# else
if (numlock) {
led0b = 80; led2g = 80; }else{
led2b = 80; led0g = 80; }
middle_led_control (60, 20, 100);
# endif
# endif
}
else if (layer_state_cmp (state, _DEF_BASE)) {
# ifdef LEDS_OFF_BASE_DEF
rgblight_disable_noeeprom ();
# else
if (capslock) {
led0r = 255; led0g = 255; led0b = 255; } else {
led0r = 28; led0g = 28; led0b = 28; }
middle_led_control (HSV_TEAL);
# endif
}
setrgb (led0r, led0g, led0b, (LED_TYPE *)&led[0]); setrgb (led2r, led2g, led2b, (LED_TYPE *)&led[2]);
isolate_rgblight_set ();
# endif }
bool led_update_user (led_t led_state) {
if (led_state.num_lock) { numlock = TRUE;
}else{
numlock = FALSE;
}
if (led_state.caps_lock) {
capslock = TRUE;
}else{
capslock = FALSE;
}
set_led_colors_ (state_recall); return true ;
}
layer_state_t layer_state_set_user (layer_state_t state) {
set_led_colors_ (state); state_recall = state; return state;
}
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
# if defined(BASE_DVORAK__DEF_BASE) || defined(BASE_DVORAK__ALT_BASE)
# include "./base_dvorak.c"
# endif
# if defined(BASE_DVORAK_DESCRAMBLE__ALT_BASE)
# include "./base_dvorak_descramble.c"
# endif
# if defined(BASE_QWERTY__DEF_BASE) || defined(BASE_QWERTY__ALT_BASE)
# include "./base_qwerty.c"
# endif
# if defined(BASE_QWERTY_BASEARROW__DEF_BASE) || defined(BASE_QWERTY_BASEARROW__ALT_BASE)
# include "./base_qwerty_basearrow.c"
# endif
# if defined(BASE_COLEMAK__DEF_BASE) || defined(BASE_COLEMAK__ALT_BASE)
# include "./base_colemak.c"
# endif
# if defined(BASE_WORKMAN__DEF_BASE) || defined(BASE_WORKMAN__ALT_BASE)
# include "./base_workman.c"
# endif
# if defined(BASE_NUMPAD__ALT_BASE)
# include "./base_numpad.c"
# endif
# ifndef BASESFILE_LAYER_MOV
[ _MOV ] = LAYOUT_redefined (
# ifndef ARROWS_TRIANGLE
# define NAVI_11 KC_BTN3
# define NAVI_12 KC_PGUP
# define NAVI_13 KC_HOME
# define NAVI_14 KC_END
# define NAVI_15 KC_PGDN
# define NAVI_21 KC_BTN1
# define NAVI_22 KC_LEFT
# define NAVI_23 KC_UP
# define NAVI_24 KC_DOWN
# define NAVI_25 KC_RIGHT
# define NAVI_31 KC_BTN2
# define NAVI_32 KC_ACL0
# define NAVI_33 KC_ACL1
# define NAVI_34 KC_ACL2
# define NAVI_35 XXXXXXX
# define MOUS_11 KC_WH_L
# define MOUS_12 KC_WH_D
# define MOUS_13 KC_WH_U
# define MOUS_14 KC_WH_R
# define MOUS_15 XXXXXXX
# define MOUS_21 KC_MS_L
# define MOUS_22 KC_MS_D
# define MOUS_23 KC_MS_U
# define MOUS_24 KC_MS_R
# define MOUS_25 KC_BTN1
# define MOUS_31 KC_BTN5
# define MOUS_32 KC_BTN4
# define MOUS_33 KC_BTN3
# define MOUS_34 KC_BTN2
# define MOUS_35 XXXXXXX
# endif
# ifdef ARROWS_TRIANGLE
# define NAVI_11 KC_PGDN
# define NAVI_12 KC_UP
# define NAVI_13 KC_PGUP
# define NAVI_14 KC_HOME
# define NAVI_15 KC_BTN3
# define NAVI_21 KC_LEFT
# define NAVI_22 KC_DOWN
# define NAVI_23 KC_RIGHT
# define NAVI_24 KC_END
# define NAVI_25 KC_BTN1
# define NAVI_31 XXXXXXX
# define NAVI_32 KC_ACL2
# define NAVI_33 KC_ACL1
# define NAVI_34 KC_ACL0
# define NAVI_35 KC_BTN2
# define MOUS_11 XXXXXXX
# define MOUS_12 KC_WH_D
# define MOUS_13 KC_MS_U
# define MOUS_14 KC_WH_U
# define MOUS_15 KC_WH_L
# define MOUS_21 KC_BTN1
# define MOUS_22 KC_MS_L
# define MOUS_23 KC_MS_D
# define MOUS_24 KC_MS_R
# define MOUS_25 KC_WH_R
# define MOUS_31 KC_BTN2
# define MOUS_32 KC_BTN3
# define MOUS_33 KC_BTN4
# define MOUS_34 KC_BTN5
# define MOUS_35 XXXXXXX
# endif
# ifndef ARROWS_LEFT
# define LEFT_AA MOUS_11
# define LEFT_AB MOUS_12
# define LEFT_AC MOUS_13
# define LEFT_AD MOUS_14
# define LEFT_AE MOUS_15
# define LEFT_BA MOUS_21
# define LEFT_BB MOUS_22
# define LEFT_BC MOUS_23
# define LEFT_BD MOUS_24
# define LEFT_BE MOUS_25
# define LEFT_CA MOUS_31
# define LEFT_CB MOUS_32
# define LEFT_CC MOUS_33
# define LEFT_CD MOUS_34
# define LEFT_CE MOUS_35
# define RGHT_AA NAVI_11
# define RGHT_AB NAVI_12
# define RGHT_AC NAVI_13
# define RGHT_AD NAVI_14
# define RGHT_AE NAVI_15
# define RGHT_BA NAVI_21
# define RGHT_BB NAVI_22
# define RGHT_BC NAVI_23
# define RGHT_BD NAVI_24
# define RGHT_BE NAVI_25
# define RGHT_CA NAVI_31
# define RGHT_CB NAVI_32
# define RGHT_CC NAVI_33
# define RGHT_CD NAVI_34
# define RGHT_CE NAVI_35
# endif
# ifdef ARROWS_LEFT
# define LEFT_AA NAVI_11
# define LEFT_AB NAVI_12
# define LEFT_AC NAVI_13
# define LEFT_AD NAVI_14
# define LEFT_AE NAVI_15
# define LEFT_BA NAVI_21
# define LEFT_BB NAVI_22
# define LEFT_BC NAVI_23
# define LEFT_BD NAVI_24
# define LEFT_BE NAVI_25
# define LEFT_CA NAVI_31
# define LEFT_CB NAVI_32
# define LEFT_CC NAVI_33
# define LEFT_CD NAVI_34
# define LEFT_CE NAVI_35
# define RGHT_AA MOUS_11
# define RGHT_AB MOUS_12
# define RGHT_AC MOUS_13
# define RGHT_AD MOUS_14
# define RGHT_AE MOUS_15
# define RGHT_BA MOUS_21
# define RGHT_BB MOUS_22
# define RGHT_BC MOUS_23
# define RGHT_BD MOUS_24
# define RGHT_BE MOUS_25
# define RGHT_CA MOUS_31
# define RGHT_CB MOUS_32
# define RGHT_CC MOUS_33
# define RGHT_CD MOUS_34
# define RGHT_CE MOUS_35
# endif
# if !defined(MOREKEY2_ARROW_CLUSTER)
# define _MOV_KEY_ROW2_KEY1 KC_RSFT
# define _MOV_KEY_ROW2_KEY2 RGHT_CE
# define _MOV_KEY_ROW2_KEY3 RGHT_CD
# define _MOV_KEY_ROW2_KEY4 RGHT_CC
# define _MOV_KEY_ROW1_KEY1 KC_RALT
# define _MOV_KEY_ROW1_KEY2 MORE_key2
# define _MOV_KEY_ROW1_KEY3 KC__YGUI
# define _MOV_KEY_ROW1_KEY4 KC_PGDN
# endif
# if defined(MOREKEY2_ARROW_CLUSTER) && defined(ARROWS_TRIANGLE)
# define _MOV_KEY_ROW2_KEY2 KC_UP
# define _MOV_KEY_ROW1_KEY1 KC_RIGHT
# define _MOV_KEY_ROW1_KEY2 KC_DOWN
# define _MOV_KEY_ROW1_KEY3 KC_LEFT
# endif
# if defined(MOREKEY2_ARROW_CLUSTER) && !defined(MOREKEY2_ADD_NAVIGATION) && defined(ARROWS_TRIANGLE)
# define _MOV_KEY_ROW2_KEY1 KC_RSFT
# define _MOV_KEY_ROW2_KEY3 RGHT_CD
# define _MOV_KEY_ROW2_KEY4 RGHT_CC
# define _MOV_KEY_ROW1_KEY4 KC_PGDN
# endif
# if defined(MOREKEY2_ADD_NAVIGATION) && defined(ARROWS_TRIANGLE)
# define _MOV_KEY_ROW2_KEY1 KC_PGDN
# define _MOV_KEY_ROW2_KEY3 KC_PGUP
# define _MOV_KEY_ROW2_KEY4 KC_HOME
# define _MOV_KEY_ROW1_KEY4 KC_END
# endif
# if defined(MOREKEY2_ADD_NAVIGATION) && defined(ARROWS_TRIANGLE) && defined(ARROWS_LEFT)
# undef LEFT_AE
# define LEFT_AE KC_BTN4
# undef LEFT_CE
# define LEFT_CE KC_BTN5
# endif
# if defined(MOREKEY2_ARROW_CLUSTER) && !defined(ARROWS_TRIANGLE)
# define _MOV_KEY_ROW1_KEY1 KC_RIGHT
# define _MOV_KEY_ROW1_KEY2 KC_DOWN
# define _MOV_KEY_ROW1_KEY3 KC_UP
# define _MOV_KEY_ROW1_KEY4 KC_LEFT
# endif
# if defined(MOREKEY2_ARROW_CLUSTER) && !defined(MOREKEY2_ADD_NAVIGATION) && !defined(ARROWS_TRIANGLE)
# define _MOV_KEY_ROW2_KEY1 KC_RSFT
# define _MOV_KEY_ROW2_KEY2 RGHT_CE
# define _MOV_KEY_ROW2_KEY3 RGHT_CD
# define _MOV_KEY_ROW2_KEY4 RGHT_CC
# endif
# if defined(MOREKEY2_ADD_NAVIGATION) && !defined(ARROWS_TRIANGLE)
# define _MOV_KEY_ROW2_KEY1 KC_PGDN
# define _MOV_KEY_ROW2_KEY2 KC_END
# define _MOV_KEY_ROW2_KEY3 KC_HOME
# define _MOV_KEY_ROW2_KEY4 KC_PGUP
# endif
# if defined(MOREKEY2_ADD_NAVIGATION) && !defined(ARROWS_TRIANGLE) && !defined(ARROWS_LEFT)
# undef RGHT_AA
# define RGHT_AA KC_ACL2
# undef RGHT_CA
# define RGHT_CA KC_ACL1
# endif
# if defined(VI_SWITCHERYDOO) && !defined(ARROWS_TRIANGLE)
# undef RGHT_BA
# define RGHT_BA KC_LEFT
# undef RGHT_BB
# define RGHT_BB KC_DOWN
# undef RGHT_BC
# define RGHT_BC KC_UP
# undef RGHT_BD
# define RGHT_BD KC_RIGHT
# undef RGHT_BE
# define RGHT_BE KC_BTN1
# endif
# if defined(VI_SWITCHERYDOO) && !defined(ARROWS_TRIANGLE) && defined(MOREKEY2_ARROW_CLUSTER)
# undef _MOV_KEY_ROW1_KEY1
# define _MOV_KEY_ROW1_KEY1 KC_RIGHT
# undef _MOV_KEY_ROW1_KEY2
# define _MOV_KEY_ROW1_KEY2 KC_UP
# undef _MOV_KEY_ROW1_KEY3
# define _MOV_KEY_ROW1_KEY3 KC_DOWN
# undef _MOV_KEY_ROW1_KEY4
# define _MOV_KEY_ROW1_KEY4 KC_LEFT
# endif
CTO_BASE , LEFT_AA , LEFT_AB , LEFT_AC , LEFT_AD , LEFT_AE , RGHT_AA , RGHT_AB , RGHT_AC , RGHT_AD , RGHT_AE , KC_BSPC ,
KC_LCTL , LEFT_BA , LEFT_BB , LEFT_BC , LEFT_BD , LEFT_BE , RGHT_BA , RGHT_BB , RGHT_BC , RGHT_BD , RGHT_BE , KC_RCTL ,
KC_LSFT , LEFT_CA , LEFT_CB , LEFT_CC , LEFT_CD , LEFT_CE , RGHT_CA , RGHT_CB , _MOV_KEY_ROW2_KEY4 , _MOV_KEY_ROW2_KEY3 , _MOV_KEY_ROW2_KEY2 , _MOV_KEY_ROW2_KEY1 ,
KC_LALT
# ifdef TRANSMINIVAN_LEFTSIDE
, TRANS_LEFT
# endif
# ifdef MORE_KEY__COMMAND
, MORE_key1
# endif
, KC_DEL , KC_ENT
# ifndef SPACE_LEFT__ENTER_RIGHT
, _______
# else
, KC_PGUP
# endif
# ifdef TRANSMINIVAN_MIDLEFT
, TRANS_MIDLEFT
# endif
# ifndef SPACE_LEFT__ENTER_RIGHT
, KC_PGUP
# else
, _______
# endif
# ifdef TRANSMINIVAN_RIGHTSIDE
, TRANS_RIGHT
# endif
, _MOV_KEY_ROW1_KEY4 , _MOV_KEY_ROW1_KEY3
# ifdef MORE_KEY__ARROW
, _MOV_KEY_ROW1_KEY2
# endif
, _MOV_KEY_ROW1_KEY1
),
# endif
# ifndef BASESFILE_LAYER_RAR
[ _RAR ] = LAYOUT_redefined (
CTO_BASE , COUNT_TOG , COUNT_NULL , COUNT_WORDMIN , COUNT_REPORT , SPEED_TOG , SPEED_REPORT , KC_MPLY , KC_MNXT , KC_MPRV , KC_MSTP , KC_RSFT ,
KC_CAPS , C_KC_PWR , C_KC_WAKE , C_KC_SLEP , C_KC_PAUS , KC_SLCK , KC_PSCR , XXXXXXX , KC_VOLU , KC_VOLD , KC_MUTE , KC_INS ,
XP_DRA_CG , UNICODE_MODE_LNX , UNICODE_MODE_BSD , UNICODE_MODE_OSX , UNICODE_MODE_WIN , UNICODE_MODE_WINC , XXXXXXX , XXXXXXX , KC_BRIGHTNESS_UP , KC_BRIGHTNESS_DOWN , XXXXXXX , KC_APP ,
LEDS_ON
# ifdef TRANSMINIVAN_LEFTSIDE
, TRANS_LEFT
# endif
# ifdef MORE_KEY__COMMAND
, MORE_key1
# endif
# ifdef LEDS_OFF_BASE_DEF
, RGBTOG_
# else
, RGB_TOG
# endif
, KC__XGUI , XXXXXXX
# ifdef TRANSMINIVAN_MIDLEFT
, TRANS_MIDLEFT
# endif
, OTHER_BASE , XXXXXXX
# ifdef TRANSMINIVAN_RIGHTSIDE
, TRANS_RIGHT
# endif
, KC__YGUI
# ifdef MORE_KEY__ARROW
, MORE_key2
# endif
, _______
),
# endif
# ifndef REMOVE_PAD
# ifndef BASESFILE_LAYER_PAD
# ifndef NUMPAD_COMMON_SQUARE
[ _PAD ] = LAYOUT_redefined (
CTO_BASE , XXXXXXX , XXXXXXX , KC_KP_DOT , KC_KP_4 , KC_KP_2 , KC_KP_8 , KC_KP_6 , KC_KP_ASTERISK , XXXXXXX , XXXXXXX , KC_BSPC ,
KC_LCTL , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_KP_0 , KC_KP_MINUS ,
KC_LSFT , XXXXXXX , XXXXXXX , KC_KP_SLASH , XXXXXXX , KC_KP_EQUAL , KC_KP_PLUS , KC_KP_3 , KC_KP_1 , KC_KP_7 , KC_KP_9 , KC_RSFT ,
KC_LALT
# ifdef TRANSMINIVAN_LEFTSIDE
, _______ # endif
# ifdef MORE_KEY__COMMAND
, MORE_key1
# endif
, KC_DEL , KC_TAB , KC_KP_ENTER
# ifdef TRANSMINIVAN_MIDLEFT
, TRANS_MIDLEFT
# endif
, KC_NUMLOCK , XXXXXXX , KC__YGUI
# ifdef TRANSMINIVAN_RIGHTSIDE
, TRANS_RIGHT
# endif
# ifdef MORE_KEY__ARROW
, MORE_key2
# endif
, KC_RALT
),
# else
[ _PAD ] = LAYOUT_redefined (
CTO_BASE , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_EQUAL , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_KP_MINUS , KC_BSPC ,
KC_LCTL , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_ASTERISK , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_KP_PLUS , KC_RCTL ,
KC_LSFT , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_SLASH , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_KP_COMMA , KC_RSFT ,
KC_LALT
# ifdef TRANSMINIVAN_LEFTSIDE
, TRANS_LEFT
# endif
# ifdef MORE_KEY__COMMAND
, MORE_key1
# endif
, KC_DEL , KC_TAB , KC_KP_ENTER
# ifdef TRANSMINIVAN_MIDLEFT
, TRANS_MIDLEFT
# endif
, KC_NUMLOCK , KC_KP_0
# ifdef TRANSMINIVAN_RIGHTSIDE
, TRANS_RIGHT
# endif
# ifdef MORE_KEY__ARROW
, KC__YGUI
# endif
, KC_KP_DOT
, KC_RALT
),
# endif
# endif
# endif
# ifndef REMOVE_ACC
# ifndef BASESFILE_LAYER_ACC
[ _ACC ] = LAYOUT_redefined (
CTO_BASE , XP_ACC_AA , XP_ACC_AB , XP_ACC_AC , XP_ACC_AD , XP_ACC_AE , XP_ACC_AF , XP_ACC_AG , XP_ACC_AH , XP_ACC_AI , XP_ACC_AJ , KC_BSPC ,
LCTL ( KC_TAB ) , XP_ACC_BA , XP_ACC_BB , XP_ACC_BC , XP_ACC_BD , XP_ACC_BE , XP_ACC_BF , XP_ACC_BG , XP_ACC_BH , XP_ACC_BI , XP_ACC_BJ , XP_ACC_BK ,
KC_LSFT , XP_ACC_CA , XP_ACC_CB , XP_ACC_CC , XP_ACC_CD , XP_ACC_CE , XP_ACC_CF , XP_ACC_CG , XP_ACC_CH , XP_ACC_CI , XP_ACC_CJ , KC_RSFT ,
KC_LALT
# ifdef TRANSMINIVAN_LEFTSIDE
, TRANS_LEFT
# endif
# ifdef MORE_KEY__COMMAND
, MORE_key1
# endif
, _______ , _______ , KC_ENT
# ifdef TRANSMINIVAN_MIDLEFT
, TRANS_MIDLEFT
# endif
, KC_SPC , _______ , _______
# ifdef TRANSMINIVAN_RIGHTSIDE
, TRANS_RIGHT
# endif
# ifdef MORE_KEY__ARROW
, MORE_key2
# endif
, KC_RALT
),
# endif
# endif
# ifndef REMOVE_DRA
# ifndef BASESFILE_LAYER_DRA
[ _DRA ] = LAYOUT_redefined (
CTO_BASE , XP_DRA_AA , XP_DRA_AB , XP_DRA_AC , XP_DRA_AD , XP_DRA_AE , XP_DRA_AF , XP_DRA_AG , XP_DRA_AH , XP_DRA_AI , XP_DRA_AJ , KC_BSPC ,
KC_TAB , XP_DRA_BA , XP_DRA_BB , XP_DRA_BC , XP_DRA_BD , XP_DRA_BE , XP_DRA_BF , XP_DRA_BG , XP_DRA_BH , XP_DRA_BI , XP_DRA_BJ , KC_RCTL ,
KC_LSFT , XP_DRA_CA , XP_DRA_CB , XP_DRA_CC , XP_DRA_CD , XP_DRA_CE , XP_DRA_CF , XP_DRA_CG , XP_DRA_CH , XP_DRA_CI , XP_DRA_CJ , KC_RSFT ,
KC_LALT
# ifdef TRANSMINIVAN_LEFTSIDE
, TRANS_LEFT
# endif
# ifdef MORE_KEY__COMMAND
, MORE_key1
# endif
, _______ , _______ , KC_ENT
# ifdef TRANSMINIVAN_MIDLEFT
, TRANS_MIDLEFT
# endif
, KC_SPC , _______ , _______
# ifdef TRANSMINIVAN_RIGHTSIDE
, TRANS_RIGHT
# endif
# ifdef MORE_KEY__ARROW
, MORE_key2
# endif
, KC_RALT
),
# endif
# endif
# ifndef REMOVE_BON
# ifndef BASESFILE_LAYER_BON
[ _BON ] = LAYOUT_redefined (
CTO_BASE , XP_BON_AA , XP_BON_AB , XP_BON_AC , XP_BON_AD , XP_BON_AE , XP_BON_AF , XP_BON_AG , XP_BON_AH , XP_BON_AI , XP_BON_AJ , KC_BSPC ,
KC_GRV , XP_BON_BA , XP_BON_BB , XP_BON_BC , XP_BON_BD , XP_BON_BE , XP_BON_BF , XP_BON_BG , XP_BON_BH , XP_BON_BI , XP_BON_BJ , XP_BON_BK ,
KC_LSFT , XP_BON_CA , XP_BON_CB , XP_BON_CC , XP_BON_CD , XP_BON_CE , XP_BON_CF , XP_BON_CG , XP_BON_CH , XP_BON_CI , XP_BON_CJ , KC_RSFT ,
KC_LEFT
# ifdef TRANSMINIVAN_LEFTSIDE
, TRANS_LEFT
# endif
# ifdef MORE_KEY__COMMAND
, MORE_key1
# endif
, _______ , _______ , KC_ENT
# ifdef TRANSMINIVAN_MIDLEFT
, TRANS_MIDLEFT
# endif
, KC_SPC , _______ , _______
# ifdef TRANSMINIVAN_RIGHTSIDE
, TRANS_RIGHT
# endif
# ifdef MORE_KEY__ARROW
, MORE_key2
# endif
, KC_RIGHT
),
# endif
# endif
# ifndef BASESFILE_LAYER_FUN
[ _FUN ] = LAYOUT_redefined (
CTO_BASE , CTO_NUMS , TO ( _PAD ) , CTO_ACCE , CTO_DRAW , TO ( _BON ), TO ( _MOV ) , TO ( _RAR ) , XXXXXXX , XXXXXXX , XXXXXXX , KC_BSPC ,
KC_LCTL , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_RCTL ,
KC_LSFT , KC_F11 , KC_F12 , KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_RSFT ,
KC_LALT
# ifdef TRANSMINIVAN_LEFTSIDE
, TRANS_LEFT
# endif
# ifdef MORE_KEY__COMMAND
, MORE_key1
# endif
, MT ( MOD_LCTL | MOD_LSFT, XXXXXXX ) , MT ( MOD_LCTL | MOD_LALT , XXXXXXX ) , MT ( MOD_LSFT | MOD_LALT , XXXXXXX )
# ifdef TRANSMINIVAN_MIDLEFT
, TRANS_MIDLEFT
# endif
, _FUN_STAY , MT ( MOD_LCTL | MOD_LSFT | MOD_LALT , XXXXXXX ) , KC__YGUI
# ifdef TRANSMINIVAN_RIGHTSIDE
, _______ # endif
# ifdef MORE_KEY__ARROW
, MORE_key2
# endif
, KC_RALT
),
# endif
};