@ -29,6 +29,8 @@
be on the first column .
- I think I wanna swap ' and ENTER
- All of the above are done : - )
- I ' m keeping Colemak and Dvorak around for reference , and added
Workman just for fun . They ' re useless to me , though .
*/
@ -42,6 +44,15 @@
- What ' s the keystroke to get from X to console these days ?
- I do indeed want a sweet number pad !
- A layer for doing console switching would not be a bad idea
- Random data generator
- A key that generates values in the range 0 - 9 at random
- A key that generates values in the range a - z at random
- A key that generates values in the range a - z , A - Z , 0 - 9 at random
- Figure out the MACRO example in https : //github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/keymap.md
- section 2.3 .2
- where does the HELLO come from ? ? ?
- What are the types of the T ( ) calls ?
*/
enum layers {
@ -58,28 +69,28 @@ enum layers {
const uint16_t PROGMEM keymaps [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
[ _QW ] = { /* Qwerty */
{ 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_ QUO T} ,
{ KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_ EN T } ,
{ M ( 0 ) , KC_LCTL , KC_LALT , KC_LGUI , MO ( _LW ) , KC_SPC , KC_SPC , MO ( _RS ) , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT }
{ KC_ ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC } ,
{ KC_ LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_ EN T} ,
{ KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_ QUO T } ,
{ KC_TAB , M ( 0 ) , KC_LALT , KC_LGUI , MO ( _LW ) , KC_SPC , KC_SPC , MO ( _RS ) , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT }
} ,
[ _CM ] = { /* Colemak */
{ 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_ QUO T} ,
{ KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_ EN T } ,
{ M ( 0 ) , KC_LCTL , KC_LALT , KC_LGUI , MO ( _LW ) , KC_SPC , KC_SPC , MO ( _RS ) , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT }
{ KC_ ESC , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN , KC_BSPC } ,
{ KC_ LCTL, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_ EN T} ,
{ KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_ QUO T } ,
{ KC_TAB , M ( 0 ) , KC_LALT , KC_LGUI , MO ( _LW ) , KC_SPC , KC_SPC , MO ( _RS ) , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT }
} ,
[ _DV ] = { /* Dvorak */
{ 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_ ESC , KC_QUOT , KC_COMM , KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L , KC_BSPC } ,
{ KC_ LCTL, 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 } ,
{ M ( 0 ) , KC_LCTL , KC_LALT , KC_LGUI , MO ( _LW ) , KC_SPC , KC_SPC , MO ( _RS ) , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT }
{ KC_TAB , M ( 0 ) , KC_LALT , KC_LGUI , MO ( _LW ) , KC_SPC , KC_SPC , MO ( _RS ) , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT }
} ,
[ _WK ] = { /* Workman */
{ KC_ TAB , KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN , KC_BSPC } ,
{ KC_ ESC, KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , KC_ QUO T} ,
{ KC_LSFT , KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM , KC_DOT , KC_SLSH , KC_ EN T } ,
{ M ( 0 ) , KC_LCTL , KC_LALT , KC_LGUI , MO ( _LW ) , KC_SPC , KC_SPC , MO ( _RS ) , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT }
{ KC_ ESC , KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN , KC_BSPC } ,
{ KC_ LCTL, KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , KC_ EN T} ,
{ KC_LSFT , KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM , KC_DOT , KC_SLSH , KC_ QUO T } ,
{ KC_TAB , M ( 0 ) , KC_LALT , KC_LGUI , MO ( _LW ) , KC_SPC , KC_SPC , MO ( _RS ) , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT }
} ,
[ _RS ] = { /* RAISE */
{ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC } ,
@ -94,10 +105,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
{ KC_TRNS , DF ( _KP ) , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_MNXT , KC_VOLD , KC_VOLU , KC_MPLY }
} ,
[ _KP ] = { /* Key Pad */
{ KC_ TAB, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_KP_ENTER , KC_KP_PLUS , KC_KP_PLUS , KC_KP_ENTER , KC_KP_ENTER } ,
{ KC_ ESC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_KP_MINUS , KC_7 , KC_8 , KC_9 , KC_KP_DOT } ,
{ KC_ ESC, M ( 1 ) , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_KP_ENTER , KC_KP_PLUS , KC_KP_PLUS , KC_KP_ENTER , KC_KP_ENTER } ,
{ KC_ LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_KP_MINUS , KC_7 , KC_8 , KC_9 , KC_KP_DOT } ,
{ KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_KP_PLUS , KC_4 , KC_5 , KC_6 , KC_0 } ,
{ BL_STEP , KC_LCTL , KC_LALT , KC_LGUI , KC_NO , KC_SPC , KC_SPC , DF ( _QW ) , KC_1 , KC_2 , KC_3 , KC_0 }
{ BL_STEP , M ( 0 ) , KC_LALT , KC_LGUI , KC_NO , KC_SPC , KC_SPC , DF ( _QW ) , KC_1 , KC_2 , KC_3 , KC_0 }
}
} ;
@ -116,7 +127,6 @@ enum macro_id {
M_USERNAME
} ;
const uint16_t PROGMEM fn_actions [ ] = {
} ;
@ -124,17 +134,22 @@ const uint16_t PROGMEM fn_actions[] = {
const macro_t * action_get_macro ( keyrecord_t * record , uint8_t id , uint8_t opt )
{
// MACRODOWN only works in this function
switch ( id ) {
case 0 :
if ( record - > event . pressed ) {
register_code ( KC_RSFT ) ;
# ifdef BACKLIGHT_ENABLE
backlight_step ( ) ;
# endif
} else {
unregister_code ( KC_RSFT ) ;
}
break ;
}
return MACRO_NONE ;
switch ( id ) {
case 0 :
if ( record - > event . pressed ) {
register_code ( KC_RSFT ) ;
# ifdef BACKLIGHT_ENABLE
backlight_step ( ) ;
# endif
} else {
unregister_code ( KC_RSFT ) ;
}
break ;
case 1 :
return ( record - > event . pressed ?
MACRO ( T ( C ) , T ( B ) , T ( B ) , T ( R ) , T ( O ) , T ( W ) , T ( N ) , T ( E ) ) :
MACRO_NONE ) ;
break ;
}
return MACRO_NONE ;
} ;