Skip to content

Instantly share code, notes, and snippets.

@dwarlorf
Created September 13, 2016 16:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dwarlorf/1c773ebd01642677996671428f7f797f to your computer and use it in GitHub Desktop.
Save dwarlorf/1c773ebd01642677996671428f7f797f to your computer and use it in GitHub Desktop.
#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