forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Keymap] Add personal massdrop/ctrl:r-pufky keymap. (qmk#10887)
* Add personal massdrop/ctrl:r-pufky keymap. * Added personal keymap per: https://docs.qmk.fm/#/contributing?id=keymaps * Update massdrop/ctrl:r-pufky per review. * Trimmed config.h * Remove rules.mk * Add copyright header to keymap.c * Rename README.md to readme.md * Remove files/lines per review. * Removed keyboard-layout-editor.com json layouts. * Removed keymap_config line.
- Loading branch information
Showing
3 changed files
with
198 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
/* | ||
Copyright 2015 Jun Wako <wakojun@gmail.com> | ||
This program is free software: you can redistribute it and/or modify | ||
it under the terms of the GNU General Public License as published by | ||
the Free Software Foundation, either version 2 of the License, or | ||
(at your option) any later version. | ||
This program is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
GNU General Public License for more details. | ||
You should have received a copy of the GNU General Public License | ||
along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#pragma once | ||
|
||
#include "config_common.h" | ||
|
||
#define FORCE_NKRO | ||
|
||
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR | ||
#define RGB_MATRIX_STARTUP_VAL 100 | ||
#define RGB_BACKLIGHT_COLOR_1 RGB_BLUE | ||
#define RGB_BACKLIGHT_COLOR_2 RGB_BLUE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
/* Copyright 2020 Robert Pufky <rpufky@gmail.com> | ||
* | ||
* This program is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 2 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#include QMK_KEYBOARD_H | ||
|
||
enum ctrl_keycodes { | ||
U_T_AUTO = SAFE_RANGE, // USB Extra Port Toggle Auto Detect / Always Active | ||
U_T_AGCR, // USB Toggle Automatic GCR control | ||
DBG_TOG, // DEBUG Toggle On / Off | ||
DBG_MTRX, // DEBUG Toggle Matrix Prints | ||
DBG_KBD, // DEBUG Toggle Keyboard Prints | ||
DBG_MOU, // DEBUG Toggle Mouse Prints | ||
MD_BOOT, // Restart into bootloader after hold timeout | ||
}; | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
[0] = LAYOUT( | ||
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, KC_SLCK, KC_PAUS, | ||
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_INS, KC_HOME, KC_PGUP, | ||
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_DEL, KC_END, KC_PGDN, | ||
KC_LCTL, 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_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_NLCK, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_F24, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||
), | ||
[1] = LAYOUT( | ||
KC_EJCT, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MUTE, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, | ||
_______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, | ||
KC_CAPS, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, | ||
_______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_BRIU, | ||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MRWD, KC_BRID, KC_MFFD | ||
), | ||
}; | ||
|
||
// Runs just one time when the keyboard initializes. | ||
void matrix_init_user(void) { | ||
// https://old.reddit.com/r/MechanicalKeyboards/comments/by8zv9/editing_rgb_backlighting_with_qmk/ | ||
// https://docs.qmk.fm/#/feature_rgblight?id=colors | ||
rgblight_sethsv(HSV_BLUE); | ||
// Disable underglow by default | ||
rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); | ||
rgb_matrix_set_color_all(0, 0, 0); | ||
}; | ||
|
||
// Runs constantly in the background, in a loop. | ||
void matrix_scan_user(void) { | ||
}; | ||
|
||
#define MODS_SHIFT (get_mods() & MOD_MASK_SHIFT) | ||
#define MODS_CTRL (get_mods() & MOD_MASK_CTRL) | ||
#define MODS_ALT (get_mods() & MOD_MASK_ALT) | ||
|
||
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
static uint32_t key_timer; | ||
|
||
switch (keycode) { | ||
case U_T_AUTO: | ||
if (record->event.pressed && MODS_SHIFT && MODS_CTRL) { | ||
TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode"); | ||
} | ||
return false; | ||
case U_T_AGCR: | ||
if (record->event.pressed && MODS_SHIFT && MODS_CTRL) { | ||
TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode"); | ||
} | ||
return false; | ||
case DBG_TOG: | ||
if (record->event.pressed) { | ||
TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode"); | ||
} | ||
return false; | ||
case DBG_MTRX: | ||
if (record->event.pressed) { | ||
TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix"); | ||
} | ||
return false; | ||
case DBG_KBD: | ||
if (record->event.pressed) { | ||
TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard"); | ||
} | ||
return false; | ||
case DBG_MOU: | ||
if (record->event.pressed) { | ||
TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse"); | ||
} | ||
return false; | ||
case MD_BOOT: | ||
if (record->event.pressed) { | ||
key_timer = timer_read32(); | ||
} else { | ||
if (timer_elapsed32(key_timer) >= 500) { | ||
reset_keyboard(); | ||
} | ||
} | ||
return false; | ||
case RGB_TOG: | ||
if (record->event.pressed) { | ||
switch (rgb_matrix_get_flags()) { | ||
case LED_FLAG_ALL: { | ||
rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); | ||
rgb_matrix_set_color_all(0, 0, 0); | ||
} | ||
break; | ||
case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: { | ||
rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); | ||
rgb_matrix_set_color_all(0, 0, 0); | ||
} | ||
break; | ||
case LED_FLAG_UNDERGLOW: { | ||
rgb_matrix_set_flags(LED_FLAG_NONE); | ||
rgb_matrix_disable_noeeprom(); | ||
} | ||
break; | ||
default: { | ||
rgb_matrix_set_flags(LED_FLAG_ALL); | ||
rgb_matrix_enable_noeeprom(); | ||
} | ||
break; | ||
} | ||
} | ||
return false; | ||
default: | ||
return true; //Process all other keycodes normally | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# Massdrop Ctrl r-pufky | ||
|
||
Gaming QOL improvments; enabling useful keys for left hand & in-game overlay usage. | ||
|
||
## Layers | ||
|
||
### Typing Layer | ||
|
||
![Typing Layer](https://i.imgur.com/qEBaupV.png) | ||
|
||
Layer optimized to enable useful keys for gaming without changing typing state, as well as specific | ||
in-game overlay keys. | ||
|
||
* Left Ctrl: Easier control key usage without always setting capslock. | ||
* Num Lock: Unique non visible character key for additional left-hand input options in game. | ||
* Fn: Enable layer 1, temporal. | ||
* F24: Unique non-visible F24 key; no windows function. Map to in-game overlays. | ||
|
||
### Function Layer | ||
|
||
![Function Layer](https://i.imgur.com/UhcS0hV.png) | ||
|
||
* Purple: Media keys. Note CD Eject on Escape, and OSX Prev/Next on Arrows. | ||
* Blue: Keyboard adminstration. Toggle NKRO (N Key Rollover) and enable bootloader. | ||
* Orange: RGB Controls. | ||
* Red: Danger can break things! USB autodetect (always on) and USB GCR Auto control. | ||
* Capslock: Now requires the use of the function key. | ||
* F13-F14: Extended function keys. | ||
* Bright+/-: Monitor Brightness. | ||
|
||
## GCR | ||
GCR is the Global Current Register. Holds the value for current delivered to the LEDs, it's 165 | ||
default and has range 0-255. This should be auto managed. |