From 279e1864794f1e31918217098860acaa1b571e1d Mon Sep 17 00:00:00 2001 From: lalalademaxiya1 <66767061+lalalademaxiya1@users.noreply.github.com> Date: Tue, 12 Apr 2022 10:18:36 +0800 Subject: [PATCH] Revert "Add new keyboard q3 for keychron" --- keyboards/keychron/q3/chconf.h | 25 --- keyboards/keychron/q3/config.h | 113 ---------- keyboards/keychron/q3/halconf.h | 22 -- keyboards/keychron/q3/matrix.c | 172 --------------- keyboards/keychron/q3/mcuconf.h | 22 -- keyboards/keychron/q3/q3.c | 74 ------- keyboards/keychron/q3/q3.h | 29 --- keyboards/keychron/q3/readme.md | 20 -- keyboards/keychron/q3/rev_0120/config.h | 37 ---- keyboards/keychron/q3/rev_0120/info.json | 103 --------- .../q3/rev_0120/keymaps/default/keymap.c | 161 -------------- .../keychron/q3/rev_0120/keymaps/via/keymap.c | 161 -------------- .../keychron/q3/rev_0120/keymaps/via/rules.mk | 1 - keyboards/keychron/q3/rev_0120/readme.md | 1 - keyboards/keychron/q3/rev_0120/rev_0120.c | 154 ------------- keyboards/keychron/q3/rev_0120/rev_0120.h | 37 ---- keyboards/keychron/q3/rev_0120/rules.mk | 26 --- keyboards/keychron/q3/rev_0121/config.h | 39 ---- keyboards/keychron/q3/rev_0121/info.json | 203 ----------------- .../q3/rev_0121/keymaps/default/keymap.c | 161 -------------- .../keychron/q3/rev_0121/keymaps/via/keymap.c | 202 ----------------- .../keychron/q3/rev_0121/keymaps/via/rules.mk | 1 - keyboards/keychron/q3/rev_0121/readme.md | 5 - keyboards/keychron/q3/rev_0121/rev_0121.c | 170 --------------- keyboards/keychron/q3/rev_0121/rev_0121.h | 52 ----- keyboards/keychron/q3/rev_0121/rules.mk | 31 --- keyboards/keychron/q3/rev_0122/config.h | 33 --- keyboards/keychron/q3/rev_0122/info.json | 104 --------- .../q3/rev_0122/keymaps/default/keymap.c | 161 -------------- .../keychron/q3/rev_0122/keymaps/via/keymap.c | 161 -------------- .../keychron/q3/rev_0122/keymaps/via/rules.mk | 1 - keyboards/keychron/q3/rev_0122/readme.md | 1 - keyboards/keychron/q3/rev_0122/rev_0122.c | 155 ------------- keyboards/keychron/q3/rev_0122/rev_0122.h | 37 ---- keyboards/keychron/q3/rev_0122/rules.mk | 26 --- keyboards/keychron/q3/rev_0123/config.h | 39 ---- keyboards/keychron/q3/rev_0123/info.json | 205 ------------------ .../q3/rev_0123/keymaps/default/keymap.c | 161 -------------- .../keychron/q3/rev_0123/keymaps/via/keymap.c | 202 ----------------- .../keychron/q3/rev_0123/keymaps/via/rules.mk | 1 - keyboards/keychron/q3/rev_0123/readme.md | 5 - keyboards/keychron/q3/rev_0123/rev_0123.c | 171 --------------- keyboards/keychron/q3/rev_0123/rev_0123.h | 52 ----- keyboards/keychron/q3/rev_0123/rules.mk | 31 --- 44 files changed, 3568 deletions(-) delete mode 100644 keyboards/keychron/q3/chconf.h delete mode 100644 keyboards/keychron/q3/config.h delete mode 100644 keyboards/keychron/q3/halconf.h delete mode 100644 keyboards/keychron/q3/matrix.c delete mode 100644 keyboards/keychron/q3/mcuconf.h delete mode 100644 keyboards/keychron/q3/q3.c delete mode 100644 keyboards/keychron/q3/q3.h delete mode 100644 keyboards/keychron/q3/readme.md delete mode 100644 keyboards/keychron/q3/rev_0120/config.h delete mode 100644 keyboards/keychron/q3/rev_0120/info.json delete mode 100644 keyboards/keychron/q3/rev_0120/keymaps/default/keymap.c delete mode 100644 keyboards/keychron/q3/rev_0120/keymaps/via/keymap.c delete mode 100644 keyboards/keychron/q3/rev_0120/keymaps/via/rules.mk delete mode 100644 keyboards/keychron/q3/rev_0120/readme.md delete mode 100644 keyboards/keychron/q3/rev_0120/rev_0120.c delete mode 100644 keyboards/keychron/q3/rev_0120/rev_0120.h delete mode 100644 keyboards/keychron/q3/rev_0120/rules.mk delete mode 100644 keyboards/keychron/q3/rev_0121/config.h delete mode 100644 keyboards/keychron/q3/rev_0121/info.json delete mode 100644 keyboards/keychron/q3/rev_0121/keymaps/default/keymap.c delete mode 100644 keyboards/keychron/q3/rev_0121/keymaps/via/keymap.c delete mode 100644 keyboards/keychron/q3/rev_0121/keymaps/via/rules.mk delete mode 100644 keyboards/keychron/q3/rev_0121/readme.md delete mode 100644 keyboards/keychron/q3/rev_0121/rev_0121.c delete mode 100644 keyboards/keychron/q3/rev_0121/rev_0121.h delete mode 100644 keyboards/keychron/q3/rev_0121/rules.mk delete mode 100644 keyboards/keychron/q3/rev_0122/config.h delete mode 100644 keyboards/keychron/q3/rev_0122/info.json delete mode 100644 keyboards/keychron/q3/rev_0122/keymaps/default/keymap.c delete mode 100644 keyboards/keychron/q3/rev_0122/keymaps/via/keymap.c delete mode 100644 keyboards/keychron/q3/rev_0122/keymaps/via/rules.mk delete mode 100644 keyboards/keychron/q3/rev_0122/readme.md delete mode 100644 keyboards/keychron/q3/rev_0122/rev_0122.c delete mode 100644 keyboards/keychron/q3/rev_0122/rev_0122.h delete mode 100644 keyboards/keychron/q3/rev_0122/rules.mk delete mode 100644 keyboards/keychron/q3/rev_0123/config.h delete mode 100644 keyboards/keychron/q3/rev_0123/info.json delete mode 100644 keyboards/keychron/q3/rev_0123/keymaps/default/keymap.c delete mode 100644 keyboards/keychron/q3/rev_0123/keymaps/via/keymap.c delete mode 100644 keyboards/keychron/q3/rev_0123/keymaps/via/rules.mk delete mode 100644 keyboards/keychron/q3/rev_0123/readme.md delete mode 100644 keyboards/keychron/q3/rev_0123/rev_0123.c delete mode 100644 keyboards/keychron/q3/rev_0123/rev_0123.h delete mode 100644 keyboards/keychron/q3/rev_0123/rules.mk diff --git a/keyboards/keychron/q3/chconf.h b/keyboards/keychron/q3/chconf.h deleted file mode 100644 index cbbae31079fb..000000000000 --- a/keyboards/keychron/q3/chconf.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2020 QMK - * - * 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 - -#define CH_CFG_ST_FREQUENCY 10000 - -#define CH_CFG_OPTIMIZE_SPEED FALSE - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next diff --git a/keyboards/keychron/q3/config.h b/keyboards/keychron/q3/config.h deleted file mode 100644 index 0b8a90f74e25..000000000000 --- a/keyboards/keychron/q3/config.h +++ /dev/null @@ -1,113 +0,0 @@ -/* Copyright 2021 @ Keychron(https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x3434 -#define MANUFACTURER Keychron -#define PRODUCT Keychron Q3 - -/* key matrix size */ -#define MATRIX_ROWS 6 -#define MATRIX_COLS 16 - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION ROW2COL - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -/* RGB Matrix Driver Configuration */ -#define DRIVER_COUNT 2 -#define DRIVER_ADDR_1 0b1110111 -#define DRIVER_ADDR_2 0b1110100 - -/* Scan phase of led driver set as MSKPHASE_9CHANNEL(defined as 0x03 in CKLED2001.h) */ -#define PHASE_CHANNEL MSKPHASE_9CHANNEL - -/* DIP switch */ -#define DIP_SWITCH_MATRIX_GRID { {5, 4} } - -/* Disable DIP switch in matrix data */ -#define MATRIX_MASKED - -/* NKRO */ -#define FORCE_NKRO - -/* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED - -/* We have 2KB EEPROM size on STM32L432 */ -// #define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047 - -/* Total size of the EEPROM storage in bytes */ -#define TRANSIENT_EEPROM_SIZE 4096 - -// RGB Matrix Animation modes. Explicitly enabled -// For full list of effects, see: -// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects -// #define ENABLE_RGB_MATRIX_ALPHAS_MODS -// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -#define ENABLE_RGB_MATRIX_BREATHING -// #define ENABLE_RGB_MATRIX_BAND_SAT -// #define ENABLE_RGB_MATRIX_BAND_VAL -// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -#define ENABLE_RGB_MATRIX_CYCLE_ALL -#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN -#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL -#define ENABLE_RGB_MATRIX_DUAL_BEACON -#define ENABLE_RGB_MATRIX_RAINBOW_BEACON -// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -#define ENABLE_RGB_MATRIX_RAINDROPS -// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -// #define ENABLE_RGB_MATRIX_HUE_BREATHING -// #define ENABLE_RGB_MATRIX_HUE_PENDULUM -// #define ENABLE_RGB_MATRIX_HUE_WAVE -// #define ENABLE_RGB_MATRIX_PIXEL_RAIN -// #define ENABLE_RGB_MATRIX_PIXEL_FLOW -// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN -// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH -#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -// #define RGB_MATRIX_KEYPRESSES - -/* Allow VIA to edit lighting */ -#ifdef VIA_ENABLE -# define VIA_QMK_RGBLIGHT_ENABLE -#endif diff --git a/keyboards/keychron/q3/halconf.h b/keyboards/keychron/q3/halconf.h deleted file mode 100644 index 74821ffac718..000000000000 --- a/keyboards/keychron/q3/halconf.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2020 QMK - * - * 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 - -#define HAL_USE_I2C TRUE -#define PAL_USE_CALLBACKS FALSE - -#include_next diff --git a/keyboards/keychron/q3/matrix.c b/keyboards/keychron/q3/matrix.c deleted file mode 100644 index 1bcd4b5d0c94..000000000000 --- a/keyboards/keychron/q3/matrix.c +++ /dev/null @@ -1,172 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include -#include -#include -#include "util.h" -#include "matrix.h" -#include "debounce.h" -#include "quantum.h" - -#define DS A7 -#define STCP B0 -#define SHCP B1 - -#ifdef MATRIX_ROW_PINS -static pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -#endif // MATRIX_ROW_PINS -#ifdef MATRIX_COL_PINS -static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; -#endif // MATRIX_COL_PINS - -/* matrix state(1:on, 0:off) */ -extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values - -static inline void setPinOutput_writeLow(pin_t pin) { - ATOMIC_BLOCK_FORCEON { - setPinOutput(pin); - writePinLow(pin); - } -} - -static inline void setPinOutput_writeHigh(pin_t pin) { - ATOMIC_BLOCK_FORCEON { - setPinOutput(pin); - writePinHigh(pin); - } -} - -static inline void setPinInputHigh_atomic(pin_t pin) { - ATOMIC_BLOCK_FORCEON { setPinInputHigh(pin); } -} - -static inline uint8_t readMatrixPin(pin_t pin) { - if (pin != NO_PIN) { - return readPin(pin); - } else { - return 1; - } -} - -static void delay_nTime(uint8_t time) { - while(time--); -} - -static void SendTo595(uint8_t byteData) { - uint8_t i = 0; - - for (; i < 8; i++) { - if (byteData & 0x1) { - setPinOutput_writeHigh(DS); - } else { - setPinOutput_writeLow(DS); - } - byteData = byteData>>1; - - setPinOutput_writeHigh(SHCP); - delay_nTime(10); - setPinOutput_writeLow(SHCP); - } - setPinOutput_writeHigh(STCP); - delay_nTime(10); - setPinOutput_writeLow(STCP); -} - -static bool select_col(uint8_t col) { - pin_t pin = col_pins[col]; - - if (pin != NO_PIN) { - setPinOutput_writeLow(pin); - return true; - } else { - SendTo595(~(0x1<<(MATRIX_COLS - col -1))); - return true; - } - return false; -} - -static void unselect_col(uint8_t col) { - pin_t pin = col_pins[col]; - - if (pin != NO_PIN) { - setPinInputHigh_atomic(pin); - } else { - SendTo595(0xFF); - } -} - -static void unselect_cols(void) { - for (uint8_t x = 0; x < MATRIX_COLS; x++) { - unselect_col(x); - } -} - -static void matrix_init_pins(void) { - unselect_cols(); - for (uint8_t x = 0; x < MATRIX_ROWS; x++) { - if (row_pins[x] != NO_PIN) { - setPinInputHigh_atomic(row_pins[x]); - } - } -} - -void matrix_read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) { - bool key_pressed = false; - - // Select col - if (!select_col(current_col)) { - return; // skip NO_PIN col - } - matrix_output_select_delay(); - - // For each row... - for (uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++) { - // Check row pin state - if (readMatrixPin(row_pins[row_index]) == 0) { - // Pin LO, set col bit - current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col); - key_pressed = true; - } else { - // Pin HI, clear col bit - current_matrix[row_index] &= ~(MATRIX_ROW_SHIFTER << current_col); - } - } - - // Unselect col - unselect_col(current_col); - matrix_output_unselect_delay(current_col, key_pressed); // wait for all Row signals to go HIGH -} - -void matrix_init_custom(void) { - // initialize key pins - matrix_init_pins(); -} - -bool matrix_scan_custom(matrix_row_t current_matrix[]) { - matrix_row_t curr_matrix[MATRIX_ROWS] = {0}; - - // Set col, read rows - for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { - matrix_read_rows_on_col(curr_matrix, current_col); - } - - bool changed = memcmp(current_matrix, curr_matrix, sizeof(curr_matrix)) != 0; - if (changed) memcpy(current_matrix, curr_matrix, sizeof(curr_matrix)); - - return changed; -} diff --git a/keyboards/keychron/q3/mcuconf.h b/keyboards/keychron/q3/mcuconf.h deleted file mode 100644 index 0ca8c64850f4..000000000000 --- a/keyboards/keychron/q3/mcuconf.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2020 QMK - * - * 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_next - -#undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/keychron/q3/q3.c b/keyboards/keychron/q3/q3.c deleted file mode 100644 index 1f79ecede361..000000000000 --- a/keyboards/keychron/q3/q3.c +++ /dev/null @@ -1,74 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "q3.h" - -// clang-format off - -const matrix_row_t matrix_mask[] = { - 0b1111111111111111, - 0b1111111111111111, - 0b1111111111111111, - 0b1111111111111111, - 0b1111111111111111, - 0b1111111111101111, -}; - -// clang-format on - -#ifdef DIP_SWITCH_ENABLE - -bool dip_switch_update_kb(uint8_t index, bool active) { - if (!dip_switch_update_user(index, active)) { - return false; - } - if (index == 0) { - default_layer_set(1UL << (active ? 2 : 0)); - } - return true; -} - -#endif - -#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) - -# define CAPS_LOCK_MAX_BRIGHTNESS 0xFF -# ifdef RGB_MATRIX_MAXIMUM_BRIGHTNESS -# undef CAPS_LOCK_MAX_BRIGHTNESS -# define CAPS_LOCK_MAX_BRIGHTNESS RGB_MATRIX_MAXIMUM_BRIGHTNESS -# endif - -# define CAPS_LOCK_VAL_STEP 8 -# ifdef RGB_MATRIX_VAL_STEP -# undef CAPS_LOCK_VAL_STEP -# define CAPS_LOCK_VAL_STEP RGB_MATRIX_VAL_STEP -# endif - -void rgb_matrix_indicators_kb(void) { - if (host_keyboard_led_state().caps_lock) { - uint8_t b = rgb_matrix_get_val(); - if (b < CAPS_LOCK_VAL_STEP) { - b = CAPS_LOCK_VAL_STEP; - } else if (b < (CAPS_LOCK_MAX_BRIGHTNESS - CAPS_LOCK_VAL_STEP)) { - b += CAPS_LOCK_VAL_STEP; // one step more than current brightness - } else { - b = CAPS_LOCK_MAX_BRIGHTNESS; - } - rgb_matrix_set_color(CAPS_LOCK_LED_INDEX, b, b, b); // white, with the adjusted brightness - } -} - -#endif diff --git a/keyboards/keychron/q3/q3.h b/keyboards/keychron/q3/q3.h deleted file mode 100644 index 905b6b8680a0..000000000000 --- a/keyboards/keychron/q3/q3.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "quantum.h" - -#if defined(KEYBOARD_keychron_q3_rev_0120) -# include "rev_0120.h" -#elif defined(KEYBOARD_keychron_q3_rev_0121) -# include "rev_0121.h" -#elif defined(KEYBOARD_keychron_q3_rev_0122) -# include "rev_0122.h" -#elif defined(KEYBOARD_keychron_q3_rev_0123) -# include "rev_0123.h" -#endif diff --git a/keyboards/keychron/q3/readme.md b/keyboards/keychron/q3/readme.md deleted file mode 100644 index 6807867e966f..000000000000 --- a/keyboards/keychron/q3/readme.md +++ /dev/null @@ -1,20 +0,0 @@ -# Keychron Q3 - -A customizable 87 keys keyboard. - -* Keyboard Maintainer: [Keychron](https://github.com/keychron) -* Hardware Supported: Keychron Q3 -* Hardware Availability: [Keychron](https://www.keychron.com) - -Make example for this keyboard (after setting up your build environment): - - make keychron/q3/rev_0120:default - -Flashing example for this keyboard: - - make keychron/q3/rev_0120:default:flash - -**Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. - -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). - diff --git a/keyboards/keychron/q3/rev_0120/config.h b/keyboards/keychron/q3/rev_0120/config.h deleted file mode 100644 index 3dfee8b0376c..000000000000 --- a/keyboards/keychron/q3/rev_0120/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* USB Device descriptor parameter */ -#define PRODUCT_ID 0x0120 -#define DEVICE_VER 0x0100 - -/* key matrix pins */ -#define MATRIX_ROW_PINS { B5, B4, B3, A15, A14, A13 } -#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A5, A6, A7, B0, B1, A8, A9, A10, H3 } - -/* We uses a pin with a stronger pull resistor than the internal MCU pins */ -// #define MATRIX_UNSELECT_DRIVE_HIGH - -/* RGB Matrix Configuration */ -#define DRIVER_1_LED_TOTAL 48 -#define DRIVER_2_LED_TOTAL 39 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) - -/* Enable CapsLcok LED */ -#define CAPS_LOCK_LED_INDEX 50 - diff --git a/keyboards/keychron/q3/rev_0120/info.json b/keyboards/keychron/q3/rev_0120/info.json deleted file mode 100644 index f540d9e637c1..000000000000 --- a/keyboards/keychron/q3/rev_0120/info.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "keyboard_name": "Keychron Q3", - "url": "https://github.com/Keychron", - "maintainer": "lalalademaxiya1", - "layouts": { - "LAYOUT_ansi_87": { - "layout": [ - {"label":"Esc", "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":"F5", "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", "x":15.25, "y":0}, - {"label":"Cortana", "x":16.25, "y":0}, - {"label":"Light", "x":17.25, "y":0}, - - {"label":"`~", "x":0, "y":1.25}, - {"label":"1!", "x":1, "y":1.25}, - {"label":"2@", "x":2, "y":1.25}, - {"label":"3#", "x":3, "y":1.25}, - {"label":"4$", "x":4, "y":1.25}, - {"label":"5%", "x":5, "y":1.25}, - {"label":"6^", "x":6, "y":1.25}, - {"label":"7&", "x":7, "y":1.25}, - {"label":"8*", "x":8, "y":1.25}, - {"label":"9(", "x":9, "y":1.25}, - {"label":"0)", "x":10, "y":1.25}, - {"label":"-_", "x":11, "y":1.25}, - {"label":"=+", "x":12, "y":1.25}, - {"label":"Backspace", "x":13, "y":1.25, "w":2}, - {"label":"Insert", "x":15.25, "y":1.25}, - {"label":"Home", "x":16.25, "y":1.25}, - {"label":"Page Up", "x":17.25, "y":1.25}, - - {"label":"Tab", "x":0, "y":2.25, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.25}, - {"label":"W", "x":2.5, "y":2.25}, - {"label":"E", "x":3.5, "y":2.25}, - {"label":"R", "x":4.5, "y":2.25}, - {"label":"T", "x":5.5, "y":2.25}, - {"label":"Y", "x":6.5, "y":2.25}, - {"label":"U", "x":7.5, "y":2.25}, - {"label":"I", "x":8.5, "y":2.25}, - {"label":"O", "x":9.5, "y":2.25}, - {"label":"P", "x":10.5, "y":2.25}, - {"label":"[{", "x":11.5, "y":2.25}, - {"label":"]}", "x":12.5, "y":2.25}, - {"label":"\\|", "x":13.5, "y":2.25, "w":1.5}, - {"label":"Delete", "x":15.25, "y":2.25}, - {"label":"End", "x":16.25, "y":2.25}, - {"label":"Page Down", "x":17.25, "y":2.25}, - - {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, - {"label":"A", "x":1.75, "y":3.25}, - {"label":"S", "x":2.75, "y":3.25}, - {"label":"D", "x":3.75, "y":3.25}, - {"label":"F", "x":4.75, "y":3.25}, - {"label":"G", "x":5.75, "y":3.25}, - {"label":"H", "x":6.75, "y":3.25}, - {"label":"J", "x":7.75, "y":3.25}, - {"label":"K", "x":8.75, "y":3.25}, - {"label":"L", "x":9.75, "y":3.25}, - {"label":";:", "x":10.75, "y":3.25}, - {"label":"'\"", "x":11.75, "y":3.25}, - {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, - - {"label":"Left Shift", "x":0, "y":4.25, "w":2.25}, - {"label":"Z", "x":2.25, "y":4.25}, - {"label":"X", "x":3.25, "y":4.25}, - {"label":"C", "x":4.25, "y":4.25}, - {"label":"V", "x":5.25, "y":4.25}, - {"label":"B", "x":6.25, "y":4.25}, - {"label":"N", "x":7.25, "y":4.25}, - {"label":"M", "x":8.25, "y":4.25}, - {"label":",<", "x":9.25, "y":4.25}, - {"label":".>", "x":10.25, "y":4.25}, - {"label":"/?", "x":11.25, "y":4.25}, - {"label":"Right Shift", "x":12.25, "y":4.25, "w":2.75}, - {"label":"Up", "x":16.25, "y":4.25}, - - {"label":"Left Ctrl", "x":0, "y":5.25, "w":1.25} - {"label":"Left Win", "x":1.25, "y":5.25, "w":1.25}, - {"label":"Left Alt", "x":2.5, "y":5.25, "w":1.25}, - {"label":"Space", "x":3.75, "y":5.25, "w":6.25}, - {"label":"Right Alt", "x":10, "y":5.25, "w":1.25}, - {"label":"Right Win", "x":11.25, "y":5.25, "w":1.25}, - {"label":"Fn", "x":12.5, "y":5.25, "w":1.25}, - {"label":"Right Ctrl", "x":13.75, "y":5.25, "w":1.25}, - {"label":"Left", "x":15.25, "y":5.25}, - {"label":"Down", "x":16.25, "y":5.25}, - {"label":"Right", "x":17.25, "y":5.25} - ] - } - } -} diff --git a/keyboards/keychron/q3/rev_0120/keymaps/default/keymap.c b/keyboards/keychron/q3/rev_0120/keymaps/default/keymap.c deleted file mode 100644 index 281f4d5f7d3f..000000000000 --- a/keyboards/keychron/q3/rev_0120/keymaps/default/keymap.c +++ /dev/null @@ -1,161 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN -}; - -enum custom_keycodes { - KC_MISSION_CONTROL = SAFE_RANGE, - KC_LAUNCHPAD, - KC_LOPTN, - KC_ROPTN, - KC_LCMMD, - KC_RCMMD, - KC_SIRI, - KC_TASK_VIEW, - KC_FILE_EXPLORER, - KC_SCREEN_SHOT, - KC_CORTANA -}; - -#define KC_MCTL KC_MISSION_CONTROL -#define KC_LPAD KC_LAUNCHPAD -#define KC_TASK KC_TASK_VIEW -#define KC_FLXP KC_FILE_EXPLORER -#define KC_SNAP KC_SCREEN_SHOT -#define KC_CRTA KC_CORTANA - -typedef struct PACKED { - uint8_t len; - uint8_t keycode[3]; -} key_combination_t; - -key_combination_t key_comb_list[4] = { - {2, {KC_LWIN, KC_TAB}}, - {2, {KC_LWIN, KC_E}}, - {3, {KC_LSFT, KC_LCMD, KC_4}}, - {2, {KC_LWIN, KC_C}} -}; - -static uint8_t mac_keycode[4] = { KC_LOPT, KC_ROPT, KC_LCMD, KC_RCMD }; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_ansi_87( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_SIRI, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_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_LCTL, KC_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN,MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [MAC_FN] = LAYOUT_ansi_87( - KC_TRNS, 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_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [WIN_BASE] = LAYOUT_ansi_87( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_CRTA, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_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_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [WIN_FN] = LAYOUT_ansi_87( - KC_TRNS, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; - -uint16_t prev; -bool siri; - -void matrix_scan_user(void) { - if (siri) { - if (timer_elapsed(prev) >= 500) { - siri = false; - unregister_code(KC_LCMD); - unregister_code(KC_SPACE); - } - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_MISSION_CONTROL: - if (record->event.pressed) { - host_consumer_send(0x29F); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LAUNCHPAD: - if (record->event.pressed) { - host_consumer_send(0x2A0); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LOPTN: - case KC_ROPTN: - case KC_LCMMD: - case KC_RCMMD: - if (record->event.pressed) { - register_code(mac_keycode[keycode - KC_LOPTN]); - } else { - unregister_code(mac_keycode[keycode - KC_LOPTN]); - } - return false; // Skip all further processing of this key - case KC_SIRI: - if (record->event.pressed) { - register_code(KC_LCMD); - register_code(KC_SPACE); - prev = timer_read() | 1; - siri = true; - } else { - // Do something else when release - } - return false; // Skip all further processing of this key - case KC_TASK: - case KC_FLXP: - case KC_SNAP: - case KC_CRTA: - if (record->event.pressed) { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - register_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } else { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - unregister_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } - return false; // Skip all further processing of this key - default: - return true; // Process all other keycodes normally - } -} diff --git a/keyboards/keychron/q3/rev_0120/keymaps/via/keymap.c b/keyboards/keychron/q3/rev_0120/keymaps/via/keymap.c deleted file mode 100644 index 9bff56eaf065..000000000000 --- a/keyboards/keychron/q3/rev_0120/keymaps/via/keymap.c +++ /dev/null @@ -1,161 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN -}; - -enum custom_keycodes { - KC_MISSION_CONTROL = USER00, - KC_LAUNCHPAD, - KC_LOPTN, - KC_ROPTN, - KC_LCMMD, - KC_RCMMD, - KC_SIRI, - KC_TASK_VIEW, - KC_FILE_EXPLORER, - KC_SCREEN_SHOT, - KC_CORTANA -}; - -#define KC_MCTL KC_MISSION_CONTROL -#define KC_LPAD KC_LAUNCHPAD -#define KC_TASK KC_TASK_VIEW -#define KC_FLXP KC_FILE_EXPLORER -#define KC_SNAP KC_SCREEN_SHOT -#define KC_CRTA KC_CORTANA - -typedef struct PACKED { - uint8_t len; - uint8_t keycode[3]; -} key_combination_t; - -key_combination_t key_comb_list[4] = { - {2, {KC_LWIN, KC_TAB}}, - {2, {KC_LWIN, KC_E}}, - {3, {KC_LSFT, KC_LCMD, KC_4}}, - {2, {KC_LWIN, KC_C}} -}; - -static uint8_t mac_keycode[4] = { KC_LOPT, KC_ROPT, KC_LCMD, KC_RCMD }; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_ansi_87( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_SIRI, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_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_LCTL, KC_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN,MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [MAC_FN] = LAYOUT_ansi_87( - KC_TRNS, 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_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [WIN_BASE] = LAYOUT_ansi_87( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_CRTA, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_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_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [WIN_FN] = LAYOUT_ansi_87( - KC_TRNS, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; - -uint16_t prev; -bool siri; - -void matrix_scan_user(void) { - if (siri) { - if (timer_elapsed(prev) >= 500) { - siri = false; - unregister_code(KC_LCMD); - unregister_code(KC_SPACE); - } - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_MISSION_CONTROL: - if (record->event.pressed) { - host_consumer_send(0x29F); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LAUNCHPAD: - if (record->event.pressed) { - host_consumer_send(0x2A0); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LOPTN: - case KC_ROPTN: - case KC_LCMMD: - case KC_RCMMD: - if (record->event.pressed) { - register_code(mac_keycode[keycode - KC_LOPTN]); - } else { - unregister_code(mac_keycode[keycode - KC_LOPTN]); - } - return false; // Skip all further processing of this key - case KC_SIRI: - if (record->event.pressed) { - register_code(KC_LCMD); - register_code(KC_SPACE); - prev = timer_read() | 1; - siri = true; - } else { - // Do something else when release - } - return false; // Skip all further processing of this key - case KC_TASK: - case KC_FLXP: - case KC_SNAP: - case KC_CRTA: - if (record->event.pressed) { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - register_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } else { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - unregister_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } - return false; // Skip all further processing of this key - default: - return true; // Process all other keycodes normally - } -} diff --git a/keyboards/keychron/q3/rev_0120/keymaps/via/rules.mk b/keyboards/keychron/q3/rev_0120/keymaps/via/rules.mk deleted file mode 100644 index 1e5b99807cb7..000000000000 --- a/keyboards/keychron/q3/rev_0120/keymaps/via/rules.mk +++ /dev/null @@ -1 +0,0 @@ -VIA_ENABLE = yes diff --git a/keyboards/keychron/q3/rev_0120/readme.md b/keyboards/keychron/q3/rev_0120/readme.md deleted file mode 100644 index 1e7ea53e233e..000000000000 --- a/keyboards/keychron/q3/rev_0120/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The ANSI variant of the Keychron Q3 diff --git a/keyboards/keychron/q3/rev_0120/rev_0120.c b/keyboards/keychron/q3/rev_0120/rev_0120.c deleted file mode 100644 index 3958f5466d8f..000000000000 --- a/keyboards/keychron/q3/rev_0120/rev_0120.c +++ /dev/null @@ -1,154 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE - -const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = { -/* Refer to IS31 manual for these locations - * driver - * | R location - * | | G location - * | | | B location - * | | | | */ - {0, I_1, G_1, H_1}, - {0, I_2, G_2, H_2}, - {0, I_3, G_3, H_3}, - {0, I_4, G_4, H_4}, - {0, I_5, G_5, H_5}, - {0, I_6, G_6, H_6}, - {0, I_7, G_7, H_7}, - {0, I_8, G_8, H_8}, - {0, I_9, G_9, H_9}, - {0, I_10, G_10, H_10}, - {0, I_11, G_11, H_11}, - {0, I_12, G_12, H_12}, - {0, I_13, G_13, H_13}, - {0, I_15, G_15, H_15}, - {0, I_16, G_16, H_16}, - {1, I_15, G_15, H_15}, - - {0, C_1, A_1, B_1}, - {0, C_2, A_2, B_2}, - {0, C_3, A_3, B_3}, - {0, C_4, A_4, B_4}, - {0, C_5, A_5, B_5}, - {0, C_6, A_6, B_6}, - {0, C_7, A_7, B_7}, - {0, C_8, A_8, B_8}, - {0, C_9, A_9, B_9}, - {0, C_10, A_10, B_10}, - {0, C_11, A_11, B_11}, - {0, C_12, A_12, B_12}, - {0, C_13, A_13, B_13}, - {0, C_14, A_14, B_14}, - {0, C_15, A_15, B_15}, - {0, C_16, A_16, B_16}, - {1, I_16, G_16, H_16}, - - {0, F_1, D_1, E_1}, - {0, F_2, D_2, E_2}, - {0, F_3, D_3, E_3}, - {0, F_4, D_4, E_4}, - {0, F_5, D_5, E_5}, - {0, F_6, D_6, E_6}, - {0, F_7, D_7, E_7}, - {0, F_8, D_8, E_8}, - {0, F_9, D_9, E_9}, - {0, F_10, D_10, E_10}, - {0, F_11, D_11, E_11}, - {0, F_12, D_12, E_12}, - {0, F_13, D_13, E_13}, - {0, F_14, D_14, E_14}, - {0, F_15, D_15, E_15}, - {0, F_16, D_16, E_16}, - {1, I_13, G_13, H_13}, - - {1, I_1, G_1, H_1}, - {1, I_2, G_2, H_2}, - {1, I_3, G_3, H_3}, - {1, I_4, G_4, H_4}, - {1, I_5, G_5, H_5}, - {1, I_6, G_6, H_6}, - {1, I_7, G_7, H_7}, - {1, I_8, G_8, H_8}, - {1, I_9, G_9, H_9}, - {1, I_10, G_10, H_10}, - {1, I_11, G_11, H_11}, - {1, I_12, G_12, H_12}, - {1, I_14, G_14, H_14}, - - {1, C_1, A_1, B_1}, - {1, C_3, A_3, B_3}, - {1, C_4, A_4, B_4}, - {1, C_5, A_5, B_5}, - {1, C_6, A_6, B_6}, - {1, C_7, A_7, B_7}, - {1, C_8, A_8, B_8}, - {1, C_9, A_9, B_9}, - {1, C_10, A_10, B_10}, - {1, C_11, A_11, B_11}, - {1, C_12, A_12, B_12}, - {1, C_14, A_14, B_14}, - {1, C_16, A_16, B_16}, - - {1, F_1, D_1, E_1}, - {1, F_2, D_2, E_2}, - {1, F_3, D_3, E_3}, - {1, F_7, D_7, E_7}, - {1, F_11, D_11, E_11}, - {1, F_12, D_12, E_12}, - {1, F_13, D_13, E_13}, - {1, F_14, D_14, E_14}, - {1, F_15, D_15, E_15}, - {1, F_16, D_16, E_16}, - {1, C_15, A_15, B_15}, -}; - -#define __ NO_LED - -led_config_t g_led_config = { - { - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, __, 13, 14 }, - { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }, - { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48 }, - { 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 49, 62, 15, 32 }, - { 63, __, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, __, 74, 86, 75 }, - { 76, 77, 78, __, __, __, 79, __, __, __, 80, 81, 82, 83, 84, 85 }, - }, - { - // LED Index to Physical Position - {0,0}, {26,0}, {39,0}, {52,0}, {65,0}, {85,0}, {98,0}, {111,0}, {124,0}, {143,0}, {156,0}, {169,0}, {182,0}, {198,0}, {211,0}, {224,0}, - {0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {176,15}, {198,15}, {211,15}, {224,15}, - {3,28}, {20,28}, {33,28}, {46,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {179,28}, {198,28}, {211,28}, {224,28}, - {5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {174,40}, - {8,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {171,52}, {211,52}, - {2,64}, {18,64}, {34,64}, {83,64}, {131,64}, {148,64}, {164,64}, {180,64}, {198,64}, {211,64}, {224,64}, - }, - { - // RGB LED Index to Flag - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, - 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, - } -}; - -#endif diff --git a/keyboards/keychron/q3/rev_0120/rev_0120.h b/keyboards/keychron/q3/rev_0120/rev_0120.h deleted file mode 100644 index 24ac8936f991..000000000000 --- a/keyboards/keychron/q3/rev_0120/rev_0120.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "quantum.h" - -#define XXX KC_NO - -#define LAYOUT_ansi_87( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K3E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K3F, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K3C, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ - K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ - K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K4E \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E, K0F }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ - { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ - { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F } \ -} diff --git a/keyboards/keychron/q3/rev_0120/rules.mk b/keyboards/keychron/q3/rev_0120/rules.mk deleted file mode 100644 index 26d88a0545bb..000000000000 --- a/keyboards/keychron/q3/rev_0120/rules.mk +++ /dev/null @@ -1,26 +0,0 @@ -# MCU name -MCU = STM32L433 - -# Bootloader selection -BOOTLOADER = stm32-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # 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 = yes # Enable USB N-key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = no # Enable Encoder -DIP_SWITCH_ENABLE = yes -RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = CKLED2001 -EEPROM_DRIVER = transient - -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q3/rev_0121/config.h b/keyboards/keychron/q3/rev_0121/config.h deleted file mode 100644 index 796b3850ecad..000000000000 --- a/keyboards/keychron/q3/rev_0121/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* USB Device descriptor parameter */ -#define PRODUCT_ID 0x0121 -#define DEVICE_VER 0x0100 - -/* key matrix pins */ -#define MATRIX_ROW_PINS { B5, B4, B3, A15, A14, A13 } -#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } - -/* RGB Matrix Configuration */ -#define DRIVER_1_LED_TOTAL 48 -#define DRIVER_2_LED_TOTAL 39 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) - -/* Encoder Configuration */ -#define ENCODERS_PAD_A { A10 } -#define ENCODERS_PAD_B { A8 } -#define ENCODER_RESOLUTION 4 -#define ENCODER_DEFAULT_POS 0x3 - -/* Enable CapsLcok LED */ -#define CAPS_LOCK_LED_INDEX 50 diff --git a/keyboards/keychron/q3/rev_0121/info.json b/keyboards/keychron/q3/rev_0121/info.json deleted file mode 100644 index 300f6275acce..000000000000 --- a/keyboards/keychron/q3/rev_0121/info.json +++ /dev/null @@ -1,203 +0,0 @@ -{ - "keyboard_name": "Keychron Q3", - "url": "https://github.com/Keychron", - "maintainer": "lalalademaxiya1", - "layouts": { - "LAYOUT_ansi_87": { - "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":1.25, "y":0}, - {"label":"F2", "x":2.25, "y":0}, - {"label":"F3", "x":3.25, "y":0}, - {"label":"F4", "x":4.25, "y":0}, - {"label":"F5", "x":5.5, "y":0}, - {"label":"F5", "x":6.5, "y":0}, - {"label":"F7", "x":7.5, "y":0}, - {"label":"F8", "x":8.5, "y":0}, - {"label":"F9", "x":9.75, "y":0}, - {"label":"F10", "x":10.75, "y":0}, - {"label":"F11", "x":11.75, "y":0}, - {"label":"F12", "x":12.75, "y":0}, - {"label":"Mute", "x":14, "y":0}, - {"label":"Print", "x":15.75, "y":0}, - {"label":"Cortana", "x":16.75, "y":0}, - {"label":"Light", "x":17.75, "y":0}, - - {"label":"`~", "x":0, "y":1.25}, - {"label":"1!", "x":1, "y":1.25}, - {"label":"2@", "x":2, "y":1.25}, - {"label":"3#", "x":3, "y":1.25}, - {"label":"4$", "x":4, "y":1.25}, - {"label":"5%", "x":5, "y":1.25}, - {"label":"6^", "x":6, "y":1.25}, - {"label":"7&", "x":7, "y":1.25}, - {"label":"8*", "x":8, "y":1.25}, - {"label":"9(", "x":9, "y":1.25}, - {"label":"0)", "x":10, "y":1.25}, - {"label":"-_", "x":11, "y":1.25}, - {"label":"=+", "x":12, "y":1.25}, - {"label":"Backspace", "x":13, "y":1.25, "w":2}, - {"label":"Insert", "x":15.75, "y":1.25}, - {"label":"Home", "x":16.75, "y":1.25}, - {"label":"Page Up", "x":17.75, "y":1.25}, - - {"label":"Tab", "x":0, "y":2.25, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.25}, - {"label":"W", "x":2.5, "y":2.25}, - {"label":"E", "x":3.5, "y":2.25}, - {"label":"R", "x":4.5, "y":2.25}, - {"label":"T", "x":5.5, "y":2.25}, - {"label":"Y", "x":6.5, "y":2.25}, - {"label":"U", "x":7.5, "y":2.25}, - {"label":"I", "x":8.5, "y":2.25}, - {"label":"O", "x":9.5, "y":2.25}, - {"label":"P", "x":10.5, "y":2.25}, - {"label":"[{", "x":11.5, "y":2.25}, - {"label":"]}", "x":12.5, "y":2.25}, - {"label":"\\|", "x":13.5, "y":2.25, "w":1.5}, - {"label":"Delete", "x":15.75, "y":2.25}, - {"label":"End", "x":16.75, "y":2.25}, - {"label":"Page Down", "x":17.75, "y":2.25}, - - {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, - {"label":"A", "x":1.75, "y":3.25}, - {"label":"S", "x":2.75, "y":3.25}, - {"label":"D", "x":3.75, "y":3.25}, - {"label":"F", "x":4.75, "y":3.25}, - {"label":"G", "x":5.75, "y":3.25}, - {"label":"H", "x":6.75, "y":3.25}, - {"label":"J", "x":7.75, "y":3.25}, - {"label":"K", "x":8.75, "y":3.25}, - {"label":"L", "x":9.75, "y":3.25}, - {"label":";:", "x":10.75, "y":3.25}, - {"label":"'\"", "x":11.75, "y":3.25}, - {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, - - {"label":"Left Shift", "x":0, "y":4.25, "w":2.25}, - {"label":"Z", "x":2.25, "y":4.25}, - {"label":"X", "x":3.25, "y":4.25}, - {"label":"C", "x":4.25, "y":4.25}, - {"label":"V", "x":5.25, "y":4.25}, - {"label":"B", "x":6.25, "y":4.25}, - {"label":"N", "x":7.25, "y":4.25}, - {"label":"M", "x":8.25, "y":4.25}, - {"label":",<", "x":9.25, "y":4.25}, - {"label":".>", "x":10.25, "y":4.25}, - {"label":"/?", "x":11.25, "y":4.25}, - {"label":"Right Shift", "x":12.25, "y":4.25, "w":2.75}, - {"label":"Up", "x":16.75, "y":4.25}, - - {"label":"Left Ctrl", "x":0, "y":5.25, "w":1.25}, - {"label":"Left Win", "x":1.25, "y":5.25, "w":1.25}, - {"label":"Left Alt", "x":2.5, "y":5.25, "w":1.25}, - {"label":"Space", "x":3.75, "y":5.25, "w":6.25}, - {"label":"Right Alt", "x":10, "y":5.25, "w":1.25}, - {"label":"Right Win", "x":11.25, "y":5.25, "w":1.25}, - {"label":"Fn", "x":12.5, "y":5.25, "w":1.25}, - {"label":"Right Ctrl", "x":13.75, "y":5.25, "w":1.25}, - {"label":"Left", "x":15.75, "y":5.25}, - {"label":"Down", "x":16.75, "y":5.25}, - {"label":"Right", "x":17.75, "y":5.25} - ] - }, - "LAYOUT_all": { - "layout": [ - {"label":"Esc", "x":0, "y":0.5}, - {"label":"F1", "x":1.25, "y":0.5}, - {"label":"F2", "x":2.25, "y":0.5}, - {"label":"F3", "x":3.25, "y":0.5}, - {"label":"F4", "x":4.25, "y":0.5}, - {"label":"F5", "x":5.5, "y":0.5}, - {"label":"F5", "x":6.5, "y":0.5}, - {"label":"F7", "x":7.5, "y":0.5}, - {"label":"F8", "x":8.5, "y":0.5}, - {"label":"F9", "x":9.75, "y":0.5}, - {"label":"F10", "x":10.75, "y":0.5}, - {"label":"F11", "x":11.75, "y":0.5}, - {"label":"F12", "x":12.75, "y":0.5}, - {"label":"CCW", "x":13.9, "y":0, "w":0.6, "h":0.5}, - {"label":"Mute", "x":14, "y":0.5}, - {"label":"CW", "x":14.5, "y":0, "w":0.6, "h":0.5}, - {"label":"Print", "x":15.75, "y":0.5}, - {"label":"Cortana", "x":16.75, "y":0.5}, - {"label":"Light", "x":17.75, "y":0.5}, - - {"label":"`~", "x":0, "y":1.75}, - {"label":"1!", "x":1, "y":1.75}, - {"label":"2@", "x":2, "y":1.75}, - {"label":"3#", "x":3, "y":1.75}, - {"label":"4$", "x":4, "y":1.75}, - {"label":"5%", "x":5, "y":1.75}, - {"label":"6^", "x":6, "y":1.75}, - {"label":"7&", "x":7, "y":1.75}, - {"label":"8*", "x":8, "y":1.75}, - {"label":"9(", "x":9, "y":1.75}, - {"label":"0)", "x":10, "y":1.75}, - {"label":"-_", "x":11, "y":1.75}, - {"label":"=+", "x":12, "y":1.75}, - {"label":"Backspace", "x":13, "y":1.75, "w":2}, - {"label":"Insert", "x":15.75, "y":1.75}, - {"label":"Home", "x":16.75, "y":1.75}, - {"label":"Page Up", "x":17.75, "y":1.75}, - - {"label":"Tab", "x":0, "y":2.75, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.75}, - {"label":"W", "x":2.5, "y":2.75}, - {"label":"E", "x":3.5, "y":2.75}, - {"label":"R", "x":4.5, "y":2.75}, - {"label":"T", "x":5.5, "y":2.75}, - {"label":"Y", "x":6.5, "y":2.75}, - {"label":"U", "x":7.5, "y":2.75}, - {"label":"I", "x":8.5, "y":2.75}, - {"label":"O", "x":9.5, "y":2.75}, - {"label":"P", "x":10.5, "y":2.75}, - {"label":"[{", "x":11.5, "y":2.75}, - {"label":"]}", "x":12.5, "y":2.75}, - {"label":"\\|", "x":13.5, "y":2.75, "w":1.5}, - {"label":"Delete", "x":15.75, "y":2.75}, - {"label":"End", "x":16.75, "y":2.75}, - {"label":"Page Down", "x":17.75, "y":2.75}, - - {"label":"Caps Lock", "x":0, "y":3.75, "w":1.75}, - {"label":"A", "x":1.75, "y":3.75}, - {"label":"S", "x":2.75, "y":3.75}, - {"label":"D", "x":3.75, "y":3.75}, - {"label":"F", "x":4.75, "y":3.75}, - {"label":"G", "x":5.75, "y":3.75}, - {"label":"H", "x":6.75, "y":3.75}, - {"label":"J", "x":7.75, "y":3.75}, - {"label":"K", "x":8.75, "y":3.75}, - {"label":"L", "x":9.75, "y":3.75}, - {"label":";:", "x":10.75, "y":3.75}, - {"label":"'\"", "x":11.75, "y":3.75}, - {"label":"Enter", "x":12.75, "y":3.75, "w":2.25}, - - {"label":"Left Shift", "x":0, "y":4.75, "w":2.25}, - {"label":"Z", "x":2.25, "y":4.75}, - {"label":"X", "x":3.25, "y":4.75}, - {"label":"C", "x":4.25, "y":4.75}, - {"label":"V", "x":5.25, "y":4.75}, - {"label":"B", "x":6.25, "y":4.75}, - {"label":"N", "x":7.25, "y":4.75}, - {"label":"M", "x":8.25, "y":4.75}, - {"label":",<", "x":9.25, "y":4.75}, - {"label":".>", "x":10.25, "y":4.75}, - {"label":"/?", "x":11.25, "y":4.75}, - {"label":"Right Shift", "x":12.25, "y":4.75, "w":2.75}, - {"label":"Up", "x":16.75, "y":4.75}, - - {"label":"Left Ctrl", "x":0, "y":5.75, "w":1.25}, - {"label":"Left Win", "x":1.25, "y":5.75, "w":1.25}, - {"label":"Left Alt", "x":2.5, "y":5.75, "w":1.25}, - {"label":"Space", "x":3.75, "y":5.75, "w":6.25}, - {"label":"Right Alt", "x":10, "y":5.75, "w":1.25}, - {"label":"Right Win", "x":11.25, "y":5.75, "w":1.25}, - {"label":"Fn", "x":12.5, "y":5.75, "w":1.25}, - {"label":"Right Ctrl", "x":13.75, "y":5.75, "w":1.25}, - {"label":"Left", "x":15.75, "y":5.75}, - {"label":"Down", "x":16.75, "y":5.75}, - {"label":"Right", "x":17.75, "y":5.75} - ] - } - } -} diff --git a/keyboards/keychron/q3/rev_0121/keymaps/default/keymap.c b/keyboards/keychron/q3/rev_0121/keymaps/default/keymap.c deleted file mode 100644 index 699aa41cc64e..000000000000 --- a/keyboards/keychron/q3/rev_0121/keymaps/default/keymap.c +++ /dev/null @@ -1,161 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN -}; - -enum custom_keycodes { - KC_MISSION_CONTROL = SAFE_RANGE, - KC_LAUNCHPAD, - KC_LOPTN, - KC_ROPTN, - KC_LCMMD, - KC_RCMMD, - KC_SIRI, - KC_TASK_VIEW, - KC_FILE_EXPLORER, - KC_SCREEN_SHOT, - KC_CORTANA -}; - -#define KC_MCTL KC_MISSION_CONTROL -#define KC_LPAD KC_LAUNCHPAD -#define KC_TASK KC_TASK_VIEW -#define KC_FLXP KC_FILE_EXPLORER -#define KC_SNAP KC_SCREEN_SHOT -#define KC_CRTA KC_CORTANA - -typedef struct PACKED { - uint8_t len; - uint8_t keycode[3]; -} key_combination_t; - -key_combination_t key_comb_list[4] = { - {2, {KC_LWIN, KC_TAB}}, - {2, {KC_LWIN, KC_E}}, - {3, {KC_LSFT, KC_LCMD, KC_4}}, - {2, {KC_LWIN, KC_C}} -}; - -static uint8_t mac_keycode[4] = { KC_LOPT, KC_ROPT, KC_LCMD, KC_RCMD }; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_ansi_87( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_SNAP, KC_SIRI, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_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_LCTL, KC_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN,MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [MAC_FN] = LAYOUT_ansi_87( - KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [WIN_BASE] = LAYOUT_ansi_87( - 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_MUTE, KC_PSCR, KC_CRTA, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_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_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [WIN_FN] = LAYOUT_ansi_87( - KC_TRNS, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; - -uint16_t prev; -bool siri; - -void matrix_scan_user(void) { - if (siri) { - if (timer_elapsed(prev) >= 500) { - siri = false; - unregister_code(KC_LCMD); - unregister_code(KC_SPACE); - } - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_MISSION_CONTROL: - if (record->event.pressed) { - host_consumer_send(0x29F); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LAUNCHPAD: - if (record->event.pressed) { - host_consumer_send(0x2A0); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LOPTN: - case KC_ROPTN: - case KC_LCMMD: - case KC_RCMMD: - if (record->event.pressed) { - register_code(mac_keycode[keycode - KC_LOPTN]); - } else { - unregister_code(mac_keycode[keycode - KC_LOPTN]); - } - return false; // Skip all further processing of this key - case KC_SIRI: - if (record->event.pressed) { - register_code(KC_LCMD); - register_code(KC_SPACE); - prev = timer_read() | 1; - siri = true; - } else { - // Do something else when release - } - return false; // Skip all further processing of this key - case KC_TASK: - case KC_FLXP: - case KC_SNAP: - case KC_CRTA: - if (record->event.pressed) { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - register_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } else { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - unregister_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } - return false; // Skip all further processing of this key - default: - return true; // Process all other keycodes normally - } -} diff --git a/keyboards/keychron/q3/rev_0121/keymaps/via/keymap.c b/keyboards/keychron/q3/rev_0121/keymaps/via/keymap.c deleted file mode 100644 index 40fff018570f..000000000000 --- a/keyboards/keychron/q3/rev_0121/keymaps/via/keymap.c +++ /dev/null @@ -1,202 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN -}; - -enum custom_keycodes { - KC_MISSION_CONTROL = USER00, - KC_LAUNCHPAD, - KC_LOPTN, - KC_ROPTN, - KC_LCMMD, - KC_RCMMD, - KC_SIRI, - KC_TASK_VIEW, - KC_FILE_EXPLORER, - KC_SCREEN_SHOT, - KC_CORTANA -}; - -#define KC_MCTL KC_MISSION_CONTROL -#define KC_LPAD KC_LAUNCHPAD -#define KC_TASK KC_TASK_VIEW -#define KC_FLXP KC_FILE_EXPLORER -#define KC_SNAP KC_SCREEN_SHOT -#define KC_CRTA KC_CORTANA - -typedef struct PACKED { - uint8_t len; - uint8_t keycode[3]; -} key_combination_t; - -key_combination_t key_comb_list[4] = { - {2, {KC_LWIN, KC_TAB}}, - {2, {KC_LWIN, KC_E}}, - {3, {KC_LSFT, KC_LCMD, KC_4}}, - {2, {KC_LWIN, KC_C}} -}; - -static uint8_t mac_keycode[4] = { KC_LOPT, KC_ROPT, KC_LCMD, KC_RCMD }; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_all( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_VOLD, KC_MUTE, KC_VOLU, KC_SNAP, KC_SIRI, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_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_LCTL, KC_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN,MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [MAC_FN] = LAYOUT_all( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_VAD, RGB_TOG, RGB_VAI, KC_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [WIN_BASE] = LAYOUT_all( - 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_VOLD, KC_MUTE, KC_VOLU, KC_PSCR, KC_CRTA, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_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_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [WIN_FN] = LAYOUT_all( - KC_TRNS, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_VAD, RGB_TOG, RGB_VAI, KC_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; - -#if defined(VIA_ENABLE) && defined(ENCODER_ENABLE) - -#define ENCODERS 1 -static uint8_t encoder_state[ENCODERS] = {0}; -static keypos_t encoder_cw[ENCODERS] = {{ 8, 5 }}; -static keypos_t encoder_ccw[ENCODERS] = {{ 7, 5 }}; - -void encoder_action_unregister(void) { - for (int index = 0; index < ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = (timer_read() | 1) - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = (timer_read() | 1) - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return false; -}; - -#endif - -uint16_t prev; -bool siri; - -void matrix_scan_user(void) { - if (siri) { - if (timer_elapsed(prev) >= 500) { - siri = false; - unregister_code(KC_LCMD); - unregister_code(KC_SPACE); - } - } -#if defined(VIA_ENABLE) && defined(ENCODER_ENABLE) - encoder_action_unregister(); -#endif -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_MISSION_CONTROL: - if (record->event.pressed) { - host_consumer_send(0x29F); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LAUNCHPAD: - if (record->event.pressed) { - host_consumer_send(0x2A0); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LOPTN: - case KC_ROPTN: - case KC_LCMMD: - case KC_RCMMD: - if (record->event.pressed) { - register_code(mac_keycode[keycode - KC_LOPTN]); - } else { - unregister_code(mac_keycode[keycode - KC_LOPTN]); - } - return false; // Skip all further processing of this key - case KC_SIRI: - if (record->event.pressed) { - register_code(KC_LCMD); - register_code(KC_SPACE); - prev = timer_read() | 1; - siri = true; - } else { - // Do something else when release - } - return false; // Skip all further processing of this key - case KC_TASK: - case KC_FLXP: - case KC_SNAP: - case KC_CRTA: - if (record->event.pressed) { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - register_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } else { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - unregister_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } - return false; // Skip all further processing of this key - default: - return true; // Process all other keycodes normally - } -} diff --git a/keyboards/keychron/q3/rev_0121/keymaps/via/rules.mk b/keyboards/keychron/q3/rev_0121/keymaps/via/rules.mk deleted file mode 100644 index 1e5b99807cb7..000000000000 --- a/keyboards/keychron/q3/rev_0121/keymaps/via/rules.mk +++ /dev/null @@ -1 +0,0 @@ -VIA_ENABLE = yes diff --git a/keyboards/keychron/q3/rev_0121/readme.md b/keyboards/keychron/q3/rev_0121/readme.md deleted file mode 100644 index 9dbbbd6b1073..000000000000 --- a/keyboards/keychron/q3/rev_0121/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# The ANSI variant of the Keychron Q3 - -- Enable rotary encoder support. -- Turn colckwise to increase volume and turn anti-colckwise to decrease volume. -- Press top right key pushbutton to mute. diff --git a/keyboards/keychron/q3/rev_0121/rev_0121.c b/keyboards/keychron/q3/rev_0121/rev_0121.c deleted file mode 100644 index 40f3a8494107..000000000000 --- a/keyboards/keychron/q3/rev_0121/rev_0121.c +++ /dev/null @@ -1,170 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE - -const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = { -/* Refer to IS31 manual for these locations - * driver - * | R location - * | | G location - * | | | B location - * | | | | */ - {0, I_1, G_1, H_1}, - {0, I_2, G_2, H_2}, - {0, I_3, G_3, H_3}, - {0, I_4, G_4, H_4}, - {0, I_5, G_5, H_5}, - {0, I_6, G_6, H_6}, - {0, I_7, G_7, H_7}, - {0, I_8, G_8, H_8}, - {0, I_9, G_9, H_9}, - {0, I_10, G_10, H_10}, - {0, I_11, G_11, H_11}, - {0, I_12, G_12, H_12}, - {0, I_13, G_13, H_13}, - {0, I_15, G_15, H_15}, - {0, I_16, G_16, H_16}, - {1, I_15, G_15, H_15}, - - {0, C_1, A_1, B_1}, - {0, C_2, A_2, B_2}, - {0, C_3, A_3, B_3}, - {0, C_4, A_4, B_4}, - {0, C_5, A_5, B_5}, - {0, C_6, A_6, B_6}, - {0, C_7, A_7, B_7}, - {0, C_8, A_8, B_8}, - {0, C_9, A_9, B_9}, - {0, C_10, A_10, B_10}, - {0, C_11, A_11, B_11}, - {0, C_12, A_12, B_12}, - {0, C_13, A_13, B_13}, - {0, C_14, A_14, B_14}, - {0, C_15, A_15, B_15}, - {0, C_16, A_16, B_16}, - {1, I_16, G_16, H_16}, - - {0, F_1, D_1, E_1}, - {0, F_2, D_2, E_2}, - {0, F_3, D_3, E_3}, - {0, F_4, D_4, E_4}, - {0, F_5, D_5, E_5}, - {0, F_6, D_6, E_6}, - {0, F_7, D_7, E_7}, - {0, F_8, D_8, E_8}, - {0, F_9, D_9, E_9}, - {0, F_10, D_10, E_10}, - {0, F_11, D_11, E_11}, - {0, F_12, D_12, E_12}, - {0, F_13, D_13, E_13}, - {0, F_14, D_14, E_14}, - {0, F_15, D_15, E_15}, - {0, F_16, D_16, E_16}, - {1, I_13, G_13, H_13}, - - {1, I_1, G_1, H_1}, - {1, I_2, G_2, H_2}, - {1, I_3, G_3, H_3}, - {1, I_4, G_4, H_4}, - {1, I_5, G_5, H_5}, - {1, I_6, G_6, H_6}, - {1, I_7, G_7, H_7}, - {1, I_8, G_8, H_8}, - {1, I_9, G_9, H_9}, - {1, I_10, G_10, H_10}, - {1, I_11, G_11, H_11}, - {1, I_12, G_12, H_12}, - {1, I_14, G_14, H_14}, - - {1, C_1, A_1, B_1}, - {1, C_3, A_3, B_3}, - {1, C_4, A_4, B_4}, - {1, C_5, A_5, B_5}, - {1, C_6, A_6, B_6}, - {1, C_7, A_7, B_7}, - {1, C_8, A_8, B_8}, - {1, C_9, A_9, B_9}, - {1, C_10, A_10, B_10}, - {1, C_11, A_11, B_11}, - {1, C_12, A_12, B_12}, - {1, C_14, A_14, B_14}, - {1, C_16, A_16, B_16}, - - {1, F_1, D_1, E_1}, - {1, F_2, D_2, E_2}, - {1, F_3, D_3, E_3}, - {1, F_7, D_7, E_7}, - {1, F_11, D_11, E_11}, - {1, F_12, D_12, E_12}, - {1, F_13, D_13, E_13}, - {1, F_14, D_14, E_14}, - {1, F_15, D_15, E_15}, - {1, F_16, D_16, E_16}, - {1, C_15, A_15, B_15}, -}; - -#define __ NO_LED - -led_config_t g_led_config = { - { - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, __, 13, 14 }, - { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }, - { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48 }, - { 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 49, 62, 15, 32 }, - { 63, __, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, __, 74, 86, 75 }, - { 76, 77, 78, __, __, __, 79, __, __, __, 80, 81, 82, 83, 84, 85 }, - }, - { - // LED Index to Physical Position - {0,0}, {16,0}, {29,0}, {42,0}, {55,0}, {71,0}, {84,0}, {97,0}, {110,0}, {126,0}, {139,0}, {152,0}, {165,0}, {198,0}, {211,0}, {224,0}, - {0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {176,15}, {198,15}, {211,15}, {224,15}, - {3,28}, {19,28}, {32,28}, {45,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {179,28}, {198,28}, {211,28}, {224,28}, - {5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {174,40}, - {8,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {171,52}, {211,52}, - {2,64}, {18,64}, {34,64}, {83,64}, {131,64}, {148,64}, {164,64}, {180,64}, {198,64}, {211,64}, {224,64}, - }, - { - // RGB LED Index to Flag - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, - 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, - } -}; - -#endif - -#ifdef ENCODER_ENABLE - -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { return false; } - if (index == 0) { - if (clockwise) { - tap_code_delay(KC_VOLU, TAP_CODE_DELAY); - } else { - tap_code_delay(KC_VOLD, TAP_CODE_DELAY); - } - } - return true; -} - -#endif diff --git a/keyboards/keychron/q3/rev_0121/rev_0121.h b/keyboards/keychron/q3/rev_0121/rev_0121.h deleted file mode 100644 index 0de224424b2d..000000000000 --- a/keyboards/keychron/q3/rev_0121/rev_0121.h +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "quantum.h" - -#define XXX KC_NO - -#define LAYOUT_all( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K57, K0D, K58, K0E, K0F, K3E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K3F, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K3C, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ - K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ - K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K4E \ - ) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ - { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ - { K50, K51, K52, XXX, XXX, XXX, K56, K57, K58, XXX, K5A, K5B, K5C, K5D, K5E, K5F } \ - } -#define LAYOUT_ansi_87( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K3E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K3F, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K3C, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ - K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ - K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K4E \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ - { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ - { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F } \ -} diff --git a/keyboards/keychron/q3/rev_0121/rules.mk b/keyboards/keychron/q3/rev_0121/rules.mk deleted file mode 100644 index 2c3e6b177e4c..000000000000 --- a/keyboards/keychron/q3/rev_0121/rules.mk +++ /dev/null @@ -1,31 +0,0 @@ -# MCU name -MCU = STM32L433 - -# Bootloader selection -BOOTLOADER = stm32-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # 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 = yes # Enable USB N-key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = yes # Enable Encoder -DIP_SWITCH_ENABLE = yes -RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = CKLED2001 -EEPROM_DRIVER = transient - -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - -# custom matrix setup -CUSTOM_MATRIX = lite - -SRC += matrix.c diff --git a/keyboards/keychron/q3/rev_0122/config.h b/keyboards/keychron/q3/rev_0122/config.h deleted file mode 100644 index 045dd05f2aec..000000000000 --- a/keyboards/keychron/q3/rev_0122/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* USB Device descriptor parameter */ -#define PRODUCT_ID 0x0122 -#define DEVICE_VER 0x0100 - -/* key matrix pins */ -#define MATRIX_ROW_PINS { B5, B4, B3, A15, A14, A13 } -#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A5, A6, A7, B0, B1, A8, A9, A10, H3 } - -/* RGB Matrix Configuration */ -#define DRIVER_1_LED_TOTAL 48 -#define DRIVER_2_LED_TOTAL 40 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) - -/* Enable caps-lock LED */ -#define CAPS_LOCK_LED_INDEX 49 diff --git a/keyboards/keychron/q3/rev_0122/info.json b/keyboards/keychron/q3/rev_0122/info.json deleted file mode 100644 index 368c96ef1495..000000000000 --- a/keyboards/keychron/q3/rev_0122/info.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "keyboard_name": "Keychron Q3", - "url": "https://github.com/Keychron", - "maintainer": "lalalademaxiya1", - "layouts": { - "LAYOUT_iso_88": { - "layout": [ - {"label":"Esc", "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":"F5", "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", "x":15.25, "y":0}, - {"label":"Cortana", "x":16.25, "y":0}, - {"label":"Light", "x":17.25, "y":0}, - - {"label":"`~", "x":0, "y":1.25}, - {"label":"1!", "x":1, "y":1.25}, - {"label":"2@", "x":2, "y":1.25}, - {"label":"3#", "x":3, "y":1.25}, - {"label":"4$", "x":4, "y":1.25}, - {"label":"5%", "x":5, "y":1.25}, - {"label":"6^", "x":6, "y":1.25}, - {"label":"7&", "x":7, "y":1.25}, - {"label":"8*", "x":8, "y":1.25}, - {"label":"9(", "x":9, "y":1.25}, - {"label":"0)", "x":10, "y":1.25}, - {"label":"-_", "x":11, "y":1.25}, - {"label":"=+", "x":12, "y":1.25}, - {"label":"Backspace", "x":13, "y":1.25, "w":2}, - {"label":"Insert", "x":15.25, "y":1.25}, - {"label":"Home", "x":16.25, "y":1.25}, - {"label":"Page Up", "x":17.25, "y":1.25}, - - {"label":"Tab", "x":0, "y":2.25, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.25}, - {"label":"W", "x":2.5, "y":2.25}, - {"label":"E", "x":3.5, "y":2.25}, - {"label":"R", "x":4.5, "y":2.25}, - {"label":"T", "x":5.5, "y":2.25}, - {"label":"Y", "x":6.5, "y":2.25}, - {"label":"U", "x":7.5, "y":2.25}, - {"label":"I", "x":8.5, "y":2.25}, - {"label":"O", "x":9.5, "y":2.25}, - {"label":"P", "x":10.5, "y":2.25}, - {"label":"[{", "x":11.5, "y":2.25}, - {"label":"]}", "x":12.5, "y":2.25}, - {"label":"Delete", "x":15.25, "y":2.25}, - {"label":"End", "x":16.25, "y":2.25}, - {"label":"Page Down", "x":17.25, "y":2.25}, - - {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, - {"label":"A", "x":1.75, "y":3.25}, - {"label":"S", "x":2.75, "y":3.25}, - {"label":"D", "x":3.75, "y":3.25}, - {"label":"F", "x":4.75, "y":3.25}, - {"label":"G", "x":5.75, "y":3.25}, - {"label":"H", "x":6.75, "y":3.25}, - {"label":"J", "x":7.75, "y":3.25}, - {"label":"K", "x":8.75, "y":3.25}, - {"label":"L", "x":9.75, "y":3.25}, - {"label":";:", "x":10.75, "y":3.25}, - {"label":"'\"", "x":11.75, "y":3.25}, - {"label":"#~", "x":12.75, "y":3.25}, - {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2}, - - {"label":"Left Shift", "x":0, "y":4.25, "w":1.25}, - {"label":"\\|", "x":1.25, "y":4.25}, - {"label":"Z", "x":2.25, "y":4.25}, - {"label":"X", "x":3.25, "y":4.25}, - {"label":"C", "x":4.25, "y":4.25}, - {"label":"V", "x":5.25, "y":4.25}, - {"label":"B", "x":6.25, "y":4.25}, - {"label":"N", "x":7.25, "y":4.25}, - {"label":"M", "x":8.25, "y":4.25}, - {"label":",<", "x":9.25, "y":4.25}, - {"label":".>", "x":10.25, "y":4.25}, - {"label":"/?", "x":11.25, "y":4.25}, - {"label":"Right Shift", "x":12.25, "y":4.25, "w":2.75}, - {"label":"Up", "x":16.25, "y":4.25}, - - {"label":"Left Ctrl", "x":0, "y":5.25, "w":1.25}, - {"label":"Left Win", "x":1.25, "y":5.25, "w":1.25}, - {"label":"Left Alt", "x":2.5, "y":5.25, "w":1.25}, - {"label":"Space", "x":3.75, "y":5.25, "w":6.25}, - {"label":"Right Alt", "x":10, "y":5.25, "w":1.25}, - {"label":"Right Win", "x":11.25, "y":5.25, "w":1.25}, - {"label":"Fn", "x":12.5, "y":5.25, "w":1.25}, - {"label":"Right Ctrl", "x":13.75, "y":5.25, "w":1.25}, - {"label":"Left", "x":15.25, "y":5.25}, - {"label":"Down", "x":16.25, "y":5.25}, - {"label":"Right", "x":17.25, "y":5.25} - ] - } - } -} diff --git a/keyboards/keychron/q3/rev_0122/keymaps/default/keymap.c b/keyboards/keychron/q3/rev_0122/keymaps/default/keymap.c deleted file mode 100644 index deb5713c47d8..000000000000 --- a/keyboards/keychron/q3/rev_0122/keymaps/default/keymap.c +++ /dev/null @@ -1,161 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN -}; - -enum custom_keycodes { - KC_MISSION_CONTROL = SAFE_RANGE, - KC_LAUNCHPAD, - KC_LOPTN, - KC_ROPTN, - KC_LCMMD, - KC_RCMMD, - KC_SIRI, - KC_TASK_VIEW, - KC_FILE_EXPLORER, - KC_SCREEN_SHOT, - KC_CORTANA -}; - -#define KC_MCTL KC_MISSION_CONTROL -#define KC_LPAD KC_LAUNCHPAD -#define KC_TASK KC_TASK_VIEW -#define KC_FLXP KC_FILE_EXPLORER -#define KC_SNAP KC_SCREEN_SHOT -#define KC_CRTA KC_CORTANA - -typedef struct PACKED { - uint8_t len; - uint8_t keycode[3]; -} key_combination_t; - -key_combination_t key_comb_list[4] = { - {2, {KC_LWIN, KC_TAB}}, - {2, {KC_LWIN, KC_E}}, - {3, {KC_LSFT, KC_LCMD, KC_4}}, - {2, {KC_LWIN, KC_C}} -}; - -static uint8_t mac_keycode[4] = { KC_LOPT, KC_ROPT, KC_LCMD, KC_RCMD }; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_iso_88( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_SIRI, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN,MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [MAC_FN] = LAYOUT_iso_88( - KC_TRNS, 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_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [WIN_BASE] = LAYOUT_iso_88( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_CRTA, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [WIN_FN] = LAYOUT_iso_88( - KC_TRNS, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; - -uint16_t prev; -bool siri; - -void matrix_scan_user(void) { - if (siri) { - if (timer_elapsed(prev) >= 500) { - siri = false; - unregister_code(KC_LCMD); - unregister_code(KC_SPACE); - } - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_MISSION_CONTROL: - if (record->event.pressed) { - host_consumer_send(0x29F); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LAUNCHPAD: - if (record->event.pressed) { - host_consumer_send(0x2A0); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LOPTN: - case KC_ROPTN: - case KC_LCMMD: - case KC_RCMMD: - if (record->event.pressed) { - register_code(mac_keycode[keycode - KC_LOPTN]); - } else { - unregister_code(mac_keycode[keycode - KC_LOPTN]); - } - return false; // Skip all further processing of this key - case KC_SIRI: - if (record->event.pressed) { - register_code(KC_LCMD); - register_code(KC_SPACE); - prev = timer_read() | 1; - siri = true; - } else { - // Do something else when release - } - return false; // Skip all further processing of this key - case KC_TASK: - case KC_FLXP: - case KC_SNAP: - case KC_CRTA: - if (record->event.pressed) { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - register_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } else { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - unregister_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } - return false; // Skip all further processing of this key - default: - return true; // Process all other keycodes normally - } -} diff --git a/keyboards/keychron/q3/rev_0122/keymaps/via/keymap.c b/keyboards/keychron/q3/rev_0122/keymaps/via/keymap.c deleted file mode 100644 index 430c189c54df..000000000000 --- a/keyboards/keychron/q3/rev_0122/keymaps/via/keymap.c +++ /dev/null @@ -1,161 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN -}; - -enum custom_keycodes { - KC_MISSION_CONTROL = USER00, - KC_LAUNCHPAD, - KC_LOPTN, - KC_ROPTN, - KC_LCMMD, - KC_RCMMD, - KC_SIRI, - KC_TASK_VIEW, - KC_FILE_EXPLORER, - KC_SCREEN_SHOT, - KC_CORTANA -}; - -#define KC_MCTL KC_MISSION_CONTROL -#define KC_LPAD KC_LAUNCHPAD -#define KC_TASK KC_TASK_VIEW -#define KC_FLXP KC_FILE_EXPLORER -#define KC_SNAP KC_SCREEN_SHOT -#define KC_CRTA KC_CORTANA - -typedef struct PACKED { - uint8_t len; - uint8_t keycode[3]; -} key_combination_t; - -key_combination_t key_comb_list[4] = { - {2, {KC_LWIN, KC_TAB}}, - {2, {KC_LWIN, KC_E}}, - {3, {KC_LSFT, KC_LCMD, KC_4}}, - {2, {KC_LWIN, KC_C}} -}; - -static uint8_t mac_keycode[4] = { KC_LOPT, KC_ROPT, KC_LCMD, KC_RCMD }; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_iso_88( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_SNAP, KC_SIRI, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN,MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [MAC_FN] = LAYOUT_iso_88( - KC_TRNS, 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_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [WIN_BASE] = LAYOUT_iso_88( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_CRTA, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [WIN_FN] = LAYOUT_iso_88( - KC_TRNS, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; - -uint16_t prev; -bool siri; - -void matrix_scan_user(void) { - if (siri) { - if (timer_elapsed(prev) >= 500) { - siri = false; - unregister_code(KC_LCMD); - unregister_code(KC_SPACE); - } - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_MISSION_CONTROL: - if (record->event.pressed) { - host_consumer_send(0x29F); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LAUNCHPAD: - if (record->event.pressed) { - host_consumer_send(0x2A0); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LOPTN: - case KC_ROPTN: - case KC_LCMMD: - case KC_RCMMD: - if (record->event.pressed) { - register_code(mac_keycode[keycode - KC_LOPTN]); - } else { - unregister_code(mac_keycode[keycode - KC_LOPTN]); - } - return false; // Skip all further processing of this key - case KC_SIRI: - if (record->event.pressed) { - register_code(KC_LCMD); - register_code(KC_SPACE); - prev = timer_read() | 1; - siri = true; - } else { - // Do something else when release - } - return false; // Skip all further processing of this key - case KC_TASK: - case KC_FLXP: - case KC_SNAP: - case KC_CRTA: - if (record->event.pressed) { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - register_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } else { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - unregister_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } - return false; // Skip all further processing of this key - default: - return true; // Process all other keycodes normally - } -} diff --git a/keyboards/keychron/q3/rev_0122/keymaps/via/rules.mk b/keyboards/keychron/q3/rev_0122/keymaps/via/rules.mk deleted file mode 100644 index 1e5b99807cb7..000000000000 --- a/keyboards/keychron/q3/rev_0122/keymaps/via/rules.mk +++ /dev/null @@ -1 +0,0 @@ -VIA_ENABLE = yes diff --git a/keyboards/keychron/q3/rev_0122/readme.md b/keyboards/keychron/q3/rev_0122/readme.md deleted file mode 100644 index 69db8ff53268..000000000000 --- a/keyboards/keychron/q3/rev_0122/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The ISO variant of the Keychron Q3 diff --git a/keyboards/keychron/q3/rev_0122/rev_0122.c b/keyboards/keychron/q3/rev_0122/rev_0122.c deleted file mode 100644 index b509c627627f..000000000000 --- a/keyboards/keychron/q3/rev_0122/rev_0122.c +++ /dev/null @@ -1,155 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE - -const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = { -/* Refer to IS31 manual for these locations - * driver - * | R location - * | | G location - * | | | B location - * | | | | */ - {0, I_1, G_1, H_1}, - {0, I_2, G_2, H_2}, - {0, I_3, G_3, H_3}, - {0, I_4, G_4, H_4}, - {0, I_5, G_5, H_5}, - {0, I_6, G_6, H_6}, - {0, I_7, G_7, H_7}, - {0, I_8, G_8, H_8}, - {0, I_9, G_9, H_9}, - {0, I_10, G_10, H_10}, - {0, I_11, G_11, H_11}, - {0, I_12, G_12, H_12}, - {0, I_13, G_13, H_13}, - {0, I_15, G_15, H_15}, - {0, I_16, G_16, H_16}, - {1, I_15, G_15, H_15}, - - {0, C_1, A_1, B_1}, - {0, C_2, A_2, B_2}, - {0, C_3, A_3, B_3}, - {0, C_4, A_4, B_4}, - {0, C_5, A_5, B_5}, - {0, C_6, A_6, B_6}, - {0, C_7, A_7, B_7}, - {0, C_8, A_8, B_8}, - {0, C_9, A_9, B_9}, - {0, C_10, A_10, B_10}, - {0, C_11, A_11, B_11}, - {0, C_12, A_12, B_12}, - {0, C_13, A_13, B_13}, - {0, C_14, A_14, B_14}, - {0, C_15, A_15, B_15}, - {0, C_16, A_16, B_16}, - {1, I_16, G_16, H_16}, - - {0, F_1, D_1, E_1}, - {0, F_2, D_2, E_2}, - {0, F_3, D_3, E_3}, - {0, F_4, D_4, E_4}, - {0, F_5, D_5, E_5}, - {0, F_6, D_6, E_6}, - {0, F_7, D_7, E_7}, - {0, F_8, D_8, E_8}, - {0, F_9, D_9, E_9}, - {0, F_10, D_10, E_10}, - {0, F_11, D_11, E_11}, - {0, F_12, D_12, E_12}, - {0, F_13, D_13, E_13}, - {0, F_15, D_15, E_15}, - {0, F_16, D_16, E_16}, - {1, I_13, G_13, H_13}, - - {1, I_1, G_1, H_1}, - {1, I_2, G_2, H_2}, - {1, I_3, G_3, H_3}, - {1, I_4, G_4, H_4}, - {1, I_5, G_5, H_5}, - {1, I_6, G_6, H_6}, - {1, I_7, G_7, H_7}, - {1, I_8, G_8, H_8}, - {1, I_9, G_9, H_9}, - {1, I_10, G_10, H_10}, - {1, I_11, G_11, H_11}, - {1, I_12, G_12, H_12}, - {1, I_14, G_14, H_14}, - {0, F_14, D_14, E_14}, - - {1, C_1, A_1, B_1}, - {1, C_2, A_2, B_2}, - {1, C_3, A_3, B_3}, - {1, C_4, A_4, B_4}, - {1, C_5, A_5, B_5}, - {1, C_6, A_6, B_6}, - {1, C_7, A_7, B_7}, - {1, C_8, A_8, B_8}, - {1, C_9, A_9, B_9}, - {1, C_10, A_10, B_10}, - {1, C_11, A_11, B_11}, - {1, C_12, A_12, B_12}, - {1, C_14, A_14, B_14}, - {1, C_16, A_16, B_16}, - - {1, F_1, D_1, E_1}, - {1, F_2, D_2, E_2}, - {1, F_3, D_3, E_3}, - {1, F_7, D_7, E_7}, - {1, F_11, D_11, E_11}, - {1, F_12, D_12, E_12}, - {1, F_13, D_13, E_13}, - {1, F_14, D_14, E_14}, - {1, F_15, D_15, E_15}, - {1, F_16, D_16, E_16}, - {1, C_15, A_15, B_15}, -}; - -#define __ NO_LED - -led_config_t g_led_config = { - { - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, __, 13, 14 }, - { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }, - { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 62, 46, 47 }, - { 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 48, 61, 15, 32 }, - { 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, __, 75, 87, 76 }, - { 77, 78, 79, __, __, __, 80, __, __, __, 81, 82, 83, 84, 85, 86 }, - }, - { - // LED Index to Physical Position - {0,0}, {26,0}, {39,0}, {52,0}, {65,0}, {84,0}, {97,0}, {111,0}, {124,0}, {143,0}, {156,0}, {169,0}, {182,0}, {198,0}, {211,0}, {224,0}, - {0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {176,15}, {198,15}, {211,15}, {224,15}, - {3,28}, {19,28}, {32,28}, {45,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {198,28}, {211,28}, {224,28}, - {5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {166,40}, {183,36}, - {2,52}, {16,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {171,52}, {211,52}, - {2,64}, {18,64}, {34,64}, {83,64}, {131,64}, {148,64}, {164,64}, {180,64}, {198,64}, {211,64}, {224,64}, - }, - { - // RGB LED Index to Flag - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, - 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, - } -}; - -#endif diff --git a/keyboards/keychron/q3/rev_0122/rev_0122.h b/keyboards/keychron/q3/rev_0122/rev_0122.h deleted file mode 100644 index 440764a8e302..000000000000 --- a/keyboards/keychron/q3/rev_0122/rev_0122.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "quantum.h" - -#define XXX KC_NO - -#define LAYOUT_iso_88( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K3E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K3F, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K3C, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K2D, \ - K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ - K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K4E \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, XXX, K0E, K0F }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ - { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ - { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F } \ -} diff --git a/keyboards/keychron/q3/rev_0122/rules.mk b/keyboards/keychron/q3/rev_0122/rules.mk deleted file mode 100644 index 26d88a0545bb..000000000000 --- a/keyboards/keychron/q3/rev_0122/rules.mk +++ /dev/null @@ -1,26 +0,0 @@ -# MCU name -MCU = STM32L433 - -# Bootloader selection -BOOTLOADER = stm32-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # 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 = yes # Enable USB N-key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = no # Enable Encoder -DIP_SWITCH_ENABLE = yes -RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = CKLED2001 -EEPROM_DRIVER = transient - -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/keychron/q3/rev_0123/config.h b/keyboards/keychron/q3/rev_0123/config.h deleted file mode 100644 index 3bd04d05b804..000000000000 --- a/keyboards/keychron/q3/rev_0123/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -/* USB Device descriptor parameter */ -#define PRODUCT_ID 0x0123 -#define DEVICE_VER 0x0100 - -/* key matrix pins */ -#define MATRIX_ROW_PINS { B5, B4, B3, A15, A14, A13 } -#define MATRIX_COL_PINS { C14, C15, A0, A1, A2, A3, A4, A5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } - -/* RGB Matrix Configuration */ -#define DRIVER_1_LED_TOTAL 48 -#define DRIVER_2_LED_TOTAL 40 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) - -/* Encoder Configuration */ -#define ENCODERS_PAD_A { A10 } -#define ENCODERS_PAD_B { A8 } -#define ENCODER_RESOLUTION 4 -#define ENCODER_DEFAULT_POS 0x3 - -/* Enable caps-lock LED */ -#define CAPS_LOCK_LED_INDEX 49 diff --git a/keyboards/keychron/q3/rev_0123/info.json b/keyboards/keychron/q3/rev_0123/info.json deleted file mode 100644 index f3a379591295..000000000000 --- a/keyboards/keychron/q3/rev_0123/info.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "keyboard_name": "Keychron Q3", - "url": "https://github.com/Keychron", - "maintainer": "lalalademaxiya1", - "layouts": { - "LAYOUT_iso_88": { - "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":1.25, "y":0}, - {"label":"F2", "x":2.25, "y":0}, - {"label":"F3", "x":3.25, "y":0}, - {"label":"F4", "x":4.25, "y":0}, - {"label":"F5", "x":5.5, "y":0}, - {"label":"F5", "x":6.5, "y":0}, - {"label":"F7", "x":7.5, "y":0}, - {"label":"F8", "x":8.5, "y":0}, - {"label":"F9", "x":9.75, "y":0}, - {"label":"F10", "x":10.75, "y":0}, - {"label":"F11", "x":11.75, "y":0}, - {"label":"F12", "x":12.75, "y":0}, - {"label":"Mute", "x":14, "y":0}, - {"label":"Print", "x":15.75, "y":0}, - {"label":"Cortana", "x":16.75, "y":0}, - {"label":"Light", "x":17.75, "y":0}, - - {"label":"`~", "x":0, "y":1.25}, - {"label":"1!", "x":1, "y":1.25}, - {"label":"2@", "x":2, "y":1.25}, - {"label":"3#", "x":3, "y":1.25}, - {"label":"4$", "x":4, "y":1.25}, - {"label":"5%", "x":5, "y":1.25}, - {"label":"6^", "x":6, "y":1.25}, - {"label":"7&", "x":7, "y":1.25}, - {"label":"8*", "x":8, "y":1.25}, - {"label":"9(", "x":9, "y":1.25}, - {"label":"0)", "x":10, "y":1.25}, - {"label":"-_", "x":11, "y":1.25}, - {"label":"=+", "x":12, "y":1.25}, - {"label":"Backspace", "x":13, "y":1.25, "w":2}, - {"label":"Insert", "x":15.25, "y":1.25}, - {"label":"Home", "x":16.25, "y":1.25}, - {"label":"Page Up", "x":17.25, "y":1.25}, - - {"label":"Tab", "x":0, "y":2.25, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.25}, - {"label":"W", "x":2.5, "y":2.25}, - {"label":"E", "x":3.5, "y":2.25}, - {"label":"R", "x":4.5, "y":2.25}, - {"label":"T", "x":5.5, "y":2.25}, - {"label":"Y", "x":6.5, "y":2.25}, - {"label":"U", "x":7.5, "y":2.25}, - {"label":"I", "x":8.5, "y":2.25}, - {"label":"O", "x":9.5, "y":2.25}, - {"label":"P", "x":10.5, "y":2.25}, - {"label":"[{", "x":11.5, "y":2.25}, - {"label":"]}", "x":12.5, "y":2.25}, - {"label":"Delete", "x":15.25, "y":2.25}, - {"label":"End", "x":16.25, "y":2.25}, - {"label":"Page Down", "x":17.25, "y":2.25}, - - {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, - {"label":"A", "x":1.75, "y":3.25}, - {"label":"S", "x":2.75, "y":3.25}, - {"label":"D", "x":3.75, "y":3.25}, - {"label":"F", "x":4.75, "y":3.25}, - {"label":"G", "x":5.75, "y":3.25}, - {"label":"H", "x":6.75, "y":3.25}, - {"label":"J", "x":7.75, "y":3.25}, - {"label":"K", "x":8.75, "y":3.25}, - {"label":"L", "x":9.75, "y":3.25}, - {"label":";:", "x":10.75, "y":3.25}, - {"label":"'\"", "x":11.75, "y":3.25}, - {"label":"#~", "x":12.75, "y":3.25}, - {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2}, - - {"label":"Left Shift", "x":0, "y":4.25, "w":1.25}, - {"label":"\\|", "x":1.25, "y":4.25}, - {"label":"Z", "x":2.25, "y":4.25}, - {"label":"X", "x":3.25, "y":4.25}, - {"label":"C", "x":4.25, "y":4.25}, - {"label":"V", "x":5.25, "y":4.25}, - {"label":"B", "x":6.25, "y":4.25}, - {"label":"N", "x":7.25, "y":4.25}, - {"label":"M", "x":8.25, "y":4.25}, - {"label":",<", "x":9.25, "y":4.25}, - {"label":".>", "x":10.25, "y":4.25}, - {"label":"/?", "x":11.25, "y":4.25}, - {"label":"Right Shift", "x":12.25, "y":4.25, "w":2.75}, - {"label":"Up", "x":16.25, "y":4.25}, - - {"label":"Left Ctrl", "x":0, "y":5.25, "w":1.25}, - {"label":"Left Win", "x":1.25, "y":5.25, "w":1.25}, - {"label":"Left Alt", "x":2.5, "y":5.25, "w":1.25}, - {"label":"Space", "x":3.75, "y":5.25, "w":6.25}, - {"label":"Right Alt", "x":10, "y":5.25, "w":1.25}, - {"label":"Right Win", "x":11.25, "y":5.25, "w":1.25}, - {"label":"Fn", "x":12.5, "y":5.25, "w":1.25}, - {"label":"Right Ctrl", "x":13.75, "y":5.25, "w":1.25}, - {"label":"Left", "x":15.25, "y":5.25}, - {"label":"Down", "x":16.25, "y":5.25}, - {"label":"Right", "x":17.25, "y":5.25} - ] - }, - "LAYOUT_all": { - "layout": [ - {"label":"Esc", "x":0, "y":0.5}, - {"label":"F1", "x":1.25, "y":0.5}, - {"label":"F2", "x":2.25, "y":0.5}, - {"label":"F3", "x":3.25, "y":0.5}, - {"label":"F4", "x":4.25, "y":0.5}, - {"label":"F5", "x":5.5, "y":0.5}, - {"label":"F5", "x":6.5, "y":0.5}, - {"label":"F7", "x":7.5, "y":0.5}, - {"label":"F8", "x":8.5, "y":0.5}, - {"label":"F9", "x":9.75, "y":0.5}, - {"label":"F10", "x":10.75, "y":0.5}, - {"label":"F11", "x":11.75, "y":0.5}, - {"label":"F12", "x":12.75, "y":0.5}, - {"label":"CCW", "x":13.9, "y":0, "w":0.6, "h":0.5}, - {"label":"Mute", "x":14, "y":0.5}, - {"label":"CW", "x":14.5, "y":0, "w":0.6, "h":0.5}, - {"label":"Print", "x":15.75, "y":0.5}, - {"label":"Cortana", "x":16.75, "y":0.5}, - {"label":"Light", "x":17.75, "y":0.5}, - - {"label":"`~", "x":0, "y":1.75}, - {"label":"1!", "x":1, "y":1.75}, - {"label":"2@", "x":2, "y":1.75}, - {"label":"3#", "x":3, "y":1.75}, - {"label":"4$", "x":4, "y":1.75}, - {"label":"5%", "x":5, "y":1.75}, - {"label":"6^", "x":6, "y":1.75}, - {"label":"7&", "x":7, "y":1.75}, - {"label":"8*", "x":8, "y":1.75}, - {"label":"9(", "x":9, "y":1.75}, - {"label":"0)", "x":10, "y":1.75}, - {"label":"-_", "x":11, "y":1.75}, - {"label":"=+", "x":12, "y":1.75}, - {"label":"Backspace", "x":13, "y":1.75, "w":2}, - {"label":"Insert", "x":15.75, "y":1.75}, - {"label":"Home", "x":16.75, "y":1.75}, - {"label":"Page Up", "x":17.75, "y":1.75}, - - {"label":"Tab", "x":0, "y":2.75, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.75}, - {"label":"W", "x":2.5, "y":2.75}, - {"label":"E", "x":3.5, "y":2.75}, - {"label":"R", "x":4.5, "y":2.75}, - {"label":"T", "x":5.5, "y":2.75}, - {"label":"Y", "x":6.5, "y":2.75}, - {"label":"U", "x":7.5, "y":2.75}, - {"label":"I", "x":8.5, "y":2.75}, - {"label":"O", "x":9.5, "y":2.75}, - {"label":"P", "x":10.5, "y":2.75}, - {"label":"[{", "x":11.5, "y":2.75}, - {"label":"]}", "x":12.5, "y":2.75}, - {"label":"Delete", "x":15.75, "y":2.75}, - {"label":"End", "x":16.75, "y":2.75}, - {"label":"Page Down", "x":17.75, "y":2.75}, - - {"label":"Caps Lock", "x":0, "y":3.75, "w":1.75}, - {"label":"A", "x":1.75, "y":3.75}, - {"label":"S", "x":2.75, "y":3.75}, - {"label":"D", "x":3.75, "y":3.75}, - {"label":"F", "x":4.75, "y":3.75}, - {"label":"G", "x":5.75, "y":3.75}, - {"label":"H", "x":6.75, "y":3.75}, - {"label":"J", "x":7.75, "y":3.75}, - {"label":"K", "x":8.75, "y":3.75}, - {"label":"L", "x":9.75, "y":3.75}, - {"label":";:", "x":10.75, "y":3.75}, - {"label":"'\"", "x":11.75, "y":3.75}, - {"label":"#~", "x":12.75, "y":3.75}, - {"label":"Enter", "x":13.75, "y":2.75, "w":1.25, "h":2}, - - {"label":"Left Shift", "x":0, "y":4.25, "w":1.25}, - {"label":"\\|", "x":1.25, "y":4.25}, - {"label":"Z", "x":2.25, "y":4.25}, - {"label":"X", "x":3.25, "y":4.25}, - {"label":"C", "x":4.25, "y":4.25}, - {"label":"V", "x":5.25, "y":4.25}, - {"label":"B", "x":6.25, "y":4.25}, - {"label":"N", "x":7.25, "y":4.25}, - {"label":"M", "x":8.25, "y":4.25}, - {"label":",<", "x":9.25, "y":4.25}, - {"label":".>", "x":10.25, "y":4.25}, - {"label":"/?", "x":11.25, "y":4.25}, - {"label":"Right Shift", "x":12.25, "y":4.25, "w":2.75}, - {"label":"Up", "x":16.25, "y":4.25}, - - {"label":"Left Ctrl", "x":0, "y":5.75, "w":1.25}, - {"label":"Left Win", "x":1.25, "y":5.75, "w":1.25}, - {"label":"Left Alt", "x":2.5, "y":5.75, "w":1.25}, - {"label":"Space", "x":3.75, "y":5.75, "w":6.25}, - {"label":"Right Alt", "x":10, "y":5.75, "w":1.25}, - {"label":"Right Win", "x":11.25, "y":5.75, "w":1.25}, - {"label":"Fn", "x":12.5, "y":5.75, "w":1.25}, - {"label":"Right Ctrl", "x":13.75, "y":5.75, "w":1.25}, - {"label":"Left", "x":15.75, "y":5.75}, - {"label":"Down", "x":16.75, "y":5.75}, - {"label":"Right", "x":17.75, "y":5.75} - ] - } - } -} diff --git a/keyboards/keychron/q3/rev_0123/keymaps/default/keymap.c b/keyboards/keychron/q3/rev_0123/keymaps/default/keymap.c deleted file mode 100644 index e51a4df56360..000000000000 --- a/keyboards/keychron/q3/rev_0123/keymaps/default/keymap.c +++ /dev/null @@ -1,161 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN -}; - -enum custom_keycodes { - KC_MISSION_CONTROL = SAFE_RANGE, - KC_LAUNCHPAD, - KC_LOPTN, - KC_ROPTN, - KC_LCMMD, - KC_RCMMD, - KC_SIRI, - KC_TASK_VIEW, - KC_FILE_EXPLORER, - KC_SCREEN_SHOT, - KC_CORTANA -}; - -#define KC_MCTL KC_MISSION_CONTROL -#define KC_LPAD KC_LAUNCHPAD -#define KC_TASK KC_TASK_VIEW -#define KC_FLXP KC_FILE_EXPLORER -#define KC_SNAP KC_SCREEN_SHOT -#define KC_CRTA KC_CORTANA - -typedef struct PACKED { - uint8_t len; - uint8_t keycode[3]; -} key_combination_t; - -key_combination_t key_comb_list[4] = { - {2, {KC_LWIN, KC_TAB}}, - {2, {KC_LWIN, KC_E}}, - {3, {KC_LSFT, KC_LCMD, KC_4}}, - {2, {KC_LWIN, KC_C}} -}; - -static uint8_t mac_keycode[4] = { KC_LOPT, KC_ROPT, KC_LCMD, KC_RCMD }; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_iso_88( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_SNAP, KC_SIRI, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN,MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [MAC_FN] = LAYOUT_iso_88( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, KC_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [WIN_BASE] = LAYOUT_iso_88( - 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_MUTE, KC_PSCR, KC_CRTA, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [WIN_FN] = LAYOUT_iso_88( - KC_TRNS, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_TOG, KC_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; - -uint16_t prev; -bool siri; - -void matrix_scan_user(void) { - if (siri) { - if (timer_elapsed(prev) >= 500) { - siri = false; - unregister_code(KC_LCMD); - unregister_code(KC_SPACE); - } - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_MISSION_CONTROL: - if (record->event.pressed) { - host_consumer_send(0x29F); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LAUNCHPAD: - if (record->event.pressed) { - host_consumer_send(0x2A0); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LOPTN: - case KC_ROPTN: - case KC_LCMMD: - case KC_RCMMD: - if (record->event.pressed) { - register_code(mac_keycode[keycode - KC_LOPTN]); - } else { - unregister_code(mac_keycode[keycode - KC_LOPTN]); - } - return false; // Skip all further processing of this key - case KC_SIRI: - if (record->event.pressed) { - register_code(KC_LCMD); - register_code(KC_SPACE); - prev = timer_read() | 1;; - siri = true; - } else { - // Do something else when release - } - return false; // Skip all further processing of this key - case KC_TASK: - case KC_FLXP: - case KC_SNAP: - case KC_CRTA: - if (record->event.pressed) { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - register_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } else { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - unregister_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } - return false; // Skip all further processing of this key - default: - return true; // Process all other keycodes normally - } -} diff --git a/keyboards/keychron/q3/rev_0123/keymaps/via/keymap.c b/keyboards/keychron/q3/rev_0123/keymaps/via/keymap.c deleted file mode 100644 index 8653d0e98e47..000000000000 --- a/keyboards/keychron/q3/rev_0123/keymaps/via/keymap.c +++ /dev/null @@ -1,202 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include QMK_KEYBOARD_H - -enum layers{ - MAC_BASE, - MAC_FN, - WIN_BASE, - WIN_FN -}; - -enum custom_keycodes { - KC_MISSION_CONTROL = USER00, - KC_LAUNCHPAD, - KC_LOPTN, - KC_ROPTN, - KC_LCMMD, - KC_RCMMD, - KC_SIRI, - KC_TASK_VIEW, - KC_FILE_EXPLORER, - KC_SCREEN_SHOT, - KC_CORTANA -}; - -#define KC_MCTL KC_MISSION_CONTROL -#define KC_LPAD KC_LAUNCHPAD -#define KC_TASK KC_TASK_VIEW -#define KC_FLXP KC_FILE_EXPLORER -#define KC_SNAP KC_SCREEN_SHOT -#define KC_CRTA KC_CORTANA - -typedef struct PACKED { - uint8_t len; - uint8_t keycode[3]; -} key_combination_t; - -key_combination_t key_comb_list[4] = { - {2, {KC_LWIN, KC_TAB}}, - {2, {KC_LWIN, KC_E}}, - {3, {KC_LSFT, KC_LCMD, KC_4}}, - {2, {KC_LWIN, KC_C}} -}; - -static uint8_t mac_keycode[4] = { KC_LOPT, KC_ROPT, KC_LCMD, KC_RCMD }; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [MAC_BASE] = LAYOUT_all( - KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_VOLD, KC_MUTE, KC_VOLU, KC_SNAP, KC_SIRI, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LOPTN, KC_LCMMD, KC_SPC, KC_RCMMD, KC_ROPTN,MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [MAC_FN] = LAYOUT_all( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_VAD, RGB_TOG, RGB_VAI, KC_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [WIN_BASE] = LAYOUT_all( - 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_VOLD, KC_MUTE, KC_VOLU, KC_PSCR, KC_CRTA, RGB_MOD, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, - KC_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - - [WIN_FN] = LAYOUT_all( - KC_TRNS, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, RGB_VAD, RGB_TOG, RGB_VAI, KC_TRNS, KC_TRNS, RGB_TOG, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -}; - -uint16_t prev; -bool siri; - -#if defined(VIA_ENABLE) && defined(ENCODER_ENABLE) - -#define ENCODERS 1 -static uint8_t encoder_state[ENCODERS] = {0}; -static keypos_t encoder_cw[ENCODERS] = {{ 8, 5 }}; -static keypos_t encoder_ccw[ENCODERS] = {{ 7, 5 }}; - -void encoder_action_unregister(void) { - for (int index = 0; index < ENCODERS; ++index) { - if (encoder_state[index]) { - keyevent_t encoder_event = (keyevent_t) { - .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], - .pressed = false, - .time = (timer_read() | 1) - }; - encoder_state[index] = 0; - action_exec(encoder_event); - } - } -} - -void encoder_action_register(uint8_t index, bool clockwise) { - keyevent_t encoder_event = (keyevent_t) { - .key = clockwise ? encoder_cw[index] : encoder_ccw[index], - .pressed = true, - .time = (timer_read() | 1) - }; - encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); - action_exec(encoder_event); -} - -bool encoder_update_user(uint8_t index, bool clockwise) { - encoder_action_register(index, clockwise); - return false; -}; - -#endif - -void matrix_scan_user(void) { - if (siri) { - if (timer_elapsed(prev) >= 500) { - siri = false; - unregister_code(KC_LCMD); - unregister_code(KC_SPACE); - } - } -#if defined(VIA_ENABLE) && defined(ENCODER_ENABLE) - encoder_action_unregister(); -#endif -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_MISSION_CONTROL: - if (record->event.pressed) { - host_consumer_send(0x29F); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LAUNCHPAD: - if (record->event.pressed) { - host_consumer_send(0x2A0); - } else { - host_consumer_send(0); - } - return false; // Skip all further processing of this key - case KC_LOPTN: - case KC_ROPTN: - case KC_LCMMD: - case KC_RCMMD: - if (record->event.pressed) { - register_code(mac_keycode[keycode - KC_LOPTN]); - } else { - unregister_code(mac_keycode[keycode - KC_LOPTN]); - } - return false; // Skip all further processing of this key - case KC_SIRI: - if (record->event.pressed) { - register_code(KC_LCMD); - register_code(KC_SPACE); - prev = timer_read() | 1; - siri = true; - } else { - // Do something else when release - } - return false; // Skip all further processing of this key - case KC_TASK: - case KC_FLXP: - case KC_SNAP: - case KC_CRTA: - if (record->event.pressed) { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - register_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } else { - for (uint8_t i = 0; i < key_comb_list[keycode - KC_TASK].len; i++) { - unregister_code(key_comb_list[keycode - KC_TASK].keycode[i]); - } - } - return false; // Skip all further processing of this key - default: - return true; // Process all other keycodes normally - } -} diff --git a/keyboards/keychron/q3/rev_0123/keymaps/via/rules.mk b/keyboards/keychron/q3/rev_0123/keymaps/via/rules.mk deleted file mode 100644 index 1e5b99807cb7..000000000000 --- a/keyboards/keychron/q3/rev_0123/keymaps/via/rules.mk +++ /dev/null @@ -1 +0,0 @@ -VIA_ENABLE = yes diff --git a/keyboards/keychron/q3/rev_0123/readme.md b/keyboards/keychron/q3/rev_0123/readme.md deleted file mode 100644 index fe903e689da8..000000000000 --- a/keyboards/keychron/q3/rev_0123/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# The ISO variant of the Keychron Q3 - -- Enable EC11 rotary encoder. -- Turn colckwise to increase volume and turn anti-colckwise to decrease volume. -- Press top right key pushbutton to mute. diff --git a/keyboards/keychron/q3/rev_0123/rev_0123.c b/keyboards/keychron/q3/rev_0123/rev_0123.c deleted file mode 100644 index b1094d4006cb..000000000000 --- a/keyboards/keychron/q3/rev_0123/rev_0123.c +++ /dev/null @@ -1,171 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE - -const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = { -/* Refer to IS31 manual for these locations - * driver - * | R location - * | | G location - * | | | B location - * | | | | */ - {0, I_1, G_1, H_1}, - {0, I_2, G_2, H_2}, - {0, I_3, G_3, H_3}, - {0, I_4, G_4, H_4}, - {0, I_5, G_5, H_5}, - {0, I_6, G_6, H_6}, - {0, I_7, G_7, H_7}, - {0, I_8, G_8, H_8}, - {0, I_9, G_9, H_9}, - {0, I_10, G_10, H_10}, - {0, I_11, G_11, H_11}, - {0, I_12, G_12, H_12}, - {0, I_13, G_13, H_13}, - {0, I_15, G_15, H_15}, - {0, I_16, G_16, H_16}, - {1, I_15, G_15, H_15}, - - {0, C_1, A_1, B_1}, - {0, C_2, A_2, B_2}, - {0, C_3, A_3, B_3}, - {0, C_4, A_4, B_4}, - {0, C_5, A_5, B_5}, - {0, C_6, A_6, B_6}, - {0, C_7, A_7, B_7}, - {0, C_8, A_8, B_8}, - {0, C_9, A_9, B_9}, - {0, C_10, A_10, B_10}, - {0, C_11, A_11, B_11}, - {0, C_12, A_12, B_12}, - {0, C_13, A_13, B_13}, - {0, C_14, A_14, B_14}, - {0, C_15, A_15, B_15}, - {0, C_16, A_16, B_16}, - {1, I_16, G_16, H_16}, - - {0, F_1, D_1, E_1}, - {0, F_2, D_2, E_2}, - {0, F_3, D_3, E_3}, - {0, F_4, D_4, E_4}, - {0, F_5, D_5, E_5}, - {0, F_6, D_6, E_6}, - {0, F_7, D_7, E_7}, - {0, F_8, D_8, E_8}, - {0, F_9, D_9, E_9}, - {0, F_10, D_10, E_10}, - {0, F_11, D_11, E_11}, - {0, F_12, D_12, E_12}, - {0, F_13, D_13, E_13}, - {0, F_15, D_15, E_15}, - {0, F_16, D_16, E_16}, - {1, I_13, G_13, H_13}, - - {1, I_1, G_1, H_1}, - {1, I_2, G_2, H_2}, - {1, I_3, G_3, H_3}, - {1, I_4, G_4, H_4}, - {1, I_5, G_5, H_5}, - {1, I_6, G_6, H_6}, - {1, I_7, G_7, H_7}, - {1, I_8, G_8, H_8}, - {1, I_9, G_9, H_9}, - {1, I_10, G_10, H_10}, - {1, I_11, G_11, H_11}, - {1, I_12, G_12, H_12}, - {1, I_14, G_14, H_14}, - {0, F_14, D_14, E_14}, - - {1, C_1, A_1, B_1}, - {1, C_2, A_2, B_2}, - {1, C_3, A_3, B_3}, - {1, C_4, A_4, B_4}, - {1, C_5, A_5, B_5}, - {1, C_6, A_6, B_6}, - {1, C_7, A_7, B_7}, - {1, C_8, A_8, B_8}, - {1, C_9, A_9, B_9}, - {1, C_10, A_10, B_10}, - {1, C_11, A_11, B_11}, - {1, C_12, A_12, B_12}, - {1, C_14, A_14, B_14}, - {1, C_16, A_16, B_16}, - - {1, F_1, D_1, E_1}, - {1, F_2, D_2, E_2}, - {1, F_3, D_3, E_3}, - {1, F_7, D_7, E_7}, - {1, F_11, D_11, E_11}, - {1, F_12, D_12, E_12}, - {1, F_13, D_13, E_13}, - {1, F_14, D_14, E_14}, - {1, F_15, D_15, E_15}, - {1, F_16, D_16, E_16}, - {1, C_15, A_15, B_15}, -}; - -#define __ NO_LED - -led_config_t g_led_config = { - { - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, __, 13, 14 }, - { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }, - { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 62, 46, 47 }, - { 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 48, 61, 15, 32 }, - { 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, __, 75, 87, 76 }, - { 77, 78, 79, __, __, __, 80, __, __, __, 81, 82, 83, 84, 85, 86 }, - }, - { - // LED Index to Physical Position - {0,0}, {16,0}, {29,0}, {42,0}, {55,0}, {71,0}, {84,0}, {97,0}, {110,0}, {126,0}, {139,0}, {152,0}, {165,0}, {198,0}, {211,0}, {224,0}, - {0,15}, {13,15}, {26,15}, {39,15}, {52,15}, {65,15}, {78,15}, {91,15}, {104,15}, {117,15}, {130,15}, {143,15}, {156,15}, {176,15}, {198,15}, {211,15}, {224,15}, - {3,28}, {19,28}, {32,28}, {45,28}, {59,28}, {72,28}, {85,28}, {98,28}, {111,28}, {124,28}, {137,28}, {150,28}, {163,28}, {198,28}, {211,28}, {224,28}, - {5,40}, {23,40}, {36,40}, {49,40}, {62,40}, {75,40}, {88,40}, {101,40}, {114,40}, {127,40}, {140,40}, {153,40}, {166,40}, {183,36}, - {2,52}, {16,52}, {29,52}, {42,52}, {55,52}, {68,52}, {81,52}, {94,52}, {107,52}, {120,52}, {133,52}, {146,52}, {171,52}, {211,52}, - {2,64}, {18,64}, {34,64}, {83,64}, {131,64}, {148,64}, {164,64}, {180,64}, {198,64}, {211,64}, {224,64}, - }, - { - // RGB LED Index to Flag - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, - 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, - } -}; - -#endif - -#ifdef ENCODER_ENABLE - -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { return false; } - if (index == 0) { - if (clockwise) { - tap_code_delay(KC_VOLU, TAP_CODE_DELAY); - } else { - tap_code_delay(KC_VOLD, TAP_CODE_DELAY); - } - } - return true; -} - -#endif diff --git a/keyboards/keychron/q3/rev_0123/rev_0123.h b/keyboards/keychron/q3/rev_0123/rev_0123.h deleted file mode 100644 index 54f6aa2188a0..000000000000 --- a/keyboards/keychron/q3/rev_0123/rev_0123.h +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright 2021 @ Keychron (https://www.keychron.com) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#include "quantum.h" - -#define XXX KC_NO - -#define LAYOUT_iso_88( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K3E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K3F, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K3C, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K2D, \ - K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ - K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K4E \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ - { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ - { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F } \ -} -#define LAYOUT_all( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K57, K0D, K58, K0E, K0F, K3E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K3F, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K3C, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K2D, \ - K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ - K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K4E \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ - { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ - { K50, K51, K52, XXX, XXX, XXX, K56, K57, K58, XXX, K5A, K5B, K5C, K5D, K5E, K5F } \ -} diff --git a/keyboards/keychron/q3/rev_0123/rules.mk b/keyboards/keychron/q3/rev_0123/rules.mk deleted file mode 100644 index 2c3e6b177e4c..000000000000 --- a/keyboards/keychron/q3/rev_0123/rules.mk +++ /dev/null @@ -1,31 +0,0 @@ -# MCU name -MCU = STM32L433 - -# Bootloader selection -BOOTLOADER = stm32-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # 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 = yes # Enable USB N-key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = yes # Enable Encoder -DIP_SWITCH_ENABLE = yes -RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = CKLED2001 -EEPROM_DRIVER = transient - -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - -# custom matrix setup -CUSTOM_MATRIX = lite - -SRC += matrix.c