Created
September 13, 2016 16:01
-
-
Save dwarlorf/1c773ebd01642677996671428f7f797f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "GH30.h" | |
enum keyboard_layers { | |
LAYER_ONE = 0, | |
LAYER_TWO, | |
LAYER_THREE, | |
}; | |
enum keyboard_macros { | |
MACRO_ONE = 0, | |
MACRO_TWO, | |
MACRO_THREE, | |
}; | |
#define M_ONE M(MACRO_ONE) | |
#define M_TWO M(MACRO_TWO) | |
#define M_THREE M(MACRO_THREE) | |
#define key_timer | |
#define _______ KC_TRNS | |
#define XXXXXXX KC_NO | |
#define ________________ _______, _______ | |
#define XXXXXXXXXXXXXXXX XXXXXXX, XXXXXXX | |
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |
/* LAYER = LAYER_ONE | |
add visual lay out here | |
*/ | |
[LAYER_ONE] = { | |
{ KC_9, KC_6, KC_3, KC_0, KC_UNDS, KC_ASTR, KC_BSPC }, | |
{ KC_8, KC_5, KC_2, KC_SCOLON, KC_LPRN, KC_DOT, KC_ENT }, | |
{ KC_7, KC_4, KC_1, KC_O, KC_N, KC_S, KC_SPACE }, | |
{ XXXXXXX, XXXXXXX , XXXXXXX , KC_T, KC_E, KC_I, KC_TRNS }, | |
{ XXXXXXX, KC_RIGHT, XXXXXXX, KC_D, KC_A, KC_R, KC_DEL}, | |
{ KC_UP, KC_LEFT, KC_DOWN, XXXXXXX, M_TWO, M_THREE, XXXXXXX } | |
}, | |
/* LAYER = LAYER_TWO | |
add visual lay out here | |
*/ | |
[LAYER_TWO] = { | |
{ KC_TRNS, KC_END, KC_PSCREEN, KC_PLUS, KC_EQUAL, KC_DLR, KC_ESC }, | |
{ KC_PGUP, KC_TRNS, KC_PGDOWN, KC_EXLM, KC_LBRC, KC_BSLASH, KC_RCTL }, | |
{ _______, KC_HOME, _______, KC_U, KC_G, KC_P, _______ }, | |
{ _______, _______, _______, KC_H, KC_L, KC_K, _______ }, | |
{ _______, _______, _______, KC_B, KC_V, KC_M, _______ }, | |
{ _______, _______, _______, _______, _______, _______, _______ } | |
}, | |
/* LAYER = LAYER_THREE | |
add visual lay out here | |
*/ | |
[LAYER_THREE] = { | |
{ _______, _______, _______, KC_AT, KC_PERC, KC_HASH, _______ }, | |
{ _______, _______, _______, KC_AMPR, KC_LCBR, KC_PIPE, _______ }, | |
{ _______, _______, _______, KC_Y, KC_J, KC_LABK, _______ }, | |
{ _______, _______, _______, KC_C, KC_W, KC_F, _______ }, | |
{ _______, _______, _______, KC_Q, KC_Z, KC_X, _______ }, | |
{ _______, _______, _______, _______, _______, _______, _______ } | |
}, | |
}; | |
/* toevoegen: | |
TOGGLE FUNCTIE VOOR ENTER EN SPACE | |
LONGPRESS NUMMER VOOR FTOETS | |
LONGPRESS VOOR OPPOSITES | |
*/ | |
void persistant_default_layer_set(uint16_t default_layer) | |
{ | |
eeconfig_update_default_layer(default_layer); | |
default_layer_set(default_layer); | |
}; | |
const uint16_t PROGMEM fn_actions[] = { | |
}; | |
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | |
{ | |
switch(id) | |
{ | |
case MACRO_ONE: | |
if (record->event.pressed) | |
{ | |
persistant_default_layer_set(1UL<<LAYER_ONE); | |
key_timer = timer_read(); | |
} | |
else | |
{ | |
if (timer_elapsed(key_timer)> 150) | |
{ | |
return MACRO( D(LCTL), T(C), END ); | |
} | |
else | |
{ | |
return MACRO_ONE; | |
} | |
} | |
break; | |
case MACRO_TWO: | |
if (record->event.pressed) | |
{ | |
layer_on(LAYER_TWO); | |
} | |
else | |
{ | |
layer_off(LAYER_TWO); | |
} | |
break; | |
case MACRO_THREE: | |
if (record->event.pressed) | |
{ | |
layer_on(LAYER_THREE); | |
} | |
else | |
{ | |
layer_off(LAYER_THREE); | |
} | |
break; | |
} | |
return MACRO_NONE; | |
}; | |
void matrix_init_user(void) { | |
} | |
void matrix_scan_user(void) { | |
} | |
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |
return true; | |
} | |
void led_set_user(uint8_t usb_led) { | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment