@ -1,3 +1,19 @@
/* Copyright 2019 Branden Byers
*
* 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
enum layers {
@ -29,13 +45,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | 1 | 2 | 3 | - |
* | - - - - - + - - - - - + - - - - - + - - - - - |
* | 0 | . | = | + |
* ` - - - - - - - - - - - - - - - - - - - - - - '
* ` - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _BASE ] = LAYOUT (
KC_ K P_ 7, KC_ K P_ 8, KC_ K P_ 9, LT ( MO ( _LAYERS ) , KC_PSLS ) , \
KC_ K P_ 4, KC_ K P_ 5, KC_ K P_ 6, KC_PAST , \
KC_ K P_ 1, KC_ K P_ 2, KC_ K P_ 3, KC_PMNS , \
KC_ K P_ 0, KC_ K P_ DOT, KC_ K P_ EQUA L, KC_PPLS \
[ _BASE ] = LAYOUT _ortho_4x4 (
KC_ P7, KC_ P8, KC_ P9, LT ( _LAYERS , KC_PSLS ) ,
KC_ P4, KC_ P5, KC_ P6, KC_PAST ,
KC_ P1, KC_ P2, KC_ P3, KC_PMNS ,
KC_ P0, KC_ PDOT, KC_ PEQL, KC_PPLS
) ,
/* LAYERS
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - .
@ -48,11 +64,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | ADMIN | | | |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _LAYERS ] = LAYOUT (
TG ( _MUSIC ) , _______ , _______ , _______ , \
TG ( _MOUSE ) , _______ , _______ , _______ , \
TG ( _TERMINAL ) , _______ , _______ , _______ , \
TG ( _ADMIN ) , _______ , _______ , _______ \
[ _LAYERS ] = LAYOUT _ortho_4x4 (
TG ( _MUSIC ) , _______ , _______ , _______ ,
TG ( _MOUSE ) , _______ , _______ , _______ ,
TG ( _TERMINAL ) , _______ , _______ , _______ ,
TG ( _ADMIN ) , _______ , _______ , _______
) ,
/* MUSIC
* , - - - - - - - - - - - - - - - - - - - - - - - .
@ -63,14 +79,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | OFF | | | |
* | - - - - - + - - - - - + - - - - - + - - - - - |
* | ON | | | MODES |
* ` - - - - - - - - - - - - - - - - - - - - - - '
* ` - - - - - - - - - - - - - - - - - - - - - - - '
*/
// TODO: Make this music layer the one to jump to other music layers (different octaves)
[ _MUSIC ] = LAYOUT (
_______ , _______ , _______ , _______ , \
_______ , _______ , _______ , TG ( _MUSIC_4_LIFE ) , \
MU_OFF , _______ , _______ , _______ , \
MU_ON , _______ , _______ , MU_MOD \
[ _MUSIC ] = LAYOUT _ortho_4x4 (
_______ , _______ , _______ , _______ ,
_______ , _______ , _______ , TG ( _MUSIC_4_LIFE ) ,
MU_OFF , _______ , _______ , _______ ,
MU_ON , _______ , _______ , MU_MOD
) ,
/* MUSIC_4_LIFE
* , - - - - - - - - - - - - - - - - - - - - - - - .
@ -81,13 +97,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | ♫ | ♫ | ♫ | ♫ |
* | - - - - - + - - - - - + - - - - - + - - - - - |
* | ♫ | ♫ | ♫ | ♫ |
* ` - - - - - - - - - - - - - - - - - - - - - - '
* ` - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _MUSIC_4_LIFE ] = LAYOUT (
KC_M , KC_M , KC_M , KC_M , \
KC_M , KC_M , KC_M , KC_M , \
KC_M , KC_M , KC_M , KC_M , \
KC_M , KC_M , KC_M , KC_M \
[ _MUSIC_4_LIFE ] = LAYOUT _ortho_4x4 (
KC_M , KC_M , KC_M , KC_M ,
KC_M , KC_M , KC_M , KC_M ,
KC_M , KC_M , KC_M , KC_M ,
KC_M , KC_M , KC_M , KC_M
) ,
/* MOUSE
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
@ -100,11 +116,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | BUTTON 3 | SCROLL LEFT | SCROLL DOWN | SCROLL RIGHT |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _MOUSE ] = LAYOUT (
KC _MS _BTN5, _______ , KC_ MS_ WH_UP , _______ , \
_______ , KC_ MS_ BTN1, KC_MS_U P , KC_ MS_ BTN2, \
KC _MS _BTN4, KC_MS_L EFT , KC_MS_D OWN , KC_MS_R IGHT , \
KC _MS _BTN3, KC_ MS_ WH_LEFT , KC_ MS_ WH_DOWN , KC_ MS_ WH_RIGHT \
[ _MOUSE ] = LAYOUT _ortho_4x4 (
KC _BTN5, _______ , KC_ WH_U, _______ ,
_______ , KC_ BTN1, KC_MS_U , KC_ BTN2,
KC _BTN4, KC_MS_L , KC_MS_D , KC_MS_R ,
KC _BTN3, KC_ WH_L, KC_ WH_D, KC_ WH_R
) ,
/* TERMINAL
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
@ -117,11 +133,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | TERMINAL ON | HELP | | |
* ` - - - - - - - - = = = = = = = - - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _TERMINAL ] = LAYOUT (
_______ , TERM_ABOUT , _______ , _______ , \
TERM_OFF , TERM_PRINT , _______ , _______ , \
_______ , TERM_FLUSH , _______ , _______ , \
TERM_ON , TERM_HELP , _______ , _______ \
[ _TERMINAL ] = LAYOUT _ortho_4x4 (
_______ , TERM_ABOUT , _______ , _______ ,
TERM_OFF , TERM_PRINT , _______ , _______ ,
_______ , TERM_FLUSH , _______ , _______ ,
TERM_ON , TERM_HELP , _______ , _______
) ,
/* ADMIN
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
@ -134,11 +150,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | X | | CLICKY DOWN | CLICKY ON |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
*/
[ _ADMIN ] = LAYOUT (
RESET , _______ , _______ , _______ , \
CKEYS_ABOUT , _______ , _______ , _______ , \
_______ , _______ , _______ , CK_OFF , \
_______ , _______ , _______ , CK_ON \
[ _ADMIN ] = LAYOUT _ortho_4x4 (
RESET , _______ , _______ , _______ ,
CKEYS_ABOUT , _______ , _______ , _______ ,
_______ , _______ , _______ , CK_OFF ,
_______ , _______ , _______ , CK_ON
) ,
} ;
@ -147,30 +163,28 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case TERM_ABOUT :
if ( record - > event . pressed ) {
// when keycode TERM_ABOUT is pressed
SEND_STRING ( " about " SS_TAP ( X_ENTER ) ) ;
} else {
// when keycode TERM_ABOUT is released
SEND_STRING ( " about \n " ) ;
}
break ;
case TERM_PRINT :
if ( record - > event . pressed ) {
SEND_STRING ( " print " SS_TAP ( X_ENTER ) ) ;
} else { }
SEND_STRING ( " print \n " ) ;
}
break ;
case TERM_FLUSH :
if ( record - > event . pressed ) {
SEND_STRING ( " flush " SS_TAP ( X_ENTER ) ) ;
} else { }
SEND_STRING ( " flush \n " ) ;
}
break ;
case TERM_HELP :
if ( record - > event . pressed ) {
SEND_STRING ( " help " SS_TAP ( X_ENTER ) ) ;
} else { }
SEND_STRING ( " help \n " ) ;
}
break ;
case CKEYS_ABOUT :
if ( record - > event . pressed ) {
SEND_STRING ( " https://cKeys.org " SS_TAP ( X_ENTER ) " Making people smile one keyboard at a time. " SS_TAP ( X_ENTER ) " cKeys is a volunteer-run 501(c)(3) nonprofit organization. " SS_TAP ( X_ENTER ) ) ;
} else { }
SEND_STRING ( " https://cKeys.org \n Making people smile one keyboard at a time. \n cKeys is a volunteer-run 501(c)(3) nonprofit organization. \n " ) ;
}
break ;
}
return true ;