|
|
@ -1,4 +1,4 @@ |
|
|
|
/* Copyright 2018 Markus Weimar |
|
|
|
/* Copyright 2019 Markus Weimar |
|
|
|
* |
|
|
|
* 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 |
|
|
@ -19,30 +19,29 @@ |
|
|
|
|
|
|
|
#define ________ KC_TRNS |
|
|
|
#define ___xx___ KC_NO |
|
|
|
#define NKRO_TG MAGIC_TOGGLE_NKRO |
|
|
|
|
|
|
|
enum my_layers { |
|
|
|
_QWZ, |
|
|
|
_QWY, |
|
|
|
_GAM, |
|
|
|
_FN1, |
|
|
|
_FN2, |
|
|
|
_FN3, |
|
|
|
_QWZ, |
|
|
|
_QWY, |
|
|
|
_GAM, |
|
|
|
_FN1, |
|
|
|
_FN2, |
|
|
|
_FN3, |
|
|
|
}; |
|
|
|
|
|
|
|
enum my_keycodes { |
|
|
|
QWERTZ = SAFE_RANGE, |
|
|
|
QWERTY, |
|
|
|
GAMING, |
|
|
|
FN1, |
|
|
|
FN2, |
|
|
|
FN3 |
|
|
|
QWERTZ = SAFE_RANGE, |
|
|
|
QWERTY, |
|
|
|
GAMING, |
|
|
|
FN1, |
|
|
|
FN2, |
|
|
|
FN3 |
|
|
|
}; |
|
|
|
|
|
|
|
enum my_ucis { |
|
|
|
UNI_LNX, |
|
|
|
UNI_MAC, |
|
|
|
UNI_WIN, |
|
|
|
UNI_LNX, |
|
|
|
UNI_MAC, |
|
|
|
UNI_WIN, |
|
|
|
}; |
|
|
|
|
|
|
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
@ -118,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
|
|
|
* | | " | ' | ‚ | ‘ | ’ | | | | | | [ | ] | ! | ? | | |
|
|
|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
|
|
|
* | | ° | ^ | „ | “ | ” | | | | # | < | > | … | – | | |
|
|
|
* | | ° | ^ | „ | “ | ” | | | | # | < | > | … | – EN | | |
|
|
|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
|
|
|
* | | | | | | | | | | | | | | | | |
|
|
|
* '--------------------------------------------------------------------------------------------------------------------------------------' |
|
|
@ -133,19 +132,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
|
|
|
|
/* FN2 |
|
|
|
* .--------------------------------------------------------------------------------------------------------------------------------------. |
|
|
|
* | | | | | % | ( | ) | P/ | P* | P- | Print | Scroll | Pause | ẞ | | |
|
|
|
* | | | | | % | ( | ) | P/ | P* | P- | Print | Scroll | Pause | ẞ | − MNS | |
|
|
|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
|
|
|
* | | | Mute | Vol- | Vol+ | Bspc | P7 | P8 | P9 | P+ | WH_U | MS_U | WH_D | × | ÷ | |
|
|
|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
|
|
|
* | | App | ACL0 | ACL1 | ACL2 | Space | P4 | P5 | P6 | WH_L | MS_L | MS_D | MS_R | WH_R | | |
|
|
|
* | | App | ACL2 | ACL1 | ACL0 | Space | P4 | P5 | P6 | WH_L | MS_L | MS_D | MS_R | WH_R | | |
|
|
|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
|
|
|
* | | | Prev | Play | Next | Tab | P1 | P2 | P3 | PEnter | BTN1 | BTN2 | BTN3 | — | | |
|
|
|
* | | | Prev | Play | Next | Tab | P1 | P2 | P3 | PEnter | BTN1 | BTN2 | BTN3 | — EM | | |
|
|
|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
|
|
|
* | Fn2 | | | | | PEnter | P0 | . : | P, | BTN1 | BTN2 | BTN3 | | | | |
|
|
|
* '--------------------------------------------------------------------------------------------------------------------------------------' |
|
|
|
*/ |
|
|
|
[_FN2] = { |
|
|
|
{ ___xx___, ___xx___, ___xx___, ___xx___, DE_PERC, DE_LPRN, DE_RPRN, KC_PSLS, KC_PAST, KC_PMNS, KC_PSCR, KC_LSCR, KC_PAUS, UC(L'ẞ'), ___xx___ }, |
|
|
|
{ ___xx___, ___xx___, ___xx___, ___xx___, DE_PERC, DE_LPRN, DE_RPRN, KC_PSLS, KC_PAST, KC_PMNS, KC_PSCR, KC_LSCR, KC_PAUS, UC(L'ẞ'), UC(L'−') }, |
|
|
|
{ ________, ___xx___, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSPC, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_WH_U, KC_MS_U, KC_WH_D, UC(L'×'), UC(L'÷') }, |
|
|
|
{ ________, KC_APP, KC_ACL2, KC_ACL1, KC_ACL0, KC_SPC, KC_P4, KC_P5, KC_P6, KC_WH_L, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_R, ________ }, |
|
|
|
{ ________, ___xx___, KC_MPRV, KC_MPLY, KC_MNXT, KC_TAB, KC_P1, KC_P2, KC_P3, KC_PENT, KC_BTN1, KC_BTN2, KC_BTN3, UC(L'—'), ________ }, |
|
|
@ -156,61 +155,61 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
|
|
|
* .--------------------------------------------------------------------------------------------------------------------------------------. |
|
|
|
* | F13 | F14 | F15 | F16 | F17 | F18 | U LNX | U WIN | U MAC | F19 | F20 | F21 | F22 | F23 | F24 | |
|
|
|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
|
|
|
* | | QWERTZ | QWERTY | | NKRO | ThinSp | L TOG | L MP | L MOD | | Pg Up | Up | Pg Dn | | | |
|
|
|
* | | QWERTZ | QWERTY | GAMING | | | L TOG | L MP | L MOD | | Pg Up | Up | Pg Dn | | | |
|
|
|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
|
|
|
* | | NaNbSp | | › | ‹ | GAMING | L HUI | L SAI | L VAI | Home | Left | Down | Right | End | | |
|
|
|
* | | | | › | ‹ | | L HUI | L SAI | L VAI | Home | Left | Down | Right | End | | |
|
|
|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
|
|
|
* | | | | » | « | | L HUD | L SAD | L VAD | FigSp | | | | NbHyph | | |
|
|
|
* | | | | » | « | | L HUD | L SAD | L VAD | NumSp | ThinSp | NaNbSp | NbSp | NbHyph | | |
|
|
|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
|
|
|
* | | | | | | | | Reset | | NbSp | | | | | | |
|
|
|
* | | | | | | | | Reset | | | | | | | | |
|
|
|
* '--------------------------------------------------------------------------------------------------------------------------------------' |
|
|
|
*/ |
|
|
|
[_FN3] = { |
|
|
|
{ KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, UNI_LNX, UNI_WIN, UNI_MAC, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24 }, |
|
|
|
{ ________, QWERTZ, QWERTY, ___xx___, NKRO_TG, UC(L' '), RGB_TOG, RGB_M_P, RGB_MOD, ___xx___, KC_PGUP, KC_UP, KC_PGDN, ___xx___, ___xx___ }, |
|
|
|
{ ________, UC(L' '), ___xx___, UC(L'›'), UC(L'‹'), GAMING, RGB_HUI, RGB_SAI, RGB_VAI, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, ________ }, |
|
|
|
{ ________, ___xx___, ___xx___, UC(L'»'), UC(L'«'), ___xx___, RGB_HUD, RGB_SAD, RGB_VAD, UC(L' '), ___xx___, ___xx___, ___xx___, UC(L'‑'), ________ }, |
|
|
|
{ ___xx___, ________, ________, ________, ________, ________, ________, RESET, ________, UC(L' '), ________, ________, ________, ________, ________ }, |
|
|
|
{ ________, QWERTZ, QWERTY, GAMING, ___xx___, ___xx___, RGB_TOG, RGB_M_P, RGB_MOD, ___xx___, KC_PGUP, KC_UP, KC_PGDN, ___xx___, ___xx___ }, |
|
|
|
{ ________, ___xx___, ___xx___, UC(L'›'), UC(L'‹'), ___xx___, RGB_HUI, RGB_SAI, RGB_VAI, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, ________ }, |
|
|
|
{ ________, ___xx___, ___xx___, UC(L'»'), UC(L'«'), ___xx___, RGB_HUD, RGB_SAD, RGB_VAD, UC(L' '), UC(L' '), UC(L' '), UC(L' '), UC(L'‑'), ________ }, |
|
|
|
{ ___xx___, ________, ________, ________, ________, ________, ________, RESET, ________, ________, ________, ________, ________, ________, ________ }, |
|
|
|
}, |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
void matrix_init_user(){ |
|
|
|
set_unicode_input_mode(UC_LNX); |
|
|
|
set_unicode_input_mode(UC_LNX); |
|
|
|
} |
|
|
|
|
|
|
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
|
|
|
switch(keycode) { |
|
|
|
case QWERTZ: |
|
|
|
if (record->event.pressed) { |
|
|
|
set_single_persistent_default_layer(_QWZ); |
|
|
|
} |
|
|
|
return false; |
|
|
|
break; |
|
|
|
case QWERTY: |
|
|
|
if (record->event.pressed) { |
|
|
|
set_single_persistent_default_layer(_QWY); |
|
|
|
} |
|
|
|
return false; |
|
|
|
break; |
|
|
|
case GAMING: |
|
|
|
if (record->event.pressed) { |
|
|
|
set_single_persistent_default_layer(_GAM); |
|
|
|
} |
|
|
|
return false; |
|
|
|
break; |
|
|
|
case UNI_LNX: |
|
|
|
set_unicode_input_mode(UC_LNX); |
|
|
|
return false; |
|
|
|
break; |
|
|
|
case UNI_WIN: |
|
|
|
set_unicode_input_mode(UC_WINC); |
|
|
|
return false; |
|
|
|
break; |
|
|
|
case UNI_MAC: |
|
|
|
set_unicode_input_mode(UC_OSX); |
|
|
|
return false; |
|
|
|
break; |
|
|
|
} |
|
|
|
return true; |
|
|
|
switch(keycode) { |
|
|
|
case QWERTZ: |
|
|
|
if (record->event.pressed) { |
|
|
|
set_single_persistent_default_layer(_QWZ); |
|
|
|
} |
|
|
|
return false; |
|
|
|
break; |
|
|
|
case QWERTY: |
|
|
|
if (record->event.pressed) { |
|
|
|
set_single_persistent_default_layer(_QWY); |
|
|
|
} |
|
|
|
return false; |
|
|
|
break; |
|
|
|
case GAMING: |
|
|
|
if (record->event.pressed) { |
|
|
|
set_single_persistent_default_layer(_GAM); |
|
|
|
} |
|
|
|
return false; |
|
|
|
break; |
|
|
|
case UNI_LNX: |
|
|
|
set_unicode_input_mode(UC_LNX); |
|
|
|
return false; |
|
|
|
break; |
|
|
|
case UNI_WIN: |
|
|
|
set_unicode_input_mode(UC_WINC); |
|
|
|
return false; |
|
|
|
break; |
|
|
|
case UNI_MAC: |
|
|
|
set_unicode_input_mode(UC_OSX); |
|
|
|
return false; |
|
|
|
break; |
|
|
|
} |
|
|
|
return true; |
|
|
|
} |