]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboard/planck/keymap_joe.c
Added backlight.h, backlight.c
[qmk_firmware.git] / keyboard / planck / keymap_joe.c
1 #include "keymap_common.h"
2
3 const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4 [0] = KEYMAP( /* Joe colemak */
5   ESC,  Q,    W,    F,    P,    G,    J,    L,    U,    Y,    SCLN, MINS,
6   BSPC, A,    R,    S,    T,    D,    H,    N,    E,    I,    O,    ENT,
7   TAB,  Z,    X,    C,    V,    B,    K,    M,    COMM, DOT,  SLSH, QUOT,
8   LCTL, LGUI, LALT, LSFT, FN1,    SPC,      FN0,  LEFT, DOWN, UP,  RGHT),
9 [1] = KEYMAP( /* Joe qwerty */
10   ESC,  Q,    W,    E,    R,    T,    Y,    U,    I,    O,    P,    MINS,
11   BSPC, A,    S,    D,    F,    G,    H,    J,    K,    L,    SCLN, ENT,
12   TAB,  Z,    X,    C,    V,    B,    N,    M,    COMM, DOT,  SLSH, QUOT,
13   LCTL, LGUI, LALT, LSFT, FN1,    SPC,      FN0,  LEFT, DOWN, UP,  RGHT),
14 [2] = KEYMAP( /* Joe RAISE */
15   F1,   F2,   F3,   F4,   F5,   F6,   F7,   F8,   F9,   F10,  F11,  F12,
16   DEL,  FN10, FN11, FN12, FN13, FN14, FN15, FN16, FN17, FN18, FN19, TRNS,
17   BSLS, FN5,  FN6,  TRNS, TRNS, MENU, CAPS, INS,  PSCR, LBRC, RBRC, FN21,
18   TRNS, TRNS, TRNS, TRNS, FN2,     TRNS,    FN0,  FN26, FN27, FN28, FN29),
19 [3] = KEYMAP( /* Joe LOWER */
20   TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN7, FN8, FN9, FN30, FN31,
21   DEL,  1,    2,    3,    4,    5,    6,    7,    8,    9,    0,    TRNS,
22   FN25, FN3,  FN4,  TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN23, FN24, EQL,
23   TRNS, TRNS, TRNS, TRNS, FN1,    TRNS,     FN2,  HOME, PGDN, PGUP, END),
24 [4] = KEYMAP( /* Joe LOWER + RAISE */
25   TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
26   TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
27   TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
28   TRNS, TRNS, TRNS, TRNS, TRNS,     TRNS,   TRNS, MNXT, VOLD, VOLU, MPLY),
29 };
30
31 enum macro_id {
32     M_Q0,
33     M_Q1,
34     M_Q2,
35     M_Q3,
36     M_Q4
37 };
38
39 const uint16_t PROGMEM fn_actions[] = {
40     [0] = ACTION_LAYER_MOMENTARY(2),  // to Fn overlay
41     [1] = ACTION_LAYER_MOMENTARY(3),  // to Fn overlay
42     [2] = ACTION_LAYER_MOMENTARY(4),  // to Fn overlay
43
44     [3] = ACTION_DEFAULT_LAYER_SET(0), 
45     [4] = ACTION_DEFAULT_LAYER_SET(1),
46
47     [5] = ACTION_MODS_KEY(MOD_LCTL, KC_PGDN),
48     [6] = ACTION_MODS_KEY(MOD_LCTL, KC_PGUP),
49
50     [10] = ACTION_MODS_KEY(MOD_LSFT, KC_1),
51     [11] = ACTION_MODS_KEY(MOD_LSFT, KC_2),
52     [12] = ACTION_MODS_KEY(MOD_LSFT, KC_3),
53     [13] = ACTION_MODS_KEY(MOD_LSFT, KC_4),
54     [14] = ACTION_MODS_KEY(MOD_LSFT, KC_5),
55     [15] = ACTION_MODS_KEY(MOD_LSFT, KC_6),
56     [16] = ACTION_MODS_KEY(MOD_LSFT, KC_7),
57     [17] = ACTION_MODS_KEY(MOD_LSFT, KC_8),
58     [18] = ACTION_MODS_KEY(MOD_LSFT, KC_9),
59     [19] = ACTION_MODS_KEY(MOD_LSFT, KC_0),
60     [20] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS),
61     [21] = ACTION_MODS_KEY(MOD_LSFT, KC_EQL),
62     [22] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV),
63     [23] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRC),
64     [24] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC),
65     [25] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS),
66
67     [7] = ACTION_MACRO(M_Q0),
68     [8] = ACTION_MACRO(M_Q1),
69     [9] = ACTION_MACRO(M_Q2),
70     [30] = ACTION_MACRO(M_Q3),
71     [31] = ACTION_MACRO(M_Q4),
72
73     [26] = ACTION_MODS_KEY(MOD_LCTL | MOD_LALT, KC_LEFT),
74     [27] = ACTION_MODS_KEY(MOD_LCTL | MOD_LALT, KC_DOWN),
75     [28] = ACTION_MODS_KEY(MOD_LCTL | MOD_LALT, KC_UP),
76     [29] = ACTION_MODS_KEY(MOD_LCTL | MOD_LALT, KC_RGHT),
77
78 };
79
80 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
81
82     keyevent_t event = record->event;
83     switch (id) {
84         case M_Q0:
85             return event.pressed ?
86                 MACRO( D(LSFT), T(SCLN), U(LSFT), T(SLSH), END ) :
87                 MACRO_NONE;
88         case M_Q1:
89             return event.pressed ?
90                 MACRO( D(LSFT), T(SCLN), T(9), U(LSFT), END ) :
91                 MACRO_NONE;
92         case M_Q2:
93             return event.pressed ?
94                 MACRO( D(LSFT), T(0), T(SCLN), U(LSFT), END ) :
95                 MACRO_NONE;
96         case M_Q3:
97             return event.pressed ?
98                 MACRO( D(LSFT), T(9), T(SCLN), U(LSFT), END ) :
99                 MACRO_NONE;
100         case M_Q4:
101             return event.pressed ?
102                 MACRO( D(LSFT), T(SCLN), T(0), U(LSFT), END ) :
103                 MACRO_NONE;
104
105     }
106     return MACRO_NONE;
107 }