diff options
author | Nick Brassel <nick@tzarc.org> | 2023-05-29 06:17:24 +1000 |
---|---|---|
committer | Nick Brassel <nick@tzarc.org> | 2023-05-29 06:17:24 +1000 |
commit | 5024370dd0b441e86ace3089193e84c5b050d892 (patch) | |
tree | b661d5b154be987f9c3dba3a526b70e0b63f9fef /keyboards/massdrop | |
parent | 16767e4d59c2334fcd2d5e6556a68d5ff60ffd7b (diff) | |
parent | 8b1d86eabf399e82af7738fb675b9c74195d0f98 (diff) |
Merge branch 'develop'
Diffstat (limited to 'keyboards/massdrop')
46 files changed, 499 insertions, 1443 deletions
diff --git a/keyboards/massdrop/alt/alt.h b/keyboards/massdrop/alt/alt.h index c3761bee8b..9fc6eac15e 100644 --- a/keyboards/massdrop/alt/alt.h +++ b/keyboards/massdrop/alt/alt.h @@ -9,20 +9,6 @@ #include "usb/udi_cdc.h" #include "usb/usb_hub.h" -#define LAYOUT_65_ansi_blocker( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, K14, K15, \ - K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K30, \ - K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, \ - K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K60, \ - K61, K62, K63, K64, K65, K66, K67 \ -) { \ - { K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, K14, K15, }, \ - { K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K30, }, \ - { K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, KC_NO, K43, K44, }, \ - { K45, KC_NO, K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, }, \ - { K59, K60, K61, KC_NO, KC_NO, KC_NO, K62, KC_NO, KC_NO, KC_NO, K63, K64, K65, K66, K67, }, \ -} - #define TOGGLE_FLAG_AND_PRINT(var, name) { \ if (var) { \ dprintf(name " disabled\r\n"); \ @@ -32,5 +18,3 @@ dprintf(name " enabled\r\n"); \ } \ } - -#define LAYOUT LAYOUT_65_ansi_blocker // Ensure that user made existing keymaps do not break. diff --git a/keyboards/massdrop/alt/config.h b/keyboards/massdrop/alt/config.h index fe2db0a478..33991d4c8f 100644 --- a/keyboards/massdrop/alt/config.h +++ b/keyboards/massdrop/alt/config.h @@ -21,12 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* USB Device descriptor parameter */ #define SERIAL_NUM "Unavailable" -#define MATRIX_ROW_PINS { A00, A01, A02, A03, A04 } -#define MATRIX_COL_PINS { B04, B05, B06, B07, B08, B09, B10, B11, B12, B13, A05, A06, A07, A10, A11 } - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - /* Temporary solution for matrix delay */ #define IGNORE_ATOMIC_BLOCK diff --git a/keyboards/massdrop/alt/info.json b/keyboards/massdrop/alt/info.json index 128a990b46..90de8c6904 100644 --- a/keyboards/massdrop/alt/info.json +++ b/keyboards/massdrop/alt/info.json @@ -8,77 +8,92 @@ "pid": "0xEED3", "device_version": "1.0.1" }, + "rgb_matrix": { + "driver": "custom" + }, + "matrix_pins": { + "cols": ["B04", "B05", "B06", "B07", "B08", "B09", "B10", "B11", "B12", "B13", "A05", "A06", "A07", "A10", "A11"], + "rows": ["A00", "A01", "A02", "A03", "A04"] + }, + "diode_direction": "COL2ROW", "community_layouts": ["65_ansi_blocker"], + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, "layouts": { "LAYOUT_65_ansi_blocker": { "layout": [ - {"label":"ESCAPE", "x":0, "y":0}, - {"label":"1", "x":1, "y":0}, - {"label":"2", "x":2, "y":0}, - {"label":"3", "x":3, "y":0}, - {"label":"4", "x":4, "y":0}, - {"label":"5", "x":5, "y":0}, - {"label":"6", "x":6, "y":0}, - {"label":"7", "x":7, "y":0}, - {"label":"8", "x":8, "y":0}, - {"label":"9", "x":9, "y":0}, - {"label":"0", "x":10, "y":0}, - {"label":"MINUS", "x":11, "y":0}, - {"label":"EQUALS", "x":12, "y":0}, - {"label":"BACKSPACE", "x":13, "y":0, "w":2}, - {"label":"DELETE", "x":15, "y":0}, - {"label":"TAB", "x":0, "y":1, "w":1.5}, - {"label":"Q", "x":1.5, "y":1}, - {"label":"W", "x":2.5, "y":1}, - {"label":"E", "x":3.5, "y":1}, - {"label":"R", "x":4.5, "y":1}, - {"label":"T", "x":5.5, "y":1}, - {"label":"Y", "x":6.5, "y":1}, - {"label":"U", "x":7.5, "y":1}, - {"label":"I", "x":8.5, "y":1}, - {"label":"O", "x":9.5, "y":1}, - {"label":"P", "x":10.5, "y":1}, - {"label":"LEFT BRACKET", "x":11.5, "y":1}, - {"label":"RIGHT BRACKET", "x":12.5, "y":1}, - {"label":"BACK SLASH", "x":13.5, "y":1, "w":1.5}, - {"label":"HOME", "x":15, "y":1}, - {"label":"CAPS LOCK", "x":0, "y":2, "w":1.75}, - {"label":"A", "x":1.75, "y":2}, - {"label":"S", "x":2.75, "y":2}, - {"label":"D", "x":3.75, "y":2}, - {"label":"F", "x":4.75, "y":2}, - {"label":"G", "x":5.75, "y":2}, - {"label":"H", "x":6.75, "y":2}, - {"label":"J", "x":7.75, "y":2}, - {"label":"K", "x":8.75, "y":2}, - {"label":"L", "x":9.75, "y":2}, - {"label":"SEMICOLON", "x":10.75, "y":2}, - {"label":"SINGLE TICK", "x":11.75, "y":2}, - {"label":"ENTER", "x":12.75, "y":2, "w":2.25}, - {"label":"PAGE UP", "x":15, "y":2}, - {"label":"LEFT SHIFT", "x":0, "y":3, "w":2.25}, - {"label":"Z", "x":2.25, "y":3}, - {"label":"X", "x":3.25, "y":3}, - {"label":"C", "x":4.25, "y":3}, - {"label":"V", "x":5.25, "y":3}, - {"label":"B", "x":6.25, "y":3}, - {"label":"N", "x":7.25, "y":3}, - {"label":"M", "x":8.25, "y":3}, - {"label":"COMMA", "x":9.25, "y":3}, - {"label":"PERIOD", "x":10.25, "y":3}, - {"label":"FORWARD SLASH", "x":11.25, "y":3}, - {"label":"RIGHT SHIFT", "x":12.25, "y":3, "w":1.75}, - {"label":"UP ARROW", "x":14, "y":3}, - {"label":"PAGE DOWN", "x":15, "y":3}, - {"label":"LEFT CTRL", "x":0, "y":4, "w":1.25}, - {"label":"LEFT WIN", "x":1.25, "y":4, "w":1.25}, - {"label":"LEFT ALT", "x":2.5, "y":4, "w":1.25}, - {"label":"SPACEBAR", "x":3.75, "y":4, "w":6.25}, - {"label":"RIGHT ALT", "x":10, "y":4, "w":1.25}, - {"label":"FN", "x":11.25, "y":4, "w":1.25}, - {"label":"LEFT ARROW", "x":13, "y":4}, - {"label":"DOWN ARROW", "x":14, "y":4}, - {"label":"RIGHT ARROW", "x":15, "y":4} + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} ] } } diff --git a/keyboards/massdrop/alt/keymaps/b_/config.h b/keyboards/massdrop/alt/keymaps/b_/config.h index 8f06c0dd34..8607cd8186 100644 --- a/keyboards/massdrop/alt/keymaps/b_/config.h +++ b/keyboards/massdrop/alt/keymaps/b_/config.h @@ -31,14 +31,12 @@ // #define RETRO_TAPPING // Tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release // #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle // #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details -// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details // #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) // #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. // #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall // #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. // #define ONESHOT_TIMEOUT 3000 // How long before oneshot times out // #define ONESHOT_TAP_TOGGLE 2 // How many taps before oneshot toggle is triggered -// #define COMBO_COUNT 2 // Set this to the number of combos that you're using in the Combo feature. // #define COMBO_TERM 200 // How long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined. // #define TAP_CODE_DELAY 100 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds. #define TAP_CODE_DELAY 25 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds. diff --git a/keyboards/massdrop/alt/keymaps/pregame/config.h b/keyboards/massdrop/alt/keymaps/pregame/config.h index 83f0d13bd5..27bf1a8332 100644 --- a/keyboards/massdrop/alt/keymaps/pregame/config.h +++ b/keyboards/massdrop/alt/keymaps/pregame/config.h @@ -44,14 +44,12 @@ // #define RETRO_TAPPING // Tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release // #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle // #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details -// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details // #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) // #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. // #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall // #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. // #define ONESHOT_TIMEOUT 3000 // How long before oneshot times out // #define ONESHOT_TAP_TOGGLE 2 // How many taps before oneshot toggle is triggered -// #define COMBO_COUNT 2 // Set this to the number of combos that you're using in the Combo feature. // #define COMBO_TERM 200 // How long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined. // #define TAP_CODE_DELAY 100 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds. // #define TAP_HOLD_CAPS_DELAY 80 // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPS_LOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher. diff --git a/keyboards/massdrop/alt/keymaps/pregame/keymap.c b/keyboards/massdrop/alt/keymaps/pregame/keymap.c index fcc73825dd..d111b6a554 100644 --- a/keyboards/massdrop/alt/keymaps/pregame/keymap.c +++ b/keyboards/massdrop/alt/keymaps/pregame/keymap.c @@ -14,7 +14,45 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "keymap.h" +#include QMK_KEYBOARD_H + +#define MILLISECONDS_IN_SECOND 1000 + +// These are just to make it neater to use builtin HSV values in the keymap +#define RED {HSV_RED} +#define CORAL {HSV_CORAL} +#define ORANGE {HSV_ORANGE} +#define GOLDEN {HSV_GOLDENROD} +#define GOLD {HSV_GOLD} +#define YELLOW {HSV_YELLOW} +#define CHART {HSV_CHARTREUSE} +#define GREEN {HSV_GREEN} +#define SPRING {HSV_SPRINGGREEN} +#define TURQ {HSV_TURQUOISE} +#define TEAL {HSV_TEAL} +#define CYAN {HSV_CYAN} +#define AZURE {HSV_AZURE} +#define BLUE {HSV_BLUE} +#define PURPLE {HSV_PURPLE} +#define MAGENT {HSV_MAGENTA} +#define PINK {HSV_PINK} + + + +//========================================================== CONFIGURABLE DEFAULTS ========================================================== +extern bool g_suspend_state; +extern rgb_config_t rgb_matrix_config; +bool disable_layer_color; + +enum alt_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] = { diff --git a/keyboards/massdrop/alt/keymaps/pregame/keymap.h b/keyboards/massdrop/alt/keymaps/pregame/keymap.h deleted file mode 100644 index 1980800336..0000000000 --- a/keyboards/massdrop/alt/keymaps/pregame/keymap.h +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright 2020 elijahblake81 - * - * 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 - -// HID has not yet been implemented for this keyboard -// #include "raw_hid.h" - -#define MILLISECONDS_IN_SECOND 1000 - -// These are just to make it neater to use builtin HSV values in the keymap -#define RED {HSV_RED} -#define CORAL {HSV_CORAL} -#define ORANGE {HSV_ORANGE} -#define GOLDEN {HSV_GOLDENROD} -#define GOLD {HSV_GOLD} -#define YELLOW {HSV_YELLOW} -#define CHART {HSV_CHARTREUSE} -#define GREEN {HSV_GREEN} -#define SPRING {HSV_SPRINGGREEN} -#define TURQ {HSV_TURQUOISE} -#define TEAL {HSV_TEAL} -#define CYAN {HSV_CYAN} -#define AZURE {HSV_AZURE} -#define BLUE {HSV_BLUE} -#define PURPLE {HSV_PURPLE} -#define MAGENT {HSV_MAGENTA} -#define PINK {HSV_PINK} - - - -//========================================================== CONFIGURABLE DEFAULTS ========================================================== -extern bool g_suspend_state; -extern rgb_config_t rgb_matrix_config; -bool disable_layer_color; - -enum alt_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 -}; diff --git a/keyboards/massdrop/alt/keymaps/urbanvanilla/keymap.c b/keyboards/massdrop/alt/keymaps/urbanvanilla/keymap.c index e1b6de116e..c5905d502f 100644 --- a/keyboards/massdrop/alt/keymaps/urbanvanilla/keymap.c +++ b/keyboards/massdrop/alt/keymaps/urbanvanilla/keymap.c @@ -49,7 +49,7 @@ uint8_t currentWPM; bool process_record_user(uint16_t keycode, keyrecord_t *record) { static uint32_t key_timer; -idle_timer = timer_read(); +idle_timer = timer_read32(); switch (keycode) { @@ -146,7 +146,7 @@ idle_timer = timer_read(); void matrix_scan_user(void) { //custom idle rbg switch off function - if (timer_elapsed(idle_timer) > IDLE_TIMER_DURATION) { + if (timer_elapsed32(idle_timer) > IDLE_TIMER_DURATION) { idle_timer = 0; timer_clear(); rgbkeyIdle = true; diff --git a/keyboards/massdrop/alt/rules.mk b/keyboards/massdrop/alt/rules.mk index a302c82d86..e176fa733d 100644 --- a/keyboards/massdrop/alt/rules.mk +++ b/keyboards/massdrop/alt/rules.mk @@ -26,4 +26,3 @@ AUTO_SHIFT_ENABLE = no # Auto Shift # Custom RGB matrix handling RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = custom diff --git a/keyboards/massdrop/ctrl/config.h b/keyboards/massdrop/ctrl/config.h index aadc0a915b..33991d4c8f 100644 --- a/keyboards/massdrop/ctrl/config.h +++ b/keyboards/massdrop/ctrl/config.h @@ -21,12 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* USB Device descriptor parameter */ #define SERIAL_NUM "Unavailable" -#define MATRIX_ROW_PINS { B04, B05, B06, B07, B08, B09, A10, A11, B10, B11, B12 } -#define MATRIX_COL_PINS { A00, A01, A02, A03, A04, A05, A06, A07 } - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - /* Temporary solution for matrix delay */ #define IGNORE_ATOMIC_BLOCK diff --git a/keyboards/massdrop/ctrl/ctrl.h b/keyboards/massdrop/ctrl/ctrl.h index a3d66ba775..9fc6eac15e 100644 --- a/keyboards/massdrop/ctrl/ctrl.h +++ b/keyboards/massdrop/ctrl/ctrl.h @@ -9,28 +9,6 @@ #include "usb/udi_cdc.h" #include "usb/usb_hub.h" -#define LAYOUT( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, K14, K15, \ - K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K30, \ - K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, \ - K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K60, \ - K61, K62, K63, K64, K65, K66, K67, K68, K69, K70, K71, K72, K73, K74, K75, \ - K76, K77, K78, K79, K80, K81, K82, K83, K84, K85, K86, K87 \ - \ -) { \ - { K01, K02, K03, K04, K05, K06, K07, K08 }, \ - { K17, K18, K19, K20, K21, K22, K23, K24 }, \ - { K34, K35, K36, K37, K38, K39, K40, K41 }, \ - { K51, K52, K53, K54, K55, K56, K57, K58 }, \ - { K64, K65, K66, K67, K68, K69, K70, K71 }, \ - { K77, K78, K79, K80, K81, K82, K83, K84 }, \ - { K09, K10, K11, K12, K13, K14, K15, K16 }, \ - { K25, K26, K27, K28, K29, K30, K31, K32 }, \ - { K42, K43, K44, K45, K46, K47, K48, K49 }, \ - { K59, K60, K61, K62, K63, K76, K50, K33 }, \ - { K72, K73, K74, K75, K85, K86, K87, }, \ -} - #define TOGGLE_FLAG_AND_PRINT(var, name) { \ if (var) { \ dprintf(name " disabled\r\n"); \ diff --git a/keyboards/massdrop/ctrl/info.json b/keyboards/massdrop/ctrl/info.json index 34c60ca088..e030881ca8 100644 --- a/keyboards/massdrop/ctrl/info.json +++ b/keyboards/massdrop/ctrl/info.json @@ -8,96 +8,117 @@ "pid": "0xEED2", "device_version": "1.0.1" }, + "rgb_matrix": { + "driver": "custom" + }, + "matrix_pins": { + "cols": ["A00", "A01", "A02", "A03", "A04", "A05", "A06", "A07"], + "rows": ["B04", "B05", "B06", "B07", "B08", "B09", "A10", "A11", "B10", "B11", "B12"] + }, + "diode_direction": "COL2ROW", "layouts": { "LAYOUT": { "layout": [ - {"label":"ESCAPE", "x":0, "y":0}, - {"label":"F1", "x":2, "y":0}, - {"label":"F2", "x":3, "y":0}, - {"label":"F3", "x":4, "y":0}, - {"label":"F4", "x":5, "y":0}, - {"label":"F5", "x":6.5, "y":0}, - {"label":"F6", "x":7.5, "y":0}, - {"label":"F7", "x":8.5, "y":0}, - {"label":"F8", "x":9.5, "y":0}, - {"label":"F9", "x":11, "y":0}, - {"label":"F10", "x":12, "y":0}, - {"label":"F11", "x":13, "y":0}, - {"label":"F12", "x":14, "y":0}, - {"label":"PRINT SCREEN", "x":15.5, "y":0}, - {"label":"SCROLL LOCK", "x":16.5, "y":0}, - {"label":"PAUSE BREAK", "x":17.5, "y":0}, - {"label":"BACKTICK", "x":0, "y":1.5}, - {"label":"1", "x":1, "y":1.5}, - {"label":"2", "x":2, "y":1.5}, - {"label":"3", "x":3, "y":1.5}, - {"label":"4", "x":4, "y":1.5}, - {"label":"5", "x":5, "y":1.5}, - {"label":"6", "x":6, "y":1.5}, - {"label":"7", "x":7, "y":1.5}, - {"label":"8", "x":8, "y":1.5}, - {"label":"9", "x":9, "y":1.5}, - {"label":"0", "x":10, "y":1.5}, - {"label":"MINUS", "x":11, "y":1.5}, - {"label":"EQUALS", "x":12, "y":1.5}, - {"label":"BACKSPACE", "x":13, "y":1.5, "w":2}, - {"label":"INSERT", "x":15.5, "y":1.5}, - {"label":"HOME", "x":16.5, "y":1.5}, - {"label":"PAGE UP", "x":17.5, "y":1.5}, - {"label":"TAB", "x":0, "y":2.5, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.5}, - {"label":"W", "x":2.5, "y":2.5}, - {"label":"E", "x":3.5, "y":2.5}, - {"label":"R", "x":4.5, "y":2.5}, - {"label":"T", "x":5.5, "y":2.5}, - {"label":"Y", "x":6.5, "y":2.5}, - {"label":"U", "x":7.5, "y":2.5}, - {"label":"I", "x":8.5, "y":2.5}, - {"label":"O", "x":9.5, "y":2.5}, - {"label":"P", "x":10.5, "y":2.5}, - {"label":"LEFT BRACKET", "x":11.5, "y":2.5}, - {"label":"RIGHT BRACKET", "x":12.5, "y":2.5}, - {"label":"BACK SLASH", "x":13.5, "y":2.5, "w":1.5}, - {"label":"DELETE", "x":15.5, "y":2.5}, - {"label":"END", "x":16.5, "y":2.5}, - {"label":"PAGE DOWN", "x":17.5, "y":2.5}, - {"label":"CAPS LOCK", "x":0, "y":3.5, "w":1.75}, - {"label":"A", "x":1.75, "y":3.5}, - {"label":"S", "x":2.75, "y":3.5}, - {"label":"D", "x":3.75, "y":3.5}, - {"label":"F", "x":4.75, "y":3.5}, - {"label":"G", "x":5.75, "y":3.5}, - {"label":"H", "x":6.75, "y":3.5}, - {"label":"J", "x":7.75, "y":3.5}, - {"label":"K", "x":8.75, "y":3.5}, - {"label":"L", "x":9.75, "y":3.5}, - {"label":"SEMICOLON", "x":10.75, "y":3.5}, - {"label":"SINGLE TICK", "x":11.75, "y":3.5}, - {"label":"ENTER", "x":12.75, "y":3.5, "w":2.25}, - {"label":"LEFT SHIFT", "x":0, "y":4.5, "w":2.25}, - {"label":"Z", "x":2.25, "y":4.5}, - {"label":"X", "x":3.25, "y":4.5}, - {"label":"C", "x":4.25, "y":4.5}, - {"label":"V", "x":5.25, "y":4.5}, - {"label":"B", "x":6.25, "y":4.5}, - {"label":"N", "x":7.25, "y":4.5}, - {"label":"M", "x":8.25, "y":4.5}, - {"label":"COMMA", "x":9.25, "y":4.5}, - {"label":"PERIOD", "x":10.25, "y":4.5}, - {"label":"FORWARD SLASH", "x":11.25, "y":4.5}, - {"label":"RIGHT SHIFT", "x":12.25, "y":4.5, "w":2.75}, - {"label":"UP ARROW", "x":16.5, "y":4.5}, - {"label":"LEFT CTRL", "x":0.005, "y":5.5, "w":1.25}, - {"label":"LEFT WIN", "x":1.255, "y":5.5, "w":1.25}, - {"label":"LEFT ALT", "x":2.505, "y":5.5, "w":1.25}, - {"label":"SPACEBAR", "x":3.75, "y":5.5, "w":6.25}, - {"label":"RIGHT ALT", "x":10, "y":5.5, "w":1.25}, - {"label":"FN", "x":11.25, "y":5.5, "w":1.25}, - {"label":"MENU", "x":12.5, "y":5.5, "w":1.25}, - {"label":"RIGHT CTRL", "x":13.75, "y":5.5, "w":1.25}, - {"label":"LEFT ARROW", "x":15.5, "y":5.5}, - {"label":"DOWN ARROW", "x":16.5, "y":5.5}, - {"label":"RIGHT ARROW", "x":17.5, "y":5.5} + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "x": 5, "y": 0}, + + {"matrix": [0, 5], "x": 6.5, "y": 0}, + {"matrix": [0, 6], "x": 7.5, "y": 0}, + {"matrix": [0, 7], "x": 8.5, "y": 0}, + {"matrix": [6, 0], "x": 9.5, "y": 0}, + + {"matrix": [6, 1], "x": 11, "y": 0}, + {"matrix": [6, 2], "x": 12, "y": 0}, + {"matrix": [6, 3], "x": 13, "y": 0}, + {"matrix": [6, 4], "x": 14, "y": 0}, + + {"matrix": [6, 5], "x": 15.5, "y": 0}, + {"matrix": [6, 6], "x": 16.5, "y": 0}, + {"matrix": [6, 7], "x": 17.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [7, 0], "x": 8, "y": 1.5}, + {"matrix": [7, 1], "x": 9, "y": 1.5}, + {"matrix": [7, 2], "x": 10, "y": 1.5}, + {"matrix": [7, 3], "x": 11, "y": 1.5}, + {"matrix": [7, 4], "x": 12, "y": 1.5}, + {"matrix": [7, 5], "x": 13, "y": 1.5, "w": 2}, + + {"matrix": [7, 6], "x": 15.5, "y": 1.5}, + {"matrix": [7, 7], "x": 16.5, "y": 1.5}, + {"matrix": [9, 7], "x": 17.5, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [8, 0], "x": 8.5, "y": 2.5}, + {"matrix": [8, 1], "x": 9.5, "y": 2.5}, + {"matrix": [8, 2], "x": 10.5, "y": 2.5}, + {"matrix": [8, 3], "x": 11.5, "y": 2.5}, + {"matrix": [8, 4], "x": 12.5, "y": 2.5}, + {"matrix": [8, 5], "x": 13.5, "y": 2.5, "w": 1.5}, + + {"matrix": [8, 6], "x": 15.5, "y": 2.5}, + {"matrix": [8, 7], "x": 16.5, "y": 2.5}, + {"matrix": [9, 6], "x": 17.5, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [9, 0], "x": 8.75, "y": 3.5}, + {"matrix": [9, 1], "x": 9.75, "y": 3.5}, + {"matrix": [9, 2], "x": 10.75, "y": 3.5}, + {"matrix": [9, 3], "x": 11.75, "y": 3.5}, + {"matrix": [9, 4], "x": 12.75, "y": 3.5, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 1], "x": 2.25, "y": 4.5}, + {"matrix": [4, 2], "x": 3.25, "y": 4.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4.5}, + {"matrix": [4, 4], "x": 5.25, "y": 4.5}, + {"matrix": [4, 5], "x": 6.25, "y": 4.5}, + {"matrix": [4, 6], "x": 7.25, "y": 4.5}, + {"matrix": [4, 7], "x": 8.25, "y": 4.5}, + {"matrix": [10, 0], "x": 9.25, "y": 4.5}, + {"matrix": [10, 1], "x": 10.25, "y": 4.5}, + {"matrix": [10, 2], "x": 11.25, "y": 4.5}, + {"matrix": [10, 3], "x": 12.25, "y": 4.5, "w": 2.75}, + + {"matrix": [9, 5], "x": 16.5, "y": 4.5}, + + {"matrix": [5, 0], "x": 0.005, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.255, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.505, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 4], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 5], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 12.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 7], "x": 13.75, "y": 5.5, "w": 1.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5.5}, + {"matrix": [10, 5], "x": 16.5, "y": 5.5}, + {"matrix": [10, 6], "x": 17.5, "y": 5.5} ] } } diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/config.h b/keyboards/massdrop/ctrl/keymaps/endgame/config.h index 8584c07a5d..34aa3cd666 100644 --- a/keyboards/massdrop/ctrl/keymaps/endgame/config.h +++ b/keyboards/massdrop/ctrl/keymaps/endgame/config.h @@ -28,14 +28,12 @@ // #define RETRO_TAPPING // Tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle // #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details -// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details // #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) // #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. // #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall // #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. // #define ONESHOT_TIMEOUT 300 // How long before oneshot times out // #define ONESHOT_TAP_TOGGLE 2 // How many taps before oneshot toggle is triggered -// #define COMBO_COUNT 2 // Set this to the number of combos that you're using in the Combo feature. // #define COMBO_TERM 200 // How long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined. // #define TAP_CODE_DELAY 100 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds. // #define TAP_HOLD_CAPS_DELAY 80 // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPS_LOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher. diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c b/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c index 87b14ff93f..463ccb42ba 100644 --- a/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c +++ b/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c @@ -1,4 +1,98 @@ -#include "keymap.h" +#include QMK_KEYBOARD_H +#include <string.h> + +#define MILLISECONDS_IN_SECOND 1000 + +// These are just to make it neater to use builtin HSV values in the keymap +#define RED {HSV_RED} +#define CORAL {HSV_CORAL} +#define ORANGE {HSV_ORANGE} +#define GOLDEN {HSV_GOLDENROD} +#define GOLD {HSV_GOLD} +#define YELLOW {HSV_YELLOW} +#define CHART {HSV_CHARTREUSE} +#define GREEN {HSV_GREEN} +#define SPRING {HSV_SPRINGGREEN} +#define TURQ {HSV_TURQUOISE} +#define TEAL {HSV_TEAL} +#define CYAN {HSV_CYAN} +#define AZURE {HSV_AZURE} +#define BLUE {HSV_BLUE} +#define PURPLE {HSV_PURPLE} +#define MAGENT {HSV_MAGENTA} +#define PINK {HSV_PINK} + +//========================================================== CONFIGURABLE DEFAULTS ========================================================== +#define RGB_DEFAULT_TIME_OUT 30 +#define RGB_FAST_MODE_TIME_OUT 3 +#define RGB_TIME_OUT_MAX 600 +#define RGB_TIME_OUT_MIN 10 +#define RGB_TIME_OUT_STEP 10 + +extern rgb_config_t rgb_matrix_config; +bool disable_layer_color; + +bool rgb_enabled_flag; // Current LED state flag. If false then LED is off. +bool rgb_time_out_enable; // Idle LED toggle enable. If false then LED will not turn off after idle timeout. +bool rgb_time_out_fast_mode_enabled; // Enable flag for RGB timeout fast mode +bool rgb_time_out_user_value; // This holds the toggle value set by user with ROUT_TG. It's necessary as RGB_TOG changes timeout enable. +uint16_t rgb_time_out_seconds; // Idle LED timeout value, in seconds not milliseconds +uint16_t rgb_time_out_saved_seconds; // The saved user config for RGB timeout period +led_flags_t rgb_time_out_saved_flag; // Store LED flag before timeout so it can be restored when LED is turned on again. + +enum layout_names { + _KL=0, // Keys Layout: The main keyboard layout that has all the characters + _FL, // Function Layout: The function key activated layout with default functions and some added ones + _ML, // Mouse Layout: Mouse Keys and mouse movement + _GL, // GIT Layout: GIT shortcuts and macros + _VL, // VIM Layout: VIM shorcuts and macros + _YL, // Yakuake Layout: Yakuake drop-down terminal shortcuts and macros + _EL, // KDE Layout: Shortcuts for KDE desktop using default KDE shortcuts settings +}; + +enum tapdance_keycodes { + TD_LGUI_ML = 0, // Tap dance key to switch to mouse layer _ML + TD_APP_YL, + TD_CTRL_TERM, // Tap dance key to open terminal on LCTRL double press +}; + +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 + SEL_CPY, // Select Copy. Select the word cursor is pointed at and copy, using double mouse click and ctrl+c + ROUT_TG, // Timeout Toggle. Toggle idle LED time out on or off + ROUT_VI, // Timeout Value Increase. Increase idle time out before LED disabled + ROUT_VD, // Timeout Value Decrease. Decrease idle time out before LED disabled + ROUT_FM, // RGB timeout fast mode toggle + COPY_ALL, // Copy all text using ctrl(a+c) + TERMINAL, // CTRL+ALT+T +}; + +enum string_macro_keycodes { + // The start of this enum should always be equal to end of ctrl_keycodes + 1 + G_INIT = TERMINAL + 1, // git init + G_CLONE, // git clone + G_CONF, // git config --global + G_ADD, // git add + G_DIFF, // git diff + G_RESET, // git reset + G_REBAS, // git rebase + G_BRANH, // git branch + G_CHECK, // git checkout + G_MERGE, // git merge + G_REMTE, // git remote add + G_FETCH, // git fetch + G_PULL, // git pull + G_PUSH, // git push + G_COMM, // git commit + G_STAT, // git status + G_LOG, // git log +}; static uint16_t idle_timer; // Idle LED timeout timer static uint8_t idle_second_counter; // Idle LED seconds counter, counts seconds not milliseconds diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/keymap.h b/keyboards/massdrop/ctrl/keymaps/endgame/keymap.h deleted file mode 100644 index 2747681126..0000000000 --- a/keyboards/massdrop/ctrl/keymaps/endgame/keymap.h +++ /dev/null @@ -1,99 +0,0 @@ -#include QMK_KEYBOARD_H - -#include <print.h> -#include <string.h> -// HID has not yet been implemented for this keyboard -// #include "raw_hid.h" - -#define MILLISECONDS_IN_SECOND 1000 - -// These are just to make it neater to use builtin HSV values in the keymap -#define RED {HSV_RED} -#define CORAL {HSV_CORAL} -#define ORANGE {HSV_ORANGE} -#define GOLDEN {HSV_GOLDENROD} -#define GOLD {HSV_GOLD} -#define YELLOW {HSV_YELLOW} -#define CHART {HSV_CHARTREUSE} -#define GREEN {HSV_GREEN} -#define SPRING {HSV_SPRINGGREEN} -#define TURQ {HSV_TURQUOISE} -#define TEAL {HSV_TEAL} -#define CYAN {HSV_CYAN} -#define AZURE {HSV_AZURE} -#define BLUE {HSV_BLUE} -#define PURPLE {HSV_PURPLE} -#define MAGENT {HSV_MAGENTA} -#define PINK {HSV_PINK} - -//========================================================== CONFIGURABLE DEFAULTS ========================================================== -#define RGB_DEFAULT_TIME_OUT 30 -#define RGB_FAST_MODE_TIME_OUT 3 -#define RGB_TIME_OUT_MAX 600 -#define RGB_TIME_OUT_MIN 10 -#define RGB_TIME_OUT_STEP 10 - -extern rgb_config_t rgb_matrix_config; -bool disable_layer_color; - -bool rgb_enabled_flag; // Current LED state flag. If false then LED is off. -bool rgb_time_out_enable; // Idle LED toggle enable. If false then LED will not turn off after idle timeout. -bool rgb_time_out_fast_mode_enabled; // Enable flag for RGB timeout fast mode -bool rgb_time_out_user_value; // This holds the toggle value set by user with ROUT_TG. It's necessary as RGB_TOG changes timeout enable. -uint16_t rgb_time_out_seconds; // Idle LED timeout value, in seconds not milliseconds -uint16_t rgb_time_out_saved_seconds; // The saved user config for RGB timeout period -led_flags_t rgb_time_out_saved_flag; // Store LED flag before timeout so it can be restored when LED is turned on again. - -enum layout_names { - _KL=0, // Keys Layout: The main keyboard layout that has all the characters - _FL, // Function Layout: The function key activated layout with default functions and some added ones - _ML, // Mouse Layout: Mouse Keys and mouse movement - _GL, // GIT Layout: GIT shortcuts and macros - _VL, // VIM Layout: VIM shorcuts and macros - _YL, // Yakuake Layout: Yakuake drop-down terminal shortcuts and macros - _EL, // KDE Layout: Shortcuts for KDE desktop using default KDE shortcuts settings -}; - -enum tapdance_keycodes { - TD_LGUI_ML = 0, // Tap dance key to switch to mouse layer _ML - TD_APP_YL, - TD_CTRL_TERM, // Tap dance key to open terminal on LCTRL double press -}; - -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 - SEL_CPY, // Select Copy. Select the word cursor is pointed at and copy, using double mouse click and ctrl+c - ROUT_TG, // Timeout Toggle. Toggle idle LED time out on or off - ROUT_VI, // Timeout Value Increase. Increase idle time out before LED disabled - ROUT_VD, // Timeout Value Decrease. Decrease idle time out before LED disabled - ROUT_FM, // RGB timeout fast mode toggle - COPY_ALL, // Copy all text using ctrl(a+c) - TERMINAL, // CTRL+ALT+T -}; - -enum string_macro_keycodes { - // The start of this enum should always be equal to end of ctrl_keycodes + 1 - G_INIT = TERMINAL + 1, // git init - G_CLONE, // git clone - G_CONF, // git config --global - G_ADD, // git add - G_DIFF, // git diff - G_RESET, // git reset - G_REBAS, // git rebase - G_BRANH, // git branch - G_CHECK, // git checkout - G_MERGE, // git merge - G_REMTE, // git remote add - G_FETCH, // git fetch - G_PULL, // git pull - G_PUSH, // git push - G_COMM, // git commit - G_STAT, // git status - G_LOG, // git log -}; diff --git a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h index b975b7895b..a17e3e76bf 100644 --- a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h +++ b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h @@ -46,14 +46,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define RETRO_TAPPING // Tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release // #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle // #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details -// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details // #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) // #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. // #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall // #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. // #define ONESHOT_TIMEOUT 300 // How long before oneshot times out // #define ONESHOT_TAP_TOGGLE 2 // How many taps before oneshot toggle is triggered -// #define COMBO_COUNT 2 // Set this to the number of combos that you're using in the Combo feature. // #define COMBO_TERM 200 // How long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined. // #define TAP_CODE_DELAY 100 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds. // #define TAP_HOLD_CAPS_DELAY 80 // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPS_LOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher. diff --git a/keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.c b/keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.c index d97f45fde0..574587b2bf 100644 --- a/keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.c +++ b/keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.c @@ -16,7 +16,72 @@ 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 "keymap.h" +#include QMK_KEYBOARD_H + +#define MILLISECONDS_IN_SECOND 1000 + +// These are just to make it neater to use builtin HSV values in the keymap +// clang-format off +#define WHITE {HSV_WHITE} +#define RED {HSV_RED} +#define CORAL {HSV_CORAL} +#define ORANGE {HSV_ORANGE} +#define GOLDEN {HSV_GOLDENROD} +#define GOLD {HSV_GOLD} +#define YELLOW {HSV_YELLOW} +#define CHART {HSV_CHARTREUSE} +#define GREEN {HSV_GREEN} +#define SPRING {HSV_SPRINGGREEN} +#define TURQ {HSV_TURQUOISE} +#define TEAL {HSV_TEAL} +#define CYAN {HSV_CYAN} +#define AZURE {HSV_AZURE} +#define BLUE {HSV_BLUE} +#define PURPLE {HSV_PURPLE} +#define MAGENT {HSV_MAGENTA} +#define PINK {HSV_PINK} +#define HSV_CREAM 24, 240, 255 +#define CREAM {HSV_CREAM} +#define HSV_9B59B5 208, 192, 255 +#define M9B59B5 {HSV_9B59B5} +// clang-format on + +#define LT_CAPS LT(_NL, KC_CAPS) +#define _LAYER_ KC_TRNS + +//========================================================== CONFIGURABLE DEFAULTS ========================================================== +extern bool g_suspend_state; +extern rgb_config_t rgb_matrix_config; +bool disable_layer_color; + +bool rgb_enabled_flag; // Current LED state flag. If false then LED is off. + +enum layout_names { + _KL = 0, // Keys Layout: The main keyboard layout that has all the characters + _NL, // Navigation Layout: Cursor keys and numpad inputs + _FL, // Function Layout: The function key activated layout with default functions and some added ones +}; + +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 + MAS_CRM, + MAS_PRP, + MAS_RED, + MAS_GRN, + MAS_BLU, + MAS_CYN, + MAS_MGT, + MAS_YEL, + MAS_KEY, + MAS_WHT, +}; + // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_KL] = LAYOUT( diff --git a/keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.h b/keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.h deleted file mode 100644 index e37f0d60f2..0000000000 --- a/keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.h +++ /dev/null @@ -1,86 +0,0 @@ -/* -QMK Firmware Massdrop CTRL M-AS Keymap -Copyright (C) 2020 matthewrobo - -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 3 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 - -// HID has not yet been implemented for this keyboard -// #include "raw_hid.h" - -#define MILLISECONDS_IN_SECOND 1000 - -// These are just to make it neater to use builtin HSV values in the keymap -// clang-format off -#define WHITE {HSV_WHITE} -#define RED {HSV_RED} -#define CORAL {HSV_CORAL} -#define ORANGE {HSV_ORANGE} -#define GOLDEN {HSV_GOLDENROD} -#define GOLD {HSV_GOLD} -#define YELLOW {HSV_YELLOW} -#define CHART {HSV_CHARTREUSE} -#define GREEN {HSV_GREEN} -#define SPRING {HSV_SPRINGGREEN} -#define TURQ {HSV_TURQUOISE} -#define TEAL {HSV_TEAL} -#define CYAN {HSV_CYAN} -#define AZURE {HSV_AZURE} -#define BLUE {HSV_BLUE} -#define PURPLE {HSV_PURPLE} -#define MAGENT {HSV_MAGENTA} -#define PINK {HSV_PINK} -#define HSV_CREAM 24, 240, 255 -#define CREAM {HSV_CREAM} -#define HSV_9B59B5 208, 192, 255 -#define M9B59B5 {HSV_9B59B5} -// clang-format on - -#define LT_CAPS LT(_NL, KC_CAPS) -#define _LAYER_ KC_TRNS - -//========================================================== CONFIGURABLE DEFAULTS ========================================================== -extern bool g_suspend_state; -extern rgb_config_t rgb_matrix_config; -bool disable_layer_color; - -bool rgb_enabled_flag; // Current LED state flag. If false then LED is off. - -enum layout_names { - _KL = 0, // Keys Layout: The main keyboard layout that has all the characters - _NL, // Navigation Layout: Cursor keys and numpad inputs - _FL, // Function Layout: The function key activated layout with default functions and some added ones -}; - -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 - MAS_CRM, - MAS_PRP, - MAS_RED, - MAS_GRN, - MAS_BLU, - MAS_CYN, - MAS_MGT, - MAS_YEL, - MAS_KEY, - MAS_WHT, -}; diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h index 87db7fe8ea..0c08219181 100644 --- a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h +++ b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h @@ -44,14 +44,12 @@ // #define RETRO_TAPPING // Tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle // #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details -// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details // #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) // #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. // #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall // #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. // #define ONESHOT_TIMEOUT 300 // How long before oneshot times out // #define ONESHOT_TAP_TOGGLE 2 // How many taps before oneshot toggle is triggered -// #define COMBO_COUNT 2 // Set this to the number of combos that you're using in the Combo feature. // #define COMBO_TERM 200 // How long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined. // #define TAP_CODE_DELAY 100 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds. // #define TAP_HOLD_CAPS_DELAY 80 // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPS_LOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher. diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c b/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c index ac41b17a96..5d95018dbc 100644 --- a/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c +++ b/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c @@ -14,7 +14,113 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "keymap.h" +#include QMK_KEYBOARD_H +#include <string.h> + +#define MILLISECONDS_IN_SECOND 1000 + +// These are just to make it neater to use builtin HSV values in the keymap +#define RED {HSV_RED} +#define CORAL {HSV_CORAL} +#define ORANGE {HSV_ORANGE} +#define GOLDEN {HSV_GOLDENROD} +#define GOLD {HSV_GOLD} +#define YELLOW {HSV_YELLOW} +#define CHART {HSV_CHARTREUSE} +#define GREEN {HSV_GREEN} +#define SPRING {HSV_SPRINGGREEN} +#define TURQ {HSV_TURQUOISE} +#define TEAL {HSV_TEAL} +#define CYAN {HSV_CYAN} +#define AZURE {HSV_AZURE} +#define BLUE {HSV_BLUE} +#define PURPLE {HSV_PURPLE} +#define MAGENT {HSV_MAGENTA} +#define PINK {HSV_PINK} + +//========================================================== CONFIGURABLE DEFAULTS ========================================================== +#define RGB_DEFAULT_TIME_OUT 30 +#define RGB_FAST_MODE_TIME_OUT 3 +#define RGB_TIME_OUT_MAX 600 +#define RGB_TIME_OUT_MIN 10 +#define RGB_TIME_OUT_STEP 10 + +extern rgb_config_t rgb_matrix_config; +bool disable_layer_color; + +bool rgb_enabled_flag; // Current LED state flag. If false then LED is off. +bool rgb_time_out_enable; // Idle LED toggle enable. If false then LED will not turn off after idle timeout. +bool rgb_time_out_fast_mode_enabled; // Enable flag for RGB timeout fast mode +bool rgb_time_out_user_value; // This holds the toggle value set by user with ROUT_TG. It's necessary as RGB_TOG changes timeout enable. +uint16_t rgb_time_out_seconds; // Idle LED timeout value, in seconds not milliseconds +uint16_t rgb_time_out_saved_seconds; // The saved user config for RGB timeout period +led_flags_t rgb_time_out_saved_flag; // Store LED flag before timeout so it can be restored when LED is turned on again. + +enum layout_names { + _KL=0, // Keys Layout: The main keyboard layout that has all the characters + _FL, // Function Layout: The function key activated layout with default functions and some added ones + _GL, // GIT Layout: GIT shortcuts and macros + _NUMPAD, // Numpad Layout: Adds a numpad to the keys +}; + +// Tap Dance keycodes +enum td_keycodes { + TD_FN_SWITCH = 0 +}; + +// Define a type containing as many tapdance states as you need +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_HOLD, + TD_DOUBLE_HOLD +} td_state_t; + +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +// Declare your tapdance functions: + +// Function to determine the current tapdance state +td_state_t cur_dance(tap_dance_state_t *state); + +// `finished` and `reset` functions for each tapdance keycode +void fn_tap_finished(tap_dance_state_t *state, void *user_data); +void fn_tap_reset(tap_dance_state_t *state, void *user_data); + +enum ctrl_keycodes { + MD_BOOT = SAFE_RANGE, // Restart into bootloader after hold timeout + ROUT_TG, // Timeout Toggle. Toggle idle LED time out on or off + ROUT_VI, // Timeout Value Increase. Increase idle time out before LED disabled + ROUT_VD, // Timeout Value Decrease. Decrease idle time out before LED disabled + ROUT_FM, // RGB timeout fast mode toggle + TOG_NPD, // Toggle Numpad On/Off + COPY_ALL, // Copy all text using ctrl(a+c) +}; + +enum string_macro_keycodes { + // The start of this enum should always be equal to end of ctrl_keycodes + 1 + G_INIT = COPY_ALL + 1, // git init + G_CLONE, // git clone + G_ADD, // git add + G_DIFF, // git diff + G_RESET, // git reset --soft + G_BRANH, // git branch list + G_CHECK, // git checkout + G_REMTE, // git remote add + G_FETCH, // git fetch + G_PULL, // git pull + G_PUPST, // git pull upstream + G_PUSH, // git push + G_PSORG, // git push -u origin + G_PSFWL, // git push --force-with-lease + G_COMM, // git commit + G_COMSG, // git commit -m ": [TFS-]" + G_STAT, // git status + G_LOG, // git log +}; static uint16_t idle_timer; // Idle LED timeout timer static uint8_t idle_second_counter; // Idle LED seconds counter, counts seconds not milliseconds diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.h b/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.h deleted file mode 100644 index 2dae7131e4..0000000000 --- a/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.h +++ /dev/null @@ -1,129 +0,0 @@ -/* Copyright 2022 Daniel Weeks (@xanimos) - * - * 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 - -#include <print.h> -#include <string.h> - -#define MILLISECONDS_IN_SECOND 1000 - -// These are just to make it neater to use builtin HSV values in the keymap -#define RED {HSV_RED} -#define CORAL {HSV_CORAL} -#define ORANGE {HSV_ORANGE} -#define GOLDEN {HSV_GOLDENROD} -#define GOLD {HSV_GOLD} -#define YELLOW {HSV_YELLOW} -#define CHART {HSV_CHARTREUSE} -#define GREEN {HSV_GREEN} -#define SPRING {HSV_SPRINGGREEN} -#define TURQ {HSV_TURQUOISE} -#define TEAL {HSV_TEAL} -#define CYAN {HSV_CYAN} -#define AZURE {HSV_AZURE} -#define BLUE {HSV_BLUE} -#define PURPLE {HSV_PURPLE} -#define MAGENT {HSV_MAGENTA} -#define PINK {HSV_PINK} - -//========================================================== CONFIGURABLE DEFAULTS ========================================================== -#define RGB_DEFAULT_TIME_OUT 30 -#define RGB_FAST_MODE_TIME_OUT 3 -#define RGB_TIME_OUT_MAX 600 -#define RGB_TIME_OUT_MIN 10 -#define RGB_TIME_OUT_STEP 10 - -extern rgb_config_t rgb_matrix_config; -bool disable_layer_color; - -bool rgb_enabled_flag; // Current LED state flag. If false then LED is off. -bool rgb_time_out_enable; // Idle LED toggle enable. If false then LED will not turn off after idle timeout. -bool rgb_time_out_fast_mode_enabled; // Enable flag for RGB timeout fast mode -bool rgb_time_out_user_value; // This holds the toggle value set by user with ROUT_TG. It's necessary as RGB_TOG changes timeout enable. -uint16_t rgb_time_out_seconds; // Idle LED timeout value, in seconds not milliseconds -uint16_t rgb_time_out_saved_seconds; // The saved user config for RGB timeout period -led_flags_t rgb_time_out_saved_flag; // Store LED flag before timeout so it can be restored when LED is turned on again. - -enum layout_names { - _KL=0, // Keys Layout: The main keyboard layout that has all the characters - _FL, // Function Layout: The function key activated layout with default functions and some added ones - _GL, // GIT Layout: GIT shortcuts and macros - _NUMPAD, // Numpad Layout: Adds a numpad to the keys -}; - -// Tap Dance keycodes -enum td_keycodes { - TD_FN_SWITCH = 0 -}; - -// Define a type containing as many tapdance states as you need -typedef enum { - TD_NONE, - TD_UNKNOWN, - TD_SINGLE_HOLD, - TD_DOUBLE_HOLD -} td_state_t; - -typedef struct { - bool is_press_action; - td_state_t state; -} td_tap_t; - -// Declare your tapdance functions: - -// Function to determine the current tapdance state -td_state_t cur_dance(tap_dance_state_t *state); - -// `finished` and `reset` functions for each tapdance keycode -void fn_tap_finished(tap_dance_state_t *state, void *user_data); -void fn_tap_reset(tap_dance_state_t *state, void *user_data); - -enum ctrl_keycodes { - MD_BOOT = SAFE_RANGE, // Restart into bootloader after hold timeout - ROUT_TG, // Timeout Toggle. Toggle idle LED time out on or off - ROUT_VI, // Timeout Value Increase. Increase idle time out before LED disabled - ROUT_VD, // Timeout Value Decrease. Decrease idle time out before LED disabled - ROUT_FM, // RGB timeout fast mode toggle - TOG_NPD, // Toggle Numpad On/Off - COPY_ALL, // Copy all text using ctrl(a+c) -}; - -enum string_macro_keycodes { - // The start of this enum should always be equal to end of ctrl_keycodes + 1 - G_INIT = COPY_ALL + 1, // git init - G_CLONE, // git clone - G_ADD, // git add - G_DIFF, // git diff - G_RESET, // git reset --soft - G_BRANH, // git branch list - G_CHECK, // git checkout - G_REMTE, // git remote add - G_FETCH, // git fetch - G_PULL, // git pull - G_PUPST, // git pull upstream - G_PUSH, // git push - G_PSORG, // git push -u origin - G_PSFWL, // git push --force-with-lease - G_COMM, // git commit - G_COMSG, // git commit -m ": [TFS-]" - G_STAT, // git status - G_LOG, // git log -}; - - - - diff --git a/keyboards/massdrop/ctrl/rules.mk b/keyboards/massdrop/ctrl/rules.mk index a302c82d86..e176fa733d 100644 --- a/keyboards/massdrop/ctrl/rules.mk +++ b/keyboards/massdrop/ctrl/rules.mk @@ -26,4 +26,3 @@ AUTO_SHIFT_ENABLE = no # Auto Shift # Custom RGB matrix handling RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = custom diff --git a/keyboards/massdrop/thekey/config.h b/keyboards/massdrop/thekey/config.h deleted file mode 100644 index 0869e77a7a..0000000000 --- a/keyboards/massdrop/thekey/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2021 Joe Maples <joe@maples.dev> - * - * 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 - - -/* - * Keyboard Matrix Assignments - */ -#define MATRIX_ROW_PINS { D4 } -#define MATRIX_COL_PINS { D2, D1, D0 } - -#define DIODE_DIRECTION ROW2COL - -#define RGB_DI_PIN B1 -#define RGBLED_NUM 2 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ diff --git a/keyboards/massdrop/thekey/info.json b/keyboards/massdrop/thekey/info.json deleted file mode 100644 index 56fe74729c..0000000000 --- a/keyboards/massdrop/thekey/info.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "keyboard_name": "The Key", - "manufacturer": "Drop", - "url": "https://drop.com/buy/stack-overflow-the-key-macropad", - "maintainer": "massdrop", - "usb": { - "vid": "0xFEED", - "pid": "0x0000", - "device_version": "0.0.1" - }, - "backlight": { - "pin": "B6" - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "layouts": { - "LAYOUT": { - "layout": [ - { "label": "K00 (D4,D2)", "x": 0, "y": 0 }, - { "label": "K01 (D4,D1)", "x": 1, "y": 0 }, - { "label": "K02 (D4,D0)", "x": 2, "y": 0 } - ] - } - } -} diff --git a/keyboards/massdrop/thekey/keymaps/default-bepo/keymap.c b/keyboards/massdrop/thekey/keymaps/default-bepo/keymap.c deleted file mode 100644 index b9d419a086..0000000000 --- a/keyboards/massdrop/thekey/keymaps/default-bepo/keymap.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2022 Benjamin Collet <benjamin.collet@protonmail.ch> - * - * 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 -#include "keymap_bepo.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT(KC_LCTL, BP_C, BP_V), - -}; diff --git a/keyboards/massdrop/thekey/keymaps/default-macos/keymap.c b/keyboards/massdrop/thekey/keymaps/default-macos/keymap.c deleted file mode 100644 index 7e389e304e..0000000000 --- a/keyboards/massdrop/thekey/keymaps/default-macos/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2021 Joe Maples <joe@maples.dev> - * - * 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 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT(KC_LGUI, KC_C, KC_V), - -}; diff --git a/keyboards/massdrop/thekey/keymaps/default/keymap.c b/keyboards/massdrop/thekey/keymaps/default/keymap.c deleted file mode 100644 index 047def84b6..0000000000 --- a/keyboards/massdrop/thekey/keymaps/default/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2021 Joe Maples <joe@maples.dev> - * - * 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 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT(KC_LCTL, KC_C, KC_V), - -}; diff --git a/keyboards/massdrop/thekey/keymaps/url-copy-paste-bepo/keymap.c b/keyboards/massdrop/thekey/keymaps/url-copy-paste-bepo/keymap.c deleted file mode 100644 index feafa02ac2..0000000000 --- a/keyboards/massdrop/thekey/keymaps/url-copy-paste-bepo/keymap.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright 2022 Benjamin Collet <benjamin.collet@protonmail.ch> - * - * 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 -#include "sendstring_bepo.h" - -enum custom_keycodes { - TK_URL = SAFE_RANGE, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(TK_URL, C(BP_C), C(BP_V)), -}; - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TK_URL: - if (record->event.pressed) { - // when keycode TK_URL is pressed - SEND_STRING("https://stackoverflow.com/"); - } - break; - default: - break; - } - return true; -} diff --git a/keyboards/massdrop/thekey/keymaps/url-copy-paste-macos/keymap.c b/keyboards/massdrop/thekey/keymaps/url-copy-paste-macos/keymap.c deleted file mode 100644 index 57382dfc5f..0000000000 --- a/keyboards/massdrop/thekey/keymaps/url-copy-paste-macos/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2021 Joe Maples <joe@maples.dev> - * - * 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 custom_keycodes { - TK_URL = SAFE_RANGE, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(TK_URL, G(KC_C), G(KC_V)), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TK_URL: - if (record->event.pressed) { - // when keycode TK_URL is pressed - SEND_STRING("https://stackoverflow.com/\n"); - } - break; - default: - break; - } - return true; -} diff --git a/keyboards/massdrop/thekey/keymaps/url-copy-paste/keymap.c b/keyboards/massdrop/thekey/keymaps/url-copy-paste/keymap.c deleted file mode 100644 index 18778d1946..0000000000 --- a/keyboards/massdrop/thekey/keymaps/url-copy-paste/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright 2021 Joe Maples <joe@maples.dev> - * - * 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 custom_keycodes { - TK_URL = SAFE_RANGE, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(TK_URL, C(KC_C), C(KC_V)), -}; - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TK_URL: - if (record->event.pressed) { - // when keycode TK_URL is pressed - SEND_STRING("https://stackoverflow.com/"); - } - break; - default: - break; - } - return true; -} diff --git a/keyboards/massdrop/thekey/readme.md b/keyboards/massdrop/thekey/readme.md deleted file mode 100644 index 74eab45f5e..0000000000 --- a/keyboards/massdrop/thekey/readme.md +++ /dev/null @@ -1,38 +0,0 @@ -# The Key - - - - -The Stack Overflow "The Key" is a 3 button macropad based on atmega32u4 with Kailh Black Box switches. - -> Some say a programmer’s best solution is a simple two-step process: copy and paste. On April 1st, 2021, Stack Overflow proved it. On that fateful day, each time users went to copy a piece of code, they were met with a pop-up for a fake product. It was called The Key: an ultra-compact macropad advertised as the new (and only) way to copy and paste on the platform. As it turns out, roughly one fourth of Stack Overflow’s 15 million users tries to copy and paste within five minutes of visiting the site. An even greater number saw the joke and loved it, with many demanding that The Key be developed in earnest. So, naturally, we teamed up with Stack Overflow to make it happen. What started as an April Fool’s gag is now a full-fledged macropad—designed by our very own community member Cassidy, with a portion of proceeds benefiting digitalundivided. - -Keyboard Maintainer: [Drop / Massdrop](https://github.com/Massdrop/qmk_firmware) - -Hardware Supported: Massdrop, Inc. **The Key** - -Hardware Availability: Limited Release - https://drop.com/buy/stack-overflow-the-key-macropad - - -Make example for this keyboard (after setting up your build environment): -```bash -# default provided by Drop / Stack Overflow -make massdrop/thekey:default -# common modification where C = CTRL+C, V = CTRL+V -make massdrop/thekey:url-copy-paste -``` - -Flashing example for this keyboard: -```bash -# install in dfu mode -make massdrop/thekey:default:dfu -``` - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). -Make example for this keyboard (after setting up your build environment): - -## Bootloader - -Enter the bootloader as follows: -* **Bootmagic reset**: Hold down the "Stack Overflow" key, the "left-most" or furthest from the USB plug while inserting the USB cable for a few seconds. The LEDs will **NOT** turn on. -* **Physical reset button**: Briefly press and hold the reset button while pluggin in the USB port. The LEDs on the back will **NOT** turn on. Depending on your case revision, you may have to remove the 4 screws on the back plate to access the switch OR you can use the associated access hole on newer releases. diff --git a/keyboards/massdrop/thekey/rules.mk b/keyboards/massdrop/thekey/rules.mk deleted file mode 100644 index b7e8d8e706..0000000000 --- a/keyboards/massdrop/thekey/rules.mk +++ /dev/null @@ -1,12 +0,0 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output diff --git a/keyboards/massdrop/thekey/thekey.c b/keyboards/massdrop/thekey/thekey.c deleted file mode 100644 index b32c302cd0..0000000000 --- a/keyboards/massdrop/thekey/thekey.c +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2021 Joe Maples <joe@maples.dev> - * - * 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 "thekey.h" diff --git a/keyboards/massdrop/thekey/thekey.h b/keyboards/massdrop/thekey/thekey.h deleted file mode 100644 index f889c973c7..0000000000 --- a/keyboards/massdrop/thekey/thekey.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2021 Joe Maples <joe@maples.dev> - * - * 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 "quantum.h" - -#define XXX KC_NO - -#define LAYOUT( \ - K00, K01, K02 \ -) { \ - { K00, K01, K02 }, \ -} diff --git a/keyboards/massdrop/thekey_v2/config.h b/keyboards/massdrop/thekey_v2/config.h deleted file mode 100644 index 3f7dc30ac1..0000000000 --- a/keyboards/massdrop/thekey_v2/config.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2022 Jason Wihardja - * - * 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 - - -/* - * Keyboard Matrix Assignments - */ -#define MATRIX_ROW_PINS { D4 } -#define MATRIX_COL_PINS { D2, D1, D0 } - -#define DIODE_DIRECTION ROW2COL - -#define RGB_DI_PIN B1 -#define RGBLED_NUM 5 -#define RGBLIGHT_LED_MAP {4, 0, 1, 2, 3} -#define RGBLIGHT_EFFECT_BREATHING -#define RGBLIGHT_EFFECT_RAINBOW_MOOD -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 15 -#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -#define RGBLIGHT_LAYERS /* Enable lighting layers */ -#define RGBLIGHT_LAYER_BLINK /* Enable lighting layer blink */ diff --git a/keyboards/massdrop/thekey_v2/info.json b/keyboards/massdrop/thekey_v2/info.json deleted file mode 100644 index 19ae416b6e..0000000000 --- a/keyboards/massdrop/thekey_v2/info.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "keyboard_name": "The Key V2", - "manufacturer": "Drop", - "url": "https://drop.com/buy/stack-overflow-the-key-v2-macropad", - "maintainer": "massdrop", - "usb": { - "vid": "0xFEED", - "pid": "0x0000", - "device_version": "0.0.2" - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "layouts": { - "LAYOUT": { - "layout": [ - { "label": "K00 (D4,D2)", "x": 0, "y": 0 }, - { "label": "K01 (D4,D1)", "x": 1, "y": 0 }, - { "label": "K02 (D4,D0)", "x": 2, "y": 0 } - ] - } - } -} diff --git a/keyboards/massdrop/thekey_v2/keymaps/default-macos/keymap.c b/keyboards/massdrop/thekey_v2/keymaps/default-macos/keymap.c deleted file mode 100644 index fb45d5e224..0000000000 --- a/keyboards/massdrop/thekey_v2/keymaps/default-macos/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2022 Jason Wihardja - * - * 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 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT(KC_LGUI, KC_C, KC_V), - -}; diff --git a/keyboards/massdrop/thekey_v2/keymaps/default/keymap.c b/keyboards/massdrop/thekey_v2/keymaps/default/keymap.c deleted file mode 100644 index 5e1de6068b..0000000000 --- a/keyboards/massdrop/thekey_v2/keymaps/default/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2022 Jason Wihardja - * - * 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 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT(KC_LCTL, KC_C, KC_V), - -}; diff --git a/keyboards/massdrop/thekey_v2/keymaps/rgb-control-macos/keymap.c b/keyboards/massdrop/thekey_v2/keymaps/rgb-control-macos/keymap.c deleted file mode 100644 index f3699e752f..0000000000 --- a/keyboards/massdrop/thekey_v2/keymaps/rgb-control-macos/keymap.c +++ /dev/null @@ -1,109 +0,0 @@ -/* Copyright 2022 Jason Wihardja - * - * 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 custom_keycodes { - LAYER_SWITCH = SAFE_RANGE, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Default */ - [0] = LAYOUT(LAYER_SWITCH, G(KC_C), G(KC_V)), - - /* RGB Toggle + Mode Change */ - [1] = LAYOUT(LAYER_SWITCH, RGB_TOG, RGB_MOD), - - /* RGB Brightness */ - [2] = LAYOUT(LAYER_SWITCH, RGB_VAD, RGB_VAI), - - /* RGB Hue */ - [3] = LAYOUT(LAYER_SWITCH, RGB_HUD, RGB_HUI), - - /* RGB Saturation */ - [4] = LAYOUT(LAYER_SWITCH, RGB_SAD, RGB_SAI), - -}; - -/* Lighting layers */ - -const rgblight_segment_t PROGMEM layer_indicator_0[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 1, HSV_WHITE}, - {1, 4, HSV_OFF} -); - -const rgblight_segment_t PROGMEM layer_indicator_1[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 1, HSV_OFF}, - {1, 1, HSV_WHITE}, - {2, 3, HSV_OFF} -); - -const rgblight_segment_t PROGMEM layer_indicator_2[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 2, HSV_OFF}, - {2, 1, HSV_WHITE}, - {3, 2, HSV_OFF} -); - -const rgblight_segment_t PROGMEM layer_indicator_3[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 3, HSV_OFF}, - {3, 1, HSV_WHITE}, - {4, 1, HSV_OFF} -); - -const rgblight_segment_t PROGMEM layer_indicator_4[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 4, HSV_OFF}, - {4, 1, HSV_WHITE} -); - -const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST( - layer_indicator_0, - layer_indicator_1, - layer_indicator_2, - layer_indicator_3, - layer_indicator_4 -); - -void keyboard_post_init_user(void) { - /* Enable the LED layers */ - rgblight_layers = rgb_layers; -} - -/* Layer handler */ - -uint16_t layer = 0; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LAYER_SWITCH: - if (record->event.pressed) { - if (layer > 0) { - layer_off(layer); - } - - rgblight_unblink_layer(layer); - layer = (layer + 1) % 5; - rgblight_blink_layer_repeat(layer, 1000, 1); - - if (layer > 0) { - layer_on(layer); - } - } - return false; - default: - return true; - } -} diff --git a/keyboards/massdrop/thekey_v2/keymaps/rgb-control/keymap.c b/keyboards/massdrop/thekey_v2/keymaps/rgb-control/keymap.c deleted file mode 100644 index 4246973654..0000000000 --- a/keyboards/massdrop/thekey_v2/keymaps/rgb-control/keymap.c +++ /dev/null @@ -1,109 +0,0 @@ -/* Copyright 2022 Jason Wihardja - * - * 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 custom_keycodes { - LAYER_SWITCH = SAFE_RANGE, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Default */ - [0] = LAYOUT(LAYER_SWITCH, C(KC_C), C(KC_V)), - - /* RGB Toggle + Mode Change */ - [1] = LAYOUT(LAYER_SWITCH, RGB_TOG, RGB_MOD), - - /* RGB Brightness */ - [2] = LAYOUT(LAYER_SWITCH, RGB_VAD, RGB_VAI), - - /* RGB Hue */ - [3] = LAYOUT(LAYER_SWITCH, RGB_HUD, RGB_HUI), - - /* RGB Saturation */ - [4] = LAYOUT(LAYER_SWITCH, RGB_SAD, RGB_SAI), - -}; - -/* Lighting layers */ - -const rgblight_segment_t PROGMEM layer_indicator_0[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 1, HSV_WHITE}, - {1, 4, HSV_OFF} -); - -const rgblight_segment_t PROGMEM layer_indicator_1[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 1, HSV_OFF}, - {1, 1, HSV_WHITE}, - {2, 3, HSV_OFF} -); - -const rgblight_segment_t PROGMEM layer_indicator_2[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 2, HSV_OFF}, - {2, 1, HSV_WHITE}, - {3, 2, HSV_OFF} -); - -const rgblight_segment_t PROGMEM layer_indicator_3[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 3, HSV_OFF}, - {3, 1, HSV_WHITE}, - {4, 1, HSV_OFF} -); - -const rgblight_segment_t PROGMEM layer_indicator_4[] = RGBLIGHT_LAYER_SEGMENTS( - {0, 4, HSV_OFF}, - {4, 1, HSV_WHITE} -); - -const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST( - layer_indicator_0, - layer_indicator_1, - layer_indicator_2, - layer_indicator_3, - layer_indicator_4 -); - -void keyboard_post_init_user(void) { - /* Enable the LED layers */ - rgblight_layers = rgb_layers; -} - -/* Layer handler */ - -uint16_t layer = 0; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case LAYER_SWITCH: - if (record->event.pressed) { - if (layer > 0) { - layer_off(layer); - } - - rgblight_unblink_layer(layer); - layer = (layer + 1) % 5; - rgblight_blink_layer_repeat(layer, 1000, 1); - - if (layer > 0) { - layer_on(layer); - } - } - return false; - default: - return true; - } -} diff --git a/keyboards/massdrop/thekey_v2/keymaps/url-copy-paste-macos/keymap.c b/keyboards/massdrop/thekey_v2/keymaps/url-copy-paste-macos/keymap.c deleted file mode 100644 index 33d19734bc..0000000000 --- a/keyboards/massdrop/thekey_v2/keymaps/url-copy-paste-macos/keymap.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2022 Jason Wihardja - * - * 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 custom_keycodes { - TK_URL = SAFE_RANGE, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(TK_URL, G(KC_C), G(KC_V)), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TK_URL: - if (record->event.pressed) { - // when keycode TK_URL is pressed - SEND_STRING("https://stackoverflow.com/\n"); - } - break; - default: - break; - } - return true; -} diff --git a/keyboards/massdrop/thekey_v2/keymaps/url-copy-paste/keymap.c b/keyboards/massdrop/thekey_v2/keymaps/url-copy-paste/keymap.c deleted file mode 100644 index 5becddfa2a..0000000000 --- a/keyboards/massdrop/thekey_v2/keymaps/url-copy-paste/keymap.c +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright 2022 Jason Wihardja - * - * 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 custom_keycodes { - TK_URL = SAFE_RANGE, -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(TK_URL, C(KC_C), C(KC_V)), -}; - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TK_URL: - if (record->event.pressed) { - // when keycode TK_URL is pressed - SEND_STRING("https://stackoverflow.com/"); - } - break; - default: - break; - } - return true; -} diff --git a/keyboards/massdrop/thekey_v2/readme.md b/keyboards/massdrop/thekey_v2/readme.md deleted file mode 100644 index ef4d6ec716..0000000000 --- a/keyboards/massdrop/thekey_v2/readme.md +++ /dev/null @@ -1,38 +0,0 @@ -# The Key V2 - - - - -The Stack Overflow "The Key V2" is a 3 button macropad based on atmega32u4 with hot-swappble Kailh Black Box switches. - -> Last year, we brought Stack Overflow’s iconic April Fool’s joke to life. Advertised as the new (and only) way to copy and paste on the site, it was an ultra-compact macropad called The Key. The punchline-turned product was a huge hit, selling over 10K units and earning a nearly 5-star average review. Now, we’re back with a second act: The Key V2. The same size as its portable predecessor, this punchline-turned-product has a few notable changes—including an acrylic case to accent its two built-in RGB LEDs. Plus, we made it hot-swappable, so you can easily change out the switches for a truly custom experience. And just like the original, a portion of all proceeds from The Key V2 will go to the data-driven social startup digitalundivided. - -Keyboard Maintainer: [Drop / Massdrop](https://github.com/Massdrop/qmk_firmware) - -Hardware Supported: Massdrop, Inc. **The Key V2** - -Hardware Availability: Limited Release - https://drop.com/buy/stack-overflow-the-key-v2-macropad - - -Make example for this keyboard (after setting up your build environment): -```bash -# default provided by Drop / Stack Overflow -make massdrop/thekey_v2:default -# common modification where C = CTRL+C, V = CTRL+V -make massdrop/thekey_v2:url-copy-paste -``` - -Flashing example for this keyboard: -```bash -# install in dfu mode -make massdrop/thekey_v2:default:dfu -``` - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). -Make example for this keyboard (after setting up your build environment): - -## Bootloader - -Enter the bootloader as follows: -* **Bootmagic reset**: Hold down the "Stack Overflow" key, the "left-most" or furthest from the USB plug while inserting the USB cable for a few seconds. The LEDs will **NOT** turn on. -* **Physical reset button**: Briefly press and hold the reset button while pluggin in the USB port. The LEDs on the back will **NOT** turn on. Depending on your case revision, you may have to remove the 4 screws on the back plate to access the switch OR you can use the associated access hole on newer releases. diff --git a/keyboards/massdrop/thekey_v2/rules.mk b/keyboards/massdrop/thekey_v2/rules.mk deleted file mode 100644 index a927de843c..0000000000 --- a/keyboards/massdrop/thekey_v2/rules.mk +++ /dev/null @@ -1,12 +0,0 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output diff --git a/keyboards/massdrop/thekey_v2/thekey_v2.c b/keyboards/massdrop/thekey_v2/thekey_v2.c deleted file mode 100644 index b1a824d9d4..0000000000 --- a/keyboards/massdrop/thekey_v2/thekey_v2.c +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2022 Jason Wihardja - * - * 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 "thekey_v2.h" diff --git a/keyboards/massdrop/thekey_v2/thekey_v2.h b/keyboards/massdrop/thekey_v2/thekey_v2.h deleted file mode 100644 index c3b8e1a8ea..0000000000 --- a/keyboards/massdrop/thekey_v2/thekey_v2.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2022 Jason Wihardja - * - * 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 "quantum.h" - -#define XXX KC_NO - -#define LAYOUT( \ - K00, K01, K02 \ -) { \ - { K00, K01, K02 }, \ -} |