]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/planck/keymaps/phreed/keymap.c
Adds support for Planck Rev 6 (#2666)
[qmk_firmware.git] / keyboards / planck / keymaps / phreed / keymap.c
1 /* Copyright 2015-2017 Jack Humbert
2  *
3  * This program is free software: you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation, either version 2 of the License, or
6  * (at your option) any later version.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15  */
16
17 #pragma message "You may need to add LAYOUT_planck_grid to your keymap layers - see default for an example"
18 #include "planck.h"
19 #include "action_layer.h"
20
21 extern keymap_config_t keymap_config;
22
23 enum planck_layers {
24   _QWERT__Y = 0,
25   _NP = 1, // Number Pad
26   _SC = 2, // Special Characters
27   _CD = 3, // Command Keys
28   _FN = 4, // Function Key
29   _PLOVER = 5 // Stenography
30 };
31
32 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33
34 [_QWERT__Y] = {
35   {KC_Q,    KC_W,    KC_E,    KC_R,         KC_T,   MEH_T(KC_ESC),  GUI_T(KC_BSLS),   KC_Y,         KC_U,    KC_I,    KC_O,     KC_P},
36   {KC_A,    KC_S,    KC_D,    LT(_NP,KC_F), KC_G,   ALT_T(KC_TAB),  ALT_T(KC_QUOT),   KC_H, LT(_FN,KC_J),    KC_K,    KC_L,  KC_SCLN},
37   {KC_Z,    KC_X,    KC_C,    LT(_SC,KC_V), KC_B,   KC_LBRC,               KC_RBRC,   KC_N, LT(_CD,KC_M), KC_COMM,  KC_DOT,  KC_SLSH},
38   {KC_LEFT, KC_DOWN, KC_BSPC, KC_ENT,       KC_LSPO,CTL_T(KC_MINS),  CTL_T(KC_EQL),KC_RSPC,       KC_SPC,  KC_DEL,   KC_UP,  KC_RGHT}
39 },
40
41 [_NP] = {
42   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LABK, KC_RABK, KC_7,    KC_8,    KC_9,    KC_DOT},
43   {XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_LALT, KC_PPLS, KC_PMNS, KC_4,    KC_5,    KC_6,    KC_0},
44   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAST, KC_PSLS, KC_1,    KC_2,    KC_3,    KC_EQL},
45   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LSFT, KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
46 },
47
48 [_SC] = {
49   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_AMPR, KC_ASTR, KC_TILD, XXXXXXX },
50   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_DLR,  KC_PERC, KC_CIRC, KC_GRV},
51   {XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_EXLM, KC_AT,   KC_HASH, XXXXXXX},
52   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LSFT, KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
53 },
54
55 [_FN] = {
56   {KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
57   {KC_F7,  KC_F8,  KC_F9,  KC_F10, KC_F11, KC_F12, KC_LALT, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX},
58   {KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
59   {KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
60 },
61
62 [_CD] = {
63   {KC_HOME, KC_END,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
64   {KC_PGUP, KC_DEL,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
65   {KC_PGDN, KC_INS,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX},
66   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
67 },
68
69 [_PLOVER] = {
70   {KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1   },
71   {XXXXXXX, KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC},
72   {XXXXXXX, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT},
73   {XXXXXXX, XXXXXXX, KC_C,    KC_V,    XXXXXXX, XXXXXXX, KC_N,    KC_M,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
74 }
75
76 };
77
78 #ifdef AUDIO_ENABLE
79   float plover_song[][2]     = SONG(PLOVER_SOUND);
80   float plover_gb_song[][2]  = SONG(PLOVER_GOODBYE_SOUND);
81 #endif