Skip to content

Commit

Permalink
Add crd's XD60 ANSI keymap (qmk#4702)
Browse files Browse the repository at this point in the history
  • Loading branch information
cdarwin authored and mechmerlin committed Dec 22, 2018
1 parent af84f0f commit ff8b1b9
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 0 deletions.
52 changes: 52 additions & 0 deletions keyboards/xd60/keymaps/crd_ansi/README.md
Original file line number Diff line number Diff line change
@@ -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)| |
* |-----------------------------------------------------------------------------------------+
* | | | | | | | | |
* `-----------------------------------------------------------------------------------------'
*/
```
30 changes: 30 additions & 0 deletions keyboards/xd60/keymaps/crd_ansi/keymap.c
Original file line number Diff line number Diff line change
@@ -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, _______,
_______, _______, _______, _______, _______, _______, _______, _______
)
};

0 comments on commit ff8b1b9

Please sign in to comment.