aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReid Sox-Harris <reidsox1@gmail.com>2020-10-14 18:10:15 -0700
committerGitHub <noreply@github.com>2020-10-15 02:10:15 +0100
commitaf2c50638353ce2a277392ff0ecbc10f91f92413 (patch)
tree2035eb610808860dfd9093b4f6d5ca592a0ce2b9
parent59d503e3b9fa3fe1f6c4cdb56015251732a5c1b0 (diff)
downloadqmk_firmware-af2c50638353ce2a277392ff0ecbc10f91f92413.tar.gz
qmk_firmware-af2c50638353ce2a277392ff0ecbc10f91f92413.zip
adds eosti/planck keymaps (#10616)
-rw-r--r--keyboards/planck/keymaps/eosti/config.h55
-rw-r--r--keyboards/planck/keymaps/eosti/keymap.c122
-rw-r--r--keyboards/planck/keymaps/eosti/readme.md9
-rw-r--r--keyboards/planck/keymaps/eosti/rules.mk1
4 files changed, 187 insertions, 0 deletions
diff --git a/keyboards/planck/keymaps/eosti/config.h b/keyboards/planck/keymaps/eosti/config.h
new file mode 100644
index 000000000..54813bf06
--- /dev/null
+++ b/keyboards/planck/keymaps/eosti/config.h
@@ -0,0 +1,55 @@
1/* Copyright 2020 Reid Sox-Harris
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 once
18
19#ifdef AUDIO_ENABLE
20 #define STARTUP_SONG SONG(PLANCK_SOUND)
21 // #define STARTUP_SONG SONG(NO_SOUND)
22
23 #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
24 SONG(COLEMAK_SOUND), \
25 SONG(DVORAK_SOUND) \
26 }
27#endif
28
29/*
30 * MIDI options
31 */
32
33/* Prevent use of disabled MIDI features in the keymap */
34//#define MIDI_ENABLE_STRICT 1
35
36/* enable basic MIDI features:
37 - MIDI notes can be sent when in Music mode is on
38*/
39
40// #define MIDI_BASIC
41
42/* enable advanced MIDI features:
43 - MIDI notes can be added to the keymap
44 - Octave shift and transpose
45 - Virtual sustain, portamento, and modulation wheel
46 - etc.
47*/
48#define MIDI_ADVANCED
49
50/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
51//#define MIDI_TONE_KEYCODE_OCTAVES 2
52
53// Most tactile encoders have detents every 4 stages
54 #define ENCODER_RESOLUTION 4
55
diff --git a/keyboards/planck/keymaps/eosti/keymap.c b/keyboards/planck/keymaps/eosti/keymap.c
new file mode 100644
index 000000000..3f1c750cf
--- /dev/null
+++ b/keyboards/planck/keymaps/eosti/keymap.c
@@ -0,0 +1,122 @@
1/* Copyright 2020 Reid Sox-Harris
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 QMK_KEYBOARD_H
18#include "muse.h"
19
20enum planck_layers {
21 _QWERTY,
22 _GAME,
23 _UPPER,
24 _LOWER,
25 _UTILS
26};
27
28enum planck_keycodes {
29 TMUX_WN = SAFE_RANGE,
30 TMUX_WL
31};
32
33bool process_record_user(uint16_t keycode, keyrecord_t *record) {
34 switch (keycode) {
35 case TMUX_WN: // Moves to the next tmux window
36 if (record->event.pressed) {
37 SEND_STRING(SS_LCTRL("a") "n");
38 }
39 break;
40
41 case TMUX_WL: // Moves to the last tmux window
42 if (record->event.pressed) {
43 SEND_STRING(SS_LCTRL("a") "n");
44 }
45 break;
46 }
47 return true;
48};
49
50#define UPPER MO(_UPPER)
51#define LOWER MO(_LOWER)
52#define UTILS MO(_UTILS)
53#define GAME TG(_GAME)
54
55#define WM_R LCTL(KC_RGHT) // Moves the MacOS WM window to the right
56#define WM_L LCTL(KC_LEFT) // ...and to the left
57#define WM_MC LCTL(KC_UP) // Opens MacOS Mission Control
58#define WEB_R LGUI(KC_RCBR) // Move one tab to the right, works on Firefox, Chrome
59#define WEB_L LGUI(KC_LCBR) // ...and to the left
60#define TMUX_U RALT(KC_UP) // Changes focus in tmux, requires a keybinding in tmux.conf
61#define TMUX_D RALT(KC_DOWN)
62#define TMUX_R RALT(KC_RGHT)
63#define TMUX_L RALT(KC_LEFT)
64
65
66const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
67 [_QWERTY] = LAYOUT_planck_grid(
68 // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
69 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
70 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
71 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
72 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
73 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSPC,
74 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
75 KC_NO, KC_NO, KC_LCTL, KC_LGUI, UPPER, KC_ENT, KC_SPC, LOWER, KC_RALT, KC_VOLU, KC_VOLD, KC_MUTE
76 // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
77 ),
78 [_GAME] = LAYOUT_planck_grid(
79 // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
80 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
81 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
82 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
83 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
84 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
85 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
86 _______, _______, _______, _______, _______, KC_SPC, KC_ENT, _______, _______, _______, _______, _______
87 // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
88 ),
89 [_UPPER] = LAYOUT_planck_grid(
90 // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
91 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
92 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
93 _______, WEB_L, WEB_R, WM_MC, WM_L, WM_R, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PGUP, KC_BSLS,
94 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
95 _______, KC_NO, KC_LABK, KC_LBRC, KC_LPRN, KC_LCBR, KC_RCBR, KC_RPRN, KC_RBRC, KC_RABK, KC_PGDN, _______,
96 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
97 _______, _______, _______, _______, UPPER, _______, _______, UTILS, _______, KC_MPRV, KC_MPLY, KC_MNXT
98 // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
99 ),
100 [_LOWER] = LAYOUT_planck_grid(
101 // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
102 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
103 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
104 _______, TMUX_WL, TMUX_WN, KC_NO, KC_NO, KC_NO, TMUX_L, TMUX_D, TMUX_U, TMUX_R, KC_NO, KC_PIPE,
105 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
106 _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, KC_NO, KC_DEL,
107 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
108 _______, _______, _______, _______, UTILS, _______, _______, LOWER, _______, _______, _______, _______
109 // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
110 ),
111 [_UTILS] = LAYOUT_planck_grid(
112 // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
113 KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
114 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
115 RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_NO, KC_INS, KC_HOME, AU_ON, KC_NO, GAME,
116 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
117 KC_NO, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_SLEP, KC_DEL, KC_END, AU_OFF, KC_NO, RESET,
118 // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
119 _______, _______, _______, _______, UTILS, _______, _______, UTILS, _______, _______, _______, _______
120 // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
121 )
122};
diff --git a/keyboards/planck/keymaps/eosti/readme.md b/keyboards/planck/keymaps/eosti/readme.md
new file mode 100644
index 000000000..eb775c52c
--- /dev/null
+++ b/keyboards/planck/keymaps/eosti/readme.md
@@ -0,0 +1,9 @@
1# eosti's Planck (rev6) Keymap
2## Features
3* QWERTY main layout
4* Gaming sublayer that switches space and enter for ease of WASDing
5* Common programming enclosers {([<>])} easily accessable
6* Vim-style HJKL arrow navigation
7* tmux keybindings for easy navigation
8* Plays well with my Iris Rev.3 keymap for ease of switching
9* I like it
diff --git a/keyboards/planck/keymaps/eosti/rules.mk b/keyboards/planck/keymaps/eosti/rules.mk
new file mode 100644
index 000000000..dcf16bef3
--- /dev/null
+++ b/keyboards/planck/keymaps/eosti/rules.mk
@@ -0,0 +1 @@
SRC += muse.c