@ -1,5 +1,4 @@
/* Copyright 2015-2017 Jack Humbert
* Copyright 2020 Daniel Reibl < janos . daniel . reibl @ protonmail . com >
/* Copyright 2020 Janos Daniel Reibl <janos.daniel.reibl@protonmail.com> @riblee
*
* 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
@ -14,146 +13,8 @@
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : / / www . gnu . org / licenses / > .
*/
# include "riblee.h"
# include QMK_KEYBOARD_H
enum preonic_layers {
_QWERTY ,
_COLEMAK ,
_DVORAK ,
_LOWER ,
_RAISE ,
_ADJUST
} ;
enum preonic_keycodes {
QWERTY = SAFE_RANGE ,
COLEMAK ,
DVORAK ,
BACKLIT
} ;
# define LOWER MO(_LOWER)
# define RAISE MO(_RAISE)
/ / Tap Dance declarations
enum {
TD_A ,
TD_E ,
TD_I ,
TD_O ,
TD_U ,
} ;
const uint8_t shift = MOD_BIT ( KC_LSFT ) | MOD_BIT ( KC_RSFT ) ;
/ / Tap Dance functions
void dance_key_a ( qk_tap_dance_state_t * state , void * user_data ) {
if ( state - > count = = 1 ) {
SEND_STRING ( " a " ) ;
reset_tap_dance ( state ) ;
} else if ( state - > count = = 2 ) {
if ( ! ( keyboard_report - > mods & shift ) ) {
send_unicode_string ( " á " ) ;
} else {
send_unicode_string ( " Á " ) ;
}
reset_tap_dance ( state ) ;
}
}
void dance_key_e ( qk_tap_dance_state_t * state , void * user_data ) {
if ( state - > count = = 1 ) {
SEND_STRING ( " e " ) ;
reset_tap_dance ( state ) ;
} else if ( state - > count = = 2 ) {
if ( ! ( keyboard_report - > mods & shift ) ) {
send_unicode_string ( " é " ) ;
} else {
send_unicode_string ( " É " ) ;
}
reset_tap_dance ( state ) ;
}
}
void dance_key_i ( qk_tap_dance_state_t * state , void * user_data ) {
if ( state - > count = = 1 ) {
SEND_STRING ( " i " ) ;
reset_tap_dance ( state ) ;
} else if ( state - > count = = 2 ) {
if ( ! ( keyboard_report - > mods & shift ) ) {
send_unicode_string ( " í " ) ;
} else {
send_unicode_string ( " Í " ) ;
}
reset_tap_dance ( state ) ;
}
}
void dance_key_o ( qk_tap_dance_state_t * state , void * user_data ) {
if ( state - > count = = 1 ) {
SEND_STRING ( " o " ) ;
reset_tap_dance ( state ) ;
} else if ( state - > count = = 2 ) {
if ( ! ( keyboard_report - > mods & shift ) ) {
send_unicode_string ( " ó " ) ;
} else {
send_unicode_string ( " Ó " ) ;
}
reset_tap_dance ( state ) ;
} else if ( state - > count = = 3 ) {
if ( ! ( keyboard_report - > mods & shift ) ) {
send_unicode_string ( " ö " ) ;
} else {
send_unicode_string ( " Ö " ) ;
}
reset_tap_dance ( state ) ;
} else if ( state - > count = = 4 ) {
if ( ! ( keyboard_report - > mods & shift ) ) {
send_unicode_string ( " ő " ) ;
} else {
send_unicode_string ( " Ő " ) ;
}
reset_tap_dance ( state ) ;
}
}
void dance_key_u ( qk_tap_dance_state_t * state , void * user_data ) {
if ( state - > count = = 1 ) {
SEND_STRING ( " u " ) ;
reset_tap_dance ( state ) ;
} else if ( state - > count = = 2 ) {
if ( ! ( keyboard_report - > mods & shift ) ) {
send_unicode_string ( " ú " ) ;
} else {
send_unicode_string ( " Ú " ) ;
}
reset_tap_dance ( state ) ;
} else if ( state - > count = = 3 ) {
if ( ! ( keyboard_report - > mods & shift ) ) {
send_unicode_string ( " ü " ) ;
} else {
send_unicode_string ( " Ü " ) ;
}
reset_tap_dance ( state ) ;
} else if ( state - > count = = 4 ) {
if ( ! ( keyboard_report - > mods & shift ) ) {
send_unicode_string ( " ű " ) ;
} else {
send_unicode_string ( " Ű " ) ;
}
reset_tap_dance ( state ) ;
}
}
/ / Tap Dance definitions
qk_tap_dance_action_t tap_dance_actions [ ] = {
@ -299,43 +160,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
)
} ;
layer_state_t layer_state_set_user ( layer_state_t state ) {
return update_tri_layer_state ( state , _LOWER , _RAISE , _ADJUST ) ;
}
bool process_record_user ( uint16_t keycode , keyrecord_t * record ) {
switch ( keycode ) {
case QWERTY :
if ( record - > event . pressed ) {
set_single_persistent_default_layer ( _QWERTY ) ;
}
return false ;
break ;
case COLEMAK :
if ( record - > event . pressed ) {
set_single_persistent_default_layer ( _COLEMAK ) ;
}
return false ;
break ;
case DVORAK :
if ( record - > event . pressed ) {
set_single_persistent_default_layer ( _DVORAK ) ;
}
return false ;
break ;
case BACKLIT :
if ( record - > event . pressed ) {
register_code ( keycode_config ( KC_LGUI ) ) ;
# ifdef BACKLIGHT_ENABLE
backlight_step ( ) ;
# endif
} else {
unregister_code ( keycode_config ( KC_LGUI ) ) ;
}
return false ;
break ;
}
return true ;
} ;
} ;