qmk_firmware/keyboards/massdrop/ctrl/keymaps/xanimos
..
config.h
config_led.c
keymap.c
keymap.h
readme.md
rules.mk

readme.md

Massdrop Ctrl Xanimos

This keymap is the one I use on my MD CTRL, as a professional software engineer I like to make things my own. I'm also up for spreading the love. Massdrop has had a pretty bad rap with qmk the past but recently it's not too bad once you put a little pizzazz into it.

I started with the Endgame keymap and have re-written most of and expanded upon it.

Layers

Typing Layer

I physically switched around my RALT and Menu keys as my personal preference. The label is still in default location but you can see they are mapped to my liking.

 __________            ___________________________________________      ___________________________________________       ___________________________________________      ________________________________ 
|    ESC   |          |    F1    |    F2    |    F3    |    F4    |    |    F5    |    F6    |    F7    |    F8    |     |    F9    |    F10   |   F11    |   F12    |    |  PRINT   |  SCLCK   |  PAUSE   |
|  ------  |          |  ------  |  ------  |  ------  |  ------  |    |  ------  |  ------  |  ------  |  ------  |     |  ------  |  ------  |  ------  |  ------  |    |  ------  |  ------  |  ------  |
|  KC_ESC  |          |  KC_F1   |  KC_F2   |  KC_F3   |  KC_F4   |    |  KC_F5   |  KC_F6   |  KC_F7   |  KC_F8   |     |  KC_F9   |  KC_F10  |  KC_F11  |  KC_F12  |    |  KC_PSCR |  KC_SCRL |  RCS(M)  |
|__________|          |__________|__________|__________|__________|    |__________|__________|__________|__________|     |__________|__________|__________|__________|    |__________|__________|__________|
 ____________________________________________________________________________________________________________________________________________________________________      ________________________________
|    ~     |    1     |     2    |     3    |     4    |     5    |     6    |     7    |     8    |     9    |     0    |     -    |     =    |        BCKSP        |    |   INS    |   HOME   |   PGUP   |
|  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |       ------        |    |  ------  |  ------  |  ------  |
|  KC_GRV  |   KC_1   |   KC_2   |   KC_3   |   KC_4   |   KC_5   |   KC_6   |   KC_7   |   KC_8   |   KC_9   |   KC_0   |  KC_MINS |  KC_EQL  |       KC_BSPC       |    |  KC_INS  |  KC_HOME |  KC_PGUP |
|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_____________________|    |__________|__________|__________|
|      TAB      |    Q     |    W     |    E     |    R     |    T     |    Y     |    U     |    I     |    O     |    P     |    [     |    ]     |       \        |    |   DEL    |   END    |   PGDN   |
|     ------    |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |     ------     |    |  ------  |  ------  |  ------  |
|     KC_TAB    |   KC_Q   |   KC_W   |   KC_E   |   KC_R   |   KC_T   |   KC_Y   |   KC_U   |   KC_I   |   KC_O   |   KC_P   |  KC_LBRC |  KC_RBRC |     KC_BSLS    |    |  KC_DEL  |  KC_END  |  KC_PGDN |
|_______________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|________________|    |__________|__________|__________|
|      CAPS       |    A     |    S     |    D     |    F     |    G     |    H     |    J     |    K     |    L     |    ;     |    '     |        ENTER            |
|     ------      |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |        ------           |
|     KC_CAPS     |   KC_A   |   KC_S   |   KC_D   |   KC_F   |   KC_G   |   KC_H   |   KC_J   |   KC_K   |   KC_L   |  KC_SCLN |  KC_QUOT |        KC_ENT           |
|_________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________|                __________
|      SHIFT         |    Z     |    X     |    C     |    V     |    B     |    N     |    M     |    ,     |    .     |    /     |               RSHIFT            |               |    UP    |
|     ------         |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |               ------            |               |  ------  |
|     SC_LSPO        |   KC_Z   |   KC_X   |   KC_C   |   KC_V   |   KC_B   |   KC_N   |   KC_M   |  KC_COMM |  KC_DOT  |  KC_SLSH |               SC_RSPC           |               |   KC_UP  |
|____________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________________|     __________|__________|__________
|    CTRL     |    GUI      |    ALT      |                       SPACE                                     |    RALT      |   MENU      |   RGUI      |    RCTRL    |    |   LEFT   |   DOWN   |  RIGHT   |
|   ------    |   ------    |   ------    |                       ------                                    |    ------    |   ------    |   ------    |    ------   |    |  ------  |  ------  |  ------  |
|  KC_LCTL    |   KC_LGUI   |   KC_LALT   |                       KC_SPC                                    |   FN_SWTCH   |   KC_RALT   |   KC_RGUI   |    KC_RCTL  |    |  KC_LEFT |  KC_DOWN |  KC_RGHT |
|_____________|_____________|_____________|_________________________________________________________________|______________|_____________|_____________|_____________|    |__________|__________|__________|

Function Layer

 __________            ___________________________________________      ___________________________________________       ___________________________________________      ________________________________ 
|    ESC   |          |    F1    |    F2    |    F3    |    F4    |    |    F5    |    F6    |    F7    |    F8    |     |    F9    |    F10   |   F11    |   F12    |    |  PRINT   |  SCLCK   |  PAUSE   |
|  ------  |          |  ------  |  ------  |  ------  |  ------  |    |  ------  |  ------  |  ------  |  ------  |     |  ------  |  ------  |  ------  |  ------  |    |  ------  |  ------  |  ------  |
|          |          |  ROUT_TG |  ROUT_RM |  ROUT_VD |  ROUT_VI |    |          |          |          |          |     |          |  KC_WAKE |  KC_SLEP |          |    |  KC_PAUS |          |  KC_MUTE |
|__________|          |__________|__________|__________|__________|    |__________|__________|__________|__________|     |__________|__________|__________|__________|    |__________|__________|__________|
 ____________________________________________________________________________________________________________________________________________________________________      ________________________________
|    ~     |    1     |     2    |     3    |     4    |     5    |     6    |     7    |     8    |     9    |     0    |     -    |     =    |        BCKSP        |    |   INS    |   HOME   |   PGUP   |
|  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |       ------        |    |  ------  |  ------  |  ------  |
|          |          |          |          |          |          |          |          |          |          |          |          |          |                     |    |  KC_MSTP |  KC_MPLY |  KC_VOLU |
|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_____________________|    |__________|__________|__________|
|      TAB      |    Q     |    W     |    E     |    R     |    T     |    Y     |    U     |    I     |    O     |    P     |    [     |    ]     |       \        |    |   DEL    |   END    |   PGDN   |
|     ------    |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |     ------     |    |  ------  |  ------  |  ------  |
|               |  RGB_MOD |  RGB_SPI |  RBG_VAI |  RGB_HUI |          |          |          |          |          |          |          |          |                |    |  KC_MPRV |  KC_MNXT |  KC_VOLD |
|_______________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|________________|    |__________|__________|__________|
|      CAPS       |    A     |    S     |    D     |    F     |    G     |    H     |    J     |    K     |    L     |    ;     |    '     |        ENTER            |
|     ------      |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |        ------           |
|                 | RGB_RMOD |  RGB_SPD |  RGB_VAD |  RGB_HUD |          |          |          |          |          |          |          |                         |
|_________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________|                __________
|      SHIFT         |    Z     |    X     |    C     |    V     |    B     |    N     |    M     |    ,     |    .     |    /     |               RSHIFT            |               |    UP    |
|     ------         |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |               ------            |               |  ------  |
|                    |          |          | COPY_ALL |          |  MD_BOOT |  NK_TOGG |          |          |          |          |            TOGGLE_NUMPAD        |               |  KC_BRIU |
|____________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________________|     __________|__________|__________
|    CTRL     |    GUI      |    ALT      |                       SPACE                                     |    RALT      |   MENU      |   RGUI      |    RCTRL    |    |   LEFT   |   DOWN   |  RIGHT   |
|   ------    |   ------    |   ------    |                       ------                                    |    ------    |   ------    |   ------    |    ------   |    |  ------  |  ------  |  ------  |
|             |             |             |                                                                 |              |             |             |             |    |          |  KC_BRID |          |
|_____________|_____________|_____________|_________________________________________________________________|______________|_____________|_____________|_____________|    |__________|__________|__________|

Git Layer

 __________            ___________________________________________      ___________________________________________       ___________________________________________      ________________________________ 
|    ESC   |          |    F1    |    F2    |    F3    |    F4    |    |    F5    |    F6    |    F7    |    F8    |     |    F9    |    F10   |   F11    |   F12    |    |  PRINT   |  SCLCK   |  PAUSE   |
|  ------  |          |  ------  |  ------  |  ------  |  ------  |    |  ------  |  ------  |  ------  |  ------  |     |  ------  |  ------  |  ------  |  ------  |    |  ------  |  ------  |  ------  |
|          |          |          |          |          |          |    |          |          |          |          |     |          |          |          |          |    |          |          |          |
|__________|          |__________|__________|__________|__________|    |__________|__________|__________|__________|     |__________|__________|__________|__________|    |__________|__________|__________|
 ____________________________________________________________________________________________________________________________________________________________________      ________________________________
|    ~     |    1     |     2    |     3    |     4    |     5    |     6    |     7    |     8    |     9    |     0    |     -    |     =    |        BCKSP        |    |   INS    |   HOME   |   PGUP   |
|  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |       ------        |    |  ------  |  ------  |  ------  |
|  G_INIT  |  G_CLONE |  G_REMTE |  G_RESET |  G_PSFWL |          |          |          |          |          |          |          |          |                     |    |          |          |          |
|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_____________________|    |__________|__________|__________|
|      TAB      |    Q     |    W     |    E     |    R     |    T     |    Y     |    U     |    I     |    O     |    P     |    [     |    ]     |       \        |    |   DEL    |   END    |   PGDN   |
|     ------    |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |     ------     |    |  ------  |  ------  |  ------  |
|               |  G_PUPST |  G_PULL  |  G_PSORG |  G_PUSH  |          |          |          |          |          |          |          |          |                |    |          |          |          |
|_______________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|________________|    |__________|__________|__________|
|      CAPS       |    A     |    S     |    D     |    F     |    G     |    H     |    J     |    K     |    L     |    ;     |    '     |        ENTER            |
|     ------      |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |        ------           |
|                 |  G_ADD   |  G_STAT  |  G_DIFF  |  G_FETCH |          |          |          |          |          |          |          |                         |
|_________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________|                __________
|      SHIFT         |    Z     |    X     |    C     |    V     |    B     |    N     |    M     |    ,     |    .     |    /     |               RSHIFT            |               |    UP    |
|     ------         |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |               ------            |               |  ------  |
|                    |  G_LOG   |  G_CHECK |  G_COMM  |  G_COMSG |  G_BRANH |          |          |          |          |          |                                 |               |          |
|____________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________________|     __________|__________|__________
|    CTRL     |    GUI      |    ALT      |                       SPACE                                     |    RALT      |   MENU      |   RGUI      |    RCTRL    |    |   LEFT   |   DOWN   |  RIGHT   |
|   ------    |   ------    |   ------    |                       ------                                    |    ------    |   ------    |   ------    |    ------   |    |  ------  |  ------  |  ------  |
|             |             |             |                                                                 |              |             |             |             |    |          |          |          |
|_____________|_____________|_____________|_________________________________________________________________|______________|_____________|_____________|_____________|    |__________|__________|__________|

  • These are the strings that are dumped/keyed in for each associated keycode
G_INIT     "git init"
G_CLONE    "git clone "
G_ADD      "git add "
G_DIFF     "git diff "
G_RESET    "git reset --soft "
G_BRANH    "git branch --list"
G_CHECK    "git checkout "
G_REMTE    "git remote add "
G_FETCH    "git fetch "
G_PULL     "git pull"
G_PUPST    "git pull upstream "
G_PUSH     "git push"
G_PSORG    "git push -u origin "
G_PSFWL    "git push --force-with-lease"
G_COMM     "git commit "
G_COMSG    "git commit -m \": [TFS-]\""
G_STAT     "git status"
G_LOG      "git log"

Numpad Layer

activated via the Function Layer and stays active until you escape

 __________            ___________________________________________      ___________________________________________       ___________________________________________      ________________________________ 
|    ESC   |          |    F1    |    F2    |    F3    |    F4    |    |    F5    |    F6    |    F7    |    F8    |     |    F9    |    F10   |   F11    |   F12    |    |  PRINT   |  SCLCK   |  PAUSE   |
|  ------  |          |  ------  |  ------  |  ------  |  ------  |    |  ------  |  ------  |  ------  |  ------  |     |  ------  |  ------  |  ------  |  ------  |    |  ------  |  ------  |  ------  |
|  TOG_NPD |          |          |          |          |          |    |          |          |          |          |     |          |          |          |          |    |          |          |          |
|__________|          |__________|__________|__________|__________|    |__________|__________|__________|__________|     |__________|__________|__________|__________|    |__________|__________|__________|
 ____________________________________________________________________________________________________________________________________________________________________      ________________________________
|    ~     |    1     |     2    |     3    |     4    |     5    |     6    |     7    |     8    |     9    |     0    |     -    |     =    |        BCKSP        |    |   INS    |   HOME   |   PGUP   |
|  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |       ------        |    |  ------  |  ------  |  ------  |
|          |          |          |          |          |          |          |          |          |          |          |          |          |                     |    |          |          |          |
|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_____________________|    |__________|__________|__________|
|      TAB      |    Q     |    W     |    E     |    R     |    T     |    Y     |    U     |    I     |    O     |    P     |    [     |    ]     |       \        |    |   DEL    |   END    |   PGDN   |
|     ------    |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |     ------     |    |  ------  |  ------  |  ------  |
|               |          |          |          |          |          |  KC_P7   |  KC_P8   |  KC_P9   |          |          |          |          |                |    |          |          |          |
|_______________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|________________|    |__________|__________|__________|
|      CAPS       |    A     |    S     |    D     |    F     |    G     |    H     |    J     |    K     |    L     |    ;     |    '     |        ENTER            |
|     ------      |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |        ------           |
|                 |          |          |          |          |          |  KC_P4   |  KC_P5   |  KC_P6   |          |          |          |                         |
|_________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________|                __________
|      SHIFT         |    Z     |    X     |    C     |    V     |    B     |    N     |    M     |    ,     |    .     |    /     |               RSHIFT            |               |    UP    |
|     ------         |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |  ------  |               ------            |               |  ------  |
|                    |          |          |          |          |  KC_P1   |  KC_P2   |  KC_P3   |  KC_PDOT |          |          |                                 |               |          |
|____________________|__________|__________|__________|__________|__________|__________|__________|__________|__________|__________|_________________________________|     __________|__________|__________
|    CTRL     |    GUI      |    ALT      |                       SPACE                                     |    RALT      |   MENU      |   RGUI      |    RCTRL    |    |   LEFT   |   DOWN   |  RIGHT   |
|   ------    |   ------    |   ------    |                       ------                                    |    ------    |   ------    |   ------    |    ------   |    |  ------  |  ------  |  ------  |
|             |             |             |                       KC_P0                                     |              |             |             |             |    |          |          |          |
|_____________|_____________|_____________|_________________________________________________________________|______________|_____________|_____________|_____________|    |__________|__________|__________|

Features

These are the features currently used by this keymap:

RGB Time Out

This allows setting a dynamic timeout for RGB to turn off. The following is supported:

  1. Restores on the first click of any key.
  2. Restores to its previous state before timeout. i.e. if it was edge only before timeout it will restore to edge only, same for all modes.
  3. Doesn't interfere with RGB modes. You can set keyboard to All, Edge Only or Off and timeout will not interfere with these modes.
  4. The time before RGB is turned off is dynamically adjustable using keycodes ROUT_VI to increase, ROUT_VD to decrease. They have a 10 second steps by default. Minimum value 10 seconds by default and maximum is 10 minutes.
  5. Can be toggled on or off dyncamically with the ROUT_TG keycode.
  6. Can be put in fast mode using ROUT_FM, for movie watching purposes. Default value is 3 seconds. Note that fast mode disabled ROUT_VD and ROUT_VI so to use them again you have to toggle fast mode off with ROUT_FM. It doesn't impact ROUT_TG and ROUT_TG will remember if fast mode was enabled when toggled back on, so it doesn't disable fast mode on its own, only ROUT_FM can disable or enable fast mode.

Tapdance Keys

Created a tapdance setup to use the same key to switch between the layers, aka a function key. ;)

Layers are temporary while holding the function key down. - Single tap and hold: Activates the Function Layer. - Double tap and hold: Activates the Git Layer.

Numpad

Activated in the Function Layer by holding down the fn key and pressing the toggle key (RSHIFT). The keeps the layer activated without needing to hold the fn key anymore. To leave the numpad layer press the ESC key or hold and let go of the fn key.

Space Cadet Shift

The typing layer is setup to use the Space Cadet Shift. As a software engineer this is massively useful :)

Sorry ISO users, you'll need to configure it for your own setup or disable it.

Credits