From 07fc37541d80a4eaad7ce0b14d780d24c9f8090b Mon Sep 17 00:00:00 2001 From: "keyquest.tech" <109129639+keyquesttech@users.noreply.github.com> Date: Sat, 6 Aug 2022 01:30:05 -0500 Subject: [PATCH] Added support for keyquest keyboards (#17667) Co-authored-by: Mathiaszmrga --- keyboards/keyquest/enclave/config.h | 53 +++++++++++++++++++ keyboards/keyquest/enclave/info.json | 27 ++++++++++ .../keyquest/enclave/keymaps/default/keymap.c | 51 ++++++++++++++++++ .../keyquest/enclave/keymaps/via/keymap.c | 50 +++++++++++++++++ .../keyquest/enclave/keymaps/via/rules.mk | 1 + keyboards/keyquest/enclave/readme.md | 16 ++++++ keyboards/keyquest/enclave/rules.mk | 19 +++++++ keyboards/keyquest/readme.md | 4 ++ 8 files changed, 221 insertions(+) create mode 100644 keyboards/keyquest/enclave/config.h create mode 100644 keyboards/keyquest/enclave/info.json create mode 100644 keyboards/keyquest/enclave/keymaps/default/keymap.c create mode 100644 keyboards/keyquest/enclave/keymaps/via/keymap.c create mode 100644 keyboards/keyquest/enclave/keymaps/via/rules.mk create mode 100644 keyboards/keyquest/enclave/readme.md create mode 100644 keyboards/keyquest/enclave/rules.mk create mode 100644 keyboards/keyquest/readme.md diff --git a/keyboards/keyquest/enclave/config.h b/keyboards/keyquest/enclave/config.h new file mode 100644 index 00000000000..931386a775c --- /dev/null +++ b/keyboards/keyquest/enclave/config.h @@ -0,0 +1,53 @@ +/* Copyright 2021 keyquest +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 + +/* key matrix size */ +#define MATRIX_ROWS 3 +#define MATRIX_COLS 3 + +/* Keyboard Matrix Assignments*/ +#define MATRIX_ROW_PINS { D6, B6, F5 } +#define MATRIX_COL_PINS { B4, B7, C7 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* RGB light setup*/ +#define RGB_DI_PIN B5 +#define RGBLED_NUM 2 +#define RGBLIGHT_SLEEP +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 +#define RGBLIGHT_LIMIT_VAL 200 + +/* RGB light animations*/ +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST diff --git a/keyboards/keyquest/enclave/info.json b/keyboards/keyquest/enclave/info.json new file mode 100644 index 00000000000..da42594e709 --- /dev/null +++ b/keyboards/keyquest/enclave/info.json @@ -0,0 +1,27 @@ +{ + "manufacturer": "keyquest", + "keyboard_name": "Enclave-1", + "maintainer": "the keyquest team", + "usb": { + "vid": "0x1117", + "pid": "0x0E0E", + "device_version": "0.0.1" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + + { "matrix": [1, 0], "x": 0, "y": 1 }, + { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 2], "x": 2, "y": 1 }, + + { "matrix": [2, 0], "x": 0, "y": 2 }, + { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 2], "x": 2, "y": 2 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/keyquest/enclave/keymaps/default/keymap.c b/keyboards/keyquest/enclave/keymaps/default/keymap.c new file mode 100644 index 00000000000..d1008fac112 --- /dev/null +++ b/keyboards/keyquest/enclave/keymaps/default/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2021 keyquest +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 + +/* what each layer does */ +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * M = Macro + * ┌────┬────┬────┐ + * │ M1 │ M2 │ M3 │ + * ├────┼────┼────┤ + * │ M4 │ M5 │ M6 │ + * ├────┼────┼────┤ + * │ M7 │ M8 │ M9 │ + * └────┴────┴────┘ + */ + [0] = LAYOUT( + KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, + C(KC_C), C(KC_V), G(KC_V), + KC_AUDIO_VOL_UP, KC_AUDIO_VOL_DOWN, MO(1) + ), + + [1] = LAYOUT( + _______, _______, _______, + _______, _______, _______, + _______, MO(2), _______ + ), + + [2] = LAYOUT( + _______, _______, _______, + _______, _______, _______, + MO(3), _______, _______ + ), + + [3] = LAYOUT( + RGB_TOG, RGB_MODE_PLAIN, RGB_MODE_BREATHE, + RGB_MODE_RAINBOW, RGB_MODE_SWIRL, RGB_MODE_GRADIENT, + _______, _______, _______ + ) +}; diff --git a/keyboards/keyquest/enclave/keymaps/via/keymap.c b/keyboards/keyquest/enclave/keymaps/via/keymap.c new file mode 100644 index 00000000000..766fbdc3410 --- /dev/null +++ b/keyboards/keyquest/enclave/keymaps/via/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2021 keyquest +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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * M = Macro + * ┌────┬────┬────┐ + * │ M1 │ M2 │ M3 │ + * ├────┼────┼────┤ + * │ M4 │ M5 │ M6 │ + * ├────┼────┼────┤ + * │ M7 │ M8 │ M9 │ + * └────┴────┴────┘ + */ + [0] = LAYOUT( + KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, + KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, + _______, _______, _______ + ), + + [1] = LAYOUT( + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), + + [2] = LAYOUT( + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), + + [3] = LAYOUT( + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ) +}; diff --git a/keyboards/keyquest/enclave/keymaps/via/rules.mk b/keyboards/keyquest/enclave/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/keyquest/enclave/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/keyquest/enclave/readme.md b/keyboards/keyquest/enclave/readme.md new file mode 100644 index 00000000000..71d955e7a4b --- /dev/null +++ b/keyboards/keyquest/enclave/readme.md @@ -0,0 +1,16 @@ +# Enclave-1 + +![ok](https://i.imgur.com/67HZEJBh.jpg) + +Enclave 1 is a fully programmable 9-key macropad + usb hub ideal for those constantly on the move that need to adapt to any situation. Besides being a full-fledged macropad, it can also be used as the main hub for all your other devices such as keyboards, dongles, drives, etc. + +* Keyboard Maintainer: [KeyQuest](https://github.com/KeyQuest) + +Compile example for this keyboard (after setting up your build environment): + + make keyquest/enclave:default + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. +* **Physical reset button**: Briefly press the button on the back of the PCB. diff --git a/keyboards/keyquest/enclave/rules.mk b/keyboards/keyquest/enclave/rules.mk new file mode 100644 index 00000000000..0730fa9d7ea --- /dev/null +++ b/keyboards/keyquest/enclave/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-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 N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/keyquest/readme.md b/keyboards/keyquest/readme.md new file mode 100644 index 00000000000..39939eea377 --- /dev/null +++ b/keyboards/keyquest/readme.md @@ -0,0 +1,4 @@ +![](https://i.imgur.com/Z7J7H8F.png) + + +[instagram](https://www.instagram.com/keyquest.tech/)