From fac5ec46564320ebbbc3d1f5575566badca2d3d7 Mon Sep 17 00:00:00 2001 From: Andre Brait Date: Wed, 1 Sep 2021 01:18:35 +0200 Subject: Move GMMK Pro layouts to the correct subdir (#14241) Also fix a compilation issue in the mike1808 keymap --- keyboards/gmmk/pro/keymaps/mike1808/.gitignore | 1 - keyboards/gmmk/pro/keymaps/mike1808/README.md | 19 --- keyboards/gmmk/pro/keymaps/mike1808/config.h | 31 ----- keyboards/gmmk/pro/keymaps/mike1808/encoder.c | 111 ------------------ keyboards/gmmk/pro/keymaps/mike1808/encoder.h | 35 ------ keyboards/gmmk/pro/keymaps/mike1808/fun.c | 49 -------- keyboards/gmmk/pro/keymaps/mike1808/keymap.c | 127 --------------------- keyboards/gmmk/pro/keymaps/mike1808/mike1808.c | 68 ----------- keyboards/gmmk/pro/keymaps/mike1808/mike1808.h | 111 ------------------ .../gmmk/pro/keymaps/mike1808/process_record.c | 119 ------------------- .../gmmk/pro/keymaps/mike1808/process_record.h | 26 ----- .../gmmk/pro/keymaps/mike1808/rgb_matrix_ledmaps.c | 71 ------------ .../gmmk/pro/keymaps/mike1808/rgb_matrix_ledmaps.h | 100 ---------------- keyboards/gmmk/pro/keymaps/mike1808/rules.mk | 25 ---- keyboards/gmmk/pro/keymaps/mike1808/utils.c | 64 ----------- keyboards/gmmk/pro/keymaps/mike1808/utils.h | 32 ------ 16 files changed, 989 deletions(-) delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/.gitignore delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/README.md delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/config.h delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/encoder.c delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/encoder.h delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/fun.c delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/keymap.c delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/mike1808.c delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/mike1808.h delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/process_record.c delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/process_record.h delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/rgb_matrix_ledmaps.c delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/rgb_matrix_ledmaps.h delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/rules.mk delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/utils.c delete mode 100644 keyboards/gmmk/pro/keymaps/mike1808/utils.h (limited to 'keyboards/gmmk/pro/keymaps/mike1808') diff --git a/keyboards/gmmk/pro/keymaps/mike1808/.gitignore b/keyboards/gmmk/pro/keymaps/mike1808/.gitignore deleted file mode 100644 index 03b2b46668..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/.gitignore +++ /dev/null @@ -1 +0,0 @@ -secrets.h diff --git a/keyboards/gmmk/pro/keymaps/mike1808/README.md b/keyboards/gmmk/pro/keymaps/mike1808/README.md deleted file mode 100644 index cb17239882..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/README.md +++ /dev/null @@ -1,19 +0,0 @@ -QMK layout for gmmk/pro -======================= - -## Secrets -The format is the same as [drashna's](../../../../users/drashna/readme_secrets.md) secrets implementation. Create a `secret.h` and define your secrets like this: - -```c -static const char* secrets[] = {"secret1", "secret2", "secret3", "secret4", "secret5"}; -``` - -## Rotary encoder knob -You can hookup your encoder functions by defining new encoder states in [encoder.h](./encoder.h), then in [encoder.c](./encoder.c) assign static variable `state` your new state depending on your desired condition and add callbacks to `encoder_mapping` array. - -## RGB Matrix Ledmaps -RGB Matrix ledmaps is the future allowing you assign colors to individual keys on every keymap layer. - -You can see some examples of my usage in the bottom of [keymap.c](./keymap.c). - -Color defines are just HSV colors wrapped in curly braces, like `#define RED { HSV_RED }`. diff --git a/keyboards/gmmk/pro/keymaps/mike1808/config.h b/keyboards/gmmk/pro/keymaps/mike1808/config.h deleted file mode 100644 index 46719e3a78..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/config.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2021 Mikael Manukyan - * - * 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 . - */ - -#define COMBO_COUNT 1 -#define COMBO_TERM 100 - -#define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED -#define RGB_DISABLE_TIMEOUT 90000 - -#define MACRO_TIMER 5 - -#define TAPPING_TOGGLE 3 - -#define WPM_SMOOTHING 0.1 - -// this is for macOS so keyboard can work after sleep -#define NO_USB_STARTUP_CHECK diff --git a/keyboards/gmmk/pro/keymaps/mike1808/encoder.c b/keyboards/gmmk/pro/keymaps/mike1808/encoder.c deleted file mode 100644 index 049f4df7e4..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/encoder.c +++ /dev/null @@ -1,111 +0,0 @@ -/* Copyright 2021 Mikael Manukyan - * - * 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 . - */ -#include "encoder.h" -#include "mike1808.h" -#include "print.h" -#include "utils.h" -#include "process_record.h" -#include "rgb_matrix_ledmaps.h" - -static uint8_t state = ENCODER_DEFAULT; - -// clang-format off -const encoder_callback encoder_mapping[][2] = { - [ENCODER_VOLUME] = {&volume_up, &volume_down}, -#ifdef RGB_MATRIX_ENABLE - [ENCODER_RGB_HUE] = {&rgb_matrix_increase_hue_noeeprom, &rgb_matrix_decrease_hue_noeeprom}, - [ENCODER_RGB_SAT] = {&rgb_matrix_increase_sat_noeeprom, &rgb_matrix_decrease_sat_noeeprom}, - [ENCODER_RGB_VAL] = {&rgb_matrix_increase_val_noeeprom, &rgb_matrix_decrease_val_noeeprom}, - [ENCODER_RGB_EFFECT] = {&rgb_matrix_step_noeeprom, &rgb_matrix_step_reverse_noeeprom}, - [ENCODER_RGB_EFFECT_SPEED] = {&rgb_matrix_increase_speed_noeeprom, &rgb_matrix_decrease_speed_noeeprom}, -#endif // RGB_MATRIX_ENABLE -}; - -// clang-format on - -void volume_up() { tap_code(KC_VOLU); } - -void volume_down() { tap_code(KC_VOLD); } - -bool encoder_update_user(uint8_t index, bool clockwise) { - dprintf("current encoder state is: %d\n", state); - - if (clockwise) { - (*encoder_mapping[state][0])(); - } else { - (*encoder_mapping[state][1])(); - } - - return true; -} - -void handle_rgb_key(bool pressed) { - dprintf("handle_rgb_key %d\f", pressed); - - if (pressed) { - rgb_matrix_layers_disable(); - } else { - rgb_matrix_layers_enable(); - } -} - -static KeyPressState *rgb_state; - -void keyboard_post_init_encoder() { - rgb_state = NewKeyPressState(handle_rgb_key); -} - -bool process_record_encoder(uint16_t keycode, keyrecord_t *record) { -#ifdef RGB_MATRIX_ENABLE - switch (keycode) { - case KC_RGB_ENC_HUE ... KC_RGB_ENC_EFFECT: - if (record->event.pressed) { -# ifdef RGB_MATRIX_LEDMAPS_ENABLED - // disable layers so we can adjust RGB effects - rgb_state->press(rgb_state); -# endif // RGB_MATRIX_LEDMAPS_ENABLED - - switch (keycode) { - case KC_RGB_ENC_HUE: - state = ENCODER_RGB_HUE; - break; - case KC_RGB_ENC_SAT: - state = ENCODER_RGB_SAT; - break; - case KC_RGB_ENC_VAL: - state = ENCODER_RGB_VAL; - break; - case KC_RGB_ENC_EFFECT_SPEED: - state = ENCODER_RGB_EFFECT_SPEED; - break; - case KC_RGB_ENC_EFFECT: - state = ENCODER_RGB_EFFECT; - break; - } - } else { -# ifdef RGB_MATRIX_LEDMAPS_ENABLED - rgb_state->release(rgb_state); -# endif // RGB_MATRIX_LEDMAPS_ENABLED - state = ENCODER_DEFAULT; - store_rgb_state_to_eeprom(); - } - - return false; - } -#endif // RGB_MATRIX_ENABLE - - return true; -} diff --git a/keyboards/gmmk/pro/keymaps/mike1808/encoder.h b/keyboards/gmmk/pro/keymaps/mike1808/encoder.h deleted file mode 100644 index 204922730e..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/encoder.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2021 Mikael Manukyan - * - * 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 . - */ - -// To add a new functionality define a new state here and then assign -// the handler to the `encoder_callback` -#include "quantum.h" - -enum encoder_state { - ENCODER_VOLUME = 0, - ENCODER_RGB_HUE, - ENCODER_RGB_SAT, - ENCODER_RGB_VAL, - ENCODER_RGB_EFFECT_SPEED, - ENCODER_RGB_EFFECT, -}; - -typedef void (*encoder_callback)(void); - -#define ENCODER_DEFAULT ENCODER_VOLUME - -void volume_up(void); -void volume_down(void); diff --git a/keyboards/gmmk/pro/keymaps/mike1808/fun.c b/keyboards/gmmk/pro/keymaps/mike1808/fun.c deleted file mode 100644 index f553874eb0..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/fun.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright 2021 Mikael Manukyan - * - * 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 . - */ -#include "mike1808.h" -#include "print.h" - -static bool wpm_rgb_enabled = false; -static uint8_t rgb_mode; - -void rgb_matrix_indicators_keymap(void) { - if (wpm_rgb_enabled && rgb_matrix_is_enabled()) { - uint8_t wpm = get_current_wpm(); - dprintf("WPM = %d\n", wpm); - HSV hsv = rgb_matrix_get_hsv(); - hsv.h = wpm; - RGB rgb = hsv_to_rgb(hsv); - rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b); - } -} - -bool process_record_fun(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed && keycode == KC_WPM_RGB) { - if (wpm_rgb_enabled) { - wpm_rgb_enabled = false; - rgb_matrix_mode(rgb_mode); - } else { - wpm_rgb_enabled = true; - rgb_mode = rgb_matrix_get_mode(); - rgb_matrix_enable(); - rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR); - } - - return false; - } - - return true; -} diff --git a/keyboards/gmmk/pro/keymaps/mike1808/keymap.c b/keyboards/gmmk/pro/keymaps/mike1808/keymap.c deleted file mode 100644 index 30c59e941d..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/keymap.c +++ /dev/null @@ -1,127 +0,0 @@ -/* Copyright 2021 Glorious, LLC , Mikael Manukyan - * - * 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 . - */ -#include "mike1808.h" - -const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END}; - -combo_t key_combos[COMBO_COUNT] = { - [JK_ESC] = COMBO(jk_combo, KC_ESC), -}; - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) -// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del -// Tab Q W E R T Y U I O P [ ] \ PgUp -// Caps A S D F G H J K L ; " Enter PgDn -// Sh_L Z X C V B N M , . ? Sh_R Up End -// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right - [LINUX] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MUTE, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TT_FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [WINDOWS] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - - [MACOS] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LALT, KC_LGUI, _______, _______, _______, _______, _______, _______, _______ - ), - - [FUNCTIONS] = LAYOUT( - _______, KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_PSCR, _______, - _______, KC_LINX, KC_MAC, KC_WIN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RST, _______, - KC_CAPS, _______, _______, _______, _______, OS_GIT, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_RGBH, KC_RGBS, KC_RGBV, KC_RGBE, KC_RGBP, KC_WRGB, _______, _______, _______, _______, _______, KC_PGUP, _______, - _______, _______, _______, RGB_TOG, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ), - - [GIT] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, G_DIFF, _______, _______, _______, _______, _______, _______, G_PULL, G_PUSH, _______, _______, _______, - _______, G_ADD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, G_CHECK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - -#ifdef RGB_MATRIX_LEDMAPS_ENABLED - -#define ______ {0, 0, 0} - -const ledmap PROGMEM ledmaps[] = { - // LU = Left Underglow, RU = Right Underglow - // LU_1 ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) RU_1 - // LU_2 ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del RU_2 - // LU_3 Tab Q W E R T Y U I O P [ ] \ PgUp RU_3 - // LU_4 Caps A S D F G H J K L ; " Enter PgDn RU_4 - // LU_5 Sh_L Z X C V B N M , . ? Sh_R Up End RU_5 - // LU_6 Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right RU_6 - [LINUX] = RGB_MATRIX_LAYOUT_LEDMAP( - PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - PURPLE, ______, RED, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE - ), - [WINDOWS] = RGB_MATRIX_LAYOUT_LEDMAP( - GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - GREEN, ______, RED, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE - ), - [MACOS] = RGB_MATRIX_LAYOUT_LEDMAP( - YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - YELLOW, ______, ______, RED, ______, ______, ______, ______, ______, ______, ______, PURPLE - ), - - [FUNCTIONS] = RGB_MATRIX_LAYOUT_LEDMAP( - CYAN, GREEN, GREEN, GREEN, GREEN, GREEN, GREEN, ______, ______, ______, ______, GREEN, GREEN, GREEN, GREEN, ______, PURPLE, - CYAN, ______, GOLD, GOLD, GOLD, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, GOLD, PURPLE, - CYAN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, TEAL, ______, PURPLE, - CYAN, TURQ, ______, ______, ______, ______, TURQ, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, - CYAN, ______, RED, RED, RED, RED, RED, RED, ______, ______, ______, ______, ______, RED, ______, PURPLE, - CYAN, ______, ______, BLUE, ______, ______, ______, ______, ______, ______, ______, PURPLE - ), -}; - -#endif // RGB_MATRIX_LEDMAPS_ENABLED -// clang-format on diff --git a/keyboards/gmmk/pro/keymaps/mike1808/mike1808.c b/keyboards/gmmk/pro/keymaps/mike1808/mike1808.c deleted file mode 100644 index 8813846096..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/mike1808.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright 2021 Mikael Manukyan - * - * 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 . - */ -#include "mike1808.h" - -#if (__has_include("secrets.h") && !defined(NO_SECRETS)) -# include "secrets.h" -#else -// `PROGMEM const char secret[][x]` may work better, but it takes up more space in the firmware -// And I'm not familiar enough to know which is better or why... -static const char *const secret[] = {"test1", "test2", "test3", "test4", "test5"}; -#endif - -// userspace_config_t userspace_config; - -bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_SECRET_1 ... KC_SECRET_5: // Secrets! Externally defined strings, not stored in repo - if (!record->event.pressed) { - clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); - send_string_with_delay(secrets[keycode - KC_SECRET_1], MACRO_TIMER); - } - return false; - break; - } - return true; -} - -void suspend_power_down_user(void) { -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_set_suspend_state(true); -#endif // RGB_MATRIX_ENABLE -} - -void suspend_wakeup_init_user(void) { -#ifdef RGB_MATRIX_ENABLE - rgb_matrix_set_suspend_state(false); -#endif // RGB_MATRIX_ENABLE -} - -#ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { - // Turn on sideglow when CAPS LOCK is activated - if (host_keyboard_led_state().caps_lock) { - HSV hsv = {CAPS_LOCK_COLOR}; - hsv.v = rgb_matrix_get_val(); - RGB rgb = hsv_to_rgb(hsv); - - for (uint8_t i = led_min; i < led_max; i++) { - if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { - RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b); - } - } - } -} -#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/gmmk/pro/keymaps/mike1808/mike1808.h b/keyboards/gmmk/pro/keymaps/mike1808/mike1808.h deleted file mode 100644 index bc010108fb..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/mike1808.h +++ /dev/null @@ -1,111 +0,0 @@ -/* Copyright 2021 Mikael Manukyan - * - * 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 . - */ -#pragma once -#include QMK_KEYBOARD_H -#include "rgb_matrix_ledmaps.h" - -enum layout_names { - LINUX = 0, // Base Layout: The main keyboard layout that has all the characters - WINDOWS, // Base ayout for Windows - MACOS, // Base Layout for MacOS - FUNCTIONS, // Function Layout: The function key activated layout with default functions and - // some added ones - GIT, // GIT Layout: GIT shortcuts and macros - SECRETS, // Layer with secrets -}; - -enum custom_keycodes { - KC_CCCV = SAFE_RANGE, // Hold to copy, tap to paste - KC_LINUX, - KC_MAC, - KC_WIN, - - KC_SECRET_1, - KC_SECRET_2, - KC_SECRET_3, - KC_SECRET_4, - KC_SECRET_5, - - KC_RGB_ENC_HUE, - KC_RGB_ENC_SAT, - KC_RGB_ENC_VAL, - KC_RGB_ENC_EFFECT_SPEED, - KC_RGB_ENC_EFFECT, - - KC_WPM_RGB, -}; - -enum git_macros { - // The start of this enum should always be equal to end of ctrl_keycodes + 1 - G_INIT = KC_WPM_RGB + 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 - NEW_SAFE_RANGE, -}; - -enum combos { - JK_ESC, // jk to ESC for Vim -}; - -#define KC_SEC1 KC_SECRET_1 -#define KC_SEC2 KC_SECRET_2 -#define KC_SEC3 KC_SECRET_3 -#define KC_SEC4 KC_SECRET_4 -#define KC_SEC5 KC_SECRET_5 - -#define KC_RGBH KC_RGB_ENC_HUE -#define KC_RGBS KC_RGB_ENC_SAT -#define KC_RGBV KC_RGB_ENC_VAL -#define KC_RGBE KC_RGB_ENC_EFFECT -#define KC_RGBP KC_RGB_ENC_EFFECT_SPEED - -#define KC_WRGB KC_WPM_RGB - -#define KC_LINX KC_LINUX - -#define KC_RESET RESET -#define KC_RST KC_RESET - -#define OS_GIT OSL(GIT) -#define TT_FN TT(FUNCTIONS) - -#define OS_LGUI OSM(MOD_LGUI) -#define OS_RGUI OSM(MOD_RGUI) -#define OS_LSFT OSM(MOD_LSFT) -#define OS_RSFT OSM(MOD_RSFT) -#define OS_LCTL OSM(MOD_LCTL) -#define OS_RCTL OSM(MOD_RCTL) -#define OS_LALT OSM(MOD_LALT) -#define OS_RALT OSM(MOD_RALT) -#define OS_MEH OSM(MOD_MEH) -#define OS_HYPR OSM(MOD_HYPR) - -#define CAPS_LOCK_COLOR HSV_RED - diff --git a/keyboards/gmmk/pro/keymaps/mike1808/process_record.c b/keyboards/gmmk/pro/keymaps/mike1808/process_record.c deleted file mode 100644 index ac0164e73f..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/process_record.c +++ /dev/null @@ -1,119 +0,0 @@ -/* Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) , - Mikael Manukyan - * - * 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 . - */ -#include "mike1808.h" -#include "print.h" -#include "process_record.h" - -uint16_t copy_paste_timer; - -__attribute__((weak)) bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { - return true; -} -__attribute__((weak)) bool process_record_encoder(uint16_t keycode, keyrecord_t *record) { - return true; -} -__attribute__((weak)) bool process_record_fun(uint16_t keycode, keyrecord_t *record) { - return true; -} - -__attribute__((weak)) void keyboard_post_init_encoder(void) { return; } - -static const char *git_commands[] = { - "git init ", "git clone ", "git config --global ", "git add ", - "git diff ", "git reset ", "git rebase ", "git branch -b \"", - "git checkout ", "git merge ", "git remote add ", "git fetch ", - "git pull ", "git push ", "git commit ", "git status ", - "git log ", -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // If console is enabled, it will print the matrix position and status of each key pressed -#ifdef KEYLOGGER_ENABLE - uprintf("KL: kc: 0x%04X, col: %2u, row: %2u, pressed: %b, time: %5u, int: %b, count: %u\n", - keycode, record->event.key.col, record->event.key.row, record->event.pressed, - record->event.time, record->tap.interrupted, record->tap.count); -#endif // KEYLOGGER_ENABLE - switch (keycode) { - case KC_LINUX ... KC_WIN: - if (record->event.pressed) { - dprintf("set_single_persistent_default_layer %d\n", keycode - KC_LINUX + LINUX); - set_single_persistent_default_layer(keycode - KC_LINUX + LINUX); - return false; - } - - break; - - case KC_CCCV: // One key copy/paste - if (record->event.pressed) { - copy_paste_timer = timer_read(); - } else { - if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { // Hold, copy - if (layer_state_is(MACOS)) { - tap_code16(LGUI(KC_C)); - } else { - tap_code16(LCTL(KC_C)); - } - } else { // Tap, paste - if (layer_state_is(MACOS)) { - tap_code16(LGUI(KC_V)); - } else { - tap_code16(LCTL(KC_V)); - } - } - } - break; - - case G_INIT ... G_LOG: - if (record->event.pressed) { - clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); - send_string_with_delay(git_commands[keycode - G_INIT], MACRO_TIMER); - return false; - } - break; -#ifdef RGB_MATRIX_ENABLE - case RGB_TOG: - if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: { - rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); - rgb_matrix_set_color_all(0, 0, 0); - } break; - case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: { - rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); - rgb_matrix_set_color_all(0, 0, 0); - } break; - case LED_FLAG_UNDERGLOW: { - // This line is for LED idle timer. It disables the toggle so you can turn - // off LED completely if you like - rgb_matrix_set_flags(LED_FLAG_NONE); - rgb_matrix_disable(); - } break; - default: { - rgb_matrix_set_flags(LED_FLAG_ALL); - rgb_matrix_enable(); - } break; - } - } - return false; -#endif // RGB_MATRIX_ENABLE - } - - return process_record_encoder(keycode, record) && process_record_secrets(keycode, record) && - process_record_fun(keycode, record); -} - -void keyboard_post_init_user() { keyboard_post_init_encoder(); } diff --git a/keyboards/gmmk/pro/keymaps/mike1808/process_record.h b/keyboards/gmmk/pro/keymaps/mike1808/process_record.h deleted file mode 100644 index 1021751655..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/process_record.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2021 Mikael Manukyan - * - * 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 . - */ -#pragma once -#include "mike1808.h" - - -bool process_record_secrets(uint16_t keycode, keyrecord_t *record); - -bool process_record_encoder(uint16_t keycode, keyrecord_t *record); - -bool process_record_fun(uint16_t keycode, keyrecord_t *record); - -void keyboard_post_init_encoder(void); diff --git a/keyboards/gmmk/pro/keymaps/mike1808/rgb_matrix_ledmaps.c b/keyboards/gmmk/pro/keymaps/mike1808/rgb_matrix_ledmaps.c deleted file mode 100644 index 6f4d333ede..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/rgb_matrix_ledmaps.c +++ /dev/null @@ -1,71 +0,0 @@ -/* Copyright 2021 Mikael Manukyan - * - * 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 . - */ -#include "rgb_matrix_ledmaps.h" - -__attribute__((weak)) void rgb_matrix_indicators_keymap(void) { return; } -__attribute__((weak)) void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { - return; -} - -#ifdef RGB_MATRIX_LEDMAPS_ENABLED - -static bool enabled = true; - -#endif // RGB_MATRIX_LEDMAPS_ENABLED - -void rgb_matrix_indicators_user(void) { rgb_matrix_indicators_keymap(); } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { -#ifdef RGB_MATRIX_LEDMAPS_ENABLED - if (rgb_matrix_is_enabled() && enabled) { - set_layer_rgb(led_min, led_max, get_highest_layer(layer_state | default_layer_state)); - } - -#endif // RGB_MATRIX_LEDMAPS_ENABLED - rgb_matrix_indicators_advanced_keymap(led_min, led_max); -} - -#ifdef RGB_MATRIX_LEDMAPS_ENABLED - -void set_layer_rgb(uint8_t led_min, uint8_t led_max, int layer) { - const ledmap *l = &(ledmaps[layer]); - - uint8_t val = rgb_matrix_get_val(); - - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { - HSV hsv = { - .h = (*l)[i][0], - .s = (*l)[i][1], - .v = val, - }; - - if (hsv.h || hsv.s) { - RGB rgb = hsv_to_rgb(hsv); - RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b); - } - } -} - -void rgb_matrix_layers_enable() { - dprintf("ledmaps are enabled\n"); - enabled = true; -} - -void rgb_matrix_layers_disable() { - dprintf("ledmaps are disabled\n"); - enabled = false; -} - -#endif // RGB_MATRIX_LEDMAPS_ENABLED diff --git a/keyboards/gmmk/pro/keymaps/mike1808/rgb_matrix_ledmaps.h b/keyboards/gmmk/pro/keymaps/mike1808/rgb_matrix_ledmaps.h deleted file mode 100644 index eace217d18..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/rgb_matrix_ledmaps.h +++ /dev/null @@ -1,100 +0,0 @@ -/* Copyright 2021 Mikael Manukyan - * - * 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 . - */ -#pragma once - -#include "quantum.h" - -#ifdef RGB_MATRIX_LEDMAPS_ENABLED - -// no association keycode -# define XXX \ - { 0, 0, 0 } - -// clang-format off -# define RGB_MATRIX_LAYOUT_LEDMAP( \ - ul1, k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, ur1, \ - ul2, k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, ur2, \ - ul3, k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, ka2, k15, ur3, \ - ul4, k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, ka4, k25, ur4, \ - ul5, k00, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, ur5, \ - ul6, k06, k90, k93, k94, k95, k92, k04, k03, k73, k05, ur6 \ - ) \ - { \ - k13, k16, k11, k21, k00, k06, k26, k17, \ - k10, k12, k14, k90, k36, k27, k20, k22, \ - k24, k93, k31, k37, k30, k32, k34, k33, \ - k47, k40, k42, k44, k07, k46, k41, k43, \ - k45, k94, k63, k56, k51, k53, k55, k71, \ - k57, k50, k52, k54, k76, k67, k60, k62, \ - k64, k95, ka6, k77, k70, k72, k74, k92, \ - ka7, k87, k80, k82, k85, ka3, k86, k81, \ - k83, k04, ka5, ul1, ur1, k97, ul2, ur2, \ - k65, ul2, ur2, k15, ul3, ur3, k66, k05, \ - ul3, ur3, k75, ul4, ur4, ka1, k25, ul5, \ - ur5, k61, k91, ul6, ur6, ka2, k35, k03, \ - ka4, k73 \ - } -// clang-format on -typedef uint8_t ledmap[DRIVER_LED_TOTAL][3]; -extern const ledmap ledmaps[]; - -void set_layer_rgb(uint8_t led_min, uint8_t led_max, int layer); - -void rgb_matrix_layers_enable(void); -void rgb_matrix_layers_disable(void); - -// Just a handy defines to make our ledmaps look better -# 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 BLACK \ - { HSV_BLACK } - -#endif // RGB_MATRIX_LEDMAPS_ENABLED - -void rgb_matrix_indicators_keymap(void); -void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max); diff --git a/keyboards/gmmk/pro/keymaps/mike1808/rules.mk b/keyboards/gmmk/pro/keymaps/mike1808/rules.mk deleted file mode 100644 index a6d4e6259c..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/rules.mk +++ /dev/null @@ -1,25 +0,0 @@ -VIA_ENABLE = no - -COMBO_ENABLE = yes -COMMAND_ENABLE = yes -RGB_MATRIX_ENABLE = yes -RAW_ENABLE = no -CONSOLE_ENABLE = yes - -WPM_ENABLE = no - -RGB_MATRIX_LEDMAPS = yes - -SRC += utils.c -SRC += mike1808.c -SRC += process_record.c -SRC += encoder.c - -ifeq ($(strip $(WPM_ENABLE)), yes) - SRC += fun.c -endif - -ifeq ($(strip $(RGB_MATRIX_LEDMAPS)), yes) - SRC += rgb_matrix_ledmaps.c - OPT_DEFS += -DRGB_MATRIX_LEDMAPS_ENABLED -endif diff --git a/keyboards/gmmk/pro/keymaps/mike1808/utils.c b/keyboards/gmmk/pro/keymaps/mike1808/utils.c deleted file mode 100644 index 35ae20b126..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/utils.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright 2021 Mikael Manukyan - * - * 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 . - */ -#include "utils.h" - -void store_rgb_state_to_eeprom() { - uint8_t mode = rgb_matrix_get_mode(); - uint8_t speed = rgb_matrix_get_speed(); - HSV color = rgb_matrix_get_hsv(); - - rgb_matrix_mode(mode); - rgb_matrix_set_speed(speed); - rgb_matrix_sethsv(color.h, color.s, color.v); -} - -void press(KeyPressState *self) { - self->_count++; - - dprintf("KPS: press: %d\n", self->_count); - - // pressed the first time - if (self->_count == 1) { - self->hander(true); - } -} - -void release(KeyPressState *self) { - self->_count--; - - dprintf("KPS: release: %d\n", self->_count); - - // all keys are relased - if (self->_count == 0) { - self->hander(false); - } -} - -void reset(KeyPressState *self) { - self->_count = 0; -} - -KeyPressState *NewKeyPressState(key_press_handler handler) { - KeyPressState *kps = (KeyPressState *)(malloc(sizeof(KeyPressState))); - - kps->_count = 0; - kps->press = press; - kps->release = release; - kps->reset = reset; - kps->hander = handler; - - return kps; -} diff --git a/keyboards/gmmk/pro/keymaps/mike1808/utils.h b/keyboards/gmmk/pro/keymaps/mike1808/utils.h deleted file mode 100644 index 49d0745cf8..0000000000 --- a/keyboards/gmmk/pro/keymaps/mike1808/utils.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2021 Mikael Manukyan - * - * 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 . - */ -#pragma once -#include "quantum.h" - -void store_rgb_state_to_eeprom(void); - -typedef void (*key_press_handler)(bool); - -typedef struct KeyPressState KeyPressState; -struct KeyPressState { - int _count; - void (*press)(KeyPressState *self); - void (*release)(KeyPressState *self); - void (*reset)(KeyPressState *self); - key_press_handler hander; -}; - -KeyPressState *NewKeyPressState(key_press_handler); -- cgit v1.2.1