@ -1,200 +1,75 @@
/* Copyright 2020 ZSA Technology Inc
* Copyright 2020 Christopher Courtney , aka Drashna Jael ' re ( @ drashna ) < drashna @ live . com >
*
* 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
* the Free Software Foundation , either version 2 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* 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 QMK_KEYBOARD_H
# include "muse.h"
# include "eeprom.h"
# include "keymap_german.h"
# include "keymap_nordic.h"
# include "keymap_french.h"
# include "keymap_spanish.h"
# include "keymap_hungarian.h"
# include "keymap_swedish.h"
//#include "keymap_br_abnt2.h"
# include "keymap_canadian_multilingual.h"
# include "keymap_german_ch.h"
# define KC_MAC_UNDO LGUI(KC_Z)
# define KC_MAC_CUT LGUI(KC_X)
# define KC_MAC_COPY LGUI(KC_C)
# define KC_MAC_PASTE LGUI(KC_V)
# define KC_PC_UNDO LCTL(KC_Z)
# define KC_PC_CUT LCTL(KC_X)
# define KC_PC_COPY LCTL(KC_C)
# define KC_PC_PASTE LCTL(KC_V)
# define NO_TH ALGR(KC_T)
# define NO_ETH ALGR(KC_D)
enum planck_keycodes {
RGB_SLD = EZ_SAFE_RANGE ,
} ;
enum planck_layers {
_QWERTY ,
_COLEMAK ,
_DVORAK ,
_BASE ,
_LOWER ,
_RAISE ,
_PLOVER ,
_ADJUST
} ;
enum planck_keycodes {
QWERTY = EZ_SAFE_RANGE ,
COLEMAK ,
DVORAK ,
PLOVER ,
BACKLIT ,
EXT_PLV ,
RGB_SLD
_ADJUST ,
} ;
# define LOWER MO(_LOWER)
# define RAISE MO(_RAISE)
# define LOWER MO(_LOWER)
# define RAISE MO(_RAISE)
// clang-format off
const uint16_t PROGMEM keymaps [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
/* Qwerty
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Shift | Z | X | C | V | B | N | M | , | . | / | Enter |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Brite | Ctrl | Alt | GUI | Lower | Space | Raise | Left | Down | Up | Right |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _QWERTY ] = LAYOUT_planck_grid (
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC ,
KC_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT ,
KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_ENT ,
BACKLIT , KC_LCTL , KC_LALT , KC_LGUI , LOWER , KC_SPC , KC_SPC , RAISE , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT
) ,
/* Colemak
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Shift | Z | X | C | V | B | K | M | , | . | / | Enter |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Brite | Ctrl | Alt | GUI | Lower | Space | Raise | Left | Down | Up | Right |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _COLEMAK ] = LAYOUT_planck_grid (
KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN , KC_BSPC ,
KC_ESC , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT ,
KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_ENT ,
BACKLIT , KC_LCTL , KC_LALT , KC_LGUI , LOWER , KC_SPC , KC_SPC , RAISE , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT
) ,
/* Dvorak
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Esc | A | O | E | U | I | D | H | T | N | S | / |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Shift | ; | Q | J | K | X | B | M | W | V | Z | Enter |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Brite | Ctrl | Alt | GUI | Lower | Space | Raise | Left | Down | Up | Right |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _DVORAK ] = LAYOUT_planck_grid (
KC_TAB , KC_QUOT , KC_COMM , KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L , KC_BSPC ,
KC_ESC , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_SLSH ,
KC_LSFT , KC_SCLN , KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , KC_ENT ,
BACKLIT , KC_LCTL , KC_LALT , KC_LGUI , LOWER , KC_SPC , KC_SPC , RAISE , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT
) ,
/* Lower
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | | F7 | F8 | F9 | F10 | F11 | F12 | ISO ~ | ISO | | Home | End | |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | | | | | | | | Next | Vol - | Vol + | Play |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _LOWER ] = LAYOUT_planck_grid (
KC_TILD , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_BSPC ,
KC_DEL , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_UNDS , KC_PLUS , KC_LCBR , KC_RCBR , KC_PIPE ,
_______ , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , S ( KC_NUHS ) , S ( KC_NUBS ) , KC_HOME , KC_END , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_MNXT , KC_VOLD , KC_VOLU , KC_MPLY
) ,
/* Raise
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | | F7 | F8 | F9 | F10 | F11 | F12 | ISO # | ISO / | Pg Up | Pg Dn | |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | | | | | | | | Next | Vol - | Vol + | Play |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _RAISE ] = LAYOUT_planck_grid (
KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC ,
KC_DEL , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_MINS , KC_EQL , KC_LBRC , KC_RBRC , KC_BSLS ,
_______ , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_NUHS , KC_NUBS , KC_PGUP , KC_PGDN , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_MNXT , KC_VOLD , KC_VOLU , KC_MPLY
) ,
/* Plover layer (http://opensteno.org)
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | # | # | # | # | # | # | # | # | # | # | # | # |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | | S | T | P | H | * | * | F | P | L | T | D |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | | S | K | W | R | * | * | R | B | G | S | Z |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | Exit | | | A | O | | E | U | | | |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _PLOVER ] = LAYOUT_planck_grid (
KC_1 , KC_1 , KC_1 , KC_1 , KC_1 , KC_1 , KC_1 , KC_1 , KC_1 , KC_1 , KC_1 , KC_1 ,
XXXXXXX , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC ,
XXXXXXX , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT ,
EXT_PLV , XXXXXXX , XXXXXXX , KC_C , KC_V , XXXXXXX , XXXXXXX , KC_N , KC_M , XXXXXXX , XXXXXXX , XXXXXXX
) ,
/* Adjust (Lower + Raise)
* v - - - - - - - - - - - - - - - - - - - - - - - - RGB CONTROL - - - - - - - - - - - - - - - - - - - - v
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* | | Reset | Debug | RGB | RGBMOD | HUE + | HUE - | SAT + | SAT - | BRGTH + | BRGTH - | Del |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | | | | Aud on | Audoff | AGnorm | AGswap | Qwerty | Colemk | Dvorak | Plover | |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | | Voice - | Voice + | Mus on | Musoff | MIDIon | MIDIof | | | | | |
* | - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - |
* | | | | | | | | | | | |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _ADJUST ] = LAYOUT_planck_grid (
_______ , RESET , DEBUG , RGB_TOG , RGB_MOD , RGB_HUI , RGB_HUD , RGB_SAI , RGB_SAD , RGB_VAI , RGB_VAD , KC_DEL ,
_______ , _______ , MU_MOD , AU_ON , AU_OFF , AG_NORM , AG_SWAP , QWERTY , COLEMAK , DVORAK , PLOVER , _______ ,
_______ , MUV_DE , MUV_IN , MU_ON , MU_OFF , MI_ON , MI_OFF , TERM_ON , TERM_OFF , TOGGLE_LAYER_COLOR , LED_LEVEL , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
)
[ _BASE ] = LAYOUT_planck_grid (
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPACE ,
KC_ESCAPE , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCOLON , KC_QUOTE ,
KC_LSHIFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMMA , KC_DOT , KC_SLASH , KC_ENTER ,
WEBUSB_PAIR , KC_LCTRL , KC_LALT , KC_LGUI , LOWER , KC_SPACE , KC_NO , RAISE , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT
) ,
[ _LOWER ] = LAYOUT_planck_grid (
KC_TILD , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , _______ ,
KC_DELETE , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_UNDS , KC_PLUS , KC_LCBR , KC_RCBR , KC_PIPE ,
_______ , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_NONUS_HASH , KC_NONUS_BSLASH , KC_HOME , KC_END , _______ ,
KC_COMMA , _______ , _______ , _______ , _______ , _______ , KC_NO , _______ , KC_MEDIA_NEXT_TRACK , KC_AUDIO_VOL_DOWN , KC_AUDIO_VOL_UP , KC_MEDIA_PLAY_PAUSE
) ,
[ _RAISE ] = LAYOUT_planck_grid (
KC_GRAVE , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______ ,
KC_DEL , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_MINUS , KC_EQUAL , KC_LBRACKET , KC_RBRACKET , KC_BSLASH ,
_______ , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_NONUS_HASH , KC_NONUS_BSLASH , KC_PGUP , KC_PGDOWN , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , KC_NO , _______ , KC_MEDIA_NEXT_TRACK , KC_AUDIO_VOL_DOWN , KC_AUDIO_VOL_UP , KC_MEDIA_PLAY_PAUSE
) ,
[ _ADJUST ] = LAYOUT_planck_grid (
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
KC_DEL , _______ , AU_ON , AU_OFF , AU_TOG , _______ , _______ , RGB_TOG , RGB_VAI , RGB_VAD , LED_LEVEL , RESET ,
_______ , _______ , MU_ON , MU_OFF , MU_TOG , _______ , _______ , RGB_MOD , RGB_HUI , RGB_HUD , TOGGLE_LAYER_COLOR , _______ ,
_______ , _______ , _______ , _______ , _______ , _______ , KC_NO , _______ , _______ , _______ , _______ , _______
) ,
} ;
# ifdef AUDIO_ENABLE
float plover_song [ ] [ 2 ] = SONG ( PLOVER_SOUND ) ;
float plover_gb_song [ ] [ 2 ] = SONG ( PLOVER_GOODBYE_SOUND ) ;
# endif
layer_state_t layer_state_set_user ( layer_state_t state ) {
return update_tri_layer_state ( state , _LOWER , _RAISE , _ADJUST ) ;
}
// clang-format on
const uint8_t PROGMEM ledmap [ ] [ DRIVER_LED_TOTAL ] [ 3 ] = {
[ 0 ] = { { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } , { 130 , 255 , 255 } } ,
[ 1 ] = { { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 32 , 255 , 234 } , { 32 , 255 , 234 } , { 32 , 255 , 234 } , { 32 , 255 , 234 } } ,
[ 0 ] = { { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 146 , 224 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 42 , 255 , 255 } , { 32 , 255 , 234 } , { 32 , 255 , 234 } , { 32 , 255 , 234 } , { 32 , 255 , 234 } } ,
[ 2] = { { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } } ,
[ 1 ] = { { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 169 , 120 , 255 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } , { 89 , 255 , 246 } } ,
[ 3] = { { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 249 , 228 , 255 } , { 249 , 228 , 255 } , { 249 , 228 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 105 , 255 , 255 } , { 105 , 255 , 255 } , { 105 , 255 , 255 } , { 216 , 255 , 255 } , { 14 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 249 , 228 , 255 } , { 249 , 228 , 255 } , { 249 , 228 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 105 , 255 , 255 } , { 105 , 255 , 255 } , { 105 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } } ,
[ 2 ] = { { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 249 , 228 , 255 } , { 249 , 228 , 255 } , { 249 , 228 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 105 , 255 , 255 } , { 105 , 255 , 255 } , { 105 , 255 , 255 } , { 216 , 255 , 255 } , { 14 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 249 , 228 , 255 } , { 249 , 228 , 255 } , { 249 , 228 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 105 , 255 , 255 } , { 105 , 255 , 255 } , { 105 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } , { 216 , 255 , 255 } } ,
} ;
@ -206,38 +81,35 @@ void set_layer_color(int layer) {
. v = pgm_read_byte ( & ledmap [ layer ] [ i ] [ 2 ] ) ,
} ;
if ( ! hsv . h & & ! hsv . s & & ! hsv . v ) {
rgb_matrix_set_color ( i , 0 , 0 , 0 ) ;
rgb_matrix_set_color ( i , 0 , 0 , 0 ) ;
} else {
RGB rgb = hsv_to_rgb ( hsv ) ;
RGB rgb = hsv_to_rgb ( hsv ) ;
float f = ( float ) rgb_matrix_config . hsv . v / UINT8_MAX ;
rgb_matrix_set_color ( i , f * rgb . r , f * rgb . g , f * rgb . b ) ;
rgb_matrix_set_color ( i , f * rgb . r , f * rgb . g , f * rgb . b ) ;
}
}
}
void rgb_matrix_indicators_user ( void ) {
if ( g_suspend_state | | keyboard_config . disable_layer_led ) { return ; }
if ( g_suspend_state | | keyboard_config . disable_layer_led ) {
return ;
}
switch ( biton32 ( layer_state ) ) {
case 0 :
case 1 :
set_layer_color ( 0 ) ;
break ;
case 3 :
case 2 :
set_layer_color ( 1 ) ;
break ;
case 4 :
case 3 :
set_layer_color ( 2 ) ;
break ;
case 6 :
set_layer_color ( 3 ) ;
break ;
default :
if ( rgb_matrix_get_flags ( ) = = LED_FLAG_NONE )
rgb_matrix_set_color_all ( 0 , 0 , 0 ) ;
if ( rgb_matrix_get_flags ( ) = = LED_FLAG_NONE ) rgb_matrix_set_color_all ( 0 , 0 , 0 ) ;
break ;
}
}
bool process_record_user ( uint16_t keycode , keyrecord_t * record ) {
switch ( keycode ) {
case RGB_SLD :
@ -245,129 +117,35 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
rgblight_mode ( 1 ) ;
}
return false ;
case QWERTY :
if ( record - > event . pressed ) {
print ( " mode just switched to qwerty and this is a huge string \n " ) ;
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 ( KC_RSFT ) ;
# ifdef BACKLIGHT_ENABLE
backlight_step ( ) ;
# endif
# ifdef KEYBOARD_planck_rev5
PORTE & = ~ ( 1 < < 6 ) ;
# endif
} else {
unregister_code ( KC_RSFT ) ;
# ifdef KEYBOARD_planck_rev5
PORTE | = ( 1 < < 6 ) ;
# endif
}
return false ;
break ;
case PLOVER :
if ( record - > event . pressed ) {
# ifdef AUDIO_ENABLE
stop_all_notes ( ) ;
PLAY_SONG ( plover_song ) ;
# endif
layer_off ( _RAISE ) ;
layer_off ( _LOWER ) ;
layer_off ( _ADJUST ) ;
layer_on ( _PLOVER ) ;
if ( ! eeconfig_is_enabled ( ) ) {
eeconfig_init ( ) ;
}
keymap_config . raw = eeconfig_read_keymap ( ) ;
keymap_config . nkro = 1 ;
eeconfig_update_keymap ( keymap_config . raw ) ;
}
return false ;
break ;
case EXT_PLV :
if ( record - > event . pressed ) {
# ifdef AUDIO_ENABLE
PLAY_SONG ( plover_gb_song ) ;
# endif
layer_off ( _PLOVER ) ;
}
return false ;
break ;
}
return true ;
}
bool muse_mode = false ;
uint8_t last_muse_note = 0 ;
uint16_t muse_counter = 0 ;
uint8_t muse_offset = 70 ;
uint16_t muse_tempo = 50 ;
bool encoder_update_user ( uint8_t index , bool clockwise ) {
if ( muse_mode ) {
if ( IS_LAYER_ON ( _RAISE ) ) {
if ( clockwise ) {
muse_offset + + ;
} else {
muse_offset - - ;
}
} else {
if ( clockwise ) {
muse_tempo + = 1 ;
# ifdef MOUSEKEY_ENABLE
tap_code ( KC_MS_WH_DOWN ) ;
# else
tap_code ( KC_PGDN ) ;
# endif
} else {
muse_tempo - = 1 ;
}
}
} else {
if ( clockwise ) {
# ifdef MOUSEKEY_ENABLE
register_code ( KC_MS_WH_DOWN ) ;
unregister_code ( KC_MS_WH_DOWN ) ;
# else
register_code ( KC_PGDN ) ;
unregister_code ( KC_PGDN ) ;
# endif
} else {
# ifdef MOUSEKEY_ENABLE
register_code ( KC_MS_WH_UP ) ;
unregister_code ( KC_MS_WH_UP ) ;
# else
register_code ( KC_PGUP ) ;
unregister_code ( KC_PGUP ) ;
# endif
}
# ifdef MOUSEKEY_ENABLE
tap_code ( KC_MS_WH_UP ) ;
# else
tap_code ( KC_PGUP ) ;
# endif
}
return true ;
}
void matrix_scan_user ( void ) {
# ifdef AUDIO_ENABLE
if ( muse_mode ) {
if ( muse_counter = = 0 ) {
uint8_t muse_note = muse_offset + SCALE [ muse_clock_pulse ( ) ] ;
if ( muse_note ! = last_muse_note ) {
stop_note ( compute_freq_for_midi_note ( last_muse_note ) ) ;
play_note ( compute_freq_for_midi_note ( muse_note ) , 0xF ) ;
last_muse_note = muse_note ;
}
}
muse_counter = ( muse_counter + 1 ) % muse_tempo ;
bool music_mask_user ( uint16_t keycode ) {
switch ( keycode ) {
case RAISE :
case LOWER :
return false ;
default :
return true ;
}
# endif
}
layer_state_t layer_state_set_user ( layer_state_t state ) { return update_tri_layer_state ( state , _LOWER , _RAISE , _ADJUST ) ; }