@ -20,13 +20,17 @@
enum contra_layers {
_QWERTZ ,
_FUNC ,
_NUMROW
_NUMROW ,
_NUMROW_L3 ,
_GAMING
} ;
# define KC_I3 LM(_NUMROW, MOD_LALT)
# define KC_NR MO(_NUMROW)
# define NR_L3 SAFE_RANGE
# define FUN MO(_FUNC)
# define G_1 TO(_GAMING)
# define G_0 TG(_GAMING)
const uint16_t PROGMEM keymaps [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
@ -52,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | | | | | | | | Ü | | Ö | | Del |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Lock | Ä | ß | | | | | RGBS | RGBB | RGBS | | |
* | Lock | Ä | ß | | | GAME | | RGBS | RGBB | RGBS | | |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | | | | | | | | RGBH - | RGBT | RGBH + | PgUp | |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
@ -61,14 +65,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[ _FUNC ] = {
{ _______ , _______ , _______ , _______ , _______ , _______ , _______ , DE_UE , _______ , DE_OE , _______ , KC_DEL } ,
{ KC_LOCK , DE_AE , DE_SS , _______ , _______ , _______, _______ , RGB_M_P , RGB_M_B , RGB_M_SW , _______ , _______ } ,
{ KC_LOCK , DE_AE , DE_SS , _______ , _______ , G_1, _______ , RGB_M_P , RGB_M_B , RGB_M_SW , _______ , _______ } ,
{ _______ , _______ , _______ , _______ , _______ , _______ , _______ , RGB_HUD , RGB_TOG , RGB_HUI , KC_PGUP , _______ } ,
{ _______ , _______ , _______ , XXXXXXX , XXXXXXX , _______ , _______ , XXXXXXX , XXXXXXX , KC_HOME , KC_PGDN , KC_END }
} ,
/* Numrow layer (special characters with Shift and ISO_L3_Shift)
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ß |
* | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | | | | | | | | | | | # ' | |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
@ -78,26 +82,62 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _NUMROW ] = {
{ _______ , DE_1 , DE_2 , DE_3 , DE_4 , DE_5 , DE_6 , DE_7 , DE_8 , DE_9 , DE_0 , DE_SS } ,
{ _______ , DE_1 , DE_2 , DE_3 , DE_4 , DE_5 , DE_6 , DE_7 , DE_8 , DE_9 , DE_0 , _______ } ,
{ _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , DE_HASH , _______ } ,
{ _______ , DE_LESS , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , DE_MINS , _______ } ,
{ _______ , _______ , _______ , XXXXXXX , XXXXXXX , _______ , _______ , XXXXXXX , XXXXXXX , _______ , _______ , _______ }
} ,
[ _NUMROW_L3 ] = {
{ _______ , DE_1 , DE_2 , DE_3 , DE_4 , DE_5 , DE_6 , DE_7 , DE_8 , DE_9 , DE_0 , _______ } ,
{ _______ , DE_Q , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ } ,
{ _______ , DE_LESS , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , DE_MINS , _______ } ,
{ _______ , _______ , _______ , XXXXXXX , XXXXXXX , _______ , _______ , XXXXXXX , XXXXXXX , _______ , _______ , _______ }
} ,
/* Gaming
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | | | | | | | | | | | | |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - - - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | | | | | | | | | | | | |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | | | | | | | | | | | | |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Space | | | | | | | | Reset | | | |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _GAMING ] = {
{ _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ } ,
{ _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ } ,
{ _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ } ,
{ KC_SPC , _______ , _______ , _______ , _______ , _______ , _______ , _______ , G_0 , _______ , _______ , _______ }
}
} ;
bool process_record_user ( uint16_t keycode , keyrecord_t * record ) {
if ( keycode = = NR_L3 ) {
switch ( keycode ) {
case KC_BSPC :
if ( record - > event . pressed ) {
if ( get_mods ( ) & ( MOD_BIT ( KC_LSFT ) | MOD_BIT ( KC_RSFT ) ) ) {
register_code ( DE_SS ) ;
return false ;
}
} else {
unregister_code ( DE_SS ) ;
}
return true ;
case NR_L3 :
if ( record - > event . pressed ) {
register_code ( DE_ALGR ) ;
layer_on ( _NUMROW ) ;
layer_on ( _NUMROW _L3 ) ;
} else {
layer_off ( _NUMROW ) ;
layer_off ( _NUMROW _L3 ) ;
unregister_code ( DE_ALGR ) ;
}
return false ;
}
default :
return true ;
}
}
void led_set_user ( uint8_t usb_led ) {
// Force-enable Numlock