]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/rama/m6_a/keymaps/krusli/keymap.c
Updated personal keymaps, fixed Let's Split default keymap, updated JJ40 README ...
[qmk_firmware.git] / keyboards / rama / m6_a / keymaps / krusli / keymap.c
1 #include "../../m6_a.h"
2 #include "action_layer.h"
3 #include "eeconfig.h"
4
5 extern keymap_config_t keymap_config;
6
7 // Each layer gets a name for readability, which is then used in the keymap matrix below.
8 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
9 // Layer names don't all need to be of the same length, obviously, and you can also skip them
10 // entirely and just use numbers.
11
12 enum layers {
13   _LAYER0,
14   _LAYER1,
15   _LAYER2
16 };
17
18 enum custom_keycodes {
19   GIT_ADD = SAFE_RANGE,
20   GIT_COMMIT,
21   GIT_PUSH,
22   MUTE,
23   DEAFEN
24 };
25
26 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
27         if (record->event.pressed) {
28                 switch(keycode) {
29                         case GIT_ADD:
30                                 SEND_STRING("git add ."SS_TAP(X_ENTER));
31         break;
32       case GIT_COMMIT:
33         SEND_STRING("git commit -m "SS_DOWN(X_LSHIFT)SS_TAP(X_QUOTE)SS_UP(X_LSHIFT));
34         break;
35       case GIT_PUSH:
36         SEND_STRING("git push"SS_TAP(X_ENTER));
37         break;
38       case MUTE:
39         SEND_STRING(SS_LGUI(SS_LSFT("M")));
40         break;
41       case DEAFEN:
42         SEND_STRING(SS_LGUI(SS_LSFT("D")));
43         break;
44       return false;
45                 }
46         }
47         return true;
48 };
49
50 #define _______ KC_TRNS
51 #define XXXXXXX KC_NO
52
53 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
54   [_LAYER0] = KEYMAP(
55     MUTE,    DEAFEN,     TO(_LAYER1),
56     GIT_ADD, GIT_COMMIT, GIT_PUSH
57   ),
58   [_LAYER1] = KEYMAP(
59     KC_VOLD, KC_VOLU, TO(_LAYER2),
60     KC_MRWD, KC_MPLY, KC_MNXT
61   ),
62   [_LAYER2] = KEYMAP(
63     KC_ESC,  KC_UP,   TO(_LAYER0),
64     KC_Z,    KC_X,    KC_SPACE
65   )
66 };
67
68 void matrix_init_user(void) {
69   #ifdef BACKLIGHT_ENABLE
70     backlight_level(0);
71   #endif
72 }