diff options
Diffstat (limited to 'keyboards/rama/m6_a/keymaps/krusli/keymap.c')
-rw-r--r-- | keyboards/rama/m6_a/keymaps/krusli/keymap.c | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/keyboards/rama/m6_a/keymaps/krusli/keymap.c b/keyboards/rama/m6_a/keymaps/krusli/keymap.c new file mode 100644 index 0000000000..679d0bc43b --- /dev/null +++ b/keyboards/rama/m6_a/keymaps/krusli/keymap.c @@ -0,0 +1,72 @@ +#include "../../m6_a.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +enum layers { + _LAYER0, + _LAYER1, + _LAYER2 +}; + +enum custom_keycodes { + GIT_ADD = SAFE_RANGE, + GIT_COMMIT, + GIT_PUSH, + MUTE, + DEAFEN +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch(keycode) { + case GIT_ADD: + SEND_STRING("git add ."SS_TAP(X_ENTER)); + break; + case GIT_COMMIT: + SEND_STRING("git commit -m "SS_DOWN(X_LSHIFT)SS_TAP(X_QUOTE)SS_UP(X_LSHIFT)); + break; + case GIT_PUSH: + SEND_STRING("git push"SS_TAP(X_ENTER)); + break; + case MUTE: + SEND_STRING(SS_LGUI(SS_LSFT("M"))); + break; + case DEAFEN: + SEND_STRING(SS_LGUI(SS_LSFT("D"))); + break; + return false; + } + } + return true; +}; + +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAYER0] = KEYMAP( + MUTE, DEAFEN, TO(_LAYER1), + GIT_ADD, GIT_COMMIT, GIT_PUSH + ), + [_LAYER1] = KEYMAP( + KC_VOLD, KC_VOLU, TO(_LAYER2), + KC_MRWD, KC_MPLY, KC_MNXT + ), + [_LAYER2] = KEYMAP( + KC_ESC, KC_UP, TO(_LAYER0), + KC_Z, KC_X, KC_SPACE + ) +}; + +void matrix_init_user(void) { + #ifdef BACKLIGHT_ENABLE + backlight_level(0); + #endif +} |