aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/gray_studio/space65/keymaps/billiams/config.h20
-rw-r--r--keyboards/gray_studio/space65/keymaps/billiams/keymap.c125
-rw-r--r--keyboards/gray_studio/space65/keymaps/billiams/readme.md81
3 files changed, 226 insertions, 0 deletions
diff --git a/keyboards/gray_studio/space65/keymaps/billiams/config.h b/keyboards/gray_studio/space65/keymaps/billiams/config.h
new file mode 100644
index 000000000..c2fdc9108
--- /dev/null
+++ b/keyboards/gray_studio/space65/keymaps/billiams/config.h
@@ -0,0 +1,20 @@
1/* Copyright 2019 MechMerlin
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// place overrides here
20#define GRAVE_ESC_GUI_OVERRIDE # Always send Escape if GUI is pressed
diff --git a/keyboards/gray_studio/space65/keymaps/billiams/keymap.c b/keyboards/gray_studio/space65/keymaps/billiams/keymap.c
new file mode 100644
index 000000000..838b3d13e
--- /dev/null
+++ b/keyboards/gray_studio/space65/keymaps/billiams/keymap.c
@@ -0,0 +1,125 @@
1/* Copyright 2019 MechMerlin
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#include QMK_KEYBOARD_H
17
18// Defines the keycodes used by our macros in process_record_user
19enum custom_keycodes {
20 QMKBEST = SAFE_RANGE,
21 QMKURL
22};
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25
26 /* Qwerty
27 * ,------------------------------------------------------------------------------------------------.
28 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | Del | INS |
29 * |------------------------------------------------------------------------------------------------+
30 * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bkspc | PGUP |
31 * |------------------------------------------------------------------------------------------------+
32 * | Fn1 | A | S | D | F | G | H | J | K | L | ; | ' | Enter | PGDN |
33 * |------------------------------------------------------------------------------------------------+
34 * | Shift | Z | X | C | V | B | N | M | , | . | ?/ | Shift | up | ESC |
35 * |------------------------------------------------------------------------------------------------+
36 * | Ctrl | Alt | Cmd | Space | Alt | Ctrl | Left | Down | Right |
37 * `------------------------------------------------------------------------------------------------'
38 */
39
40[0] = LAYOUT( \
41 KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_INS, \
42 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP, \
43 MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, \
44 KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_ESC, \
45 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
46 ),
47
48 /* 1st Layer
49 * ,------------------------------------------------------------------------------------------------.
50 * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Vol- |Vol+ | Next |
51 * |------------------------------------------------------------------------------------------------+
52 * | |RGB T|RGB M| Hue-| Hue+| Sat-| Sat+| Val-| Val+| | | | | | Prev |
53 * |------------------------------------------------------------------------------------------------+
54 * | | | | | | | Left| Down| Up |Right| | | Play/Pause | Vol+ |
55 * |------------------------------------------------------------------------------------------------+
56 * | | | | | | | | | | Scr- | Scr+ | | |PGUP | Vol- |
57 * |------------------------------------------------------------------------------------------------+
58 * | | | | | | Fn2 | HOME | PGDN | END |
59 * `------------------------------------------------------------------------------------------------'
60 */
61
62[1] = LAYOUT( \
63 KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_MFFD, \
64 KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MRWD, \
65 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_MPLY, KC_VOLU, \
66 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BRID, KC_BRIU, KC_TRNS, KC_TRNS, KC_PGUP, KC_VOLD, \
67 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_HOME, KC_PGDN, KC_END \
68 ),
69
70 /* 2nd Layer
71 * ,------------------------------------------------------------------------------------------------.
72 * | | | | | | | | | | | | | | | | |
73 * |------------------------------------------------------------------------------------------------+
74 * | | | | | | | | | | | | | | | |
75 * |------------------------------------------------------------------------------------------------+
76 * | | | | | | | | | | | | | | |
77 * |------------------------------------------------------------------------------------------------+
78 * | | | | | | | | | | | | | | | RESET |
79 * |------------------------------------------------------------------------------------------------+
80 * | | | | | | | | | |
81 * `------------------------------------------------------------------------------------------------'
82 */
83
84[2] = LAYOUT( \
85 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
86 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
87 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
88 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
89 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
90 ),
91};
92
93bool process_record_user(uint16_t keycode, keyrecord_t *record) {
94 switch (keycode) {
95 case QMKBEST:
96 if (record->event.pressed) {
97 // when keycode QMKBEST is pressed
98 SEND_STRING("QMK is the best thing ever!");
99 } else {
100 // when keycode QMKBEST is released
101 }
102 break;
103 case QMKURL:
104 if (record->event.pressed) {
105 // when keycode QMKURL is pressed
106 SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
107 } else {
108 // when keycode QMKURL is released
109 }
110 break;
111 }
112 return true;
113}
114
115void matrix_init_user(void) {
116
117}
118
119void matrix_scan_user(void) {
120
121}
122
123void led_set_user(uint8_t usb_led) {
124
125}
diff --git a/keyboards/gray_studio/space65/keymaps/billiams/readme.md b/keyboards/gray_studio/space65/keymaps/billiams/readme.md
new file mode 100644
index 000000000..daebc2e9d
--- /dev/null
+++ b/keyboards/gray_studio/space65/keymaps/billiams/readme.md
@@ -0,0 +1,81 @@
1## Billiam's Space65 layout (with split backspace)
2
3This layout is optimized for vim users on MacOS with a split backspace.
4
5Settings:
6
7* The `CAPS LOCK` key is a function key.
8* The `ALT` and `CMD` keys are swapped to replicate the Mac layout.
9* RESET is available as `Fn`+ `Right Ctrl` + `ESC`
10* Underglow toggle is available as `Fn` + `Q`.
11* Backlighting toggle is available as `Fn` + `Z`
12* vim-style arrow key bindings H J K L in layer 1
13
14### Initial Installation
15
16I found the instructions to be longer than they had to be, and I ended up having to Google some steps anyway. These are the steps I took to get my keyboard setup, in case you are new to the process.
17
181. Fork and Clone the qmk_firmware repo locally
19```
20# Choose one:
21git clone git@github.com:qmk/qmk_firmware.git # OR
22git clone https://github.com/qmk/qmk_firmware.git
23```
242. Customize your layout by starting with a [keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gray_studio/space65/keymaps). I copied the default and changed it to my liking.
253. Before plugging in your keyboard into your computer, hold `SPACE` and `B` keys down
264. Holding those keys down, plug the keyboard into your computer, which will put the keyboard in bootlegger mode. Note that if you've done this before, it could be that you need to simply press `ESC` prior to plugging in the board to put it in Bootlegger mode.
275. Build your hex file and flash your keyboard
28```
29make gray_studio/space65:billiams:flash # be in the qmk_firmware directory to do this
30```
31
32Notes:
33- If you are using QMK Toolbox, use `make gray_studio/space65:<keymap>` in the base qmk_firmware directory instead of step 5 above which will create a hex file like `space65_billiams.hex` which you can then choose in the toolbox and hit flash
34- If you accidentally loaded the default keymap, then to `RESET` the keyboard and kick it into bootlegger mode again, hold the `ESC` key and plug the board in.
35
36Hope this helps!
37
38### 0 Qwerty
39```
40,------------------------------------------------------------------------------------------------.
41| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | Del | INS |
42|------------------------------------------------------------------------------------------------+
43| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bkspc | PGUP |
44|------------------------------------------------------------------------------------------------+
45| Fn1 | A | S | D | F | G | H | J | K | L | ; | ' | Enter | PGDN |
46|------------------------------------------------------------------------------------------------+
47| Shift | Z | X | C | V | B | N | M | , | . | ?/ | Shift | up | ESC |
48|------------------------------------------------------------------------------------------------+
49| Ctrl | Alt | Cmd | Space | Alt | Ctrl | Left | Down | Right |
50`------------------------------------------------------------------------------------------------'
51```
52
53### 1 Fn Layer
54```
55,------------------------------------------------------------------------------------------------.
56| | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Vol- |Vol+ | Next |
57|------------------------------------------------------------------------------------------------+
58| |RGB T|RGB M| Hue-| Hue+| Sat-| Sat+| Val-| Val+| | | | | | Prev |
59|------------------------------------------------------------------------------------------------+
60| | | | | | | Left| Down| Up |Right| | | Play/Pause | Vol+ |
61|------------------------------------------------------------------------------------------------+
62| | | | | | | | | | Scr- | Scr+ | | |PGUP | Vol- |
63|------------------------------------------------------------------------------------------------+
64| | | | | | Fn2 | HOME | PGDN | END |
65`------------------------------------------------------------------------------------------------'
66```
67
68### 2 Fn Layer - Just for bootleg mode button
69```
70,------------------------------------------------------------------------------------------------.
71| | | | | | | | | | | | | | | | |
72|------------------------------------------------------------------------------------------------+
73| | | | | | | | | | | | | | | |
74|------------------------------------------------------------------------------------------------+
75| | | | | | | | | | | | | | |
76|------------------------------------------------------------------------------------------------+
77| | | | | | | | | | | | | | | RESET |
78|------------------------------------------------------------------------------------------------+
79| | | | | | | | | |
80`------------------------------------------------------------------------------------------------'
81```