Updated gourdo1 GMMK Pro keymaps (#17873)
* Fixed Left Shift tapdance in general and for gaming mode. (#12) * update ISO readme * left shift fixed in general, including for gaming mode * fixed toggle menu rendering on ISO layouts * updated readme's and cosmetics * update readme's * update readme's again * readme cosmetics * consolidate readme's * more readme cosmetics * clarification for bootloader mode on ISO * Autocorrect added with 400 word English dictionary (#13) * autocorrect added with 400 word dictionary * update readme's for autocorrect * Add FN-B as shortcut to bootloader * Update .gitignore Co-authored-by: Joel Challis <git@zvecr.com> * RGB changes to system numlock and ISO extended alphas - hide system numlock off indicator (primarily for Mac users) by moving it to numpad and FN layers instead - give users with extended alpha ISO languages a config option to add RGB highlights for extras alphas on capslock * readme updates * Fixed [FN]B and [FN]N shortcuts not working on numpad layer Co-authored-by: Joel Challis <git@zvecr.com>
This commit is contained in:
parent
0c0d01966f
commit
4c6ce12d2a
18 changed files with 2941 additions and 237 deletions
|
@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// Note: Several advanced functions referenced in this file (like Tap Dance functions) are defined in /users/gourdo1/gourdo1.c
|
||||
// Note: Many advanced functions referenced in this file are defined in /users/gourdo1/gourdo1.c
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
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, BELOWENC,
|
||||
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,
|
||||
CAPSNUM, 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,
|
||||
LSFTCAPSWIN, 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,
|
||||
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,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
|
@ -76,10 +76,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
#ifdef GAME_ENABLE
|
||||
[_FN1] = LAYOUT(
|
||||
EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SLCK, KC_PAUS, KC_SLEP,
|
||||
PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD, _______, _______, RGB_TOD, RGB_TOI, _______, RGB_TOG,
|
||||
PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD,TG_AUTOCR, _______, RGB_TOD, RGB_TOI, _______, RGB_TOG,
|
||||
_______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, TG(_GAME),SWAP_L, SWAP_R, QK_BOOT, KC_HOME,
|
||||
KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, LOCKPC, _______, _______, _______, KC_END,
|
||||
_______, RGB_NITE,_______, _______, _______, _______, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______,
|
||||
_______, RGB_NITE,_______, _______, _______, QK_BOOT, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______,
|
||||
_______, WINLOCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
|
||||
),
|
||||
|
||||
|
@ -95,11 +95,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
#else
|
||||
[_FN1] = LAYOUT(
|
||||
EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SLCK, KC_PAUS, KC_SLEP,
|
||||
PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD, _______, _______, RGB_TOD, RGB_TOI, _______, RGB_TOG,
|
||||
PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD,TG_AUTOCR, _______, RGB_TOD, RGB_TOI, _______, RGB_TOG,
|
||||
_______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, KC_PAUS, SWAP_L, SWAP_R, QK_BOOT, KC_HOME,
|
||||
KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, LOCKPC, _______, _______, _______, KC_END,
|
||||
_______, RGB_NITE,_______, _______, _______, _______, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______,
|
||||
_______, KC_WINLCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
|
||||
_______, RGB_NITE,_______, _______, _______, QK_BOOT, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______,
|
||||
_______, WINLOCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
|
||||
),
|
||||
#endif //GAME_ENABLE
|
||||
|
||||
|
@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
_______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, _______, _______,
|
||||
_______, KC_PGUP, KC_UP, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, _______, KC_WH_U,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_PAST, _______, KC_PENT, KC_WH_D,
|
||||
_______, KC_NO, _______, _______, _______, KC_NO, KC_NO, KC_P0, KC_00, KC_PDOT, KC_PSLS, KC_BTN1, KC_MS_U, KC_BTN2,
|
||||
_______, KC_NO, _______, _______, _______, _______, _______, KC_P0, KC_00, KC_PDOT, KC_PSLS, KC_BTN1, KC_MS_U, KC_BTN2,
|
||||
_______, _______, _______, KC_PENT, _______, _______, KC_BTN3, KC_MS_L, KC_MS_D, KC_MS_R
|
||||
),
|
||||
|
||||
|
@ -253,6 +253,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
rgb_matrix_set_color(LED_F12, RGB_RED);
|
||||
}
|
||||
|
||||
/*
|
||||
// System NumLock warning indicator RGB setup
|
||||
#ifdef INVERT_NUMLOCK_INDICATOR
|
||||
if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
|
||||
|
@ -271,6 +272,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
rgb_matrix_set_color(LED_FN, RGB_ORANGE2);
|
||||
}
|
||||
#endif // INVERT_NUMLOCK_INDICATOR
|
||||
*/
|
||||
|
||||
// CapsLock RGB setup
|
||||
if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
|
||||
|
@ -348,12 +350,25 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
rgb_matrix_set_color(LED_R8, RGB_RED);
|
||||
rgb_matrix_set_color(LED_MINS, RGB_OFFBLUE);
|
||||
rgb_matrix_set_color(LED_EQL, RGB_OFFBLUE);
|
||||
|
||||
// Indicator for paddle game enabled in build
|
||||
#ifdef GAME_ENABLE
|
||||
rgb_matrix_set_color(LED_P, RGB_CHARTREUSE);
|
||||
#else
|
||||
rgb_matrix_set_color(LED_P, RGB_RED);
|
||||
#endif // GAME_ENABLE
|
||||
|
||||
// System NumLock warning indicator RGB setup
|
||||
#ifdef INVERT_NUMLOCK_INDICATOR
|
||||
if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
|
||||
rgb_matrix_set_color(LED_N, RGB_ORANGE2);
|
||||
}
|
||||
#else
|
||||
if (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // Normal, on if NUM lock is ON
|
||||
rgb_matrix_set_color(LED_N, RGB_ORANGE2);
|
||||
}
|
||||
#endif // INVERT_NUMLOCK_INDICATOR
|
||||
|
||||
//Add RGB statuses for user.config toggles
|
||||
if (user_config.rgb_hilite_caps) {
|
||||
rgb_matrix_set_color(LED_1, RGB_GREEN);
|
||||
|
@ -395,6 +410,11 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
} else {
|
||||
rgb_matrix_set_color(LED_8, RGB_PURPLE);
|
||||
}
|
||||
if (user_config.autocorrect) {
|
||||
rgb_matrix_set_color(LED_9, RGB_GREEN);
|
||||
} else {
|
||||
rgb_matrix_set_color(LED_9, RGB_PURPLE);
|
||||
}
|
||||
|
||||
// Add RGB Timeout Indicator -- shows 0 to 139 using F row and num row; larger numbers using 16bit code
|
||||
uint16_t timeout_threshold = get_timeout_threshold();
|
||||
|
@ -411,6 +431,15 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
|
||||
// Numpad & Mouse Keys overlay RGB
|
||||
case _NUMPADMOUSE:
|
||||
#ifdef INVERT_NUMLOCK_INDICATOR
|
||||
if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
|
||||
rgb_matrix_set_color(LED_N, RGB_ORANGE2);
|
||||
}
|
||||
#else
|
||||
if (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // Normal, on if NUM lock is ON
|
||||
rgb_matrix_set_color(LED_N, RGB_ORANGE2);
|
||||
}
|
||||
#endif // INVERT_NUMLOCK_INDICATOR
|
||||
if (user_config.rgb_hilite_numpad) {
|
||||
for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_NUMPAD); i++) {
|
||||
rgb_matrix_set_color(LED_LIST_NUMPAD[i], RGB_OFFBLUE);
|
||||
|
|
|
@ -1,69 +1,76 @@
|
|||
# [gourdo1's](mailto:gourdo1@outlook.com) GMMK Pro ANSI layout
|
||||
# [gourdo1's](mailto:gourdo1@outlook.com) GMMK Pro Keyboard Layouts
|
||||
|
||||
This Windows-centric ANSI layout is based on [Jonavin's](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin) GMMK Pro layout with many additions, fixes, a revamped keymap, persistent user customizations, updated layers, [Tomas Guinan's paddle game](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame) and expanded RGB effects and controls.
|
||||
These Windows-centric layouts are based on Jonavin's GMMK Pro [layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin) with many additions, fixes, a revamped keymap, persistent user customizations, updated layers, Pascal Getreuer's [autocorrect](https://getreuer.info/posts/keyboards/autocorrection/), Tomas Guinan's [paddle game](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame) and expanded RGB controls and effects.
|
||||
|
||||

|
||||
|
||||
## Features:
|
||||
* Up-to-date [Changelog](https://github.com/gourdo1/gmmkpro-media/blob/main/changelog.md)
|
||||
* Latest [ANSI firmware](https://github.com/gourdo1/gmmkpro-media/raw/main/gmmk_pro_rev1_ansi_gourdo1.bin) download. (Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases))
|
||||
* Latest [ISO firmware](https://github.com/gourdo1/gmmkpro-media/raw/main/gmmk_pro_rev1_iso_gourdo1.bin) download. (Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases))
|
||||
* Printable Keyboard [Cheatsheet](https://github.com/gourdo1/gmmkpro-media/raw/main/GMMK_Pro_Cheatsheet.pdf)
|
||||
|
||||
## Features
|
||||
|
||||
### Core Functionality
|
||||
|
||||
* Quick & Easy Customization: Open a text editor and hit [FN]` (tilde key) to view toggle-able features. (added Jun 29, 2022)
|
||||
* [VIA](https://www.caniusevia.com/) support enabled (added Mar 16, 2022)
|
||||
* Support for both [ANSI](https://keebnews.com/ansi-vs-iso/) and [ISO](https://keebnews.com/ansi-vs-iso/) keyboard layouts.
|
||||
* Quick & Easy Customization: Open a text editor and hit [FN]` (tilde on ANSI; the key left of '1' on ISO layouts) to view toggle-able settings.
|
||||
* [VIA](https://www.caniusevia.com/) support enabled.
|
||||
* AutoCorrection: Pascal Getreuer's AutoCorrect code incorporated with 400 word dictionary on words > 4 characters.
|
||||
* Most [default Glorious shortcuts](https://cdn.shopify.com/s/files/1/0549/2681/files/GMMK_Pro_User_Guide.pdf) enabled
|
||||
* [N-key Rollover](https://en.wikipedia.org/wiki/Rollover_\(keyboard\)#n-key_rollover) (NKRO) -- toggled with [FN]R
|
||||
* 1000Hz polling rate with 5ms debounce time for quick response in games
|
||||
* Mouse Keys! Don't want to move your hands off the keyboard or you didn't bring it with you? Use cursor keys to move the mouse
|
||||
* Overlay numpad on 789-UIOP-JKL;-M,. & Space-bar mapped to Enter key for rapid number entry
|
||||
* Gaming mode ([FN]Win-key) locks out Win-key and double-tap Shift Capslock; Also RGB highlights WSAD and nearby gaming keys
|
||||
* Caps Word enabled: To capitalize the next word only, press and release left and right shift at the same time. (added Feb 25, 2022)
|
||||
* Multi-monitor app moving shortcuts: [FN] ],[ (square brackets) to move current app window to next monitor (added Apr 11, 2022)
|
||||
* Capslock toggled by double tap of Left Shift key or FN + Capslock (RGB green highlighted)
|
||||
* Paddle game accessible via [FN]P. Hit [FN]P again or double tap [ESC] to exit (added May 5, 2022)
|
||||
* Single-handed shortcut for Ctrl-Alt-Delete: [FN]/ (added May 14, 2022)
|
||||
* Single-handed shortcut for WinKey-L (lock Windows): [FN]L (added May 17, 2022)
|
||||
* Domain shortcuts: [FN]. for .com, [FN]O for outlook.com, [FN]Y for yahoo.com, [FN]H for hotmail.com, [FN]G for gmail.com. (added Apr 7, 2022)
|
||||
* FN-Backslash for [Bootloader mode](https://github.com/qmk/qmk_firmware/blob/master/docs/newbs_flashing.md)
|
||||
* Home key on F13, Del key right of Backspace
|
||||
* Insert accessible via Shift-Backspace (so shift delete still works in Windows Explorer)
|
||||
* 1000Hz polling rate with 5ms debounce time for quick response in games.
|
||||
* Mouse Keys! Don't want to move your hands off the keyboard or you didn't bring it with you? Use cursor keys to move the mouse.
|
||||
* Overlay numpad on 789-UIOP-JKL;-M,. & Space-bar mapped to Enter key for rapid number entry.
|
||||
* Gaming mode ([FN]Win-key) locks out Win-key and double-tap Shift Capslock; Also RGB highlights WSAD and nearby gaming keys.
|
||||
* Caps Word enabled: To capitalize the next word only, press and release left and right shift at the same time.
|
||||
* Multi-monitor app moving shortcuts: [FN] ],[ (square brackets) to move current app window to next monitor.
|
||||
* Capslock toggled by double tap of Left Shift key or FN + Capslock (RGB green highlighted).
|
||||
* Paddle game accessible via [FN]P. Hit [FN]P again or double tap [ESC] to exit.
|
||||
* Single-handed shortcut for Ctrl-Alt-Delete: [FN]/
|
||||
* Single-handed shortcut for WinKey-L (lock Windows): [FN]L
|
||||
* Domain shortcuts: [FN]. for .com, [FN]O for outlook.com, [FN]Y for yahoo.com, [FN]H for hotmail.com, [FN]G for gmail.com.
|
||||
* [Bootloader mode](https://github.com/qmk/qmk_firmware/blob/master/docs/newbs_flashing.md) accessible via [FN]Backslash for ANSI and FN(key next to Left Shift) for ISO
|
||||
* PrtScrn, Scroll Lock, Pause/Break are top right on the keyboard: [FN]F11, [FN]F12, [FN]F13
|
||||
* [Colemak](https://colemak.com/) key layout support (Accessible via Left Shift + turn Encoder clockwise until side LEDs light up purple)
|
||||
* Double tap ESC any time to revert to base layer (added Feb 26, 2022)
|
||||
* RGB backlight effects expanded to include framebuffer effects and reactive keypress modes (updated May 24, 2022)
|
||||
* RGB backlight now remembers last color & effect settings after power down (updated May 24, 2022)
|
||||
* Double tap ESC any time to revert to base layer.
|
||||
* RGB backlight effects expanded to include framebuffer effects and reactive keypress modes.
|
||||
* RGB backlight now remembers last color & effect settings after power down.
|
||||
|
||||
### Quick & Easy Customization
|
||||
* Below features can be toggled by holding [FN] and pressing the number corresponding to that feature. Changes are saved to EEPROM for persistence.
|
||||
* Print current settings by opening a text editor and pressing [FN]~ (CAUTION: verbose!)
|
||||
* Print current settings by opening a text editor and pressing [FN]~ (the key left of '1' on ISO layout keyboards)
|
||||
* Quick view current settings by holding [FN] and viewing RGB under number keys (green means ON, violet means OFF)
|
||||
|
||||
#### Toggle-able Settings:
|
||||
1. CapsLock RGB - highlight under alpha keys
|
||||
2. Numpad RGB - highlight under numpad layer keys
|
||||
1. CapsLock RGB - Highlight under alpha keys
|
||||
2. Numpad RGB - Highlight under numpad layer keys
|
||||
3. ESC key - Double tap ESC key to go to base layer
|
||||
4. Swap DEL and HOME - Default is DEL to the right of BKSPC & HOME is above BKSPC
|
||||
5. Capslock function - Toggle between double tap LShift for CapsLock with Numpad on CapsLock key (default) and standard CapsLock
|
||||
6. Encoder button - default mutes volume; alternate plays/pauses media
|
||||
6. Encoder button - Default mutes volume; alternate plays/pauses media
|
||||
7. Insert function - Toggle between SHIFT-BKSPC and SHIFT-DEL
|
||||
8. Modded-Space override - Use standard Space in place of modded-Space functions
|
||||
9. AutoCorrect - Internal (English) AutoCorrect; default is enabled
|
||||
0. (ISO layouts only) CapsLock highlights extended alpha keys
|
||||
|
||||
### Numpad + Mouse Keys (Capslock key)
|
||||
|
||||
* Overlay numpad + [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) are accessed through Capslock key hold (temp) or double press (locked) with RGB highlighting
|
||||
* Numpad uses Space-bar as Enter for rapid number entry (added May 17, 2022)
|
||||
* Numpad uses Space-bar as Enter for rapid number entry.
|
||||
* This layer disables much of the keyboard, except X/C/V for cut/copy/paste, WASD for cursor, Q/E for PgUp/PgDn, cursor keys become mouse keys, surrounding keys become mouse buttons and all number keys become numpad versions (so Alt char codes work regardless of which set you use)
|
||||
* FN and N keys light up orange if system numlock is off (inverted status), indicating numpad keys will not deliver expected output ([FN]N to toggle)
|
||||
* Double zero on comma key.
|
||||
* [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) allow you to use the mouse without taking your hand off the keyboard. (added Mar 15, 2022)
|
||||
* [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) allow you to use the mouse without taking your hand off the keyboard.
|
||||
* Mouse controls are: Cursor keys = move mouse; RShift = button1, End = button2, RCtrl = button3, PgUp/PgDn = Scroll wheel
|
||||
* Mouse Keys can also be accessed as a standalone layer by Left Shift-turning the Encoder until the cursor keys light up green
|
||||
|
||||
### Encoder Functionality
|
||||
|
||||
* Default knob turn changes volume; button press toggles mute
|
||||
* Exponential encoder - quick repeated volume up doubles increase; quick repeated volume down triples decrease (added Feb 17, 2022)
|
||||
* Exponential encoder: quick repeated volume up doubles increase; quick repeated volume down triples decrease.
|
||||
* FN + knob turn changes RGB idle timeout
|
||||
* FN + knob push puts PC to Sleep (Added May 14, 2022)
|
||||
* FN + knob push puts PC to Sleep
|
||||
* holding Left Shift changes layers
|
||||
* holding Right Shift navigates page up/down
|
||||
* holding Left Ctrl navigates prev/next word
|
||||
|
@ -86,44 +93,24 @@ This Windows-centric ANSI layout is based on [Jonavin's](https://github.com/qmk/
|
|||
* RGB backlight effect speed: [FN]left/right
|
||||
* RGB backlight hue cycle: [FN]A/D
|
||||
* RGB backlight brightness: [FN]W/S
|
||||
* RGB backlight saturation: [FN]Q/E (added Feb 4, 2022)
|
||||
* RGB backlight saturation: [FN]Q/E
|
||||
* RGB backlight night mode toggle: [FN]Z (indicators still work)
|
||||
* RGB backlight timeout: [FN]Encoder or "-" and "=" (default 15 minutes) (updated June 28, 2022)
|
||||
* RGB backlight timeout: [FN]Encoder or "-" and "=" (default 15 minutes)
|
||||
* F-key row indicator lights (cyan and blue) in FN layer display the current backlight timeout in minutes
|
||||
* [FN]Z to turn off RGB backlighting (indicator lights still work); press again to toggle
|
||||
* Left side RGB indicators in order from top: System NumLock off (orange), Scroll Lock (red), Numpad (blue), Capslock (green).
|
||||
* Left side RGB indicators in order from top: Scroll Lock (red), Numpad (blue), Capslock (green).
|
||||
|
||||
### Advanced Controls
|
||||
|
||||
* [FN]\ to get to bootloader mode
|
||||
* [FN][ESC] to clear EEPROM (added Apr 11, 2022)
|
||||
* [FN]R to toggle N-key Rollover (added Apr 11, 2022)
|
||||
* [FN]/ is single-handed shortcut to Ctrl-Alt-Delete (added May 14, 2022)
|
||||
* [FN]L is single-handed shortcut to Win-L (lock Windows) (added May 17, 2022)
|
||||
* [FN][Encoder press] to sleep Windows PC (added May 14, 2022)
|
||||
* [FN]\ or [FN]B to get to bootloader mode (use key next to Left Shift on ISO)
|
||||
* [FN][ESC] to clear EEPROM
|
||||
* [FN]R to toggle N-key Rollover
|
||||
* [FN]N to toggle system numlock
|
||||
* [FN]/ is single-handed shortcut to Ctrl-Alt-Delete
|
||||
* [FN]L is single-handed shortcut to Win-L (lock Windows)
|
||||
* [FN][Encoder press] to sleep Windows PC
|
||||
|
||||
Link to latest firmware binary: https://github.com/gourdo1/gmmkpro-media/raw/main/gmmk_pro_rev1_ansi_gourdo1.bin
|
||||
|
||||
Link to cheatsheet: https://github.com/gourdo1/gmmkpro-media/raw/main/GMMK_Pro_Cheatsheet.pdf
|
||||
|
||||
|
||||
## rules.mk Options
|
||||
|
||||
STARTUP_NUMLOCK_ON = yes - Turns on NUMLOCK by default
|
||||
|
||||
ENCODER_DEFAULTACTIONS_ENABLE = yes - Enabled default encoder functions
|
||||
|
||||
TD_LSFT_CAPSLOCK_ENABLE = yes - This will enable double tap on Left Shift to toggle CAPSLOCK when using KC_LSFTCAPS
|
||||
|
||||
IDLE_TIMEOUT_ENABLE = yes - Enables Timer functionality; for RGB idle timeouts that can be changed dynamically
|
||||
|
||||
INVERT_NUMLOCK_INDICATOR - Inverts the Numlock indicator, LED is on when numlock is off -- numlock interferes with overlay numpad, so should be off when numpad layer is active unless you have an external numpad.
|
||||
|
||||
COLEMAK_LAYER_ENABLE = yes - Enables optional 5th layer for COLEMAK layout. Use Shift + encoder to enter 5th layer.
|
||||
|
||||
GAME_ENABLE ?= yes - Enables Paddle Game
|
||||
|
||||
## Layer Diagrams
|
||||
## Layer Diagrams (ANSI)
|
||||
### Base layer
|
||||

|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
|||
VIA_ENABLE = yes
|
||||
|
||||
MOUSEKEY_ENABLE = yes
|
||||
TAP_DANCE_ENABLE = yes
|
||||
TAP_DANCE_ENABLE = no
|
||||
CAPS_WORD_ENABLE = yes # Enable built-in Caps Word functionality
|
||||
IDLE_TIMEOUT_ENABLE = yes
|
||||
STARTUP_NUMLOCK_ON = yes
|
||||
|
|
|
@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// Note: Several advanced functions referenced in this file (like Tap Dance functions) are defined in /users/gourdo1/gourdo1.c
|
||||
// Note: Many advanced functions referenced in this file are defined in /users/gourdo1/gourdo1.c
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
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, BELOWENC,
|
||||
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_PGUP,
|
||||
CAPSNUM, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
|
||||
LSFTCAPSWIN,KC_NUBS, 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,
|
||||
KC_LSFT, KC_NUBS, 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,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
|
@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
* |---------+------+------+------+------+------+------+------+------+------+------+------+------+ ++------|
|
||||
* | Capslock |RGBHUD|RGBVAD|RGBHUI| ____|GMAIL |HTMAIL| ____ | ____ | ____ | ____ | ____ | ___ | ____ || End |
|
||||
* |------------+------+------+------+-----+------+------+------+------+------+------+------|----+========+------|
|
||||
* | ____ |RESET |RGBNIT| ____ | ____ | ____ | ____ |NumLk | ____ | ____ |DOTCOM| CAD | ______ ||RGBMOD|| ____ |
|
||||
* | ____ |QK_BOOT|RGBNIT| ____ | ____ | ____ | ____ |NumLk | ____ | ____ |DOTCOM| CAD | ______ ||RGBMOD|| ____ |
|
||||
* |--------------+------+------+------+------+------+------+------+------+------+------+--+=====++------++======|
|
||||
* | ____ | WinKyLk | ____ | _____ | ____ | ____ | ____ ||RGBSPD|RGBRMD|RGBSPI|
|
||||
* `------------------------------------------------------------------------------------------------------------'
|
||||
|
@ -77,10 +77,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
#ifdef GAME_ENABLE
|
||||
[_FN1] = LAYOUT(
|
||||
EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SLCK, KC_PAUS, KC_SLEP,
|
||||
PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD, _______, _______, RGB_TOD, RGB_TOI, _______, RGB_TOG,
|
||||
PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD,TG_AUTOCR,TG_ENGCAP,RGB_TOD,RGB_TOI, _______, RGB_TOG,
|
||||
_______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, TG(_GAME),SWAP_L, SWAP_R, KC_HOME,
|
||||
KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, LOCKPC, _______, _______, _______, _______, KC_END,
|
||||
_______, RESET, RGB_NITE,_______, _______, _______, _______, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______,
|
||||
_______, QK_BOOT, RGB_NITE,_______, _______, _______, QK_BOOT, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______,
|
||||
_______, WINLOCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
|
||||
),
|
||||
|
||||
|
@ -96,11 +96,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
#else
|
||||
[_FN1] = LAYOUT(
|
||||
EE_CLR, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_VOLD, KC_VOLU, KC_PSCR, KC_SLCK, KC_PAUS, KC_SLEP,
|
||||
PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD, _______, _______, RGB_TOD, RGB_TOI, _______, RGB_TOG,
|
||||
PRNCONF, TG_CAPS, TG_PAD, TG_ESC, TG_DEL, TG_TDCAP,TG_ENC, TG_INS,TG_SPCMOD,TG_AUTOCR,TG_ENGCAP,RGB_TOD,RGB_TOI, _______, RGB_TOG,
|
||||
_______, RGB_SAD, RGB_VAI, RGB_SAI, NK_TOGG, _______, YAHOO, _______, _______, OUTLOOK, KC_PAUS, SWAP_L, SWAP_R, KC_HOME,
|
||||
KC_CAPS, RGB_HUD, RGB_VAD, RGB_HUI, _______, GMAIL, HOTMAIL, _______, _______, LOCKPC, _______, _______, _______, _______, KC_END,
|
||||
_______, RESET, RGB_NITE,_______, _______, _______, _______, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______,
|
||||
_______, KC_WINLCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
|
||||
_______, QK_BOOT, RGB_NITE,_______, _______, _______, QK_BOOT, KC_NLCK, _______, _______, DOTCOM, KC_CAD, _______, RGB_MOD, _______,
|
||||
_______, WINLOCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI
|
||||
),
|
||||
#endif //GAME_ENABLE
|
||||
|
||||
|
@ -126,7 +126,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
_______, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, _______, _______,
|
||||
_______, KC_PGUP, KC_UP, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, KC_WH_U,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_PAST, _______, _______, KC_PENT, KC_WH_D,
|
||||
_______, _______, KC_NO, _______, _______, _______, KC_NO, KC_NO, KC_P0, KC_00, KC_PDOT, KC_PSLS, KC_BTN1, KC_MS_U, KC_BTN2,
|
||||
_______, _______, KC_NO, _______, _______, _______, _______, _______, KC_P0, KC_00, KC_PDOT, KC_PSLS, KC_BTN1, KC_MS_U, KC_BTN2,
|
||||
_______, _______, _______, KC_PENT, _______, _______, KC_BTN3, KC_MS_L, KC_MS_D, KC_MS_R
|
||||
),
|
||||
|
||||
|
@ -254,6 +254,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
rgb_matrix_set_color(LED_F12, RGB_RED);
|
||||
}
|
||||
|
||||
/*
|
||||
// System NumLock warning indicator RGB setup
|
||||
#ifdef INVERT_NUMLOCK_INDICATOR
|
||||
if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
|
||||
|
@ -272,12 +273,20 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
rgb_matrix_set_color(LED_FN, RGB_ORANGE2);
|
||||
}
|
||||
#endif // INVERT_NUMLOCK_INDICATOR
|
||||
*/
|
||||
|
||||
// CapsLock RGB setup
|
||||
if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) {
|
||||
if (user_config.rgb_hilite_caps) {
|
||||
for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_LETTERS); i++) {
|
||||
rgb_matrix_set_color(LED_LIST_LETTERS[i], RGB_CHARTREUSE);
|
||||
if (user_config.rgb_english_caps) {
|
||||
for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_LETTERS); i++) {
|
||||
rgb_matrix_set_color(LED_LIST_LETTERS[i], RGB_CHARTREUSE);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_LETTERS_DE); i++) {
|
||||
rgb_matrix_set_color(LED_LIST_LETTERS_DE[i], RGB_CHARTREUSE);
|
||||
}
|
||||
}
|
||||
rgb_matrix_set_color(LED_L7, RGB_CHARTREUSE);
|
||||
rgb_matrix_set_color(LED_L8, RGB_CHARTREUSE);
|
||||
|
@ -349,12 +358,25 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
rgb_matrix_set_color(LED_R8, RGB_RED);
|
||||
rgb_matrix_set_color(LED_MINS, RGB_OFFBLUE);
|
||||
rgb_matrix_set_color(LED_EQL, RGB_OFFBLUE);
|
||||
|
||||
// Indicator for paddle game enabled in build
|
||||
#ifdef GAME_ENABLE
|
||||
rgb_matrix_set_color(LED_P, RGB_CHARTREUSE);
|
||||
#else
|
||||
rgb_matrix_set_color(LED_P, RGB_RED);
|
||||
#endif // GAME_ENABLE
|
||||
|
||||
// System NumLock warning indicator RGB setup
|
||||
#ifdef INVERT_NUMLOCK_INDICATOR
|
||||
if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
|
||||
rgb_matrix_set_color(LED_N, RGB_ORANGE2);
|
||||
}
|
||||
#else
|
||||
if (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // Normal, on if NUM lock is ON
|
||||
rgb_matrix_set_color(LED_N, RGB_ORANGE2);
|
||||
}
|
||||
#endif // INVERT_NUMLOCK_INDICATOR
|
||||
|
||||
//Add RGB statuses for user.config toggles
|
||||
if (user_config.rgb_hilite_caps) {
|
||||
rgb_matrix_set_color(LED_1, RGB_GREEN);
|
||||
|
@ -396,6 +418,16 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
} else {
|
||||
rgb_matrix_set_color(LED_8, RGB_PURPLE);
|
||||
}
|
||||
if (user_config.autocorrect) {
|
||||
rgb_matrix_set_color(LED_9, RGB_GREEN);
|
||||
} else {
|
||||
rgb_matrix_set_color(LED_9, RGB_PURPLE);
|
||||
}
|
||||
if (user_config.rgb_english_caps) {
|
||||
rgb_matrix_set_color(LED_0, RGB_GREEN);
|
||||
} else {
|
||||
rgb_matrix_set_color(LED_0, RGB_PURPLE);
|
||||
}
|
||||
|
||||
// Add RGB Timeout Indicator -- shows 0 to 139 using F row and num row; larger numbers using 16bit code
|
||||
uint16_t timeout_threshold = get_timeout_threshold();
|
||||
|
@ -412,6 +444,15 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||
|
||||
// Numpad & Mouse Keys overlay RGB
|
||||
case _NUMPADMOUSE:
|
||||
#ifdef INVERT_NUMLOCK_INDICATOR
|
||||
if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled
|
||||
rgb_matrix_set_color(LED_N, RGB_ORANGE2);
|
||||
}
|
||||
#else
|
||||
if (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // Normal, on if NUM lock is ON
|
||||
rgb_matrix_set_color(LED_N, RGB_ORANGE2);
|
||||
}
|
||||
#endif // INVERT_NUMLOCK_INDICATOR
|
||||
if (user_config.rgb_hilite_numpad) {
|
||||
for (uint8_t i = 0; i < ARRAYSIZE(LED_LIST_NUMPAD); i++) {
|
||||
rgb_matrix_set_color(LED_LIST_NUMPAD[i], RGB_OFFBLUE);
|
||||
|
|
|
@ -1,54 +1,76 @@
|
|||
# [gourdo1's](mailto:gourdo1@outlook.com) GMMK Pro ISO layout
|
||||
# [gourdo1's](mailto:gourdo1@outlook.com) GMMK Pro Keyboard Layouts
|
||||
|
||||
This Windows-centric ISO layout is based on [Jonavin's](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin) GMMK Pro layout with several additions, fixes, a tweaked keymap, updated layers, [Tomas Guinan's paddle game](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame) and expanded RGB controls.
|
||||
These Windows-centric layouts are based on Jonavin's GMMK Pro [layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin) with many additions, fixes, a revamped keymap, persistent user customizations, updated layers, Pascal Getreuer's [autocorrect](https://getreuer.info/posts/keyboards/autocorrection/), Tomas Guinan's [paddle game](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame) and expanded RGB controls and effects.
|
||||
|
||||

|
||||
|
||||
## Features:
|
||||
* Up-to-date [Changelog](https://github.com/gourdo1/gmmkpro-media/blob/main/changelog.md)
|
||||
* Latest [ANSI firmware](https://github.com/gourdo1/gmmkpro-media/raw/main/gmmk_pro_rev1_ansi_gourdo1.bin) download. (Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases))
|
||||
* Latest [ISO firmware](https://github.com/gourdo1/gmmkpro-media/raw/main/gmmk_pro_rev1_iso_gourdo1.bin) download. (Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases))
|
||||
* Printable Keyboard [Cheatsheet](https://github.com/gourdo1/gmmkpro-media/raw/main/GMMK_Pro_Cheatsheet.pdf)
|
||||
|
||||
## Features
|
||||
|
||||
### Core Functionality
|
||||
|
||||
* ISO layout (added July xx, 2022)
|
||||
* [VIA](https://www.caniusevia.com/) support enabled (added Mar 16, 2022)
|
||||
* Support for both [ANSI](https://keebnews.com/ansi-vs-iso/) and [ISO](https://keebnews.com/ansi-vs-iso/) keyboard layouts.
|
||||
* Quick & Easy Customization: Open a text editor and hit [FN]` (tilde on ANSI; the key left of '1' on ISO layouts) to view toggle-able settings.
|
||||
* [VIA](https://www.caniusevia.com/) support enabled.
|
||||
* AutoCorrection: Pascal Getreuer's AutoCorrect code incorporated with 400 word dictionary on words > 4 characters.
|
||||
* Most [default Glorious shortcuts](https://cdn.shopify.com/s/files/1/0549/2681/files/GMMK_Pro_User_Guide.pdf) enabled
|
||||
* [N-key Rollover](https://en.wikipedia.org/wiki/Rollover_\(keyboard\)#n-key_rollover) (NKRO) -- toggled with Fn+R
|
||||
* 1000Hz polling rate with 5ms debounce time for quick response in games
|
||||
* Mouse Keys! Don't want to move your hands off the keyboard or you didn't bring it with you on the road? Use cursor keys to move the mouse.
|
||||
* Overlay numpad on 789-UIOP-JKL;-M,. & Space-bar mapped to Enter key for rapid number entry
|
||||
* Gaming mode (Fn+Win-key) locks out Win-key as well as double-tap Shift Capslock; Also RGB highlights WSAD and nearby gaming related keys
|
||||
* [Caps Word](https://getreuer.info/posts/keyboards/caps-word/index.html) enabled: To capitalize the next word only, press and release both left and right shift keys at the same time. (added Feb 25, 2022)
|
||||
* Multi-monitor app moving shortcuts: Fn+[,] (square brackets) to move current app window to next monitor (added Apr 11, 2022)
|
||||
* Capslock toggled by double tap of Left Shift key or Fn + Capslock (RGB green highlighted)
|
||||
* Paddle game accessible via Fn+P; Hit Fn+P again or double tap ESC to exit (added May 5, 2022)
|
||||
* Single-handed shortcut for Ctrl-Alt-Delete: Fn+/ (added May 14, 2022)
|
||||
* Single-handed shortcut for Win-L (lock Windows): Fn+L (added May 17, 2022)
|
||||
* Domain shortcuts: Fn+.=".com", Fn+O="outlook.com", Fn+Y="yahoo.com", Fn+H="hotmail.com", Fn+G="gmail.com". (added Apr 7, 2022)
|
||||
* Fn-Backslash for [Bootloader mode](https://github.com/qmk/qmk_firmware/blob/master/docs/newbs_flashing.md)
|
||||
* Home key on F13, Del key right of Backspace
|
||||
* Insert accessible via Shift-Backspace (so shift delete still works in Windows Explorer)
|
||||
* PrtScrn, Scroll Lock, Pause/Break are top right on the keyboard: Fn+F11, Fn+F12, Fn+F13
|
||||
* [Colemak](https://colemak.com/) key layout support (Layer accessible via Left Shift + turn Encoder clockwise until side LEDs light up purple)
|
||||
* Double tap ESC any time to revert to base layer (added Feb 26, 2022)
|
||||
* RGB backlight effects expanded to include framebuffer effects and reactive keypress modes (updated May 24, 2022)
|
||||
* RGB backlight now remembers last color & effect settings after power down (updated May 24, 2022)
|
||||
* [N-key Rollover](https://en.wikipedia.org/wiki/Rollover_\(keyboard\)#n-key_rollover) (NKRO) -- toggled with [FN]R
|
||||
* 1000Hz polling rate with 5ms debounce time for quick response in games.
|
||||
* Mouse Keys! Don't want to move your hands off the keyboard or you didn't bring it with you? Use cursor keys to move the mouse.
|
||||
* Overlay numpad on 789-UIOP-JKL;-M,. & Space-bar mapped to Enter key for rapid number entry.
|
||||
* Gaming mode ([FN]Win-key) locks out Win-key and double-tap Shift Capslock; Also RGB highlights WSAD and nearby gaming keys.
|
||||
* Caps Word enabled: To capitalize the next word only, press and release left and right shift at the same time.
|
||||
* Multi-monitor app moving shortcuts: [FN] ],[ (square brackets) to move current app window to next monitor.
|
||||
* Capslock toggled by double tap of Left Shift key or FN + Capslock (RGB green highlighted).
|
||||
* Paddle game accessible via [FN]P. Hit [FN]P again or double tap [ESC] to exit.
|
||||
* Single-handed shortcut for Ctrl-Alt-Delete: [FN]/
|
||||
* Single-handed shortcut for WinKey-L (lock Windows): [FN]L
|
||||
* Domain shortcuts: [FN]. for .com, [FN]O for outlook.com, [FN]Y for yahoo.com, [FN]H for hotmail.com, [FN]G for gmail.com.
|
||||
* [Bootloader mode](https://github.com/qmk/qmk_firmware/blob/master/docs/newbs_flashing.md) accessible via [FN]Backslash for ANSI and FN(key next to Left Shift) for ISO
|
||||
* PrtScrn, Scroll Lock, Pause/Break are top right on the keyboard: [FN]F11, [FN]F12, [FN]F13
|
||||
* [Colemak](https://colemak.com/) key layout support (Accessible via Left Shift + turn Encoder clockwise until side LEDs light up purple)
|
||||
* Double tap ESC any time to revert to base layer.
|
||||
* RGB backlight effects expanded to include framebuffer effects and reactive keypress modes.
|
||||
* RGB backlight now remembers last color & effect settings after power down.
|
||||
|
||||
### Quick & Easy Customization
|
||||
* Below features can be toggled by holding [FN] and pressing the number corresponding to that feature. Changes are saved to EEPROM for persistence.
|
||||
* Print current settings by opening a text editor and pressing [FN]~ (the key left of '1' on ISO layout keyboards)
|
||||
* Quick view current settings by holding [FN] and viewing RGB under number keys (green means ON, violet means OFF)
|
||||
|
||||
#### Toggle-able Settings:
|
||||
1. CapsLock RGB - Highlight under alpha keys
|
||||
2. Numpad RGB - Highlight under numpad layer keys
|
||||
3. ESC key - Double tap ESC key to go to base layer
|
||||
4. Swap DEL and HOME - Default is DEL to the right of BKSPC & HOME is above BKSPC
|
||||
5. Capslock function - Toggle between double tap LShift for CapsLock with Numpad on CapsLock key (default) and standard CapsLock
|
||||
6. Encoder button - Default mutes volume; alternate plays/pauses media
|
||||
7. Insert function - Toggle between SHIFT-BKSPC and SHIFT-DEL
|
||||
8. Modded-Space override - Use standard Space in place of modded-Space functions
|
||||
9. AutoCorrect - Internal (English) AutoCorrect; default is enabled
|
||||
0. (ISO layouts only) CapsLock highlights extended alpha keys
|
||||
|
||||
### Numpad + Mouse Keys (Capslock key)
|
||||
|
||||
* Overlay numpad + [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) are accessed through Capslock key hold (temp) or double press (locked) with RGB highlighting
|
||||
* Numpad uses Space-bar as Enter for rapid number entry (added May 17, 2022)
|
||||
* Numpad uses Space-bar as Enter for rapid number entry.
|
||||
* This layer disables much of the keyboard, except X/C/V for cut/copy/paste, WASD for cursor, Q/E for PgUp/PgDn, cursor keys become mouse keys, surrounding keys become mouse buttons and all number keys become numpad versions (so Alt char codes work regardless of which set you use)
|
||||
* Fn and N keys light up orange if system numlock is off (inverted status), indicating numpad keys will not deliver expected output (Fn+N to toggle)
|
||||
* FN and N keys light up orange if system numlock is off (inverted status), indicating numpad keys will not deliver expected output ([FN]N to toggle)
|
||||
* Double zero on comma key.
|
||||
* [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) allow you to use the mouse without taking your hand off the keyboard. (added Mar 15, 2022)
|
||||
* [Mouse Keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) allow you to use the mouse without taking your hand off the keyboard.
|
||||
* Mouse controls are: Cursor keys = move mouse; RShift = button1, End = button2, RCtrl = button3, PgUp/PgDn = Scroll wheel
|
||||
* Mouse Keys can also be accessed as a standalone layer by Left Shift-turning the Encoder until the cursor keys light up green
|
||||
|
||||
### Encoder Functionality
|
||||
|
||||
* Default knob turn changes volume; button press toggles mute
|
||||
* Exponential encoder - quick repeated volume up doubles increase; quick repeated volume down triples decrease (added Feb 17, 2022)
|
||||
* Fn + knob turn changes RGB idle timeout
|
||||
* Fn + knob push puts PC to Sleep (Added May 14, 2022)
|
||||
* Exponential encoder: quick repeated volume up doubles increase; quick repeated volume down triples decrease.
|
||||
* FN + knob turn changes RGB idle timeout
|
||||
* FN + knob push puts PC to Sleep
|
||||
* holding Left Shift changes layers
|
||||
* holding Right Shift navigates page up/down
|
||||
* holding Left Ctrl navigates prev/next word
|
||||
|
@ -58,65 +80,45 @@ This Windows-centric ISO layout is based on [Jonavin's](https://github.com/qmk/q
|
|||
### Paddle Game
|
||||
|
||||
* Based on [Tomas Guinan's excellent GMMK Pro paddle game](https://github.com/qmk/qmk_firmware/tree/master/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame)
|
||||
* Paddle Game playable by pressing Fn+P (P lights up green in Fn layer if game is enabled in firmware, otherwise it lights up red)
|
||||
* Paddle Game playable by pressing [FN]P (P lights up green in FN layer if game is enabled in firmware, otherwise it lights up red)
|
||||
* Use rotary encoder to control paddle
|
||||
* Contains 12 levels, indicated by blue LED on F-key row
|
||||
* Player has 4 lives, indicated by nav cluster
|
||||
* Deflect white balls while avoiding red ones
|
||||
* Use Fn+P, double tap ESC or otherwise change layer to quit game
|
||||
* Use [FN]P, double tap ESC or otherwise change layer to quit game
|
||||
|
||||
### Global RGB Controls
|
||||
|
||||
* RGB backlight lighting effect: Fn+up/down
|
||||
* RGB backlight effect speed: Fn+left/right
|
||||
* RGB backlight hue cycle: Fn+A/D
|
||||
* RGB backlight brightness: Fn+W/S
|
||||
* RGB backlight saturation: Fn+Q/E (added Feb 4, 2022)
|
||||
* RGB backlight night mode toggle: Fn+Z (indicators still work)
|
||||
* RGB backlight timeout: Fn+Encoder or "-" and "=" (default 15 minutes) (updated Apr 7, 2022)
|
||||
* indicators in Fn layer using RGB in F-key and number rows to show the current timeout in minutes
|
||||
* Fn+Z to turn off RGB backlighting (indicator lights still work); press again to toggle
|
||||
* RGB indicators on left side LEDs in order from top: System NumLock off (orange), Scroll Lock (red), Numpad (blue), Capslock (green).
|
||||
* RGB backlight lighting effect: [FN]up/down
|
||||
* RGB backlight effect speed: [FN]left/right
|
||||
* RGB backlight hue cycle: [FN]A/D
|
||||
* RGB backlight brightness: [FN]W/S
|
||||
* RGB backlight saturation: [FN]Q/E
|
||||
* RGB backlight night mode toggle: [FN]Z (indicators still work)
|
||||
* RGB backlight timeout: [FN]Encoder or "-" and "=" (default 15 minutes)
|
||||
* F-key row indicator lights (cyan and blue) in FN layer display the current backlight timeout in minutes
|
||||
* [FN]Z to turn off RGB backlighting (indicator lights still work); press again to toggle
|
||||
* Left side RGB indicators in order from top: Scroll Lock (red), Numpad (blue), Capslock (green).
|
||||
|
||||
### Advanced Controls
|
||||
|
||||
* Fn+\ to get to bootloader mode
|
||||
* Fn+[ESC] to clear EEPROM (then unplug and re-plug) (added Apr 11, 2022)
|
||||
* Fn+R to toggle N-key Rollover (added Apr 11, 2022)
|
||||
* Fn+/ is single-handed shortcut to Ctrl-Alt-Delete (added May 14, 2022)
|
||||
* Fn+L is single-handed shortcut to Win-L (lock Windows) (added May 17, 2022)
|
||||
* Fn+[Encoder press] to sleep Windows PC (added May 14, 2022)
|
||||
* [FN]\ or [FN]B to get to bootloader mode (use key next to Left Shift on ISO)
|
||||
* [FN][ESC] to clear EEPROM
|
||||
* [FN]R to toggle N-key Rollover
|
||||
* [FN]N to toggle system numlock
|
||||
* [FN]/ is single-handed shortcut to Ctrl-Alt-Delete
|
||||
* [FN]L is single-handed shortcut to Win-L (lock Windows)
|
||||
* [FN][Encoder press] to sleep Windows PC
|
||||
|
||||
Link to latest firmware binary: https://github.com/gourdo1/media/raw/main/gmmk_pro_rev1_ansi_gourdo1.bin
|
||||
|
||||
Link to cheatsheet: https://github.com/gourdo1/media/raw/main/GMMK_Pro_Cheatsheet.pdf
|
||||
|
||||
|
||||
## rules.mk Options
|
||||
|
||||
STARTUP_NUMLOCK_ON = yes - Turns on NUMLOCK by default
|
||||
|
||||
ENCODER_DEFAULTACTIONS_ENABLE = yes - Enabled default encoder functions
|
||||
|
||||
TD_LSFT_CAPSLOCK_ENABLE = yes - This will enable double tap on Left Shift to toggle CAPSLOCK when using KC_LSFTCAPS
|
||||
|
||||
IDLE_TIMEOUT_ENABLE = yes - Enables Timer functionality; for RGB idle timeouts that can be changed dynamically
|
||||
|
||||
INVERT_NUMLOCK_INDICATOR - Inverts the Numlock indicator, LED is on when numlock is off -- numlock interferes with overlay numpad, so should be off when numpad layer is active unless you have an external numpad.
|
||||
|
||||
COLEMAK_LAYER_ENABLE = yes - Enables optional 5th layer for COLEMAK layout. Use Shift + encoder to enter 5th layer.
|
||||
|
||||
GAME_ENABLE ?= yes - Enables Paddle Game
|
||||
|
||||
## Layer Diagrams
|
||||
## Layer Diagrams (ANSI)
|
||||
### Base layer
|
||||

|
||||

|
||||
|
||||
### Fn Layer
|
||||

|
||||
### FN Layer
|
||||

|
||||
|
||||
### Layer 2 (Numpad)
|
||||

|
||||

|
||||
|
||||
### COLEMAK layer
|
||||

|
||||
|
|
|
@ -200,16 +200,6 @@ const uint8_t LED_LIST_NUMROW[] = {
|
|||
};
|
||||
|
||||
const uint8_t LED_LIST_LETTERS[] = {
|
||||
/* LED_1,
|
||||
LED_2,
|
||||
LED_3,
|
||||
LED_4,
|
||||
LED_5,
|
||||
LED_6,
|
||||
LED_7,
|
||||
LED_8,
|
||||
LED_9,
|
||||
LED_0, */
|
||||
LED_Q,
|
||||
LED_W,
|
||||
LED_E,
|
||||
|
@ -238,6 +228,38 @@ const uint8_t LED_LIST_LETTERS[] = {
|
|||
LED_M
|
||||
};
|
||||
|
||||
const uint8_t LED_LIST_LETTERS_DE[] = {
|
||||
LED_Q,
|
||||
LED_W,
|
||||
LED_E,
|
||||
LED_R,
|
||||
LED_T,
|
||||
LED_Y,
|
||||
LED_U,
|
||||
LED_I,
|
||||
LED_O,
|
||||
LED_P,
|
||||
LED_A,
|
||||
LED_S,
|
||||
LED_D,
|
||||
LED_F,
|
||||
LED_G,
|
||||
LED_H,
|
||||
LED_J,
|
||||
LED_K,
|
||||
LED_L,
|
||||
LED_Z,
|
||||
LED_X,
|
||||
LED_C,
|
||||
LED_V,
|
||||
LED_B,
|
||||
LED_N,
|
||||
LED_M,
|
||||
LED_SCLN,
|
||||
LED_LBRC,
|
||||
LED_QUOT
|
||||
};
|
||||
|
||||
const uint8_t LED_LIST_NUMPAD[] = {
|
||||
LED_1,
|
||||
LED_2,
|
||||
|
|
|
@ -4,7 +4,7 @@ COMMAND_ENABLE = no
|
|||
MOUSEKEY_ENABLE = yes
|
||||
|
||||
VIA_ENABLE = yes
|
||||
TAP_DANCE_ENABLE = yes
|
||||
TAP_DANCE_ENABLE = no
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
CAPS_WORD_ENABLE = yes # Enable built-in Caps Word functionality
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue