Permalink
Find file
dfb84f0 Feb 25, 2015
Pierre Carrier unsplit
62 lines (58 sloc) 3.3 KB
#include "keymap_common.h"
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = KEYMAP( /* Native */
ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC,
BSLS, A, S, D, F, G, H, J, K, L, SCLN, QUOT,
TAB, Z, X, C, V, B, N, M, COMM, DOT, SLSH, ENT,
LGUI, LCTL, LALT, LSFT, FN1, SPC, FN2, LEFT, DOWN, UP, RGHT),
[1] = KEYMAP( /* QWERTY->Colemak */
ESC, Q, W, F, P, G, J, L, U, Y, SCLN, BSPC,
BSLS, A, R, S, T, D, H, N, E, I, O, QUOT,
TAB, Z, X, C, V, B, K, M, COMM, DOT, SLSH, ENT,
LGUI, LCTL, LALT, LSFT, FN1, SPC, FN2, LEFT, DOWN, UP, RGHT),
[2] = KEYMAP( /* 2: QWERTY->Dvorak */
ESC, QUOT, COMM, DOT, P, Y, F, G, C, R, L, BSPC,
BSLS, A, O, E, U, I, D, H, T, N, S, SLSH,
TAB, SCLN, Q, J, K, X, B, M, W, V, Z, ENT,
LGUI, LCTL, LALT, LSFT, FN1, SPC, FN2, LEFT, DOWN, UP, RGHT),
[4] = KEYMAP( /* fn1 */
FN20, FN10, FN11, FN12, FN13, FN14, FN15, FN16, FN17, FN18, FN19, FN21,
MINS, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, EQL,
NO, NO, NO, GRV, FN22, NO, NO, LBRC, RBRC, FN23, FN24, TRNS,
TRNS, TRNS, TRNS, TRNS, FN1, TRNS, FN3, HOME, PGDN, PGUP, END),
[5] = KEYMAP( /* fn2 */
F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12,
TRNS, DEL, CUT, COPY, PASTE, MENU, CAPS, INS, PSCR, SLCK, PAUS, TRNS,
TRNS, TRNS, TRNS, TRNS, FN3, TRNS, FN2, MUTE, VOLD, VOLU, MPLY),
[6] = KEYMAP( /* fn1+fn2 */
FN7, FN8, FN9, NO, NO, NO, NO, NO, NO, NO, NO, PWR,
NO, NO, NO, NO, UNDO, NO, NO, AGAIN, NO, NO, NO, SLEP,
TRNS, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, WAKE,
TRNS, TRNS, TRNS, TRNS, FN4, TRNS, FN5, MSTP, MPRV, MNXT, MPLY),
};
const uint16_t PROGMEM fn_actions[] = {
[1] = ACTION_LAYER_BIT_XOR(1, 0b0001, ON_BOTH), // swap fn1
[2] = ACTION_LAYER_BIT_XOR(1, 0b0010, ON_BOTH), // swap fn2
[3] = ACTION_LAYER_BIT_OR( 1, 0b0111, ON_BOTH), // + fn1 + fn2 + fn1+2
[4] = ACTION_LAYER_BIT_AND(1, 0b1110, ON_BOTH), // - fn1
[5] = ACTION_LAYER_BIT_AND(1, 0b1101, ON_BOTH), // - fn2
[7] = ACTION_DEFAULT_LAYER_SET(0), // set Qwerty layout
[8] = ACTION_DEFAULT_LAYER_SET(1), // set Colemak layout
[9] = ACTION_DEFAULT_LAYER_SET(2), // set Dvorak layout
[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),
};