aboutsummaryrefslogtreecommitdiff
path: root/keyboards/gmmk
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-11-05 18:27:47 +0000
committerQMK Bot <hello@qmk.fm>2021-11-05 18:27:47 +0000
commitea3b2e2f954b54e647881de18c9ad637f2f0c1d3 (patch)
treec4e22485659c44fe5ff458a452bd77437cd329d7 /keyboards/gmmk
parent69ef8d630c5f35cf50b56e05b6816413a99d1271 (diff)
parent892666f19ab3906ccc3e5bc872406eaca36ea1a7 (diff)
downloadqmk_firmware-ea3b2e2f954b54e647881de18c9ad637f2f0c1d3.tar.gz
qmk_firmware-ea3b2e2f954b54e647881de18c9ad637f2f0c1d3.zip
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'keyboards/gmmk')
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/coryginsberg/config.h24
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/coryginsberg/keymap.c111
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/coryginsberg/readme.md15
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/coryginsberg/rules.mk5
4 files changed, 155 insertions, 0 deletions
diff --git a/keyboards/gmmk/pro/ansi/keymaps/coryginsberg/config.h b/keyboards/gmmk/pro/ansi/keymaps/coryginsberg/config.h
new file mode 100644
index 000000000..6b06448f7
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/keymaps/coryginsberg/config.h
@@ -0,0 +1,24 @@
1/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
2 Copyright 2021 Cory Ginsberg (@coryginsberg)
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20// #define TAPPING_TOGGLE 2
21// TT set to two taps
22
23#define TAPPING_TERM 250
24#define RGBLIGHT_DEFAULT_MODE SOLID_WHITE
diff --git a/keyboards/gmmk/pro/ansi/keymaps/coryginsberg/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/coryginsberg/keymap.c
new file mode 100644
index 000000000..41278868d
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/keymaps/coryginsberg/keymap.c
@@ -0,0 +1,111 @@
1/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
2 Copyright 2021 Cory Ginsberg (@coryginsberg)
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20void dance_media(qk_tap_dance_state_t *state, void *user_data) {
21 if (state->count == 1) {
22 tap_code(KC_MPLY);
23 } else if (state->count == 2) {
24 tap_code(KC_MNXT);
25 } else if (state->count == 3) {
26 tap_code(KC_MPRV);
27 } else {
28 reset_tap_dance(state);
29 }
30}
31
32qk_tap_dance_action_t tap_dance_actions[] = {
33 // Tap once for shift, twice for Caps Lock
34 [0] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
35 [1] = ACTION_TAP_DANCE_FN(dance_media)};
36
37const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38
39// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
40// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
41// Tab Q W E R T Y U I O P [ ] \ PgUp
42// Caps A S D F G H J K L ; " Enter PgDn
43// Sh_L Z X C V B N M , . ? Sh_R Up End
44// Ct_L Alt_L Win_L SPACE Ct_R Alt_R FN Left Down Right
45
46 // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without
47 // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
48 // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
49 // if that's your preference.
50 //
51 // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
52 // it'll be back to normal when you plug it back in.
53 [0] = LAYOUT(
54 KC_ESC, 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_PSCR, TO(1),
55 KC_GRV, 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_BSPC, KC_DEL,
56 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_BSLS, KC_PGUP,
57 KC_CAPS, 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,
58 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_END,
59 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(4), TO(2), KC_LEFT, KC_DOWN, KC_RGHT
60 ),
61 [1] = LAYOUT(
62 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TD(1), TO(0),
63 KC_GRV, 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_BSPC, KC_DEL,
64 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_BSLS, KC_PGUP,
65 KC_CAPS, 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,
66 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_END,
67 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(4), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
68 ),
69 [2] = LAYOUT(
70 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TD(1), TO(0),
71 KC_GRV, 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_BSPC, KC_DEL,
72 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_BSLS, KC_PGUP,
73 KC_CAPS, 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,
74 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_END,
75 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(4), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
76 ),
77 [3] = LAYOUT(
78 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
79 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
80 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_7, KC_8, KC_9, KC_PPLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
81 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_4, KC_5, KC_6, KC_PPLS, XXXXXXX, KC_PENT, XXXXXXX,
82 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_1, KC_2, KC_3, KC_EQL, XXXXXXX, XXXXXXX, XXXXXXX,
83 XXXXXXX, XXXXXXX, XXXXXXX, KC_0, KC_DOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
84 ),
85 [4] = LAYOUT(
86 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TD(1), _______,
87 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
88 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_P, XXXXXXX, XXXXXXX, RESET, RGB_MODE_FORWARD,
89 XXXXXXX, XXXXXXX, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MODE_REVERSE,
90 _______, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, RGB_TOG,
91 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK
92 ),
93 [5] = LAYOUT(
94 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
95 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
96 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
97 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
98 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
99 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
100 ),
101};
102
103bool encoder_update_user(uint8_t index, bool clockwise) {
104 if (clockwise) {
105 tap_code(KC_VOLU);
106 }
107 else {
108 tap_code(KC_VOLD);
109 }
110 return true;
111}
diff --git a/keyboards/gmmk/pro/ansi/keymaps/coryginsberg/readme.md b/keyboards/gmmk/pro/ansi/keymaps/coryginsberg/readme.md
new file mode 100644
index 000000000..e44852157
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/keymaps/coryginsberg/readme.md
@@ -0,0 +1,15 @@
1# Description
2Mac and Windows profiles with special touches for the Mac profile.
3
4## Windows Profile
5Should be nearly identical to the default profile for GMMK Pro. Only major difference is the button next to F12 is now PrintScreen and clicking the rotary dial switches profiles instead of muting.
6
7## Mac Profile
8Besides the usual swapping of the alt and windows/cmd placement also changes the following:
9* Double press shift to activate caps lock
10* Capslock is escape
11* Button next to F12:
12 * 1 press: play/pause
13 * 2 presses: skip
14 * 3 presses: previous
15* Clicking Rotary Dial switches profiles
diff --git a/keyboards/gmmk/pro/ansi/keymaps/coryginsberg/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/coryginsberg/rules.mk
new file mode 100644
index 000000000..1dd680922
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/keymaps/coryginsberg/rules.mk
@@ -0,0 +1,5 @@
1VIA_ENABLE = yes
2MOUSEKEY_ENABLE = no
3TAP_DANCE_ENABLE = yes
4BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
5UNICODE_ENABLE = yes