Add crd's XD60 ANSI keymap (#4702)

master
Jason Thigpen 2018-12-21 17:39:10 -08:00 committed by MechMerlin
parent af84f0ff86
commit ff8b1b9c69
2 changed files with 82 additions and 0 deletions

View File

@ -0,0 +1,52 @@
# ANSI Layout
This is the standard ANSI keymap that I use on all of my 60% boards. This keymap
includes a single function layer available by holding the designated key on the
bottom row.
I don't ever use Caps Lock, so that keycode is not mapped anywhere. In place of
the usual Caps Lock key, I have the following bnehaviour encoded: Escape when tapped
and Control when held.
I also have the bottom right mod cluster mapped to navigational direction keys when tapped.
Shift = Up, Alt = Down, Ctrl = Right, Fn = Left. When held, these keys send the usual modifier
signals.
```
/* Base layer
* ,-----------------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
* |-----------------------------------------------------------------------------------------+
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
* |-----------------------------------------------------------------------------------------+
* | Esc/Ctrl| A | S | D | F | G | H | J | K | L | ; | ' | Enter |
* |-----------------------------------------------------------------------------------------+
* | Shift | Z | X | C | V | B | N | M | , | . | ? | Shift |
* |-----------------------------------------------------------------------------------------+
* | Ctrl | Alt | Cmd | Space | Cmd | Fn | Alt | Ctrl |
* `-----------------------------------------------------------------------------------------'
*/
```
While holding the function key, you have access to the following layout. Any key
not indicated is considered "transparent" and sends the signal indicated in the
layer below. This function later gets you dedicated access to Escape and Delete
keys, function keys on numbers, WASD directions, other navigation, multimedia
controls, RGB (underglow) controls, and firmware reset (DFU mode).
```
/* Fn layer
* ,-----------------------------------------------------------------------------------------.
* | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del |
* |-----------------------------------------------------------------------------------------+
* | | Home| Up | End | | | | | Mute| | | Pg+ | Pg- | Reset |
* |-----------------------------------------------------------------------------------------+
* | | Left| Down|Right| | | |Brt- |Vol- |Vol+ |Brt+ | | RGB Toggle |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | |R(Bt-)|R(Bt+)|R(Rot)| |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | |
* `-----------------------------------------------------------------------------------------'
*/
```

View File

@ -0,0 +1,30 @@
#include QMK_KEYBOARD_H
enum keyboard_layers {
_BL = 0, // Base Layer
_FL // Function Layer
};
// Custom #defined keycodes (shorter macros for readability)
#define KC_CTES CTL_T(KC_ESC)
#define KC_RSUP RSFT_T(KC_UP)
#define KC_FNLT LT(_FL, KC_LEFT)
#define KC_RADN RALT_T(KC_DOWN)
#define KC_RCRT RCTL_T(KC_RIGHT)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BL] = LAYOUT_60_ansi(
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_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_CTES, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSUP,
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_FNLT, KC_RADN, KC_RCRT
),
[_FL] = LAYOUT_60_ansi(
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_DEL,
_______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, RESET,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SLCK, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, RGB_TOG,
_______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, RGB_MOD, _______,
_______, _______, _______, _______, _______, _______, _______, _______
)
};