]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/planck/keymaps/phreed/keymap.c
ff2205c107a8f804db1b2016fcdaae4953dca324
[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 #include "planck.h"
18 #include "action_layer.h"
19
20 extern keymap_config_t keymap_config;
21
22 enum planck_layers {
23   _QWERT__Y = 0,
24   _NP = 1, // Number Pad
25   _SC = 2, // Special Characters
26   _CD = 3, // Command Keys
27   _FN = 4, // Function Key
28   _PLOVER = 5 // Stenography
29 };
30
31 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32
33 [_QWERT__Y] = {
34   {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},
35   {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},
36   {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},
37   {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}
38 },
39
40 [_NP] = {
41   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LABK, KC_RABK, KC_7,    KC_8,    KC_9,    KC_DOT},
42   {XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_LALT, KC_PPLS, KC_PMNS, KC_4,    KC_5,    KC_6,    KC_0},
43   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAST, KC_PSLS, KC_1,    KC_2,    KC_3,    KC_EQL},
44   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LSFT, KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
45 },
46
47 [_SC] = {
48   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_AMPR, KC_ASTR, KC_TILD, XXXXXXX },
49   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_DLR,  KC_PERC, KC_CIRC, KC_GRV},
50   {XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_EXLM, KC_AT,   KC_HASH, XXXXXXX},
51   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LSFT, KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
52 },
53
54 [_FN] = {
55   {KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
56   {KC_F7,  KC_F8,  KC_F9,  KC_F10, KC_F11, KC_F12, KC_LALT, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX},
57   {KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
58   {KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
59 },
60
61 [_CD] = {
62   {KC_HOME, KC_END,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
63   {KC_PGUP, KC_DEL,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
64   {KC_PGDN, KC_INS,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX},
65   {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
66 },
67
68 [_PLOVER] = {
69   {KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1,    KC_1   },
70   {XXXXXXX, KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC},
71   {XXXXXXX, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT},
72   {XXXXXXX, XXXXXXX, KC_C,    KC_V,    XXXXXXX, XXXXXXX, KC_N,    KC_M,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
73 }
74
75 };
76
77 #ifdef AUDIO_ENABLE
78   float plover_song[][2]     = SONG(PLOVER_SOUND);
79   float plover_gb_song[][2]  = SONG(PLOVER_GOODBYE_SOUND);
80 #endif