Skip to content

Instantly share code, notes, and snippets.

@cesque
Created March 2, 2015 14:14
Show Gist options
  • Select an option

  • Save cesque/0ff0bd069d6007caa080 to your computer and use it in GitHub Desktop.

Select an option

Save cesque/0ff0bd069d6007caa080 to your computer and use it in GitHub Desktop.
Planck layout
#include "keymap_common.h"
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = KEYMAP( /* qwerty */
ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC,
FN6, A, S, D, F, G, H, J, K, L, SCLN, ENT,
LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT,
LCTL, CAPS, LALT, QUOT, FN2, SPC, FN1, SLSH, DEL, PSCR, TAB),
[1] = KEYMAP( /* dvorak */
ESC,SCLN, COMM, DOT, P, Y, F, G, C, R, L, BSPC,
FN6, A, O, E, U, I, D, H, T, N, S, ENT,
LSFT, QUOT, Q, J, K, X, B, M, W, V, Z, RSFT,
LCTL, CAPS, LALT, QUOT, FN2, SPC, FN1, SLSH, DEL, PSCR, TAB),
[2] = KEYMAP( /* raise */
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC,
TRNS, FN3, FN4, FN5, PAUS, TRNS, TRNS, MINS, EQL, LBRC, RBRC, BSLS,
TRNS, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, TRNS,
TRNS, TRNS, TRNS, TRNS, TRNS, FN27, FN1, MNXT, VOLD, VOLU, MPLY),
[3] = KEYMAP( /* lower */
FN22, FN10, FN11, FN12, FN13, FN14, FN15, FN16, FN17, FN18, FN19, BSPC,
TRNS, FN3, FN4, FN5, TRNS, TRNS, TRNS, FN20, FN21, FN23, FN24, FN28,
TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, TRNS,
TRNS, TRNS, TRNS, TRNS, FN2, TRNS, FN7, MNXT, VOLD, VOLU, MPLY),
[4] = KEYMAP( /* game */
ESC, 1, 2, 3, 4, NO, NO, NO, NO, NO, NO, NO,
TAB, Q, W, E, I, NO, NO, NO, NO, NO, NO, NO,
V, A, S, D, F, NO, NO, N, M, COMM, DOT , NO,
LCTL, NO, NO, NO, FN2, SPC, FN1, NO, NO, NO, NO),
[5] = KEYMAP( /* arrow keys */
TRNS, TRNS, UP , TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),
[6] = KEYMAP( /* layer switching */
NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO,
NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, FN29,
NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO,
NO,NO,NO,NO, TRNS, TRNS, FN7 , FN3 , FN4 , FN5 , TRNS),
[7] = KEYMAP( /* this isn't used for anything right now */
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LSFT, RSFT, PAUS,
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN29,
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
TRNS, TRNS, TRNS, FN8, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS)
};
const uint16_t PROGMEM fn_actions[] = {
[1] = ACTION_LAYER_MOMENTARY(2), // to Fn overlay
[2] = ACTION_LAYER_MOMENTARY(3), // to Fn overlay
[3] = ACTION_DEFAULT_LAYER_SET(0),
[4] = ACTION_DEFAULT_LAYER_SET(1),
[5] = ACTION_DEFAULT_LAYER_SET(4),
[6] = ACTION_LAYER_MOMENTARY(5), // to Fn overlay
[7] = ACTION_LAYER_MOMENTARY(6),
[10] = ACTION_MODS_KEY(MOD_LSFT, KC_1), // !
[11] = ACTION_MODS_KEY(MOD_LSFT, KC_2), // @
[12] = ACTION_MODS_KEY(MOD_LSFT, KC_3), // #
[13] = ACTION_MODS_KEY(MOD_LSFT, KC_4), // $
[14] = ACTION_MODS_KEY(MOD_LSFT, KC_5), // %
[15] = ACTION_MODS_KEY(MOD_LSFT, KC_6), // ^
[16] = ACTION_MODS_KEY(MOD_LSFT, KC_7), // &
[17] = ACTION_MODS_KEY(MOD_LSFT, KC_8), // *
[18] = ACTION_MODS_KEY(MOD_LSFT, KC_9), // (
[19] = ACTION_MODS_KEY(MOD_LSFT, KC_0), // )
[20] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS), // _
[21] = ACTION_MODS_KEY(MOD_LSFT, KC_EQL), // +
[22] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV), // ~
[23] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRC), // {
[24] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC), // }
[26] = ACTION_MODS_KEY(MOD_LALT, KC_TAB),
[27] = ACTION_MODS_KEY(MOD_LGUI, KC_L),
[28] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), // |
[29] = ACTION_MODS_KEY(MOD_LSFT | MOD_RSFT, KC_PAUSE),
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment