@ -13,11 +13,14 @@ extern keymap_config_t keymap_config;
# define _QWERTY 0
# define _QWERTY 0
# define _LOWER 1
# define _LOWER 1
# define _RAISE 2
# define _RAISE 2
# define _ADJUST 3
# define LOWER MO(_LOWER)
# define LOWER MO(_LOWER)
# define RAISE MO(_RAISE)
# define RAISE MO(_RAISE)
static bool is_ctl_pressed ;
static bool is_esc_pressed ;
static bool is_bspc_pressed ;
const uint16_t PROGMEM keymaps [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
const uint16_t PROGMEM keymaps [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
/* Qwerty
/* Qwerty
@ -73,20 +76,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______ , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______ , _______ , _______ , _______ , _______ ,
_______ , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_HOME , KC_PGDN , KC_PGUP , KC_END
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_HOME , KC_PGDN , KC_PGUP , KC_END
) ,
) ,
/* Adjust */
[ _ADJUST ] = LAYOUT_ortho_4x12 (
_______ , RESET , _______ , _______ , _______ , _______ , _______ , _______ , KC_PSCR , KC_SLCK , KC_PAUS , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
) ,
} ;
} ;
uint32_t layer_state_set_user ( uint32_t state ) {
uint32_t layer_state_set_user ( uint32_t state ) {
return update_tri_layer_state ( state , _LOWER , _RAISE , _ADJUST ) ;
# ifdef JOTANCK_LEDS
switch ( biton32 ( state ) ) {
case _LOWER :
writePinHigh ( JOTANCK_LED1 ) ;
writePinLow ( JOTANCK_LED2 ) ;
break ;
case _RAISE :
writePinLow ( JOTANCK_LED1 ) ;
writePinHigh ( JOTANCK_LED2 ) ;
break ;
default :
writePinLow ( JOTANCK_LED1 ) ;
writePinLow ( JOTANCK_LED2 ) ;
break ;
} ;
# endif
return state ;
}
bool process_record_user ( uint16_t keycode , keyrecord_t * record ) {
switch ( keycode ) {
case KC_LCTL :
is_ctl_pressed = record - > event . pressed ;
break ;
case KC_ESC :
is_esc_pressed = record - > event . pressed ;
break ;
case KC_BSPC :
is_bspc_pressed = record - > event . pressed ;
break ;
} ;
return true ;
}
}
void matrix_init_user ( void ) {
void matrix_scan_user ( void ) {
if ( is_ctl_pressed & & is_esc_pressed & & is_bspc_pressed ) {
reset_keyboard ( ) ;
}
}
}