From d226b651f37b5f7305b063ff7d5430880a79a165 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Fri, 16 Feb 2024 21:05:25 +0530 Subject: [PATCH 01/66] Protokeeb v1.0 QMK Firmware --- keyboards/protokeeb/keymaps/debug/keymap.c | 21 +++ keyboards/protokeeb/keymaps/default/keymap.c | 39 +++++ keyboards/protokeeb/keymaps/via/config.h | 19 +++ keyboards/protokeeb/keymaps/via/rules.mk | 4 + keyboards/protokeeb/rev1/config.h | 145 +++++++++++++++++++ keyboards/protokeeb/rev1/halconf.h | 29 ++++ keyboards/protokeeb/rev1/info.json | 43 ++++++ keyboards/protokeeb/rev1/mcuconf.h | 36 +++++ keyboards/protokeeb/rev1/readme.md | 40 +++++ keyboards/protokeeb/rev1/rev1.c | 17 +++ keyboards/protokeeb/rev1/rev1.h | 32 ++++ keyboards/protokeeb/rev1/rules.mk | 75 ++++++++++ 12 files changed, 500 insertions(+) create mode 100644 keyboards/protokeeb/keymaps/debug/keymap.c create mode 100644 keyboards/protokeeb/keymaps/default/keymap.c create mode 100644 keyboards/protokeeb/keymaps/via/config.h create mode 100644 keyboards/protokeeb/keymaps/via/rules.mk create mode 100644 keyboards/protokeeb/rev1/config.h create mode 100644 keyboards/protokeeb/rev1/halconf.h create mode 100644 keyboards/protokeeb/rev1/info.json create mode 100644 keyboards/protokeeb/rev1/mcuconf.h create mode 100644 keyboards/protokeeb/rev1/readme.md create mode 100644 keyboards/protokeeb/rev1/rev1.c create mode 100644 keyboards/protokeeb/rev1/rev1.h create mode 100644 keyboards/protokeeb/rev1/rules.mk diff --git a/keyboards/protokeeb/keymaps/debug/keymap.c b/keyboards/protokeeb/keymaps/debug/keymap.c new file mode 100644 index 00000000000..efd4528eb7b --- /dev/null +++ b/keyboards/protokeeb/keymaps/debug/keymap.c @@ -0,0 +1,21 @@ +/* Protokeeb Copyright 2024 A-Tech Officials + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. + * If not, see . + */ + +/* Protokeeb v1.0 + * Keymap: Debug Mode + */ + +#include QMK_KEYBOARD_H diff --git a/keyboards/protokeeb/keymaps/default/keymap.c b/keyboards/protokeeb/keymaps/default/keymap.c new file mode 100644 index 00000000000..dbc2e71f074 --- /dev/null +++ b/keyboards/protokeeb/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Protokeeb Copyright 2024 A-Tech Officials + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. + * If not, see . + */ + +/* Protokeeb v1.0 + * Keymap: Default + */ + +#include QMK_KEYBOARD_H +#include "os_detection.h" +#include "quantum.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( /* Base */ + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, + KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, + KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, + MO(1), KC_KP_0, KC_KP_PLUS, KC_KP_ENTER + ), + + [1] = LAYOUT( /* RGB Control */ + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, + RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, + RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, + KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT + ), +}; diff --git a/keyboards/protokeeb/keymaps/via/config.h b/keyboards/protokeeb/keymaps/via/config.h new file mode 100644 index 00000000000..6c8d30f4959 --- /dev/null +++ b/keyboards/protokeeb/keymaps/via/config.h @@ -0,0 +1,19 @@ +/* Protokeeb Copyright 2024 A-Tech Officials + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. + * If not, see . + */ + +#pragma once +#define DYNAMIC_KEYMAP_LAYER_COUNT 2 +// #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 1 // default value \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/via/rules.mk b/keyboards/protokeeb/keymaps/via/rules.mk new file mode 100644 index 00000000000..efb2c7a4d46 --- /dev/null +++ b/keyboards/protokeeb/keymaps/via/rules.mk @@ -0,0 +1,4 @@ +# Build Options Protokeeb rev1 +# Change yes to no to diable features + +VIA_ENABLE = yes diff --git a/keyboards/protokeeb/rev1/config.h b/keyboards/protokeeb/rev1/config.h new file mode 100644 index 00000000000..d6433f59423 --- /dev/null +++ b/keyboards/protokeeb/rev1/config.h @@ -0,0 +1,145 @@ +/* Protokeeb Copyright 2024 A-Tech Officials + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. + * If not, see . + */ + +#pragma once + +/* +#define VENDOR_ID 0x419A +#define PRODUCT_ID 0x1717 +#define DEVICE_VERSION 0x0100 +#define MANUFACTURER "A-Tech Officials" +#define PRODUCT "Protokeeb" +*/ + +#define MATRIX_ROWS 4 +#define MATRIX_COLS 4 + +#define MATRIX_ROW_PINS \ + { GP2, GP3, GP4, GP5 } + +#define MATRIX_COL_PINS \ + { GP6, GP7, GP8, GP9 } + +#define DIODE_DIRECTION COL2ROW + +//#define DEBOUNCE 20 + +#ifdef RGBLIGHT_ENABLE +/* ARGB LED Data-In Pin */ +#define RGB_DI_PIN GP10 + +/* ARGB LED Byte order */ +#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB // for WS2812 +//#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB // for WS2812B-2020 + +/* Total number of ARGB LEDs connected */ +#define RGBLED_NUM 16 + +/* Total number of ARGB LEDs in Matrix */ +//#define RGB_MATRIX_LED_COUNT 16 + +/* Peripheral used */ +#define WS2812_PIO_USE_PIO1 + +#define RGBLIGHT_HUE_STEP 15 +#define RGBLIGHT_SAT_STEP 15 +#define RGBLIGHT_VAL_STEP 15 + +/* ARGB LED T-reset period between frames */ +//#define WS2812_TRST_US 280 + +/* The maximum ARGB LED brightness level */ +#define RGBLIGHT_LIMIT_VAL 127 + +/* RGB LEDs Default/Fallback Values */ +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT +#define RGBLIGHT_DEFAULT_HUE 0 +#define RGBLIGHT_DEFAULT_SAT 255 +#define RGBLIGHT_DEFAULT_VAL 50 +#define RGBLIGHT_DEFAULT_SPD 0 + +/* If defined, the RGB lighting will be switched off when the host goes to sleep */ +#define RGBLIGHT_SLEEP + +/* RGB lighting effects and animations Enable */ +#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 + +/* RGB lighting effects and animations settings */ +#define RGBLIGHT_EFFECT_BREATHE_MAX RGBLIGHT_LIMIT_VAL +#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 40 +#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 2 +#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM RGBLED_NUM +#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 +#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 0 +#define RGBLIGHT_EFFECT_SWIRL_RANGE 255 +#define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 +#define RGBLIGHT_EFFECT_TWINKLE_LIFE 200 +#define RGBLIGHT_EFFECT_TWINKLE_PROBABILITY 1/127 + +#endif + +/* Tap Dance timing */ +#define TAPPING_TERM 200 + +/* I2C Interface configuration */ +#define I2C_DRIVER I2CD0 +#define I2C_SCL_PIN GP21 +#define I2C_SCL_PAL_MODE 4 +#define I2C_SDA_PIN GP20 +#define I2C_SDA_PAL_MODE 4 + +/* SPI Interface configuration */ +#define SPI_DRIVER SPID0 +#define SPI_SCK_PIN GP18 +//#define SPI_SCK_PAL_MODE 5 +#define SPI_MOSI_PIN GP19 +//#define SPI_MOSI_PAL_MODE 5 +#define SPI_MISO_PIN GP20 +//#define SPI_MISO_PAL_MODE 5 + +/* Bootloader Enter Button + * Press and hold when pluging the keyboard + * to enter the bootloader for flashing + */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + +/* Double tap reset bootloader entry */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET + +/* Bootloader timeout window in milli-seconds */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U + +/* LED to blink when entering bootloader mode */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 + +/* RP2040 External SPI Flash Type */ +//#define RP2040_FLASH_GENERIC_03H + +/* Mechanical lcoking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/protokeeb/rev1/halconf.h b/keyboards/protokeeb/rev1/halconf.h new file mode 100644 index 00000000000..db4d310a7bf --- /dev/null +++ b/keyboards/protokeeb/rev1/halconf.h @@ -0,0 +1,29 @@ +/* Protokeeb Copyright 2024 A-Tech Officials + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. + * If not, see . + */ + +#pragma once + +/* Enable RP2040 I2C Interface */ +#undef HAL_USE_I2C +#define HAL_USE_I2C TRUE + +/* Enable RP2040 SPI Interface */ +#undef HAL_USE_SPI +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/protokeeb/rev1/info.json b/keyboards/protokeeb/rev1/info.json new file mode 100644 index 00000000000..cd482a0ceba --- /dev/null +++ b/keyboards/protokeeb/rev1/info.json @@ -0,0 +1,43 @@ +{ + "keyboard_name": "Protokeeb", + "manufacturer": "A-Tech Officials", + "url": "https://atechofficials.com/protokeeb", + "maintainer": "A-Tech Officials", + "usb": { + "vid": "0x419A", + "pid": "0x1717", + "device_version": "1.0.0" + }, + "encoder": { + "rotary": [{ "pin_a": "GP12", "pin_b": "GP13" }] + }, + "processor": "RP2040", + "development_board": "promicro_rp2040", + "bootloader": "rp2040", + "debounce": 20, + "bootmagic": { + "matrix": [0, 0] + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "7", "x": 0, "y": 0 }, + { "label": "8", "x": 1, "y": 1 }, + { "label": "9", "x": 2, "y": 2 }, + { "label": "/", "x": 3, "y": 3 }, + { "label": "4", "x": 0, "y": 0 }, + { "label": "5", "x": 1, "y": 1 }, + { "label": "6", "x": 2, "y": 2 }, + { "label": "*", "x": 3, "y": 3 }, + { "label": "1", "x": 0, "y": 0 }, + { "label": "2", "x": 1, "y": 1 }, + { "label": "3", "x": 2, "y": 2 }, + { "label": "-", "x": 3, "y": 3 }, + { "label": "MO(1)", "x": 0, "y": 0 }, + { "label": "0", "x": 1, "y": 1 }, + { "label": "+", "x": 2, "y": 2 }, + { "label": "N.ENT", "x": 3, "y": 3 } + ] + } + } +} diff --git a/keyboards/protokeeb/rev1/mcuconf.h b/keyboards/protokeeb/rev1/mcuconf.h new file mode 100644 index 00000000000..825891bb892 --- /dev/null +++ b/keyboards/protokeeb/rev1/mcuconf.h @@ -0,0 +1,36 @@ +/* Protokeeb Copyright 2024 A-Tech Officials + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. + * If not, see . + */ + +#pragma once + +#include_next + +/* RP2040 I2C Driver Selection */ +#undef RP_I2C_USE_I2C0 +#define RP_I2C_USE_I2C0 TRUE + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 FALSE + +//#define RP_I2C_BUSY_TIMEOUT 50 +//#define RP_I2C_USE_DMA TRUE + +/* RP2040 SPI Driver Selection */ +#undef RP_SPI_USE_SPI0 +#define RP_SPI_USE_SPI0 TRUE + +#undef RP_SPI_USE_SPI1 +#define RP_SPI_USE_SPI1 FALSE diff --git a/keyboards/protokeeb/rev1/readme.md b/keyboards/protokeeb/rev1/readme.md new file mode 100644 index 00000000000..3d80762676b --- /dev/null +++ b/keyboards/protokeeb/rev1/readme.md @@ -0,0 +1,40 @@ +# Protokeeb + +![Protokeeb]() + +A 16-key (4 x 4) Numpad/Macropad/Midi device designed by A-Tech Officials for easily getting started in the field of custom keyboards. +Learn, build, modify easily as the Protokeeb is an open-source hardware project. +The PCB is based on a Raspberry Pi Pico development board. +Designed for developers and enthusiasts who wants to begin their journey in custom keyboards and keyboard firmware. +Per key south facing ARGB LED and much more. +For more info visit https://atechofficials.com/protokeeb. + +- Keyboard Maintainer: [A-Tech Officials](https://github.com/atechofficials) +- Hardware Supported: Protokeeb Keyboard PCB v1.x, Raspberry Pi Pico, Raspberry Pi Pico W, Waveshare RP2040-Plus +- Hardware Availability: [atechofficials.com](https://atechofficials.com) + +![Protokeeb Layout Image]() + +# Default Protokeeb Layout + +This is the default layout that comes flashed on every Protokeeb. +The deafult layout consists of 2 layers. +1st layer for the 16-key numpad, excluding the NUM LOCK key. +2nd layer for RGB led and keyboard boot options. + +Make example of this keyboard (after setting up your build environment): + + make protokeeb:default + +Flashing example for this keyboard: + + make protokeeb:default:flash + +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). + +## Bootloader + +Enter the bootloader in 2 ways: + +- **Physical pcb buttons**: Briefly press and hold both the left and right (Bootsel and Reset) tactile push button located on the top left side of the Protokeeb, then keep holding the left (Bootsel) push button and release/let go the right (Reset) push button and then after 3-5 seconds also release/let go the left (Bootsel) push button to enter the bootloader mode. +- **Keycode in layout**: Press and hold the FN Key (row-4, column-1) then press the key mapped to `QK_BOOT` i.e ENTER Key (row-4, column-4) to enter the bootloader mode. diff --git a/keyboards/protokeeb/rev1/rev1.c b/keyboards/protokeeb/rev1/rev1.c new file mode 100644 index 00000000000..f0eb172cde0 --- /dev/null +++ b/keyboards/protokeeb/rev1/rev1.c @@ -0,0 +1,17 @@ +/* Protokeeb Copyright 2024 A-Tech Officials + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. + * If not, see . + */ + +#include "rev1.h" \ No newline at end of file diff --git a/keyboards/protokeeb/rev1/rev1.h b/keyboards/protokeeb/rev1/rev1.h new file mode 100644 index 00000000000..3086041d743 --- /dev/null +++ b/keyboards/protokeeb/rev1/rev1.h @@ -0,0 +1,32 @@ +/* Protokeeb Copyright 2024 A-Tech Officials + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. + * If not, see . + */ + +#pragma once + +#include "quantum.h" +#define ____ KC_NO + +#define LAYOUT( \ + k00, k01, k02, k03, \ + k10, k11, k12, k13, \ + k20, k21, k22, k23, \ + k30, k31, k32, k33 \ +) { \ + { k00, k01, k02, k03, }, \ + { k10, k11, k12, k13, }, \ + { k20, k21, k22, k23, }, \ + { k30, k31, k32, k33, } \ +} diff --git a/keyboards/protokeeb/rev1/rules.mk b/keyboards/protokeeb/rev1/rules.mk new file mode 100644 index 00000000000..38b4fe848a4 --- /dev/null +++ b/keyboards/protokeeb/rev1/rules.mk @@ -0,0 +1,75 @@ +# Build Options +# Change yes to no to diable features + +# Default keyboard folder +DEFAULT_FOLDER = protokeeb/rev1 + +# Custom scanning of matrix +#CUSTOM_MATRIX = lite + +# SPI Flash driver +#FLASH_DRIVER = spi + +# EEPROM driver +#EEPROM_DRIVER = spi +#EEPROM_DRIVER = wear_leveling +#WEAR_LEVELING_DRIVER = spi_flash + +# OS detection +OS_DETECTION_ENABLE = yes + +# Enable Bootmagic Lite +BOOTMAGIC_ENABLE = yes + +# Development Board used +#BOARD = GENERIC_RP_RP2040 + +# Bootlader Selection +BOOTLOADER = rp2040 + +# Debounce Method +#DEBOUNCE_TYPE = sym_defer_g # Default Method + +# Mouse keys +MOUSEKEY_ENABLE = no + +# Audio Control and System Control keys +EXTRAKEY_ENABLE = yes + +# Console for keyboard debug +CONSOLE_ENABLE = no + +# Commands for debug and configuration +COMMAND_ENABLE = no + +# Enable N-Key Rollover +NKRO_ENABLE = yes + +# Enable keyboard RGB underglow +RGBLIGHT_ENABLE = yes + +# Enable RGB LED Matrix +#RGB_MATRIX_ENABLE = yes +#RGB_MATRIX_DRIVER = WS2812 + +# ARGB LED Driver used +WS2812_DRIVER = vendor # For RP2040 MCU + +# Enable Audio output +AUDIO_ENABLE = no + +# Refer: USB Endpoint Limitations +KEYBOARD_SHARED_EP = yes +MOUSE_SHARED_EP = no + +# Rotary Encoder support +ENCODER_ENABLE = no + +# MIDI Enable +MIDI_ENABLE = no + +# OLED Enable +OLED_ENABLE = no + +# OLED Display Driver +OLED_DRIVER = SSD1306 From 0fc220b8ee7674445c6a4771b4d29e44efee0a8f Mon Sep 17 00:00:00 2001 From: atechofficials Date: Sat, 20 Apr 2024 00:37:20 +0530 Subject: [PATCH 02/66] Protokeeb Rev1 QMK Firmware --- keyboards/protokeeb/info.json | 11 + keyboards/protokeeb/keymaps/debug/rules.mk | 8 + keyboards/protokeeb/keymaps/default/keymap.c | 29 +- keyboards/protokeeb/keymaps/midi/config.h | 17 ++ keyboards/protokeeb/keymaps/midi/keymap.c | 53 ++++ keyboards/protokeeb/keymaps/midi/rules.mk | 4 + keyboards/protokeeb/keymaps/via/keymap.c | 18 ++ keyboards/protokeeb/rev1/config.h | 109 +++++--- keyboards/protokeeb/rev1/halconf.h | 9 +- keyboards/protokeeb/rev1/info.json | 263 +++++++++++++++++-- keyboards/protokeeb/rev1/mcuconf.h | 4 +- keyboards/protokeeb/rev1/readme.md | 7 +- keyboards/protokeeb/rev1/rev1.c | 25 +- keyboards/protokeeb/rev1/rev1.h | 4 +- keyboards/protokeeb/rev1/rules.mk | 66 +---- keyboards/protokeeb/rules.mk | 49 ++++ 16 files changed, 542 insertions(+), 134 deletions(-) create mode 100644 keyboards/protokeeb/info.json create mode 100644 keyboards/protokeeb/keymaps/debug/rules.mk create mode 100644 keyboards/protokeeb/keymaps/midi/config.h create mode 100644 keyboards/protokeeb/keymaps/midi/keymap.c create mode 100644 keyboards/protokeeb/keymaps/midi/rules.mk create mode 100644 keyboards/protokeeb/keymaps/via/keymap.c create mode 100644 keyboards/protokeeb/rules.mk diff --git a/keyboards/protokeeb/info.json b/keyboards/protokeeb/info.json new file mode 100644 index 00000000000..9c9c9636f4d --- /dev/null +++ b/keyboards/protokeeb/info.json @@ -0,0 +1,11 @@ +{ + "keyboard_name": "Protokeeb", + "manufacturer": "A-Tech Officials", + "maintainer": "atechofficials", + "url": "https://github.com/atechofficials/protokeeb", + "bootloader_instructions": "Press and hold the FN Key (row-4, column-1) then press the key mapped to `QK_BOOT` i.e ENTER Key (row-4, column-4) to enter the bootloader mode.", + "tags": ["rgb", "4x4"], + "usb": { + "vid": "0x419A" + } +} diff --git a/keyboards/protokeeb/keymaps/debug/rules.mk b/keyboards/protokeeb/keymaps/debug/rules.mk new file mode 100644 index 00000000000..bdcd12d8061 --- /dev/null +++ b/keyboards/protokeeb/keymaps/debug/rules.mk @@ -0,0 +1,8 @@ +# Build Options +# Change yes to no to diable feature + +# Console for keyboard debug +CONSOLE_ENABLE = yes + +# Commands for debug and configuration +COMMAND_ENABLE = yes \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/default/keymap.c b/keyboards/protokeeb/keymaps/default/keymap.c index dbc2e71f074..ac6028a8838 100644 --- a/keyboards/protokeeb/keymaps/default/keymap.c +++ b/keyboards/protokeeb/keymaps/default/keymap.c @@ -22,18 +22,41 @@ #include "os_detection.h" #include "quantum.h" +enum protokeeb_keymap_layers { + LAYER_BASE = 0, + LAYER_LOWER = 1, +}; + +#define LOWER MO(LAYER_LOWER) + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( /* Base */ + [LAYER_BASE] = LAYOUT( /* Base */ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, - MO(1), KC_KP_0, KC_KP_PLUS, KC_KP_ENTER + LOWER, KC_KP_0, KC_KP_PLUS, KC_KP_ENTER ), - [1] = LAYOUT( /* RGB Control */ + [LAYER_LOWER] = LAYOUT( /* RGB Control */ RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT ), }; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, +}; +#endif + +/* +#if defined(DIP_SWITCH_MAP_ENABLE) +const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = { + DIP_SWITCH_OFF_ON(DF(0), DF(1)), + DIP_SWITCH_OFF_ON(KC_MUTE, KC_MUTE) +}; +#endif +*/ \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/midi/config.h b/keyboards/protokeeb/keymaps/midi/config.h new file mode 100644 index 00000000000..f8cd21b9d2f --- /dev/null +++ b/keyboards/protokeeb/keymaps/midi/config.h @@ -0,0 +1,17 @@ +/* Protokeeb Copyright 2024 A-Tech Officials + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. + * If not, see . + */ + +#define MIDI_ADVANCED diff --git a/keyboards/protokeeb/keymaps/midi/keymap.c b/keyboards/protokeeb/keymaps/midi/keymap.c new file mode 100644 index 00000000000..4175d1c8566 --- /dev/null +++ b/keyboards/protokeeb/keymaps/midi/keymap.c @@ -0,0 +1,53 @@ +/* Protokeeb Copyright 2024 A-Tech Officials + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. + * If not, see . + */ + +/* Protokeeb v1.0 + * Keymap: MIDI + */ + +#include QMK_KEYBOARD_H +#include "os_detection.h" +#include "quantum.h" + +enum protokeeb_keymap_layers { + LAYER_BASE = 0, + LAYER_LOWER = 1, +}; + +#define LOWER MO(LAYER_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_BASE] = LAYOUT( /* MIDI Control */ + MI_C, MI_Cs, MI_D, MI_Ds, + MI_E, MI_F, MI_Fs, MI_G, + MI_Gs, MI_A, MI_As, MI_B, + LOWER, MI_C1, MI_Cs1, MI_D1 + ), + + [LAYER_LOWER] = LAYOUT( /* RGB Control */ + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, + RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, + RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, + KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT + ), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, +}; +#endif diff --git a/keyboards/protokeeb/keymaps/midi/rules.mk b/keyboards/protokeeb/keymaps/midi/rules.mk new file mode 100644 index 00000000000..dafa785f47f --- /dev/null +++ b/keyboards/protokeeb/keymaps/midi/rules.mk @@ -0,0 +1,4 @@ +# Build Options +# Change yes to no to diable feature + +MIDI_ENABLE = yes \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c new file mode 100644 index 00000000000..425344e353c --- /dev/null +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -0,0 +1,18 @@ +/* Protokeeb Copyright 2024 A-Tech Officials + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. + * If not, see . + */ + +#include QMK_KEYBOARD_H + diff --git a/keyboards/protokeeb/rev1/config.h b/keyboards/protokeeb/rev1/config.h index d6433f59423..515d6f89980 100644 --- a/keyboards/protokeeb/rev1/config.h +++ b/keyboards/protokeeb/rev1/config.h @@ -19,7 +19,7 @@ /* #define VENDOR_ID 0x419A #define PRODUCT_ID 0x1717 -#define DEVICE_VERSION 0x0100 +#define DEVICE_VERSION 0x0100 // v1.0.0 #define MANUFACTURER "A-Tech Officials" #define PRODUCT "Protokeeb" */ @@ -27,6 +27,7 @@ #define MATRIX_ROWS 4 #define MATRIX_COLS 4 +/* #define MATRIX_ROW_PINS \ { GP2, GP3, GP4, GP5 } @@ -34,19 +35,20 @@ { GP6, GP7, GP8, GP9 } #define DIODE_DIRECTION COL2ROW +*/ //#define DEBOUNCE 20 #ifdef RGBLIGHT_ENABLE /* ARGB LED Data-In Pin */ -#define RGB_DI_PIN GP10 +//#define WS2812_DI_PIN GP10 /* ARGB LED Byte order */ -#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB // for WS2812 -//#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB // for WS2812B-2020 +// #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB // for WS2812 +#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB // for WS2812B-2020 /* Total number of ARGB LEDs connected */ -#define RGBLED_NUM 16 +//#define RGBLIGHT_LED_COUNT 4 /* Total number of ARGB LEDs in Matrix */ //#define RGB_MATRIX_LED_COUNT 16 @@ -54,43 +56,46 @@ /* Peripheral used */ #define WS2812_PIO_USE_PIO1 -#define RGBLIGHT_HUE_STEP 15 -#define RGBLIGHT_SAT_STEP 15 -#define RGBLIGHT_VAL_STEP 15 +//#define RGBLIGHT_HUE_STEP 15 +//#define RGBLIGHT_SAT_STEP 15 +//#define RGBLIGHT_VAL_STEP 15 /* ARGB LED T-reset period between frames */ -//#define WS2812_TRST_US 280 +// #define WS2812_TRST_US 280 /* The maximum ARGB LED brightness level */ -#define RGBLIGHT_LIMIT_VAL 127 +//#define RGBLIGHT_LIMIT_VAL 127 /* RGB LEDs Default/Fallback Values */ -#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT -#define RGBLIGHT_DEFAULT_HUE 0 -#define RGBLIGHT_DEFAULT_SAT 255 -#define RGBLIGHT_DEFAULT_VAL 50 -#define RGBLIGHT_DEFAULT_SPD 0 +//#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT +//#define RGBLIGHT_DEFAULT_HUE 0 +//#define RGBLIGHT_DEFAULT_SAT 255 +//#define RGBLIGHT_DEFAULT_VAL 50 +//#define RGBLIGHT_DEFAULT_SPD 0 + +// Enable RGB lighting upon clearing the EEPROM +//#define RGBLIGHT_DEFAULT_ON true /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -#define RGBLIGHT_SLEEP +//#define RGBLIGHT_SLEEP /* RGB lighting effects and animations Enable */ -#define RGBLIGHT_EFFECT_BREATHING -#define RGBLIGHT_EFFECT_RAINBOW_MOOD -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_EFFECT_TWINKLE +//#define RGBLIGHT_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 /* RGB lighting effects and animations settings */ #define RGBLIGHT_EFFECT_BREATHE_MAX RGBLIGHT_LIMIT_VAL #define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 40 #define RGBLIGHT_EFFECT_CHRISTMAS_STEP 2 -#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM RGBLED_NUM +#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM RGBLIGHT_LED_COUNT #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 0 #define RGBLIGHT_EFFECT_SWIRL_RANGE 255 @@ -105,26 +110,36 @@ /* I2C Interface configuration */ #define I2C_DRIVER I2CD0 + +//#define I2C_SCL_PIN NO_PIN #define I2C_SCL_PIN GP21 -#define I2C_SCL_PAL_MODE 4 +//#define I2C_SCL_PAL_MODE 4 + +//#define I2C_SDA_PIN NO_PIN #define I2C_SDA_PIN GP20 -#define I2C_SDA_PAL_MODE 4 +//#define I2C_SDA_PAL_MODE 4 /* SPI Interface configuration */ #define SPI_DRIVER SPID0 -#define SPI_SCK_PIN GP18 + +#define SPI_SCK_PIN NO_PIN +//#define SPI_SCK_PIN GP18 //#define SPI_SCK_PAL_MODE 5 -#define SPI_MOSI_PIN GP19 + +#define SPI_MOSI_PIN NO_PIN +//#define SPI_MOSI_PIN GP19 //#define SPI_MOSI_PAL_MODE 5 -#define SPI_MISO_PIN GP20 + +#define SPI_MISO_PIN NO_PIN +//#define SPI_MISO_PIN GP20 //#define SPI_MISO_PAL_MODE 5 /* Bootloader Enter Button * Press and hold when pluging the keyboard * to enter the bootloader for flashing */ -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 +//#define BOOTMAGIC_ROW 0 +//#define BOOTMAGIC_COLUMN 0 /* Double tap reset bootloader entry */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET @@ -136,6 +151,7 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 /* RP2040 External SPI Flash Type */ +//#define RP2040_FLASH_W25Q080 // Default //#define RP2040_FLASH_GENERIC_03H /* Mechanical lcoking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ @@ -143,3 +159,28 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE + +#if defined (ENCODER_ENABLE) +//#define ENCODER_PAD_A { GP12 } +//#define ENCODER_PAD_B { GP13 } + +// For Multiple Encoders Setup +// #define ENCODERS_PAD_A { encoder1a, encoder2a } +// #define ENCODERS_PAD_B { encoder1b, encoder2b } + +// #define ENCODER_DIRECTION_FLIP + +//#define ENCODER_RESOLUTION 2 + +// For setting individual resolution for each encoder +// #define ENCODER_RESOLUTIONS { 4, 2 } + +// #define ENCODER_DEFAULT_POS 0x3 +#define ENCODER_MAP_KEY_DELAY 10 +#endif + +/* +#if defined(DIP_SWITCH_ENABLE) +#define DIP_SWITCH_PINS { GP14 } +#endif +*/ \ No newline at end of file diff --git a/keyboards/protokeeb/rev1/halconf.h b/keyboards/protokeeb/rev1/halconf.h index db4d310a7bf..4634b0e16ff 100644 --- a/keyboards/protokeeb/rev1/halconf.h +++ b/keyboards/protokeeb/rev1/halconf.h @@ -18,12 +18,13 @@ /* Enable RP2040 I2C Interface */ #undef HAL_USE_I2C -#define HAL_USE_I2C TRUE +#define HAL_USE_I2C FALSE /* Enable RP2040 SPI Interface */ #undef HAL_USE_SPI -#define HAL_USE_SPI TRUE -#define SPI_USE_WAIT TRUE -#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD +#define HAL_USE_SPI FALSE +#define SPI_USE_WAIT FALSE +#define SPI_SELECT_MODE SPI_SELECT_MODE_NONE +// #define SPI_SELECT_MODE SPI_SELECT_MODE_PAD #include_next diff --git a/keyboards/protokeeb/rev1/info.json b/keyboards/protokeeb/rev1/info.json index cd482a0ceba..9a4b1390d56 100644 --- a/keyboards/protokeeb/rev1/info.json +++ b/keyboards/protokeeb/rev1/info.json @@ -1,43 +1,248 @@ { "keyboard_name": "Protokeeb", - "manufacturer": "A-Tech Officials", - "url": "https://atechofficials.com/protokeeb", - "maintainer": "A-Tech Officials", "usb": { - "vid": "0x419A", "pid": "0x1717", - "device_version": "1.0.0" + "device_version": "1.0.0", + "force_nkro": false, + "max_power": 500, + "no_startup_check": false, + "polling_interval": 1, + "shared_endpoint": { + "keyboard": true, + "mouse": false + }, + "suspend_wakeup_delay": 0, + "wait_for": false }, - "encoder": { - "rotary": [{ "pin_a": "GP12", "pin_b": "GP13" }] - }, - "processor": "RP2040", - "development_board": "promicro_rp2040", + "board": "GENERIC_RP_RP2040", "bootloader": "rp2040", - "debounce": 20, - "bootmagic": { - "matrix": [0, 0] + "processor": "RP2040", + "build": { + "debounce_type": "sym_defer_g", + "firmware_format": "uf2", + "lto": false }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "rgblight": true, + "extrakey": true, + "mousekey": false, + "nkro": true + }, + "qmk": { + "locking": { + "enabled": false, + "resync": false + }, + "tap_capslock_delay": 80, + "tap_keycode_delay": 0 + }, + "matrix_pins": { + "cols": ["GP6", "GP7", "GP8", "GP9"], + "rows": ["GP2", "GP3", "GP4", "GP5"] + }, + "diode_direction": "COL2ROW", + "debounce": 20, "layouts": { "LAYOUT": { "layout": [ - { "label": "7", "x": 0, "y": 0 }, - { "label": "8", "x": 1, "y": 1 }, - { "label": "9", "x": 2, "y": 2 }, - { "label": "/", "x": 3, "y": 3 }, - { "label": "4", "x": 0, "y": 0 }, - { "label": "5", "x": 1, "y": 1 }, - { "label": "6", "x": 2, "y": 2 }, - { "label": "*", "x": 3, "y": 3 }, - { "label": "1", "x": 0, "y": 0 }, - { "label": "2", "x": 1, "y": 1 }, - { "label": "3", "x": 2, "y": 2 }, - { "label": "-", "x": 3, "y": 3 }, - { "label": "MO(1)", "x": 0, "y": 0 }, - { "label": "0", "x": 1, "y": 1 }, - { "label": "+", "x": 2, "y": 2 }, - { "label": "N.ENT", "x": 3, "y": 3 } + { + "label": "7", + "matrix": [0, 0], + "x": 0, + "y": 0, + "w": 1, + "h": 1 + }, + { + "label": "8", + "matrix": [0, 1], + "x": 1, + "y": 0, + "w": 1, + "h": 1 + }, + { + "label": "9", + "matrix": [0, 2], + "x": 2, + "y": 0, + "w": 1, + "h": 1 + }, + { + "label": "/", + "matrix": [0, 3], + "x": 3, + "y": 0, + "w": 1, + "h": 1 + }, + { + "label": "4", + "matrix": [1, 0], + "x": 0, + "y": 1, + "w": 1, + "h": 1 + }, + { + "label": "5", + "matrix": [1, 1], + "x": 1, + "y": 1, + "w": 1, + "h": 1 + }, + { + "label": "6", + "matrix": [1, 2], + "x": 2, + "y": 1, + "w": 1, + "h": 1 + }, + { + "label": "*", + "matrix": [1, 3], + "x": 3, + "y": 1, + "w": 1, + "h": 1 + }, + { + "label": "1", + "matrix": [2, 0], + "x": 0, + "y": 2, + "w": 1, + "h": 1 + }, + { + "label": "2", + "matrix": [2, 1], + "x": 1, + "y": 2, + "w": 1, + "h": 1 + }, + { + "label": "3", + "matrix": [2, 2], + "x": 2, + "y": 2, + "w": 1, + "h": 1 + }, + { + "label": "-", + "matrix": [2, 3], + "x": 3, + "y": 2, + "w": 1, + "h": 1 + }, + { + "label": "MO(1)", + "matrix": [3, 0], + "x": 0, + "y": 3, + "w": 1, + "h": 1 + }, + { + "label": "0", + "matrix": [3, 1], + "x": 1, + "y": 3, + "w": 1, + "h": 1 + }, + { + "label": "+", + "matrix": [3, 2], + "x": 2, + "y": 3, + "w": 1, + "h": 1 + }, + { + "label": "N.ENT", + "matrix": [3, 3], + "x": 3, + "y": 3, + "w": 1, + "h": 1 + } ] } + }, + "audio": { + "default": { + "on": false, + "clicky": false + }, + "macro_beep": false, + "pins": ["GP22"], + "voices": false + }, + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, + "dip_switch": { + "enabled": true, + "pins": ["GP14"] + }, + "encoder": { + "rotary": [ + { + "pin_a": "GP12", + "pin_b": "GP13", + "resolution": 2 + } + ] + }, + "rgblight": { + "led_count": 4, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + }, + "hue_steps": 15, + "saturation_steps": 15, + "brightness_steps": 15, + "default": { + "animation": "static_light", + "on": true, + "hue": 0, + "sat": 255, + "val": 50, + "speed": 0 + }, + "driver": "ws2812", + "layers": { + "blink": false, + "enabled": false, + "max": 8 + }, + "max_brightness": 127, + "rgbw": false, + "sleep": true, + "split": false + }, + "ws2812": { + "driver": "vendor", + "pin": "GP10" } } diff --git a/keyboards/protokeeb/rev1/mcuconf.h b/keyboards/protokeeb/rev1/mcuconf.h index 825891bb892..9ccd9c48aa6 100644 --- a/keyboards/protokeeb/rev1/mcuconf.h +++ b/keyboards/protokeeb/rev1/mcuconf.h @@ -25,8 +25,8 @@ #undef RP_I2C_USE_I2C1 #define RP_I2C_USE_I2C1 FALSE -//#define RP_I2C_BUSY_TIMEOUT 50 -//#define RP_I2C_USE_DMA TRUE +// #define RP_I2C_BUSY_TIMEOUT 50 +// #define RP_I2C_USE_DMA TRUE /* RP2040 SPI Driver Selection */ #undef RP_SPI_USE_SPI0 diff --git a/keyboards/protokeeb/rev1/readme.md b/keyboards/protokeeb/rev1/readme.md index 3d80762676b..802effbcaa5 100644 --- a/keyboards/protokeeb/rev1/readme.md +++ b/keyboards/protokeeb/rev1/readme.md @@ -7,7 +7,7 @@ Learn, build, modify easily as the Protokeeb is an open-source hardware project. The PCB is based on a Raspberry Pi Pico development board. Designed for developers and enthusiasts who wants to begin their journey in custom keyboards and keyboard firmware. Per key south facing ARGB LED and much more. -For more info visit https://atechofficials.com/protokeeb. +For more info visit https://github.com/atechofficials/protokeeb - Keyboard Maintainer: [A-Tech Officials](https://github.com/atechofficials) - Hardware Supported: Protokeeb Keyboard PCB v1.x, Raspberry Pi Pico, Raspberry Pi Pico W, Waveshare RP2040-Plus @@ -20,7 +20,7 @@ For more info visit https://atechofficials.com/protokeeb. This is the default layout that comes flashed on every Protokeeb. The deafult layout consists of 2 layers. 1st layer for the 16-key numpad, excluding the NUM LOCK key. -2nd layer for RGB led and keyboard boot options. +2nd layer for RGB LED control and keyboard boot options. Make example of this keyboard (after setting up your build environment): @@ -34,7 +34,8 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader -Enter the bootloader in 2 ways: +Enter the bootloader in 3 ways: - **Physical pcb buttons**: Briefly press and hold both the left and right (Bootsel and Reset) tactile push button located on the top left side of the Protokeeb, then keep holding the left (Bootsel) push button and release/let go the right (Reset) push button and then after 3-5 seconds also release/let go the left (Bootsel) push button to enter the bootloader mode. +- **Bootmagic**: Press and hold the top left key (row-0, column-0) before plugging-in the keyboard to your PC/Laptop/host to enter the bootloader. - **Keycode in layout**: Press and hold the FN Key (row-4, column-1) then press the key mapped to `QK_BOOT` i.e ENTER Key (row-4, column-4) to enter the bootloader mode. diff --git a/keyboards/protokeeb/rev1/rev1.c b/keyboards/protokeeb/rev1/rev1.c index f0eb172cde0..c8869f1285e 100644 --- a/keyboards/protokeeb/rev1/rev1.c +++ b/keyboards/protokeeb/rev1/rev1.c @@ -14,4 +14,27 @@ * If not, see . */ -#include "rev1.h" \ No newline at end of file +#include "rev1.h" + +#if defined(DIP_SWITCH_ENABLE) +bool dip_switch_update_kb(uint8_t index, bool active) { + if(!dip_switch_update_user(index, active)) + { + return false; + } + switch (index) { + case 0: + // Encode Push Button Pressed + if(active) { + // Toggle Host Mute + tap_code(KC_MUTE); + } + // Encoder Push Button Released + else { + // Do Nothing + } + break; + } + return true; +} +#endif \ No newline at end of file diff --git a/keyboards/protokeeb/rev1/rev1.h b/keyboards/protokeeb/rev1/rev1.h index 3086041d743..66c087ed3f3 100644 --- a/keyboards/protokeeb/rev1/rev1.h +++ b/keyboards/protokeeb/rev1/rev1.h @@ -17,8 +17,9 @@ #pragma once #include "quantum.h" -#define ____ KC_NO +// #define ____ KC_NO +/* #define LAYOUT( \ k00, k01, k02, k03, \ k10, k11, k12, k13, \ @@ -30,3 +31,4 @@ { k20, k21, k22, k23, }, \ { k30, k31, k32, k33, } \ } +*/ \ No newline at end of file diff --git a/keyboards/protokeeb/rev1/rules.mk b/keyboards/protokeeb/rev1/rules.mk index 38b4fe848a4..bebac097109 100644 --- a/keyboards/protokeeb/rev1/rules.mk +++ b/keyboards/protokeeb/rev1/rules.mk @@ -1,75 +1,27 @@ # Build Options -# Change yes to no to diable features +# Change yes to no to diable feature # Default keyboard folder DEFAULT_FOLDER = protokeeb/rev1 -# Custom scanning of matrix -#CUSTOM_MATRIX = lite - -# SPI Flash driver -#FLASH_DRIVER = spi - -# EEPROM driver -#EEPROM_DRIVER = spi -#EEPROM_DRIVER = wear_leveling -#WEAR_LEVELING_DRIVER = spi_flash - -# OS detection -OS_DETECTION_ENABLE = yes - -# Enable Bootmagic Lite -BOOTMAGIC_ENABLE = yes - -# Development Board used -#BOARD = GENERIC_RP_RP2040 - -# Bootlader Selection -BOOTLOADER = rp2040 - -# Debounce Method -#DEBOUNCE_TYPE = sym_defer_g # Default Method - # Mouse keys -MOUSEKEY_ENABLE = no +#MOUSEKEY_ENABLE = no # Audio Control and System Control keys -EXTRAKEY_ENABLE = yes +#EXTRAKEY_ENABLE = yes # Console for keyboard debug -CONSOLE_ENABLE = no +#CONSOLE_ENABLE = no # Commands for debug and configuration -COMMAND_ENABLE = no - -# Enable N-Key Rollover -NKRO_ENABLE = yes +#COMMAND_ENABLE = no # Enable keyboard RGB underglow -RGBLIGHT_ENABLE = yes - -# Enable RGB LED Matrix -#RGB_MATRIX_ENABLE = yes -#RGB_MATRIX_DRIVER = WS2812 - -# ARGB LED Driver used -WS2812_DRIVER = vendor # For RP2040 MCU +#RGBLIGHT_ENABLE = yes +#RGBLIGHT_DRIVER = ws2812 # Enable Audio output -AUDIO_ENABLE = no - -# Refer: USB Endpoint Limitations -KEYBOARD_SHARED_EP = yes -MOUSE_SHARED_EP = no - -# Rotary Encoder support -ENCODER_ENABLE = no +#AUDIO_ENABLE = no # MIDI Enable -MIDI_ENABLE = no - -# OLED Enable -OLED_ENABLE = no - -# OLED Display Driver -OLED_DRIVER = SSD1306 +MIDI_ENABLE = no \ No newline at end of file diff --git a/keyboards/protokeeb/rules.mk b/keyboards/protokeeb/rules.mk new file mode 100644 index 00000000000..639ba18ee7d --- /dev/null +++ b/keyboards/protokeeb/rules.mk @@ -0,0 +1,49 @@ +# Build Options +# Change yes to no to diable feature + +# Custom scanning of matrix +#CUSTOM_MATRIX = lite + +# SPI Flash driver +#FLASH_DRIVER = spi + +# EEPROM driver +#EEPROM_DRIVER = spi +#EEPROM_DRIVER = wear_leveling +#WEAR_LEVELING_DRIVER = spi_flash + +# Debounce Method +#DEBOUNCE_TYPE = sym_defer_g # Default Method + +# OS detection +OS_DETECTION_ENABLE = yes + +# Enable Bootmagic Lite +#BOOTMAGIC_ENABLE = yes + +# Development Board used +#BOARD = GENERIC_RP_RP2040 + +# Bootlader Selection +#BOOTLOADER = rp2040 + +# Enable N-Key Rollover +#NKRO_ENABLE = yes + +# ARGB LED Driver used +#WS2812_DRIVER = vendor # For RP2040 MCU + +# Rotary Encoder support +ENCODER_ENABLE = yes +# Rotary Encoder Keymap support +ENCODER_MAP_ENABLE = yes + +# DIP Switch support +# Note: Here using for Encoder Push Button Functionality +#DIP_SWITCH_ENABLE = yes +# DIP Switch Keymap support +DIP_SWITCH_MAP_ENABLE = no + +# Refer: USB Endpoint Limitations +#KEYBOARD_SHARED_EP = yes +#MOUSE_SHARED_EP = no \ No newline at end of file From 84d8ce04e821fc61c0004f759ec460df9700d418 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Sat, 20 Apr 2024 22:46:28 +0530 Subject: [PATCH 03/66] Added ProtoKeeb Via Support --- keyboards/protokeeb/keymaps/default/rules.mk | 8 +++ keyboards/protokeeb/keymaps/midi/rules.mk | 8 ++- keyboards/protokeeb/keymaps/via/config.h | 6 +- keyboards/protokeeb/keymaps/via/keymap.c | 62 ++++++++++++++++++++ keyboards/protokeeb/keymaps/via/rules.mk | 12 ++++ keyboards/protokeeb/rev1/info.json | 36 ++++++------ keyboards/protokeeb/rev1/rev1.h | 15 ----- keyboards/protokeeb/rules.mk | 11 ++-- 8 files changed, 117 insertions(+), 41 deletions(-) create mode 100644 keyboards/protokeeb/keymaps/default/rules.mk diff --git a/keyboards/protokeeb/keymaps/default/rules.mk b/keyboards/protokeeb/keymaps/default/rules.mk new file mode 100644 index 00000000000..5f850d00da3 --- /dev/null +++ b/keyboards/protokeeb/keymaps/default/rules.mk @@ -0,0 +1,8 @@ +# Build Options Protokeeb rev1 +# Change yes to no to diable features + +# Rotary Encoder Keymap support +ENCODER_MAP_ENABLE = yes + +# DIP Switch Keymap support +DIP_SWITCH_MAP_ENABLE = no \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/midi/rules.mk b/keyboards/protokeeb/keymaps/midi/rules.mk index dafa785f47f..b837918166f 100644 --- a/keyboards/protokeeb/keymaps/midi/rules.mk +++ b/keyboards/protokeeb/keymaps/midi/rules.mk @@ -1,4 +1,10 @@ # Build Options # Change yes to no to diable feature -MIDI_ENABLE = yes \ No newline at end of file +MIDI_ENABLE = yes + +# Rotary Encoder Keymap support +ENCODER_MAP_ENABLE = yes + +# DIP Switch Keymap support +DIP_SWITCH_MAP_ENABLE = no \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/via/config.h b/keyboards/protokeeb/keymaps/via/config.h index 6c8d30f4959..702200693e3 100644 --- a/keyboards/protokeeb/keymaps/via/config.h +++ b/keyboards/protokeeb/keymaps/via/config.h @@ -15,5 +15,7 @@ */ #pragma once -#define DYNAMIC_KEYMAP_LAYER_COUNT 2 -// #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 1 // default value \ No newline at end of file + +#define DYNAMIC_KEYMAP_LAYER_COUNT 4 // default value 4-layers +// #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 1 // default value 1-byte +// #define VIA_EEPROM_CUSTOM_CONFIG_SIZE 0 // default value 0-bytes diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index 425344e353c..513abbd8e3c 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -15,4 +15,66 @@ */ #include QMK_KEYBOARD_H +#include "quantum.h" +enum protokeeb_keymap_layers { + LAYER_BASE = 0, + LAYER_LOWER = 1, + DYNAMIC_LAYER1 = 2, + DYNAMIC_LAYER2 = 3 +}; + +#define LOWER MO(LAYER_LOWER) + +/* +#define LAYOUT( \ + K00, K01, K02, K03, \ + K10, K11, K12, K13, \ + K20, K21, K22, K23, \ + K30, K31, K32, K33, \ +) { \ + { k00, k01, k02, k03, }, \ + { k10, k11, k12, k13, }, \ + { k20, k21, k22, k23, }, \ + { k30, k31, k32, k33, } \ +} +*/ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_BASE] = LAYOUT( /* Base */ + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, + KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, + KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, + LOWER, KC_KP_0, KC_KP_PLUS, KC_KP_ENTER + ), + + [LAYER_LOWER] = LAYOUT( /* RGB Control */ + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, + RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, + RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, + KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT + ), + + [DYNAMIC_LAYER1] = LAYOUT( /* Empty for dynamic keymaps */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [DYNAMIC_LAYER2] = LAYOUT( /* Empty for dynamic keymaps */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, + [DYNAMIC_LAYER1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [DYNAMIC_LAYER2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/via/rules.mk b/keyboards/protokeeb/keymaps/via/rules.mk index efb2c7a4d46..a43d01ad113 100644 --- a/keyboards/protokeeb/keymaps/via/rules.mk +++ b/keyboards/protokeeb/keymaps/via/rules.mk @@ -1,4 +1,16 @@ # Build Options Protokeeb rev1 # Change yes to no to diable features +# Enable Via support VIA_ENABLE = yes + +# Rotary Encoder Keymap support +ENCODER_MAP_ENABLE = yes + +# DIP Switch Keymap support +DIP_SWITCH_MAP_ENABLE = no + +# To reduce firmware size, consider turning on link time optimization +# Note: This may have unexpected side effects on keyboards +# using ARM processors, so test thoroughly with it enabled and disabled. +# LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/protokeeb/rev1/info.json b/keyboards/protokeeb/rev1/info.json index 9a4b1390d56..eab8209c721 100644 --- a/keyboards/protokeeb/rev1/info.json +++ b/keyboards/protokeeb/rev1/info.json @@ -1,5 +1,4 @@ { - "keyboard_name": "Protokeeb", "usb": { "pid": "0x1717", "device_version": "1.0.0", @@ -52,7 +51,7 @@ "label": "7", "matrix": [0, 0], "x": 0, - "y": 0, + "y": 1.3, "w": 1, "h": 1 }, @@ -60,7 +59,7 @@ "label": "8", "matrix": [0, 1], "x": 1, - "y": 0, + "y": 1.3, "w": 1, "h": 1 }, @@ -68,7 +67,7 @@ "label": "9", "matrix": [0, 2], "x": 2, - "y": 0, + "y": 1.3, "w": 1, "h": 1 }, @@ -76,7 +75,7 @@ "label": "/", "matrix": [0, 3], "x": 3, - "y": 0, + "y": 1.3, "w": 1, "h": 1 }, @@ -84,7 +83,7 @@ "label": "4", "matrix": [1, 0], "x": 0, - "y": 1, + "y": 2.3, "w": 1, "h": 1 }, @@ -92,7 +91,7 @@ "label": "5", "matrix": [1, 1], "x": 1, - "y": 1, + "y": 2.3, "w": 1, "h": 1 }, @@ -100,7 +99,7 @@ "label": "6", "matrix": [1, 2], "x": 2, - "y": 1, + "y": 2.3, "w": 1, "h": 1 }, @@ -108,7 +107,7 @@ "label": "*", "matrix": [1, 3], "x": 3, - "y": 1, + "y": 2.3, "w": 1, "h": 1 }, @@ -116,7 +115,7 @@ "label": "1", "matrix": [2, 0], "x": 0, - "y": 2, + "y": 3.3, "w": 1, "h": 1 }, @@ -124,7 +123,7 @@ "label": "2", "matrix": [2, 1], "x": 1, - "y": 2, + "y": 3.3, "w": 1, "h": 1 }, @@ -132,7 +131,7 @@ "label": "3", "matrix": [2, 2], "x": 2, - "y": 2, + "y": 3.3, "w": 1, "h": 1 }, @@ -140,7 +139,7 @@ "label": "-", "matrix": [2, 3], "x": 3, - "y": 2, + "y": 3.3, "w": 1, "h": 1 }, @@ -148,7 +147,7 @@ "label": "MO(1)", "matrix": [3, 0], "x": 0, - "y": 3, + "y": 4.3, "w": 1, "h": 1 }, @@ -156,7 +155,7 @@ "label": "0", "matrix": [3, 1], "x": 1, - "y": 3, + "y": 4.3, "w": 1, "h": 1 }, @@ -164,7 +163,7 @@ "label": "+", "matrix": [3, 2], "x": 2, - "y": 3, + "y": 4.3, "w": 1, "h": 1 }, @@ -172,7 +171,7 @@ "label": "N.ENT", "matrix": [3, 3], "x": 3, - "y": 3, + "y": 4.3, "w": 1, "h": 1 } @@ -234,8 +233,9 @@ "layers": { "blink": false, "enabled": false, - "max": 8 + "max": 4 }, + "led_map": [0, 1, 2, 3], "max_brightness": 127, "rgbw": false, "sleep": true, diff --git a/keyboards/protokeeb/rev1/rev1.h b/keyboards/protokeeb/rev1/rev1.h index 66c087ed3f3..1d09f7d7c31 100644 --- a/keyboards/protokeeb/rev1/rev1.h +++ b/keyboards/protokeeb/rev1/rev1.h @@ -17,18 +17,3 @@ #pragma once #include "quantum.h" -// #define ____ KC_NO - -/* -#define LAYOUT( \ - k00, k01, k02, k03, \ - k10, k11, k12, k13, \ - k20, k21, k22, k23, \ - k30, k31, k32, k33 \ -) { \ - { k00, k01, k02, k03, }, \ - { k10, k11, k12, k13, }, \ - { k20, k21, k22, k23, }, \ - { k30, k31, k32, k33, } \ -} -*/ \ No newline at end of file diff --git a/keyboards/protokeeb/rules.mk b/keyboards/protokeeb/rules.mk index 639ba18ee7d..68691d55fca 100644 --- a/keyboards/protokeeb/rules.mk +++ b/keyboards/protokeeb/rules.mk @@ -35,15 +35,16 @@ OS_DETECTION_ENABLE = yes # Rotary Encoder support ENCODER_ENABLE = yes -# Rotary Encoder Keymap support -ENCODER_MAP_ENABLE = yes # DIP Switch support # Note: Here using for Encoder Push Button Functionality #DIP_SWITCH_ENABLE = yes -# DIP Switch Keymap support -DIP_SWITCH_MAP_ENABLE = no # Refer: USB Endpoint Limitations #KEYBOARD_SHARED_EP = yes -#MOUSE_SHARED_EP = no \ No newline at end of file +#MOUSE_SHARED_EP = no + +# To reduce firmware size, consider turning on link time optimization +# Note: This may have unexpected side effects on keyboards +# using ARM processors, so test thoroughly with it enabled and disabled. +# LTO_ENABLE = yes \ No newline at end of file From c3fdc6508b8c6cf412e8dad7db70960e9174494e Mon Sep 17 00:00:00 2001 From: atechofficials Date: Wed, 24 Apr 2024 23:29:15 +0530 Subject: [PATCH 04/66] Protokeeb midi keymap files updated --- keyboards/protokeeb/keymaps/midi/config.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/keyboards/protokeeb/keymaps/midi/config.h b/keyboards/protokeeb/keymaps/midi/config.h index f8cd21b9d2f..02ef0312c1a 100644 --- a/keyboards/protokeeb/keymaps/midi/config.h +++ b/keyboards/protokeeb/keymaps/midi/config.h @@ -14,4 +14,6 @@ * If not, see . */ +#pragma once + #define MIDI_ADVANCED From c6ed373dbfb8000958cac514f6602d324b513540 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Thu, 25 Apr 2024 00:35:09 +0530 Subject: [PATCH 05/66] Protokeeb readme file updated --- keyboards/protokeeb/rev1/readme.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/keyboards/protokeeb/rev1/readme.md b/keyboards/protokeeb/rev1/readme.md index 802effbcaa5..cc666b57c4c 100644 --- a/keyboards/protokeeb/rev1/readme.md +++ b/keyboards/protokeeb/rev1/readme.md @@ -1,6 +1,6 @@ # Protokeeb -![Protokeeb]() +![Protokeeb](https://github.com/atechofficials/protokeeb/blob/master/Images/Assembly/Protokeeb_AS_41.jpg) A 16-key (4 x 4) Numpad/Macropad/Midi device designed by A-Tech Officials for easily getting started in the field of custom keyboards. Learn, build, modify easily as the Protokeeb is an open-source hardware project. @@ -10,12 +10,12 @@ Per key south facing ARGB LED and much more. For more info visit https://github.com/atechofficials/protokeeb - Keyboard Maintainer: [A-Tech Officials](https://github.com/atechofficials) -- Hardware Supported: Protokeeb Keyboard PCB v1.x, Raspberry Pi Pico, Raspberry Pi Pico W, Waveshare RP2040-Plus -- Hardware Availability: [atechofficials.com](https://atechofficials.com) +- Hardware Supported: _Protokeeb Keyboard PCB v1.x, Raspberry Pi Pico, Raspberry Pi Pico W, Waveshare RP2040-Plus_ +- Hardware Availability: [atechofficials](https://atechofficials.com/protokeeb) -![Protokeeb Layout Image]() +![Protokeeb Layout Image](https://github.com/atechofficials/protokeeb/blob/master/Images/KB_Images/protokeeb_via_layout.png) -# Default Protokeeb Layout +## Default Protokeeb Layout This is the default layout that comes flashed on every Protokeeb. The deafult layout consists of 2 layers. @@ -36,6 +36,8 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: -- **Physical pcb buttons**: Briefly press and hold both the left and right (Bootsel and Reset) tactile push button located on the top left side of the Protokeeb, then keep holding the left (Bootsel) push button and release/let go the right (Reset) push button and then after 3-5 seconds also release/let go the left (Bootsel) push button to enter the bootloader mode. - **Bootmagic**: Press and hold the top left key (row-0, column-0) before plugging-in the keyboard to your PC/Laptop/host to enter the bootloader. + +- **Physical pcb buttons**: Briefly press and hold both the left and right (Bootsel and Reset) tactile push button located on the top left side of the Protokeeb, then keep holding the left (Bootsel) push button and release/let go the right (Reset) push button and then after 3-5 seconds also release/let go the left (Bootsel) push button to enter the bootloader mode. + - **Keycode in layout**: Press and hold the FN Key (row-4, column-1) then press the key mapped to `QK_BOOT` i.e ENTER Key (row-4, column-4) to enter the bootloader mode. From 1bb1f563a57fe88ffce5d640eb95baf625fc0950 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Thu, 25 Apr 2024 01:08:17 +0530 Subject: [PATCH 06/66] Protokeeb readme file updated --- keyboards/protokeeb/rev1/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/protokeeb/rev1/readme.md b/keyboards/protokeeb/rev1/readme.md index cc666b57c4c..813c0481b93 100644 --- a/keyboards/protokeeb/rev1/readme.md +++ b/keyboards/protokeeb/rev1/readme.md @@ -1,6 +1,6 @@ # Protokeeb -![Protokeeb](https://github.com/atechofficials/protokeeb/blob/master/Images/Assembly/Protokeeb_AS_41.jpg) +![Protokeeb](https://i.imgur.com/RsSBoJg.jpg) A 16-key (4 x 4) Numpad/Macropad/Midi device designed by A-Tech Officials for easily getting started in the field of custom keyboards. Learn, build, modify easily as the Protokeeb is an open-source hardware project. @@ -11,9 +11,9 @@ For more info visit https://github.com/atechofficials/protokeeb - Keyboard Maintainer: [A-Tech Officials](https://github.com/atechofficials) - Hardware Supported: _Protokeeb Keyboard PCB v1.x, Raspberry Pi Pico, Raspberry Pi Pico W, Waveshare RP2040-Plus_ -- Hardware Availability: [atechofficials](https://atechofficials.com/protokeeb) +- Hardware Availability: [atechofficials](https://github.com/atechofficials/protokeeb) -![Protokeeb Layout Image](https://github.com/atechofficials/protokeeb/blob/master/Images/KB_Images/protokeeb_via_layout.png) +![Protokeeb Layout Image](https://i.imgur.com/e0RlllX.png) ## Default Protokeeb Layout From 0053e8cabba7d1cf4d5afbf143f2ce20c0b7e5a2 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Sat, 27 Apr 2024 00:11:46 +0530 Subject: [PATCH 07/66] Protokeeb QMK Firmware file changes --- keyboards/protokeeb/keymaps/debug/keymap.c | 33 ++++++++++++++++- keyboards/protokeeb/keymaps/midi/config.h | 2 +- keyboards/protokeeb/keymaps/via/config.h | 2 +- keyboards/protokeeb/keymaps/via/keymap.c | 22 ++++-------- keyboards/protokeeb/rev1/config.h | 6 ++-- keyboards/protokeeb/rev1/halconf.h | 2 +- keyboards/protokeeb/rev1/info.json | 37 +++++++++---------- keyboards/protokeeb/rev1/mcuconf.h | 2 +- keyboards/protokeeb/rev1/rev1.c | 2 +- keyboards/protokeeb/rev1/rev1.h | 2 +- keyboards/protokeeb/rev1/rules.mk | 23 ++---------- keyboards/protokeeb/rules.mk | 42 ---------------------- 12 files changed, 68 insertions(+), 107 deletions(-) diff --git a/keyboards/protokeeb/keymaps/debug/keymap.c b/keyboards/protokeeb/keymaps/debug/keymap.c index efd4528eb7b..ea46d8bd614 100644 --- a/keyboards/protokeeb/keymaps/debug/keymap.c +++ b/keyboards/protokeeb/keymaps/debug/keymap.c @@ -15,7 +15,38 @@ */ /* Protokeeb v1.0 - * Keymap: Debug Mode + * Keymap: Debug */ #include QMK_KEYBOARD_H +#include "quantum.h" + +enum protokeeb_keymap_layers { + LAYER_BASE = 0, + LAYER_LOWER = 1, +}; + +#define LOWER MO(LAYER_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_BASE] = LAYOUT( /* Base */ + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, + KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, + KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, + LOWER, KC_KP_0, KC_KP_PLUS, KC_KP_ENTER + ), + + [LAYER_LOWER] = LAYOUT( /* RGB Control */ + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, + RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, + RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, + KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT + ), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, +}; +#endif \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/midi/config.h b/keyboards/protokeeb/keymaps/midi/config.h index 02ef0312c1a..00a0418c4cc 100644 --- a/keyboards/protokeeb/keymaps/midi/config.h +++ b/keyboards/protokeeb/keymaps/midi/config.h @@ -1,4 +1,4 @@ -/* Protokeeb Copyright 2024 A-Tech Officials +/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or diff --git a/keyboards/protokeeb/keymaps/via/config.h b/keyboards/protokeeb/keymaps/via/config.h index 702200693e3..4daa1b38b00 100644 --- a/keyboards/protokeeb/keymaps/via/config.h +++ b/keyboards/protokeeb/keymaps/via/config.h @@ -1,4 +1,4 @@ -/* Protokeeb Copyright 2024 A-Tech Officials +/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index 513abbd8e3c..7f9535564cd 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -14,6 +14,10 @@ * If not, see . */ +/* Protokeeb v1.0 + * Keymap: Via + */ + #include QMK_KEYBOARD_H #include "quantum.h" @@ -26,20 +30,6 @@ enum protokeeb_keymap_layers { #define LOWER MO(LAYER_LOWER) -/* -#define LAYOUT( \ - K00, K01, K02, K03, \ - K10, K11, K12, K13, \ - K20, K21, K22, K23, \ - K30, K31, K32, K33, \ -) { \ - { k00, k01, k02, k03, }, \ - { k10, k11, k12, k13, }, \ - { k20, k21, k22, k23, }, \ - { k30, k31, k32, k33, } \ -} -*/ - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [LAYER_BASE] = LAYOUT( /* Base */ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, @@ -55,14 +45,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT ), - [DYNAMIC_LAYER1] = LAYOUT( /* Empty for dynamic keymaps */ + [DYNAMIC_LAYER1] = LAYOUT( /* Empty for dynamic keymaps */ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [DYNAMIC_LAYER2] = LAYOUT( /* Empty for dynamic keymaps */ + [DYNAMIC_LAYER2] = LAYOUT( /* Empty for dynamic keymaps */ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/protokeeb/rev1/config.h b/keyboards/protokeeb/rev1/config.h index 515d6f89980..45deb3af8d6 100644 --- a/keyboards/protokeeb/rev1/config.h +++ b/keyboards/protokeeb/rev1/config.h @@ -1,4 +1,4 @@ -/* Protokeeb Copyright 2024 A-Tech Officials +/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or @@ -155,10 +155,10 @@ //#define RP2040_FLASH_GENERIC_03H /* Mechanical lcoking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE +//#define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE +//#define LOCKING_RESYNC_ENABLE #if defined (ENCODER_ENABLE) //#define ENCODER_PAD_A { GP12 } diff --git a/keyboards/protokeeb/rev1/halconf.h b/keyboards/protokeeb/rev1/halconf.h index 4634b0e16ff..2996e46b2ba 100644 --- a/keyboards/protokeeb/rev1/halconf.h +++ b/keyboards/protokeeb/rev1/halconf.h @@ -1,4 +1,4 @@ -/* Protokeeb Copyright 2024 A-Tech Officials +/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or diff --git a/keyboards/protokeeb/rev1/info.json b/keyboards/protokeeb/rev1/info.json index eab8209c721..d2f6623b53d 100644 --- a/keyboards/protokeeb/rev1/info.json +++ b/keyboards/protokeeb/rev1/info.json @@ -28,7 +28,8 @@ "rgblight": true, "extrakey": true, "mousekey": false, - "nkro": true + "nkro": true, + "midi": false }, "qmk": { "locking": { @@ -51,7 +52,7 @@ "label": "7", "matrix": [0, 0], "x": 0, - "y": 1.3, + "y": 0, "w": 1, "h": 1 }, @@ -59,7 +60,7 @@ "label": "8", "matrix": [0, 1], "x": 1, - "y": 1.3, + "y": 0, "w": 1, "h": 1 }, @@ -67,7 +68,7 @@ "label": "9", "matrix": [0, 2], "x": 2, - "y": 1.3, + "y": 0, "w": 1, "h": 1 }, @@ -75,7 +76,7 @@ "label": "/", "matrix": [0, 3], "x": 3, - "y": 1.3, + "y": 0, "w": 1, "h": 1 }, @@ -83,7 +84,7 @@ "label": "4", "matrix": [1, 0], "x": 0, - "y": 2.3, + "y": 1, "w": 1, "h": 1 }, @@ -91,7 +92,7 @@ "label": "5", "matrix": [1, 1], "x": 1, - "y": 2.3, + "y": 1, "w": 1, "h": 1 }, @@ -99,7 +100,7 @@ "label": "6", "matrix": [1, 2], "x": 2, - "y": 2.3, + "y": 1, "w": 1, "h": 1 }, @@ -107,7 +108,7 @@ "label": "*", "matrix": [1, 3], "x": 3, - "y": 2.3, + "y": 1, "w": 1, "h": 1 }, @@ -115,7 +116,7 @@ "label": "1", "matrix": [2, 0], "x": 0, - "y": 3.3, + "y": 2, "w": 1, "h": 1 }, @@ -123,7 +124,7 @@ "label": "2", "matrix": [2, 1], "x": 1, - "y": 3.3, + "y": 2, "w": 1, "h": 1 }, @@ -131,7 +132,7 @@ "label": "3", "matrix": [2, 2], "x": 2, - "y": 3.3, + "y": 2, "w": 1, "h": 1 }, @@ -139,7 +140,7 @@ "label": "-", "matrix": [2, 3], "x": 3, - "y": 3.3, + "y": 2, "w": 1, "h": 1 }, @@ -147,7 +148,7 @@ "label": "MO(1)", "matrix": [3, 0], "x": 0, - "y": 4.3, + "y": 3, "w": 1, "h": 1 }, @@ -155,7 +156,7 @@ "label": "0", "matrix": [3, 1], "x": 1, - "y": 4.3, + "y": 3, "w": 1, "h": 1 }, @@ -163,7 +164,7 @@ "label": "+", "matrix": [3, 2], "x": 2, - "y": 4.3, + "y": 3, "w": 1, "h": 1 }, @@ -171,7 +172,7 @@ "label": "N.ENT", "matrix": [3, 3], "x": 3, - "y": 4.3, + "y": 3, "w": 1, "h": 1 } @@ -235,7 +236,7 @@ "enabled": false, "max": 4 }, - "led_map": [0, 1, 2, 3], + "led_map": [3, 2, 1, 0], "max_brightness": 127, "rgbw": false, "sleep": true, diff --git a/keyboards/protokeeb/rev1/mcuconf.h b/keyboards/protokeeb/rev1/mcuconf.h index 9ccd9c48aa6..59b14b5b3fb 100644 --- a/keyboards/protokeeb/rev1/mcuconf.h +++ b/keyboards/protokeeb/rev1/mcuconf.h @@ -1,4 +1,4 @@ -/* Protokeeb Copyright 2024 A-Tech Officials +/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or diff --git a/keyboards/protokeeb/rev1/rev1.c b/keyboards/protokeeb/rev1/rev1.c index c8869f1285e..58f05128c92 100644 --- a/keyboards/protokeeb/rev1/rev1.c +++ b/keyboards/protokeeb/rev1/rev1.c @@ -1,4 +1,4 @@ -/* Protokeeb Copyright 2024 A-Tech Officials +/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or diff --git a/keyboards/protokeeb/rev1/rev1.h b/keyboards/protokeeb/rev1/rev1.h index 1d09f7d7c31..70a8257b47e 100644 --- a/keyboards/protokeeb/rev1/rev1.h +++ b/keyboards/protokeeb/rev1/rev1.h @@ -1,4 +1,4 @@ -/* Protokeeb Copyright 2024 A-Tech Officials +/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or diff --git a/keyboards/protokeeb/rev1/rules.mk b/keyboards/protokeeb/rev1/rules.mk index bebac097109..c35911b2a2e 100644 --- a/keyboards/protokeeb/rev1/rules.mk +++ b/keyboards/protokeeb/rev1/rules.mk @@ -4,24 +4,5 @@ # Default keyboard folder DEFAULT_FOLDER = protokeeb/rev1 -# Mouse keys -#MOUSEKEY_ENABLE = no - -# Audio Control and System Control keys -#EXTRAKEY_ENABLE = yes - -# Console for keyboard debug -#CONSOLE_ENABLE = no - -# Commands for debug and configuration -#COMMAND_ENABLE = no - -# Enable keyboard RGB underglow -#RGBLIGHT_ENABLE = yes -#RGBLIGHT_DRIVER = ws2812 - -# Enable Audio output -#AUDIO_ENABLE = no - -# MIDI Enable -MIDI_ENABLE = no \ No newline at end of file +# Custom scanning of matrix +#CUSTOM_MATRIX = lite diff --git a/keyboards/protokeeb/rules.mk b/keyboards/protokeeb/rules.mk index 68691d55fca..3edb570ac40 100644 --- a/keyboards/protokeeb/rules.mk +++ b/keyboards/protokeeb/rules.mk @@ -1,50 +1,8 @@ # Build Options # Change yes to no to diable feature -# Custom scanning of matrix -#CUSTOM_MATRIX = lite - -# SPI Flash driver -#FLASH_DRIVER = spi - -# EEPROM driver -#EEPROM_DRIVER = spi -#EEPROM_DRIVER = wear_leveling -#WEAR_LEVELING_DRIVER = spi_flash - -# Debounce Method -#DEBOUNCE_TYPE = sym_defer_g # Default Method - # OS detection OS_DETECTION_ENABLE = yes -# Enable Bootmagic Lite -#BOOTMAGIC_ENABLE = yes - -# Development Board used -#BOARD = GENERIC_RP_RP2040 - -# Bootlader Selection -#BOOTLOADER = rp2040 - -# Enable N-Key Rollover -#NKRO_ENABLE = yes - -# ARGB LED Driver used -#WS2812_DRIVER = vendor # For RP2040 MCU - # Rotary Encoder support ENCODER_ENABLE = yes - -# DIP Switch support -# Note: Here using for Encoder Push Button Functionality -#DIP_SWITCH_ENABLE = yes - -# Refer: USB Endpoint Limitations -#KEYBOARD_SHARED_EP = yes -#MOUSE_SHARED_EP = no - -# To reduce firmware size, consider turning on link time optimization -# Note: This may have unexpected side effects on keyboards -# using ARM processors, so test thoroughly with it enabled and disabled. -# LTO_ENABLE = yes \ No newline at end of file From c1290ce8635a5bbbcea61b803141840f07e8d548 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Sun, 23 Jun 2024 02:28:54 +0530 Subject: [PATCH 08/66] Added more features, changes in the Protokeeb firmware files according to the QMK's new changelogs (renamed Protokeeb rev1 info.json to keyboard.json) and much more... --- keyboards/protokeeb/keymaps/debug/rules.mk | 10 ++++- keyboards/protokeeb/keymaps/default/keymap.c | 41 +++++++++++++---- keyboards/protokeeb/keymaps/default/rules.mk | 6 ++- keyboards/protokeeb/keymaps/midi/keymap.c | 39 ++++++++++++---- keyboards/protokeeb/keymaps/midi/rules.mk | 2 +- keyboards/protokeeb/keymaps/via/keymap.c | 11 +++-- keyboards/protokeeb/keymaps/via/rules.mk | 6 ++- keyboards/protokeeb/rev1/config.h | 6 +++ .../rev1/{info.json => keyboard.json} | 4 +- keyboards/protokeeb/rev1/readme.md | 45 ++++++++++--------- keyboards/protokeeb/rev1/rules.mk | 2 +- 11 files changed, 119 insertions(+), 53 deletions(-) rename keyboards/protokeeb/rev1/{info.json => keyboard.json} (98%) diff --git a/keyboards/protokeeb/keymaps/debug/rules.mk b/keyboards/protokeeb/keymaps/debug/rules.mk index bdcd12d8061..bb1518d5152 100644 --- a/keyboards/protokeeb/keymaps/debug/rules.mk +++ b/keyboards/protokeeb/keymaps/debug/rules.mk @@ -1,8 +1,14 @@ # Build Options -# Change yes to no to diable feature +# Change yes to no to disable feature # Console for keyboard debug CONSOLE_ENABLE = yes # Commands for debug and configuration -COMMAND_ENABLE = yes \ No newline at end of file +COMMAND_ENABLE = yes + +# Rotary Encoder Keymap support +ENCODER_MAP_ENABLE = yes + +# DIP Switch Keymap support +DIP_SWITCH_MAP_ENABLE = no \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/default/keymap.c b/keyboards/protokeeb/keymaps/default/keymap.c index ac6028a8838..b644277c2b0 100644 --- a/keyboards/protokeeb/keymaps/default/keymap.c +++ b/keyboards/protokeeb/keymaps/default/keymap.c @@ -25,33 +25,56 @@ enum protokeeb_keymap_layers { LAYER_BASE = 0, LAYER_LOWER = 1, + LAYER_RAISE = 2, + LAYER_ADJUST = 3, }; #define LOWER MO(LAYER_LOWER) +#define RAISE LT(LAYER_RAISE, KC_KP_PLUS) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [LAYER_BASE] = LAYOUT( /* Base */ - KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, - KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, - KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, - LOWER, KC_KP_0, KC_KP_PLUS, KC_KP_ENTER + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, + KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, + KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, + LOWER, KC_KP_0, RAISE, KC_KP_ENTER ), [LAYER_LOWER] = LAYOUT( /* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, - RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, - RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, - KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, + RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, + RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, + KC_TRNS, RGB_MODE_SWIRL, KC_TRNS, QK_BOOT ), + + [LAYER_RAISE] = LAYOUT( /* Raise */ + KC_F1, KC_F2, KC_F3, KC_F4, + KC_F5, KC_F6, KC_F7, KC_F8, + KC_F9, KC_F10, KC_F11, KC_F12, + QK_REBOOT, QK_DEBUG_TOGGLE, KC_TRNS, QK_AUDIO_TOGGLE + ), + + [LAYER_ADJUST] = LAYOUT( /* Adjust */ + KC_MEDIA_PLAY_PAUSE, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_MEDIA_STOP, + KC_CALCULATOR, KC_MY_COMPUTER, KC_CONTROL_PANEL, KC_SYSTEM_POWER, + KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_NO, KC_TRNS, KC_NO + ), }; #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, + [LAYER_LOWER] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) }, + [LAYER_RAISE] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, + [LAYER_ADJUST] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, }; #endif +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST); +} + /* #if defined(DIP_SWITCH_MAP_ENABLE) const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = { diff --git a/keyboards/protokeeb/keymaps/default/rules.mk b/keyboards/protokeeb/keymaps/default/rules.mk index 5f850d00da3..a9287f803ad 100644 --- a/keyboards/protokeeb/keymaps/default/rules.mk +++ b/keyboards/protokeeb/keymaps/default/rules.mk @@ -1,8 +1,10 @@ # Build Options Protokeeb rev1 -# Change yes to no to diable features +# Change yes to no to disable features # Rotary Encoder Keymap support ENCODER_MAP_ENABLE = yes # DIP Switch Keymap support -DIP_SWITCH_MAP_ENABLE = no \ No newline at end of file +DIP_SWITCH_MAP_ENABLE = no + +TRI_LAYER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/midi/keymap.c b/keyboards/protokeeb/keymaps/midi/keymap.c index 4175d1c8566..d0cb2ab8ae2 100644 --- a/keyboards/protokeeb/keymaps/midi/keymap.c +++ b/keyboards/protokeeb/keymaps/midi/keymap.c @@ -23,31 +23,52 @@ #include "quantum.h" enum protokeeb_keymap_layers { - LAYER_BASE = 0, - LAYER_LOWER = 1, + LAYER_NOTES_SET_1 = 0, + LAYER_NOTES_SET_2 = 1, + LAYER_NOTES_SET_3 = 2, + LAYER_RGB_CONTROL = 3, }; -#define LOWER MO(LAYER_LOWER) +#define NOTES_SET_1 TG(LAYER_NOTES_SET_1) +#define NOTES_SET_2 TG(LAYER_NOTES_SET_2) +#define NOTES_SET_3 TG(LAYER_NOTES_SET_3) +#define RGB_CTRL MO(LAYER_RGB_CONTROL) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT( /* MIDI Control */ + [LAYER_BASE] = LAYOUT( /* Notes Set-1 */ MI_C, MI_Cs, MI_D, MI_Ds, MI_E, MI_F, MI_Fs, MI_G, MI_Gs, MI_A, MI_As, MI_B, - LOWER, MI_C1, MI_Cs1, MI_D1 + RGB_CTRL, NOTES_SET_2, NOTES_SET_3, MI_TOGG ), - [LAYER_LOWER] = LAYOUT( /* RGB Control */ + [LAYER_NOTES_SET_2] = LAYOUT( /* Notes Set-2 */ + MI_C1, MI_Cs1, MI_D1, MI_Ds1, + MI_E1, MI_F1, MI_Fs1, MI_G1, + MI_Gs1, MI_A1, MI_As1, MI_B1, + NOTES_SET_1, KC_TRNS, NOTES_SET_3, KC_TRNS + ), + + [LAYER_NOTES_SET_3] = LAYOUT( /* Notes Set-3 */ + MI_C2, MI_Cs2, MI_D2, MI_Ds2, + MI_E2, MI_F2, MI_Fs2, MI_G2, + MI_Gs2, MI_A2, MI_As2, MI_B2, + NOTES_SET_1, NOTES_SET_2, KC_TRNS, KC_TRNS + ), + + [LAYER_RGB_CONTROL] = LAYOUT( /* RGB Control */ RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, - KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT ), }; #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, + [LAYER_NOTES_SET_1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [LAYER_NOTES_SET_2] = { ENCODER_CCW_CW(MI_OCTD, MI_OCTU) }, + [LAYER_NOTES_SET_3] = { ENCODER_CCW_CW(MI_TRSD, MI_TRSU) }, + [LAYER_RGB_CONTROL] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) }, }; #endif diff --git a/keyboards/protokeeb/keymaps/midi/rules.mk b/keyboards/protokeeb/keymaps/midi/rules.mk index b837918166f..62f7053f99e 100644 --- a/keyboards/protokeeb/keymaps/midi/rules.mk +++ b/keyboards/protokeeb/keymaps/midi/rules.mk @@ -1,5 +1,5 @@ # Build Options -# Change yes to no to diable feature +# Change yes to no to disable feature MIDI_ENABLE = yes diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index 7f9535564cd..eb75cb2db26 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -29,13 +29,14 @@ enum protokeeb_keymap_layers { }; #define LOWER MO(LAYER_LOWER) +#define RAISE LT(DYNAMIC_LAYER1, KC_KP_PLUS) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [LAYER_BASE] = LAYOUT( /* Base */ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, - LOWER, KC_KP_0, KC_KP_PLUS, KC_KP_ENTER + LOWER, KC_KP_0, RAISE, KC_KP_ENTER ), [LAYER_LOWER] = LAYOUT( /* RGB Control */ @@ -64,7 +65,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, - [DYNAMIC_LAYER1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [DYNAMIC_LAYER1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, [DYNAMIC_LAYER2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, }; -#endif \ No newline at end of file +#endif + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, LAYER_LOWER, DYNAMIC_LAYER1, DYNAMIC_LAYER2); +} \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/via/rules.mk b/keyboards/protokeeb/keymaps/via/rules.mk index a43d01ad113..54b828763cd 100644 --- a/keyboards/protokeeb/keymaps/via/rules.mk +++ b/keyboards/protokeeb/keymaps/via/rules.mk @@ -1,5 +1,5 @@ # Build Options Protokeeb rev1 -# Change yes to no to diable features +# Change yes to no to disable features # Enable Via support VIA_ENABLE = yes @@ -13,4 +13,6 @@ DIP_SWITCH_MAP_ENABLE = no # To reduce firmware size, consider turning on link time optimization # Note: This may have unexpected side effects on keyboards # using ARM processors, so test thoroughly with it enabled and disabled. -# LTO_ENABLE = yes \ No newline at end of file +# LTO_ENABLE = yes + +TRI_LAYER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/protokeeb/rev1/config.h b/keyboards/protokeeb/rev1/config.h index 45deb3af8d6..76c43b6cb7d 100644 --- a/keyboards/protokeeb/rev1/config.h +++ b/keyboards/protokeeb/rev1/config.h @@ -183,4 +183,10 @@ #if defined(DIP_SWITCH_ENABLE) #define DIP_SWITCH_PINS { GP14 } #endif +*/ + +/* +#define TRI_LAYER_LOWER_LAYER 1 +#define TRI_LAYER_UPPER_LAYER 2 +#define TRI_LAYER_ADJUST_LAYER 3 */ \ No newline at end of file diff --git a/keyboards/protokeeb/rev1/info.json b/keyboards/protokeeb/rev1/keyboard.json similarity index 98% rename from keyboards/protokeeb/rev1/info.json rename to keyboards/protokeeb/rev1/keyboard.json index d2f6623b53d..1e802eeac52 100644 --- a/keyboards/protokeeb/rev1/info.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -11,7 +11,7 @@ "mouse": false }, "suspend_wakeup_delay": 0, - "wait_for": false + "wait_for_enumeration": false }, "board": "GENERIC_RP_RP2040", "bootloader": "rp2040", @@ -161,7 +161,7 @@ "h": 1 }, { - "label": "+", + "label": "LT(2, +)", "matrix": [3, 2], "x": 2, "y": 3, diff --git a/keyboards/protokeeb/rev1/readme.md b/keyboards/protokeeb/rev1/readme.md index 813c0481b93..9e75e40ad92 100644 --- a/keyboards/protokeeb/rev1/readme.md +++ b/keyboards/protokeeb/rev1/readme.md @@ -2,42 +2,43 @@ ![Protokeeb](https://i.imgur.com/RsSBoJg.jpg) -A 16-key (4 x 4) Numpad/Macropad/Midi device designed by A-Tech Officials for easily getting started in the field of custom keyboards. -Learn, build, modify easily as the Protokeeb is an open-source hardware project. -The PCB is based on a Raspberry Pi Pico development board. -Designed for developers and enthusiasts who wants to begin their journey in custom keyboards and keyboard firmware. -Per key south facing ARGB LED and much more. -For more info visit https://github.com/atechofficials/protokeeb +The Protokeeb is a versatile 16-key (4 x 4) Numpad/Macropad/Midi device designed by A-Tech Officials. It is perfect for anyone looking to get started with custom keyboards. This open-source hardware project is based on a Raspberry Pi Pico development board, making it easy to learn, build, and modify. Designed for developers and enthusiasts alike, the Protokeeb features per-key south-facing ARGB LEDs and much more. -- Keyboard Maintainer: [A-Tech Officials](https://github.com/atechofficials) -- Hardware Supported: _Protokeeb Keyboard PCB v1.x, Raspberry Pi Pico, Raspberry Pi Pico W, Waveshare RP2040-Plus_ -- Hardware Availability: [atechofficials](https://github.com/atechofficials/protokeeb) +For more information, visit the [Protokeeb GitHub page](https://github.com/atechofficials/protokeeb). + +- **Keyboard Maintainer:** [A-Tech Officials](https://github.com/atechofficials) +- **Hardware Supported:** Protokeeb Keyboard PCB v1.x, Raspberry Pi Pico, Raspberry Pi Pico W, Waveshare RP2040-Plus +- **Hardware Availability:** [ProtoKeeb](https://github.com/atechofficials/protokeeb) ![Protokeeb Layout Image](https://i.imgur.com/e0RlllX.png) ## Default Protokeeb Layout -This is the default layout that comes flashed on every Protokeeb. -The deafult layout consists of 2 layers. -1st layer for the 16-key numpad, excluding the NUM LOCK key. -2nd layer for RGB LED control and keyboard boot options. +The default layout comes pre-flashed on every Protokeeb and consists of two layers: -Make example of this keyboard (after setting up your build environment): +- Layer 1: 16-key numpad, excluding the NUM LOCK key. +- Layer 2: RGB LED control and keyboard boot options. - make protokeeb:default +To build the default layout, use the following command after setting up your build environment: -Flashing example for this keyboard: +```go +make protokeeb:default +``` - make protokeeb:default:flash +To flash the default layout, use: -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). +```go +make protokeeb:default:flash +``` + +For more information, 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). If you're new to QMK, start with the [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). ## Bootloader -Enter the bootloader in 3 ways: +You can enter the bootloader in three ways: -- **Bootmagic**: Press and hold the top left key (row-0, column-0) before plugging-in the keyboard to your PC/Laptop/host to enter the bootloader. +- **Bootmagic**: Press and hold the top left key (row-0, column-0) before plugging-in the keyboard to your PC/Laptop/host. -- **Physical pcb buttons**: Briefly press and hold both the left and right (Bootsel and Reset) tactile push button located on the top left side of the Protokeeb, then keep holding the left (Bootsel) push button and release/let go the right (Reset) push button and then after 3-5 seconds also release/let go the left (Bootsel) push button to enter the bootloader mode. +- **Physical PCB buttons**: Briefly press and hold both the left (Bootsel) and right (Reset) tactile push buttons located on the top left side of the Protokeeb. Keep holding the left (Bootsel) button, release the right (Reset) button, then release the left (Bootsel) button after 3-5 seconds to enter bootloader mode. -- **Keycode in layout**: Press and hold the FN Key (row-4, column-1) then press the key mapped to `QK_BOOT` i.e ENTER Key (row-4, column-4) to enter the bootloader mode. +- **Keycode in Layout**: Press and hold the FN Key (row-4, column-1) then press the key mapped to `QK_BOOT` (ENTER Key, row-4, column-4) to enter bootloader mode. diff --git a/keyboards/protokeeb/rev1/rules.mk b/keyboards/protokeeb/rev1/rules.mk index c35911b2a2e..46dfcb0e7b6 100644 --- a/keyboards/protokeeb/rev1/rules.mk +++ b/keyboards/protokeeb/rev1/rules.mk @@ -1,5 +1,5 @@ # Build Options -# Change yes to no to diable feature +# Change yes to no to disable feature # Default keyboard folder DEFAULT_FOLDER = protokeeb/rev1 From 254090ec74cf0d1fa1b8e4b5b0e509509c1b4a8d Mon Sep 17 00:00:00 2001 From: atechofficials Date: Sun, 23 Jun 2024 03:38:36 +0530 Subject: [PATCH 09/66] Slight changes in the readme.md file and rules.mk file --- keyboards/protokeeb/rev1/readme.md | 16 +++++++++------- keyboards/protokeeb/rev1/rules.mk | 8 -------- keyboards/protokeeb/rules.mk | 5 +++++ 3 files changed, 14 insertions(+), 15 deletions(-) delete mode 100644 keyboards/protokeeb/rev1/rules.mk diff --git a/keyboards/protokeeb/rev1/readme.md b/keyboards/protokeeb/rev1/readme.md index 9e75e40ad92..1c69ae97037 100644 --- a/keyboards/protokeeb/rev1/readme.md +++ b/keyboards/protokeeb/rev1/readme.md @@ -1,8 +1,8 @@ -# Protokeeb +# Protokeeb Rev1 ![Protokeeb](https://i.imgur.com/RsSBoJg.jpg) -The Protokeeb is a versatile 16-key (4 x 4) Numpad/Macropad/Midi device designed by A-Tech Officials. It is perfect for anyone looking to get started with custom keyboards. This open-source hardware project is based on a Raspberry Pi Pico development board, making it easy to learn, build, and modify. Designed for developers and enthusiasts alike, the Protokeeb features per-key south-facing ARGB LEDs and much more. +The Protokeeb is a versatile 16-key (4 x 4) Numpad/Macropad/MIDI device designed by A-Tech Officials. It is perfect for anyone looking to get started with custom keyboards. This open-source hardware project is based on a Raspberry Pi Pico development board, making it easy to learn, build, and modify. Designed for developers and enthusiasts alike, the Protokeeb features per-key south-facing ARGB LEDs and much more. For more information, visit the [Protokeeb GitHub page](https://github.com/atechofficials/protokeeb). @@ -10,25 +10,27 @@ For more information, visit the [Protokeeb GitHub page](https://github.com/atech - **Hardware Supported:** Protokeeb Keyboard PCB v1.x, Raspberry Pi Pico, Raspberry Pi Pico W, Waveshare RP2040-Plus - **Hardware Availability:** [ProtoKeeb](https://github.com/atechofficials/protokeeb) -![Protokeeb Layout Image](https://i.imgur.com/e0RlllX.png) - ## Default Protokeeb Layout +![Protokeeb Layout Image](https://i.imgur.com/e0RlllX.png) + The default layout comes pre-flashed on every Protokeeb and consists of two layers: -- Layer 1: 16-key numpad, excluding the NUM LOCK key. +- Layer 1: 16-key numpad, excluding the NUM LOCK and dot `.` keys. - Layer 2: RGB LED control and keyboard boot options. +- Layer 3: Function keys and other options. +- Layer 4: Media controls and other quick launch options. To build the default layout, use the following command after setting up your build environment: ```go -make protokeeb:default +make protokeeb/rev1:default ``` To flash the default layout, use: ```go -make protokeeb:default:flash +make protokeeb/rev1:default:flash ``` For more information, 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). If you're new to QMK, start with the [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/protokeeb/rev1/rules.mk b/keyboards/protokeeb/rev1/rules.mk deleted file mode 100644 index 46dfcb0e7b6..00000000000 --- a/keyboards/protokeeb/rev1/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -# Build Options -# Change yes to no to disable feature - -# Default keyboard folder -DEFAULT_FOLDER = protokeeb/rev1 - -# Custom scanning of matrix -#CUSTOM_MATRIX = lite diff --git a/keyboards/protokeeb/rules.mk b/keyboards/protokeeb/rules.mk index 3edb570ac40..a849af3724e 100644 --- a/keyboards/protokeeb/rules.mk +++ b/keyboards/protokeeb/rules.mk @@ -1,8 +1,13 @@ # Build Options # Change yes to no to diable feature +# Default keyboard folder +DEFAULT_FOLDER = protokeeb/rev1 + # OS detection OS_DETECTION_ENABLE = yes +RGBLIGHT_ENABLE = yes + # Rotary Encoder support ENCODER_ENABLE = yes From bfa809ef71606a37a564d05391ed7f54755642c7 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Sun, 23 Jun 2024 04:23:33 +0530 Subject: [PATCH 10/66] slight changes in the config.h file --- keyboards/protokeeb/rev1/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/protokeeb/rev1/config.h b/keyboards/protokeeb/rev1/config.h index 76c43b6cb7d..ef1b7123b36 100644 --- a/keyboards/protokeeb/rev1/config.h +++ b/keyboards/protokeeb/rev1/config.h @@ -44,7 +44,7 @@ //#define WS2812_DI_PIN GP10 /* ARGB LED Byte order */ -// #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB // for WS2812 +// #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB // for WS2812B-5050 #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB // for WS2812B-2020 /* Total number of ARGB LEDs connected */ From d84ba683abd70e58f3b7d803342c63dc4b3072ca Mon Sep 17 00:00:00 2001 From: atechofficials Date: Mon, 24 Jun 2024 03:53:01 +0530 Subject: [PATCH 11/66] Removed unsused configuration options. Reviewed files and made some changes according to the PR Checklist documentation. Reorganized existing keymaps and added a new keymap. --- keyboards/protokeeb/keymaps/debug/keymap.c | 6 +- keyboards/protokeeb/keymaps/default/keymap.c | 57 +--- keyboards/protokeeb/keymaps/default/rules.mk | 2 - .../keymaps/default_ortho_4x4/keymap.c | 76 +++++ .../keymaps/default_ortho_4x4/rules.mk | 10 + keyboards/protokeeb/keymaps/midi/config.h | 2 +- keyboards/protokeeb/keymaps/midi/keymap.c | 10 +- keyboards/protokeeb/keymaps/midi/rules.mk | 1 + keyboards/protokeeb/keymaps/via/config.h | 4 - keyboards/protokeeb/keymaps/via/keymap.c | 46 +-- keyboards/protokeeb/keymaps/via/rules.mk | 5 - keyboards/protokeeb/rev1/config.h | 151 +--------- keyboards/protokeeb/rev1/halconf.h | 11 - keyboards/protokeeb/rev1/keyboard.json | 282 +++++++++++++++++- keyboards/protokeeb/rev1/readme.md | 18 +- keyboards/protokeeb/rules.mk | 6 +- 16 files changed, 415 insertions(+), 272 deletions(-) create mode 100644 keyboards/protokeeb/keymaps/default_ortho_4x4/keymap.c create mode 100644 keyboards/protokeeb/keymaps/default_ortho_4x4/rules.mk diff --git a/keyboards/protokeeb/keymaps/debug/keymap.c b/keyboards/protokeeb/keymaps/debug/keymap.c index ea46d8bd614..62bea484e40 100644 --- a/keyboards/protokeeb/keymaps/debug/keymap.c +++ b/keyboards/protokeeb/keymaps/debug/keymap.c @@ -1,4 +1,4 @@ -/* Protokeeb Copyright 2024 A-Tech Officials +/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or @@ -26,14 +26,14 @@ enum protokeeb_keymap_layers { LAYER_LOWER = 1, }; -#define LOWER MO(LAYER_LOWER) +#define LOWER LT(LAYER_LOWER, KC_KP_0) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [LAYER_BASE] = LAYOUT( /* Base */ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, - LOWER, KC_KP_0, KC_KP_PLUS, KC_KP_ENTER + LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS ), [LAYER_LOWER] = LAYOUT( /* RGB Control */ diff --git a/keyboards/protokeeb/keymaps/default/keymap.c b/keyboards/protokeeb/keymaps/default/keymap.c index b644277c2b0..bc798c45d9d 100644 --- a/keyboards/protokeeb/keymaps/default/keymap.c +++ b/keyboards/protokeeb/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Protokeeb Copyright 2024 A-Tech Officials +/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or @@ -19,67 +19,34 @@ */ #include QMK_KEYBOARD_H -#include "os_detection.h" #include "quantum.h" enum protokeeb_keymap_layers { LAYER_BASE = 0, LAYER_LOWER = 1, - LAYER_RAISE = 2, - LAYER_ADJUST = 3, }; -#define LOWER MO(LAYER_LOWER) -#define RAISE LT(LAYER_RAISE, KC_KP_PLUS) +#define LOWER LT(LAYER_LOWER, KC_KP_0) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [LAYER_BASE] = LAYOUT( /* Base */ - KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, - KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, - KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, - LOWER, KC_KP_0, RAISE, KC_KP_ENTER + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, + KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, + KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, + LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS ), [LAYER_LOWER] = LAYOUT( /* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, - RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, - RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, - KC_TRNS, RGB_MODE_SWIRL, KC_TRNS, QK_BOOT + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, + RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, + RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, + KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT ), - - [LAYER_RAISE] = LAYOUT( /* Raise */ - KC_F1, KC_F2, KC_F3, KC_F4, - KC_F5, KC_F6, KC_F7, KC_F8, - KC_F9, KC_F10, KC_F11, KC_F12, - QK_REBOOT, QK_DEBUG_TOGGLE, KC_TRNS, QK_AUDIO_TOGGLE - ), - - [LAYER_ADJUST] = LAYOUT( /* Adjust */ - KC_MEDIA_PLAY_PAUSE, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_MEDIA_STOP, - KC_CALCULATOR, KC_MY_COMPUTER, KC_CONTROL_PANEL, KC_SYSTEM_POWER, - KC_NO, KC_NO, KC_NO, KC_NO, - KC_TRNS, KC_NO, KC_TRNS, KC_NO - ), }; #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [LAYER_LOWER] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) }, - [LAYER_RAISE] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, - [LAYER_ADJUST] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, }; -#endif - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST); -} - -/* -#if defined(DIP_SWITCH_MAP_ENABLE) -const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = { - DIP_SWITCH_OFF_ON(DF(0), DF(1)), - DIP_SWITCH_OFF_ON(KC_MUTE, KC_MUTE) -}; -#endif -*/ \ No newline at end of file +#endif \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/default/rules.mk b/keyboards/protokeeb/keymaps/default/rules.mk index a9287f803ad..d7e5fb60d8d 100644 --- a/keyboards/protokeeb/keymaps/default/rules.mk +++ b/keyboards/protokeeb/keymaps/default/rules.mk @@ -6,5 +6,3 @@ ENCODER_MAP_ENABLE = yes # DIP Switch Keymap support DIP_SWITCH_MAP_ENABLE = no - -TRI_LAYER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/default_ortho_4x4/keymap.c b/keyboards/protokeeb/keymaps/default_ortho_4x4/keymap.c new file mode 100644 index 00000000000..70bb654cdf5 --- /dev/null +++ b/keyboards/protokeeb/keymaps/default_ortho_4x4/keymap.c @@ -0,0 +1,76 @@ +/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. + * If not, see . + */ + +/* Protokeeb v1.0 + * Keymap: Default ortho 4x4 + */ + +#include QMK_KEYBOARD_H +#include "os_detection.h" +#include "quantum.h" + +enum protokeeb_keymap_layers { + LAYER_BASE = 0, + LAYER_LOWER = 1, + LAYER_RAISE = 2, + LAYER_ADJUST = 3, +}; + +#define LOWER LT(LAYER_LOWER, KC_KP_0) +#define RAISE LT(LAYER_RAISE, KC_KP_ENTER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_BASE] = LAYOUT_ortho_4x4( /* Base */ + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, + KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, + KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, + LOWER, KC_KP_DOT, RAISE, KC_KP_PLUS + ), + + [LAYER_LOWER] = LAYOUT_ortho_4x4( /* RGB Control */ + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, + RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, + RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, + KC_TRNS, RGB_MODE_SWIRL, KC_TRNS, QK_BOOT + ), + + [LAYER_RAISE] = LAYOUT_ortho_4x4( /* Raise */ + KC_F1, KC_F2, KC_F3, KC_F4, + KC_F5, KC_F6, KC_F7, KC_F8, + KC_F9, KC_F10, KC_F11, KC_F12, + QK_REBOOT, QK_DEBUG_TOGGLE, KC_TRNS, QK_AUDIO_TOGGLE + ), + + [LAYER_ADJUST] = LAYOUT_ortho_4x4( /* Adjust */ + KC_MEDIA_PLAY_PAUSE, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_MEDIA_STOP, + KC_CALCULATOR, KC_MY_COMPUTER, KC_CONTROL_PANEL, KC_SYSTEM_POWER, + KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_NO, KC_TRNS, KC_NO + ), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [LAYER_LOWER] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) }, + [LAYER_RAISE] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, + [LAYER_ADJUST] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST); +} diff --git a/keyboards/protokeeb/keymaps/default_ortho_4x4/rules.mk b/keyboards/protokeeb/keymaps/default_ortho_4x4/rules.mk new file mode 100644 index 00000000000..a9287f803ad --- /dev/null +++ b/keyboards/protokeeb/keymaps/default_ortho_4x4/rules.mk @@ -0,0 +1,10 @@ +# Build Options Protokeeb rev1 +# Change yes to no to disable features + +# Rotary Encoder Keymap support +ENCODER_MAP_ENABLE = yes + +# DIP Switch Keymap support +DIP_SWITCH_MAP_ENABLE = no + +TRI_LAYER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/midi/config.h b/keyboards/protokeeb/keymaps/midi/config.h index 00a0418c4cc..c0b1bc4d371 100644 --- a/keyboards/protokeeb/keymaps/midi/config.h +++ b/keyboards/protokeeb/keymaps/midi/config.h @@ -16,4 +16,4 @@ #pragma once -#define MIDI_ADVANCED +#define MIDI_BASIC diff --git a/keyboards/protokeeb/keymaps/midi/keymap.c b/keyboards/protokeeb/keymaps/midi/keymap.c index d0cb2ab8ae2..a786409ad8d 100644 --- a/keyboards/protokeeb/keymaps/midi/keymap.c +++ b/keyboards/protokeeb/keymaps/midi/keymap.c @@ -1,4 +1,4 @@ -/* Protokeeb Copyright 2024 A-Tech Officials +/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or @@ -35,28 +35,28 @@ enum protokeeb_keymap_layers { #define RGB_CTRL MO(LAYER_RGB_CONTROL) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT( /* Notes Set-1 */ + [LAYER_NOTES_SET_1] = LAYOUT_midi( /* Notes Set-1 */ MI_C, MI_Cs, MI_D, MI_Ds, MI_E, MI_F, MI_Fs, MI_G, MI_Gs, MI_A, MI_As, MI_B, RGB_CTRL, NOTES_SET_2, NOTES_SET_3, MI_TOGG ), - [LAYER_NOTES_SET_2] = LAYOUT( /* Notes Set-2 */ + [LAYER_NOTES_SET_2] = LAYOUT_midi( /* Notes Set-2 */ MI_C1, MI_Cs1, MI_D1, MI_Ds1, MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1, MI_A1, MI_As1, MI_B1, NOTES_SET_1, KC_TRNS, NOTES_SET_3, KC_TRNS ), - [LAYER_NOTES_SET_3] = LAYOUT( /* Notes Set-3 */ + [LAYER_NOTES_SET_3] = LAYOUT_midi( /* Notes Set-3 */ MI_C2, MI_Cs2, MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2, NOTES_SET_1, NOTES_SET_2, KC_TRNS, KC_TRNS ), - [LAYER_RGB_CONTROL] = LAYOUT( /* RGB Control */ + [LAYER_RGB_CONTROL] = LAYOUT_midi( /* RGB Control */ RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, diff --git a/keyboards/protokeeb/keymaps/midi/rules.mk b/keyboards/protokeeb/keymaps/midi/rules.mk index 62f7053f99e..57bdcf10d5a 100644 --- a/keyboards/protokeeb/keymaps/midi/rules.mk +++ b/keyboards/protokeeb/keymaps/midi/rules.mk @@ -1,6 +1,7 @@ # Build Options # Change yes to no to disable feature +# Enable MIDI support MIDI_ENABLE = yes # Rotary Encoder Keymap support diff --git a/keyboards/protokeeb/keymaps/via/config.h b/keyboards/protokeeb/keymaps/via/config.h index 4daa1b38b00..8194c2d5742 100644 --- a/keyboards/protokeeb/keymaps/via/config.h +++ b/keyboards/protokeeb/keymaps/via/config.h @@ -15,7 +15,3 @@ */ #pragma once - -#define DYNAMIC_KEYMAP_LAYER_COUNT 4 // default value 4-layers -// #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 1 // default value 1-byte -// #define VIA_EEPROM_CUSTOM_CONFIG_SIZE 0 // default value 0-bytes diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index eb75cb2db26..c0df08b4c43 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -1,4 +1,4 @@ -/* Protokeeb Copyright 2024 A-Tech Officials +/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or @@ -28,36 +28,36 @@ enum protokeeb_keymap_layers { DYNAMIC_LAYER2 = 3 }; -#define LOWER MO(LAYER_LOWER) -#define RAISE LT(DYNAMIC_LAYER1, KC_KP_PLUS) +#define LOWER LT(LAYER_LOWER, KC_KP_0) +#define RAISE LT(DYNAMIC_LAYER1, KC_KP_ENTER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT( /* Base */ - KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, - KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, - KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, - LOWER, KC_KP_0, RAISE, KC_KP_ENTER + [LAYER_BASE] = LAYOUT_ortho_4x4( /* Base */ + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, + KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, + KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, + LOWER, KC_KP_DOT, RAISE, KC_KP_PLUS ), - [LAYER_LOWER] = LAYOUT( /* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, - RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, - RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, - KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT + [LAYER_LOWER] = LAYOUT_ortho_4x4( /* RGB Control */ + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, + RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, + RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, + KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT ), - [DYNAMIC_LAYER1] = LAYOUT( /* Empty for dynamic keymaps */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + [DYNAMIC_LAYER1] = LAYOUT_ortho_4x4( /* Empty for dynamic keymaps */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [DYNAMIC_LAYER2] = LAYOUT( /* Empty for dynamic keymaps */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + [DYNAMIC_LAYER2] = LAYOUT_ortho_4x4( /* Empty for dynamic keymaps */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; diff --git a/keyboards/protokeeb/keymaps/via/rules.mk b/keyboards/protokeeb/keymaps/via/rules.mk index 54b828763cd..e9b8d51921c 100644 --- a/keyboards/protokeeb/keymaps/via/rules.mk +++ b/keyboards/protokeeb/keymaps/via/rules.mk @@ -10,9 +10,4 @@ ENCODER_MAP_ENABLE = yes # DIP Switch Keymap support DIP_SWITCH_MAP_ENABLE = no -# To reduce firmware size, consider turning on link time optimization -# Note: This may have unexpected side effects on keyboards -# using ARM processors, so test thoroughly with it enabled and disabled. -# LTO_ENABLE = yes - TRI_LAYER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/protokeeb/rev1/config.h b/keyboards/protokeeb/rev1/config.h index ef1b7123b36..723312b44c9 100644 --- a/keyboards/protokeeb/rev1/config.h +++ b/keyboards/protokeeb/rev1/config.h @@ -16,86 +16,18 @@ #pragma once -/* -#define VENDOR_ID 0x419A -#define PRODUCT_ID 0x1717 -#define DEVICE_VERSION 0x0100 // v1.0.0 -#define MANUFACTURER "A-Tech Officials" -#define PRODUCT "Protokeeb" -*/ - -#define MATRIX_ROWS 4 -#define MATRIX_COLS 4 - -/* -#define MATRIX_ROW_PINS \ - { GP2, GP3, GP4, GP5 } - -#define MATRIX_COL_PINS \ - { GP6, GP7, GP8, GP9 } - -#define DIODE_DIRECTION COL2ROW -*/ - -//#define DEBOUNCE 20 - -#ifdef RGBLIGHT_ENABLE -/* ARGB LED Data-In Pin */ -//#define WS2812_DI_PIN GP10 - /* ARGB LED Byte order */ -// #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB // for WS2812B-5050 -#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB // for WS2812B-2020 - -/* Total number of ARGB LEDs connected */ -//#define RGBLIGHT_LED_COUNT 4 - -/* Total number of ARGB LEDs in Matrix */ -//#define RGB_MATRIX_LED_COUNT 16 +#undef WS2812_BYTE_ORDER +#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB /* Peripheral used */ #define WS2812_PIO_USE_PIO1 -//#define RGBLIGHT_HUE_STEP 15 -//#define RGBLIGHT_SAT_STEP 15 -//#define RGBLIGHT_VAL_STEP 15 - -/* ARGB LED T-reset period between frames */ -// #define WS2812_TRST_US 280 - -/* The maximum ARGB LED brightness level */ -//#define RGBLIGHT_LIMIT_VAL 127 - -/* RGB LEDs Default/Fallback Values */ -//#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT -//#define RGBLIGHT_DEFAULT_HUE 0 -//#define RGBLIGHT_DEFAULT_SAT 255 -//#define RGBLIGHT_DEFAULT_VAL 50 -//#define RGBLIGHT_DEFAULT_SPD 0 - -// Enable RGB lighting upon clearing the EEPROM -//#define RGBLIGHT_DEFAULT_ON true - -/* If defined, the RGB lighting will be switched off when the host goes to sleep */ -//#define RGBLIGHT_SLEEP - -/* RGB lighting effects and animations Enable */ -//#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 - /* RGB lighting effects and animations settings */ -#define RGBLIGHT_EFFECT_BREATHE_MAX RGBLIGHT_LIMIT_VAL +#define RGBLIGHT_EFFECT_BREATHE_MAX 127 #define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 40 #define RGBLIGHT_EFFECT_CHRISTMAS_STEP 2 -#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM RGBLIGHT_LED_COUNT +#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 4 #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3 #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 0 #define RGBLIGHT_EFFECT_SWIRL_RANGE 255 @@ -103,44 +35,6 @@ #define RGBLIGHT_EFFECT_TWINKLE_LIFE 200 #define RGBLIGHT_EFFECT_TWINKLE_PROBABILITY 1/127 -#endif - -/* Tap Dance timing */ -#define TAPPING_TERM 200 - -/* I2C Interface configuration */ -#define I2C_DRIVER I2CD0 - -//#define I2C_SCL_PIN NO_PIN -#define I2C_SCL_PIN GP21 -//#define I2C_SCL_PAL_MODE 4 - -//#define I2C_SDA_PIN NO_PIN -#define I2C_SDA_PIN GP20 -//#define I2C_SDA_PAL_MODE 4 - -/* SPI Interface configuration */ -#define SPI_DRIVER SPID0 - -#define SPI_SCK_PIN NO_PIN -//#define SPI_SCK_PIN GP18 -//#define SPI_SCK_PAL_MODE 5 - -#define SPI_MOSI_PIN NO_PIN -//#define SPI_MOSI_PIN GP19 -//#define SPI_MOSI_PAL_MODE 5 - -#define SPI_MISO_PIN NO_PIN -//#define SPI_MISO_PIN GP20 -//#define SPI_MISO_PAL_MODE 5 - -/* Bootloader Enter Button - * Press and hold when pluging the keyboard - * to enter the bootloader for flashing - */ -//#define BOOTMAGIC_ROW 0 -//#define BOOTMAGIC_COLUMN 0 - /* Double tap reset bootloader entry */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET @@ -150,43 +44,6 @@ /* LED to blink when entering bootloader mode */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 -/* RP2040 External SPI Flash Type */ -//#define RP2040_FLASH_W25Q080 // Default -//#define RP2040_FLASH_GENERIC_03H - -/* Mechanical lcoking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -//#define LOCKING_SUPPORT_ENABLE - -/* Locking resynchronize hack */ -//#define LOCKING_RESYNC_ENABLE - #if defined (ENCODER_ENABLE) -//#define ENCODER_PAD_A { GP12 } -//#define ENCODER_PAD_B { GP13 } - -// For Multiple Encoders Setup -// #define ENCODERS_PAD_A { encoder1a, encoder2a } -// #define ENCODERS_PAD_B { encoder1b, encoder2b } - -// #define ENCODER_DIRECTION_FLIP - -//#define ENCODER_RESOLUTION 2 - -// For setting individual resolution for each encoder -// #define ENCODER_RESOLUTIONS { 4, 2 } - -// #define ENCODER_DEFAULT_POS 0x3 #define ENCODER_MAP_KEY_DELAY 10 #endif - -/* -#if defined(DIP_SWITCH_ENABLE) -#define DIP_SWITCH_PINS { GP14 } -#endif -*/ - -/* -#define TRI_LAYER_LOWER_LAYER 1 -#define TRI_LAYER_UPPER_LAYER 2 -#define TRI_LAYER_ADJUST_LAYER 3 -*/ \ No newline at end of file diff --git a/keyboards/protokeeb/rev1/halconf.h b/keyboards/protokeeb/rev1/halconf.h index 2996e46b2ba..a29cc154d52 100644 --- a/keyboards/protokeeb/rev1/halconf.h +++ b/keyboards/protokeeb/rev1/halconf.h @@ -16,15 +16,4 @@ #pragma once -/* Enable RP2040 I2C Interface */ -#undef HAL_USE_I2C -#define HAL_USE_I2C FALSE - -/* Enable RP2040 SPI Interface */ -#undef HAL_USE_SPI -#define HAL_USE_SPI FALSE -#define SPI_USE_WAIT FALSE -#define SPI_SELECT_MODE SPI_SELECT_MODE_NONE -// #define SPI_SELECT_MODE SPI_SELECT_MODE_PAD - #include_next diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index 1e802eeac52..a5df5bd6297 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -23,13 +23,9 @@ }, "features": { "bootmagic": true, - "command": false, - "console": false, "rgblight": true, "extrakey": true, - "mousekey": false, - "nkro": true, - "midi": false + "nkro": true }, "qmk": { "locking": { @@ -145,7 +141,7 @@ "h": 1 }, { - "label": "MO(1)", + "label": "0", "matrix": [3, 0], "x": 0, "y": 3, @@ -153,7 +149,7 @@ "h": 1 }, { - "label": "0", + "label": ".", "matrix": [3, 1], "x": 1, "y": 3, @@ -161,7 +157,7 @@ "h": 1 }, { - "label": "LT(2, +)", + "label": "ENTER", "matrix": [3, 2], "x": 2, "y": 3, @@ -169,7 +165,271 @@ "h": 1 }, { - "label": "N.ENT", + "label": "+", + "matrix": [3, 3], + "x": 3, + "y": 3, + "w": 1, + "h": 1 + } + ] + }, + "LAYOUT_ortho_4x4": { + "layout": [ + { + "label": "7", + "matrix": [0, 0], + "x": 0, + "y": 0, + "w": 1, + "h": 1 + }, + { + "label": "8", + "matrix": [0, 1], + "x": 1, + "y": 0, + "w": 1, + "h": 1 + }, + { + "label": "9", + "matrix": [0, 2], + "x": 2, + "y": 0, + "w": 1, + "h": 1 + }, + { + "label": "/", + "matrix": [0, 3], + "x": 3, + "y": 0, + "w": 1, + "h": 1 + }, + { + "label": "4", + "matrix": [1, 0], + "x": 0, + "y": 1, + "w": 1, + "h": 1 + }, + { + "label": "5", + "matrix": [1, 1], + "x": 1, + "y": 1, + "w": 1, + "h": 1 + }, + { + "label": "6", + "matrix": [1, 2], + "x": 2, + "y": 1, + "w": 1, + "h": 1 + }, + { + "label": "*", + "matrix": [1, 3], + "x": 3, + "y": 1, + "w": 1, + "h": 1 + }, + { + "label": "1", + "matrix": [2, 0], + "x": 0, + "y": 2, + "w": 1, + "h": 1 + }, + { + "label": "2", + "matrix": [2, 1], + "x": 1, + "y": 2, + "w": 1, + "h": 1 + }, + { + "label": "3", + "matrix": [2, 2], + "x": 2, + "y": 2, + "w": 1, + "h": 1 + }, + { + "label": "-", + "matrix": [2, 3], + "x": 3, + "y": 2, + "w": 1, + "h": 1 + }, + { + "label": "0", + "matrix": [3, 0], + "x": 0, + "y": 3, + "w": 1, + "h": 1 + }, + { + "label": ".", + "matrix": [3, 1], + "x": 1, + "y": 3, + "w": 1, + "h": 1 + }, + { + "label": "ENTER", + "matrix": [3, 2], + "x": 2, + "y": 3, + "w": 1, + "h": 1 + }, + { + "label": "+", + "matrix": [3, 3], + "x": 3, + "y": 3, + "w": 1, + "h": 1 + } + ] + }, + "LAYOUT_midi": { + "layout": [ + { + "label": "MI_C", + "matrix": [0, 0], + "x": 0, + "y": 0, + "w": 1, + "h": 1 + }, + { + "label": "MI_Cs", + "matrix": [0, 1], + "x": 1, + "y": 0, + "w": 1, + "h": 1 + }, + { + "label": "MI_D", + "matrix": [0, 2], + "x": 2, + "y": 0, + "w": 1, + "h": 1 + }, + { + "label": "MI_Ds", + "matrix": [0, 3], + "x": 3, + "y": 0, + "w": 1, + "h": 1 + }, + { + "label": "MI_E", + "matrix": [1, 0], + "x": 0, + "y": 1, + "w": 1, + "h": 1 + }, + { + "label": "MI_F", + "matrix": [1, 1], + "x": 1, + "y": 1, + "w": 1, + "h": 1 + }, + { + "label": "MI_Fs", + "matrix": [1, 2], + "x": 2, + "y": 1, + "w": 1, + "h": 1 + }, + { + "label": "MI_G", + "matrix": [1, 3], + "x": 3, + "y": 1, + "w": 1, + "h": 1 + }, + { + "label": "MI_Gs", + "matrix": [2, 0], + "x": 0, + "y": 2, + "w": 1, + "h": 1 + }, + { + "label": "MI_A", + "matrix": [2, 1], + "x": 1, + "y": 2, + "w": 1, + "h": 1 + }, + { + "label": "MI_As", + "matrix": [2, 2], + "x": 2, + "y": 2, + "w": 1, + "h": 1 + }, + { + "label": "MI_B", + "matrix": [2, 3], + "x": 3, + "y": 2, + "w": 1, + "h": 1 + }, + { + "label": "MO(3)", + "matrix": [3, 0], + "x": 0, + "y": 3, + "w": 1, + "h": 1 + }, + { + "label": "TG(1)", + "matrix": [3, 1], + "x": 1, + "y": 3, + "w": 1, + "h": 1 + }, + { + "label": "TG(2)", + "matrix": [3, 2], + "x": 2, + "y": 3, + "w": 1, + "h": 1 + }, + { + "label": "MI_TOGG", "matrix": [3, 3], "x": 3, "y": 3, @@ -238,9 +498,7 @@ }, "led_map": [3, 2, 1, 0], "max_brightness": 127, - "rgbw": false, - "sleep": true, - "split": false + "sleep": true }, "ws2812": { "driver": "vendor", diff --git a/keyboards/protokeeb/rev1/readme.md b/keyboards/protokeeb/rev1/readme.md index 1c69ae97037..f4eb9205ce0 100644 --- a/keyboards/protokeeb/rev1/readme.md +++ b/keyboards/protokeeb/rev1/readme.md @@ -16,31 +16,29 @@ For more information, visit the [Protokeeb GitHub page](https://github.com/atech The default layout comes pre-flashed on every Protokeeb and consists of two layers: -- Layer 1: 16-key numpad, excluding the NUM LOCK and dot `.` keys. +- Layer 1: 16-key numpad, excluding the `NUM LOCK` key. - Layer 2: RGB LED control and keyboard boot options. -- Layer 3: Function keys and other options. -- Layer 4: Media controls and other quick launch options. -To build the default layout, use the following command after setting up your build environment: +Make example for this keyboard (after setting up your build environment): ```go make protokeeb/rev1:default ``` -To flash the default layout, use: +Flashing example for this keyboard: ```go make protokeeb/rev1:default:flash ``` -For more information, 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). If you're new to QMK, start with the [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). +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). ## Bootloader -You can enter the bootloader in three ways: +Enter the bootloader in 3 ways: -- **Bootmagic**: Press and hold the top left key (row-0, column-0) before plugging-in the keyboard to your PC/Laptop/host. +- **Bootmagic reset:** Press and hold the top left key (row-0, column-0) before plugging-in the keyboard into your PC/Laptop. -- **Physical PCB buttons**: Briefly press and hold both the left (Bootsel) and right (Reset) tactile push buttons located on the top left side of the Protokeeb. Keep holding the left (Bootsel) button, release the right (Reset) button, then release the left (Bootsel) button after 3-5 seconds to enter bootloader mode. +- **Physical reset buttons:** Briefly press and hold both the left (Bootsel) and right (Reset) tactile push buttons located on the top left side of the Protokeeb rev1 PCB. Keep holding the left (Bootsel) button, release the right (Reset) button, then release the left (Bootsel) button after 3-5 seconds to enter bootloader mode. -- **Keycode in Layout**: Press and hold the FN Key (row-4, column-1) then press the key mapped to `QK_BOOT` (ENTER Key, row-4, column-4) to enter bootloader mode. +- **Keycode in Layout:** Press and hold the 0-key (row-4, column-1) then press the key mapped to `QK_BOOT` (Plus + key, row-4, column-4) to enter bootloader mode. diff --git a/keyboards/protokeeb/rules.mk b/keyboards/protokeeb/rules.mk index a849af3724e..99fe2d2fa46 100644 --- a/keyboards/protokeeb/rules.mk +++ b/keyboards/protokeeb/rules.mk @@ -4,10 +4,8 @@ # Default keyboard folder DEFAULT_FOLDER = protokeeb/rev1 -# OS detection +# Enable OS detection OS_DETECTION_ENABLE = yes -RGBLIGHT_ENABLE = yes - -# Rotary Encoder support +# Enable Rotary Encoder support ENCODER_ENABLE = yes From bb827d718c28e26433f036b222f5fe8b7531ea87 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Mon, 24 Jun 2024 15:27:42 +0530 Subject: [PATCH 12/66] Created a new rules.mk file inside the keyboard's root folder and added the keyboard specific configurations --- keyboards/protokeeb/rev1/rules.mk | 8 ++++++++ keyboards/protokeeb/rules.mk | 6 ------ 2 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 keyboards/protokeeb/rev1/rules.mk diff --git a/keyboards/protokeeb/rev1/rules.mk b/keyboards/protokeeb/rev1/rules.mk new file mode 100644 index 00000000000..b87faeaba58 --- /dev/null +++ b/keyboards/protokeeb/rev1/rules.mk @@ -0,0 +1,8 @@ +# Build Options +# Change yes to no to diable feature + +# Enable OS detection +OS_DETECTION_ENABLE = yes + +# Enable Rotary Encoder support +ENCODER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/protokeeb/rules.mk b/keyboards/protokeeb/rules.mk index 99fe2d2fa46..01640ba6968 100644 --- a/keyboards/protokeeb/rules.mk +++ b/keyboards/protokeeb/rules.mk @@ -3,9 +3,3 @@ # Default keyboard folder DEFAULT_FOLDER = protokeeb/rev1 - -# Enable OS detection -OS_DETECTION_ENABLE = yes - -# Enable Rotary Encoder support -ENCODER_ENABLE = yes From 78aa8b7382fdf27ca467b196375131c2465b2c58 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 02:58:17 +0530 Subject: [PATCH 13/66] Update keyboards/protokeeb/keymaps/default/keymap.c Co-authored-by: jack --- keyboards/protokeeb/keymaps/default/keymap.c | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/protokeeb/keymaps/default/keymap.c b/keyboards/protokeeb/keymaps/default/keymap.c index bc798c45d9d..3b329e2bf23 100644 --- a/keyboards/protokeeb/keymaps/default/keymap.c +++ b/keyboards/protokeeb/keymaps/default/keymap.c @@ -19,7 +19,6 @@ */ #include QMK_KEYBOARD_H -#include "quantum.h" enum protokeeb_keymap_layers { LAYER_BASE = 0, From 4bc304501107d58c0a5169bc37dd9281c9e4a141 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:03:39 +0530 Subject: [PATCH 14/66] Update keyboards/protokeeb/keymaps/default/keymap.c Co-authored-by: jack --- keyboards/protokeeb/keymaps/default/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/protokeeb/keymaps/default/keymap.c b/keyboards/protokeeb/keymaps/default/keymap.c index 3b329e2bf23..3d1f8698cf6 100644 --- a/keyboards/protokeeb/keymaps/default/keymap.c +++ b/keyboards/protokeeb/keymaps/default/keymap.c @@ -21,8 +21,8 @@ #include QMK_KEYBOARD_H enum protokeeb_keymap_layers { - LAYER_BASE = 0, - LAYER_LOWER = 1, + LAYER_BASE + LAYER_LOWER }; #define LOWER LT(LAYER_LOWER, KC_KP_0) From 7ea5d711bce53da2d64e1e6418dce70f1f91a557 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:05:01 +0530 Subject: [PATCH 15/66] Update keyboards/protokeeb/keymaps/midi/keymap.c Co-authored-by: jack --- keyboards/protokeeb/keymaps/midi/keymap.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/protokeeb/keymaps/midi/keymap.c b/keyboards/protokeeb/keymaps/midi/keymap.c index a786409ad8d..f808dd402b3 100644 --- a/keyboards/protokeeb/keymaps/midi/keymap.c +++ b/keyboards/protokeeb/keymaps/midi/keymap.c @@ -19,8 +19,6 @@ */ #include QMK_KEYBOARD_H -#include "os_detection.h" -#include "quantum.h" enum protokeeb_keymap_layers { LAYER_NOTES_SET_1 = 0, From 0fcde68665f6a09b0b2a7df053bb0089d760629b Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:05:42 +0530 Subject: [PATCH 16/66] Update keyboards/protokeeb/rev1/rev1.c Co-authored-by: jack --- keyboards/protokeeb/rev1/rev1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/protokeeb/rev1/rev1.c b/keyboards/protokeeb/rev1/rev1.c index 58f05128c92..d57fdd0286d 100644 --- a/keyboards/protokeeb/rev1/rev1.c +++ b/keyboards/protokeeb/rev1/rev1.c @@ -14,7 +14,7 @@ * If not, see . */ -#include "rev1.h" +#include "quantum.h" #if defined(DIP_SWITCH_ENABLE) bool dip_switch_update_kb(uint8_t index, bool active) { From e4feb53897a493223c3ee4e00e49e134f13fd846 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:07:08 +0530 Subject: [PATCH 17/66] Update keyboards/protokeeb/keymaps/midi/keymap.c Co-authored-by: jack --- keyboards/protokeeb/keymaps/midi/keymap.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/protokeeb/keymaps/midi/keymap.c b/keyboards/protokeeb/keymaps/midi/keymap.c index f808dd402b3..05d5dfee81f 100644 --- a/keyboards/protokeeb/keymaps/midi/keymap.c +++ b/keyboards/protokeeb/keymaps/midi/keymap.c @@ -21,10 +21,10 @@ #include QMK_KEYBOARD_H enum protokeeb_keymap_layers { - LAYER_NOTES_SET_1 = 0, - LAYER_NOTES_SET_2 = 1, - LAYER_NOTES_SET_3 = 2, - LAYER_RGB_CONTROL = 3, + LAYER_NOTES_SET_1 + LAYER_NOTES_SET_2 + LAYER_NOTES_SET_3 + LAYER_RGB_CONTROL }; #define NOTES_SET_1 TG(LAYER_NOTES_SET_1) From a2194380c3f061fb870842f4f8551bf5e86eab04 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:09:01 +0530 Subject: [PATCH 18/66] Update keyboards/protokeeb/keymaps/via/keymap.c Co-authored-by: jack --- keyboards/protokeeb/keymaps/via/keymap.c | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index c0df08b4c43..de7a05f123d 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -19,7 +19,6 @@ */ #include QMK_KEYBOARD_H -#include "quantum.h" enum protokeeb_keymap_layers { LAYER_BASE = 0, From 8a47fba0f170d69c135d106bf1805b1ace7d7850 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:10:27 +0530 Subject: [PATCH 19/66] Update keyboards/protokeeb/rev1/keyboard.json Co-authored-by: jack --- keyboards/protokeeb/rev1/keyboard.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index a5df5bd6297..dba67e7e59d 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -25,7 +25,8 @@ "bootmagic": true, "rgblight": true, "extrakey": true, - "nkro": true + "nkro": true, + "encoder": true }, "qmk": { "locking": { From 3506a4c4539ba9fa69fa9565f4f1256dfa4b7824 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:13:19 +0530 Subject: [PATCH 20/66] Update keyboards/protokeeb/keymaps/via/keymap.c Co-authored-by: jack --- keyboards/protokeeb/keymaps/via/keymap.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index de7a05f123d..a8780d62faf 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -21,10 +21,8 @@ #include QMK_KEYBOARD_H enum protokeeb_keymap_layers { - LAYER_BASE = 0, - LAYER_LOWER = 1, - DYNAMIC_LAYER1 = 2, - DYNAMIC_LAYER2 = 3 + LAYER_BASE + LAYER_LOWER }; #define LOWER LT(LAYER_LOWER, KC_KP_0) From fe38f5f1c487fea0be5b2234cbc776840190816c Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:14:14 +0530 Subject: [PATCH 21/66] Update keyboards/protokeeb/keymaps/via/keymap.c Co-authored-by: jack --- keyboards/protokeeb/keymaps/via/keymap.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index a8780d62faf..5053daf8cdd 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -41,21 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT - ), - - [DYNAMIC_LAYER1] = LAYOUT_ortho_4x4( /* Empty for dynamic keymaps */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), - - [DYNAMIC_LAYER2] = LAYOUT_ortho_4x4( /* Empty for dynamic keymaps */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - 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(ENCODER_MAP_ENABLE) From 3ba5b88cd10069955bbc8c177a9fd0223e3d2513 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:15:16 +0530 Subject: [PATCH 22/66] Update keyboards/protokeeb/keymaps/via/keymap.c Co-authored-by: jack --- keyboards/protokeeb/keymaps/via/keymap.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index 5053daf8cdd..92701f6a55e 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -47,9 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, - [DYNAMIC_LAYER1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, - [DYNAMIC_LAYER2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) } }; #endif From 27eefb38758e3e69291bfb62fbb594985c8b4254 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:15:40 +0530 Subject: [PATCH 23/66] Update keyboards/protokeeb/keymaps/via/keymap.c Co-authored-by: jack --- keyboards/protokeeb/keymaps/via/keymap.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index 92701f6a55e..7f8b8d35f40 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -49,8 +49,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) } }; -#endif - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, LAYER_LOWER, DYNAMIC_LAYER1, DYNAMIC_LAYER2); -} \ No newline at end of file +#endif \ No newline at end of file From e5ce704208c4c25164d5195b0c6bf86e08c27f4b Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:16:07 +0530 Subject: [PATCH 24/66] Update keyboards/protokeeb/keymaps/via/rules.mk Co-authored-by: jack --- keyboards/protokeeb/keymaps/via/rules.mk | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/keyboards/protokeeb/keymaps/via/rules.mk b/keyboards/protokeeb/keymaps/via/rules.mk index e9b8d51921c..d6a5ca46f5c 100644 --- a/keyboards/protokeeb/keymaps/via/rules.mk +++ b/keyboards/protokeeb/keymaps/via/rules.mk @@ -8,6 +8,4 @@ VIA_ENABLE = yes ENCODER_MAP_ENABLE = yes # DIP Switch Keymap support -DIP_SWITCH_MAP_ENABLE = no - -TRI_LAYER_ENABLE = yes \ No newline at end of file +DIP_SWITCH_MAP_ENABLE = no \ No newline at end of file From 0cae39f3f3940f6413975762645842d091435aa7 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:16:38 +0530 Subject: [PATCH 25/66] Update keyboards/protokeeb/rev1/config.h Co-authored-by: jack --- keyboards/protokeeb/rev1/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/protokeeb/rev1/config.h b/keyboards/protokeeb/rev1/config.h index 723312b44c9..b657cfc28dd 100644 --- a/keyboards/protokeeb/rev1/config.h +++ b/keyboards/protokeeb/rev1/config.h @@ -17,7 +17,6 @@ #pragma once /* ARGB LED Byte order */ -#undef WS2812_BYTE_ORDER #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB /* Peripheral used */ From 6898fb09cab058e838efa454f4e6ef3d5024ade8 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:17:54 +0530 Subject: [PATCH 26/66] Update keyboards/protokeeb/rev1/keyboard.json Co-authored-by: jack --- keyboards/protokeeb/rev1/keyboard.json | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index dba67e7e59d..a69c01e3081 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -1,17 +1,7 @@ { "usb": { "pid": "0x1717", - "device_version": "1.0.0", - "force_nkro": false, - "max_power": 500, - "no_startup_check": false, - "polling_interval": 1, - "shared_endpoint": { - "keyboard": true, - "mouse": false - }, - "suspend_wakeup_delay": 0, - "wait_for_enumeration": false + "device_version": "1.0.0" }, "board": "GENERIC_RP_RP2040", "bootloader": "rp2040", From 71dd1932e6879d371abd74aca9f9e43eb9565ed8 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:18:31 +0530 Subject: [PATCH 27/66] Update keyboards/protokeeb/rev1/keyboard.json Co-authored-by: jack --- keyboards/protokeeb/rev1/keyboard.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index a69c01e3081..07e3826c32b 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -6,11 +6,6 @@ "board": "GENERIC_RP_RP2040", "bootloader": "rp2040", "processor": "RP2040", - "build": { - "debounce_type": "sym_defer_g", - "firmware_format": "uf2", - "lto": false - }, "features": { "bootmagic": true, "rgblight": true, From 842cf93f3afac5c41a5d0aa4540cbfc146300cda Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:19:57 +0530 Subject: [PATCH 28/66] Update keyboards/protokeeb/rev1/keyboard.json Co-authored-by: jack --- keyboards/protokeeb/rev1/keyboard.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index 07e3826c32b..6a401d1c1f8 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -13,14 +13,6 @@ "nkro": true, "encoder": true }, - "qmk": { - "locking": { - "enabled": false, - "resync": false - }, - "tap_capslock_delay": 80, - "tap_keycode_delay": 0 - }, "matrix_pins": { "cols": ["GP6", "GP7", "GP8", "GP9"], "rows": ["GP2", "GP3", "GP4", "GP5"] From d230e717d6a8789065d30fe9945dc0d9bd050a38 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Tue, 25 Jun 2024 03:27:42 +0530 Subject: [PATCH 29/66] Removed debug keymap directory as requested by QMK member in pull request --- keyboards/protokeeb/keymaps/debug/keymap.c | 52 ---------------------- keyboards/protokeeb/keymaps/debug/rules.mk | 14 ------ 2 files changed, 66 deletions(-) delete mode 100644 keyboards/protokeeb/keymaps/debug/keymap.c delete mode 100644 keyboards/protokeeb/keymaps/debug/rules.mk diff --git a/keyboards/protokeeb/keymaps/debug/keymap.c b/keyboards/protokeeb/keymaps/debug/keymap.c deleted file mode 100644 index 62bea484e40..00000000000 --- a/keyboards/protokeeb/keymaps/debug/keymap.c +++ /dev/null @@ -1,52 +0,0 @@ -/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. - * If not, see . - */ - -/* Protokeeb v1.0 - * Keymap: Debug - */ - -#include QMK_KEYBOARD_H -#include "quantum.h" - -enum protokeeb_keymap_layers { - LAYER_BASE = 0, - LAYER_LOWER = 1, -}; - -#define LOWER LT(LAYER_LOWER, KC_KP_0) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT( /* Base */ - KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, - KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, - KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, - LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS - ), - - [LAYER_LOWER] = LAYOUT( /* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, - RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, - RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, - KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT - ), -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, -}; -#endif \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/debug/rules.mk b/keyboards/protokeeb/keymaps/debug/rules.mk deleted file mode 100644 index bb1518d5152..00000000000 --- a/keyboards/protokeeb/keymaps/debug/rules.mk +++ /dev/null @@ -1,14 +0,0 @@ -# Build Options -# Change yes to no to disable feature - -# Console for keyboard debug -CONSOLE_ENABLE = yes - -# Commands for debug and configuration -COMMAND_ENABLE = yes - -# Rotary Encoder Keymap support -ENCODER_MAP_ENABLE = yes - -# DIP Switch Keymap support -DIP_SWITCH_MAP_ENABLE = no \ No newline at end of file From 1f93dbc446d5b555b33a08a1e4e36ec940ea4201 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Tue, 25 Jun 2024 03:34:51 +0530 Subject: [PATCH 30/66] Removed via keymap config.h file as requested by QMK member in pull request --- keyboards/protokeeb/keymaps/via/config.h | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 keyboards/protokeeb/keymaps/via/config.h diff --git a/keyboards/protokeeb/keymaps/via/config.h b/keyboards/protokeeb/keymaps/via/config.h deleted file mode 100644 index 8194c2d5742..00000000000 --- a/keyboards/protokeeb/keymaps/via/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. - * If not, see . - */ - -#pragma once From 2144302a73cb2c980319b25cac74e16fb5b69ecf Mon Sep 17 00:00:00 2001 From: atechofficials Date: Tue, 25 Jun 2024 03:39:36 +0530 Subject: [PATCH 31/66] Removed Protokeeb keyboard's halconf.h file as requested by QMK member in pull request --- keyboards/protokeeb/rev1/halconf.h | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 keyboards/protokeeb/rev1/halconf.h diff --git a/keyboards/protokeeb/rev1/halconf.h b/keyboards/protokeeb/rev1/halconf.h deleted file mode 100644 index a29cc154d52..00000000000 --- a/keyboards/protokeeb/rev1/halconf.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. - * If not, see . - */ - -#pragma once - -#include_next From d1c29a4f6be279da9738a2bc71d4d40550f74c53 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Tue, 25 Jun 2024 04:40:53 +0530 Subject: [PATCH 32/66] Removed the tri-layer functionality from via keymap. Also, removed the LAYOUT and LAYOUT_midi layouts from the keyboard.json file as requested by QMK member in pull request --- keyboards/protokeeb/keymaps/default/keymap.c | 4 +- keyboards/protokeeb/keymaps/via/keymap.c | 3 +- keyboards/protokeeb/rev1/keyboard.json | 468 ++++--------------- 3 files changed, 86 insertions(+), 389 deletions(-) diff --git a/keyboards/protokeeb/keymaps/default/keymap.c b/keyboards/protokeeb/keymaps/default/keymap.c index 3d1f8698cf6..01a0b4e0f4f 100644 --- a/keyboards/protokeeb/keymaps/default/keymap.c +++ b/keyboards/protokeeb/keymaps/default/keymap.c @@ -28,14 +28,14 @@ enum protokeeb_keymap_layers { #define LOWER LT(LAYER_LOWER, KC_KP_0) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT( /* Base */ + [LAYER_BASE] = LAYOUT_ortho_4x4( /* Base */ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS ), - [LAYER_LOWER] = LAYOUT( /* RGB Control */ + [LAYER_LOWER] = LAYOUT_ortho_4x4( /* RGB Control */ RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index 7f8b8d35f40..b1b7743bdc3 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -26,14 +26,13 @@ enum protokeeb_keymap_layers { }; #define LOWER LT(LAYER_LOWER, KC_KP_0) -#define RAISE LT(DYNAMIC_LAYER1, KC_KP_ENTER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [LAYER_BASE] = LAYOUT_ortho_4x4( /* Base */ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, - LOWER, KC_KP_DOT, RAISE, KC_KP_PLUS + LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS ), [LAYER_LOWER] = LAYOUT_ortho_4x4( /* RGB Control */ diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index 6a401d1c1f8..86af5d1076b 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -1,485 +1,183 @@ { - "usb": { - "pid": "0x1717", - "device_version": "1.0.0" + "audio": { + "default": { + "clicky": false, + "on": false + }, + "macro_beep": false, + "pins": ["GP22"], + "voices": false }, "board": "GENERIC_RP_RP2040", "bootloader": "rp2040", - "processor": "RP2040", + "bootmagic": { + "enabled": true, + "matrix": [0, 0] + }, + "debounce": 20, + "diode_direction": "COL2ROW", + "dip_switch": { + "enabled": true, + "pins": ["GP14"] + }, + "encoder": { + "rotary": [{ "pin_a": "GP12", "pin_b": "GP13", "resolution": 2 }] + }, "features": { "bootmagic": true, - "rgblight": true, + "encoder": true, "extrakey": true, "nkro": true, - "encoder": true + "rgblight": true }, "matrix_pins": { "cols": ["GP6", "GP7", "GP8", "GP9"], "rows": ["GP2", "GP3", "GP4", "GP5"] }, - "diode_direction": "COL2ROW", - "debounce": 20, - "layouts": { - "LAYOUT": { - "layout": [ - { - "label": "7", - "matrix": [0, 0], - "x": 0, - "y": 0, - "w": 1, - "h": 1 - }, - { - "label": "8", - "matrix": [0, 1], - "x": 1, - "y": 0, - "w": 1, - "h": 1 - }, - { - "label": "9", - "matrix": [0, 2], - "x": 2, - "y": 0, - "w": 1, - "h": 1 - }, - { - "label": "/", - "matrix": [0, 3], - "x": 3, - "y": 0, - "w": 1, - "h": 1 - }, - { - "label": "4", - "matrix": [1, 0], - "x": 0, - "y": 1, - "w": 1, - "h": 1 - }, - { - "label": "5", - "matrix": [1, 1], - "x": 1, - "y": 1, - "w": 1, - "h": 1 - }, - { - "label": "6", - "matrix": [1, 2], - "x": 2, - "y": 1, - "w": 1, - "h": 1 - }, - { - "label": "*", - "matrix": [1, 3], - "x": 3, - "y": 1, - "w": 1, - "h": 1 - }, - { - "label": "1", - "matrix": [2, 0], - "x": 0, - "y": 2, - "w": 1, - "h": 1 - }, - { - "label": "2", - "matrix": [2, 1], - "x": 1, - "y": 2, - "w": 1, - "h": 1 - }, - { - "label": "3", - "matrix": [2, 2], - "x": 2, - "y": 2, - "w": 1, - "h": 1 - }, - { - "label": "-", - "matrix": [2, 3], - "x": 3, - "y": 2, - "w": 1, - "h": 1 - }, - { - "label": "0", - "matrix": [3, 0], - "x": 0, - "y": 3, - "w": 1, - "h": 1 - }, - { - "label": ".", - "matrix": [3, 1], - "x": 1, - "y": 3, - "w": 1, - "h": 1 - }, - { - "label": "ENTER", - "matrix": [3, 2], - "x": 2, - "y": 3, - "w": 1, - "h": 1 - }, - { - "label": "+", - "matrix": [3, 3], - "x": 3, - "y": 3, - "w": 1, - "h": 1 - } - ] + "processor": "RP2040", + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true }, + "brightness_steps": 15, + "default": { + "animation": "static_light", + "hue": 0, + "on": true, + "sat": 255, + "speed": 0, + "val": 50 + }, + "driver": "ws2812", + "hue_steps": 15, + "layers": { + "blink": false, + "enabled": false, + "max": 4 + }, + "led_count": 4, + "led_map": [3, 2, 1, 0], + "max_brightness": 127, + "saturation_steps": 15, + "sleep": true + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x1717" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP10" + }, + "layouts": { "LAYOUT_ortho_4x4": { "layout": [ { "label": "7", "matrix": [0, 0], "x": 0, - "y": 0, - "w": 1, - "h": 1 + "y": 0 }, { "label": "8", "matrix": [0, 1], "x": 1, - "y": 0, - "w": 1, - "h": 1 + "y": 0 }, { "label": "9", "matrix": [0, 2], "x": 2, - "y": 0, - "w": 1, - "h": 1 + "y": 0 }, { "label": "/", "matrix": [0, 3], "x": 3, - "y": 0, - "w": 1, - "h": 1 + "y": 0 }, { "label": "4", "matrix": [1, 0], "x": 0, - "y": 1, - "w": 1, - "h": 1 + "y": 1 }, { "label": "5", "matrix": [1, 1], "x": 1, - "y": 1, - "w": 1, - "h": 1 + "y": 1 }, { "label": "6", "matrix": [1, 2], "x": 2, - "y": 1, - "w": 1, - "h": 1 + "y": 1 }, { "label": "*", "matrix": [1, 3], "x": 3, - "y": 1, - "w": 1, - "h": 1 + "y": 1 }, { "label": "1", "matrix": [2, 0], "x": 0, - "y": 2, - "w": 1, - "h": 1 + "y": 2 }, { "label": "2", "matrix": [2, 1], "x": 1, - "y": 2, - "w": 1, - "h": 1 + "y": 2 }, { "label": "3", "matrix": [2, 2], "x": 2, - "y": 2, - "w": 1, - "h": 1 + "y": 2 }, { "label": "-", "matrix": [2, 3], "x": 3, - "y": 2, - "w": 1, - "h": 1 + "y": 2 }, { "label": "0", "matrix": [3, 0], "x": 0, - "y": 3, - "w": 1, - "h": 1 + "y": 3 }, { "label": ".", "matrix": [3, 1], "x": 1, - "y": 3, - "w": 1, - "h": 1 + "y": 3 }, { "label": "ENTER", "matrix": [3, 2], "x": 2, - "y": 3, - "w": 1, - "h": 1 + "y": 3 }, { "label": "+", "matrix": [3, 3], "x": 3, - "y": 3, - "w": 1, - "h": 1 - } - ] - }, - "LAYOUT_midi": { - "layout": [ - { - "label": "MI_C", - "matrix": [0, 0], - "x": 0, - "y": 0, - "w": 1, - "h": 1 - }, - { - "label": "MI_Cs", - "matrix": [0, 1], - "x": 1, - "y": 0, - "w": 1, - "h": 1 - }, - { - "label": "MI_D", - "matrix": [0, 2], - "x": 2, - "y": 0, - "w": 1, - "h": 1 - }, - { - "label": "MI_Ds", - "matrix": [0, 3], - "x": 3, - "y": 0, - "w": 1, - "h": 1 - }, - { - "label": "MI_E", - "matrix": [1, 0], - "x": 0, - "y": 1, - "w": 1, - "h": 1 - }, - { - "label": "MI_F", - "matrix": [1, 1], - "x": 1, - "y": 1, - "w": 1, - "h": 1 - }, - { - "label": "MI_Fs", - "matrix": [1, 2], - "x": 2, - "y": 1, - "w": 1, - "h": 1 - }, - { - "label": "MI_G", - "matrix": [1, 3], - "x": 3, - "y": 1, - "w": 1, - "h": 1 - }, - { - "label": "MI_Gs", - "matrix": [2, 0], - "x": 0, - "y": 2, - "w": 1, - "h": 1 - }, - { - "label": "MI_A", - "matrix": [2, 1], - "x": 1, - "y": 2, - "w": 1, - "h": 1 - }, - { - "label": "MI_As", - "matrix": [2, 2], - "x": 2, - "y": 2, - "w": 1, - "h": 1 - }, - { - "label": "MI_B", - "matrix": [2, 3], - "x": 3, - "y": 2, - "w": 1, - "h": 1 - }, - { - "label": "MO(3)", - "matrix": [3, 0], - "x": 0, - "y": 3, - "w": 1, - "h": 1 - }, - { - "label": "TG(1)", - "matrix": [3, 1], - "x": 1, - "y": 3, - "w": 1, - "h": 1 - }, - { - "label": "TG(2)", - "matrix": [3, 2], - "x": 2, - "y": 3, - "w": 1, - "h": 1 - }, - { - "label": "MI_TOGG", - "matrix": [3, 3], - "x": 3, - "y": 3, - "w": 1, - "h": 1 + "y": 3 } ] } - }, - "audio": { - "default": { - "on": false, - "clicky": false - }, - "macro_beep": false, - "pins": ["GP22"], - "voices": false - }, - "bootmagic": { - "enabled": true, - "matrix": [0, 0] - }, - "dip_switch": { - "enabled": true, - "pins": ["GP14"] - }, - "encoder": { - "rotary": [ - { - "pin_a": "GP12", - "pin_b": "GP13", - "resolution": 2 - } - ] - }, - "rgblight": { - "led_count": 4, - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "knight": true, - "christmas": true, - "static_gradient": true, - "rgb_test": true, - "alternating": true, - "twinkle": true - }, - "hue_steps": 15, - "saturation_steps": 15, - "brightness_steps": 15, - "default": { - "animation": "static_light", - "on": true, - "hue": 0, - "sat": 255, - "val": 50, - "speed": 0 - }, - "driver": "ws2812", - "layers": { - "blink": false, - "enabled": false, - "max": 4 - }, - "led_map": [3, 2, 1, 0], - "max_brightness": 127, - "sleep": true - }, - "ws2812": { - "driver": "vendor", - "pin": "GP10" } } From 5c708503972375cf9bf8e6c74be138595c6938cc Mon Sep 17 00:00:00 2001 From: atechofficials Date: Tue, 25 Jun 2024 05:02:01 +0530 Subject: [PATCH 33/66] Done some slight changes in keyboard.json file according to QMK member suggestions in pull request --- keyboards/protokeeb/rev1/keyboard.json | 130 ++++--------------------- 1 file changed, 20 insertions(+), 110 deletions(-) diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index 86af5d1076b..9eb936a1b33 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -1,19 +1,12 @@ { "audio": { "default": { - "clicky": false, "on": false }, - "macro_beep": false, - "pins": ["GP22"], - "voices": false + "pins": ["GP22"] }, "board": "GENERIC_RP_RP2040", "bootloader": "rp2040", - "bootmagic": { - "enabled": true, - "matrix": [0, 0] - }, "debounce": 20, "diode_direction": "COL2ROW", "dip_switch": { @@ -21,7 +14,9 @@ "pins": ["GP14"] }, "encoder": { - "rotary": [{ "pin_a": "GP12", "pin_b": "GP13", "resolution": 2 }] + "rotary": [ + {"pin_a": "GP12", "pin_b": "GP13", "resolution": 2} + ] }, "features": { "bootmagic": true, @@ -59,11 +54,6 @@ }, "driver": "ws2812", "hue_steps": 15, - "layers": { - "blink": false, - "enabled": false, - "max": 4 - }, "led_count": 4, "led_map": [3, 2, 1, 0], "max_brightness": 127, @@ -81,102 +71,22 @@ "layouts": { "LAYOUT_ortho_4x4": { "layout": [ - { - "label": "7", - "matrix": [0, 0], - "x": 0, - "y": 0 - }, - { - "label": "8", - "matrix": [0, 1], - "x": 1, - "y": 0 - }, - { - "label": "9", - "matrix": [0, 2], - "x": 2, - "y": 0 - }, - { - "label": "/", - "matrix": [0, 3], - "x": 3, - "y": 0 - }, - { - "label": "4", - "matrix": [1, 0], - "x": 0, - "y": 1 - }, - { - "label": "5", - "matrix": [1, 1], - "x": 1, - "y": 1 - }, - { - "label": "6", - "matrix": [1, 2], - "x": 2, - "y": 1 - }, - { - "label": "*", - "matrix": [1, 3], - "x": 3, - "y": 1 - }, - { - "label": "1", - "matrix": [2, 0], - "x": 0, - "y": 2 - }, - { - "label": "2", - "matrix": [2, 1], - "x": 1, - "y": 2 - }, - { - "label": "3", - "matrix": [2, 2], - "x": 2, - "y": 2 - }, - { - "label": "-", - "matrix": [2, 3], - "x": 3, - "y": 2 - }, - { - "label": "0", - "matrix": [3, 0], - "x": 0, - "y": 3 - }, - { - "label": ".", - "matrix": [3, 1], - "x": 1, - "y": 3 - }, - { - "label": "ENTER", - "matrix": [3, 2], - "x": 2, - "y": 3 - }, - { - "label": "+", - "matrix": [3, 3], - "x": 3, - "y": 3 - } + {"label": "7", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "8", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "9", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "/", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "5", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "6", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "*", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "1", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "2", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "3", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "-", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "0", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": ".", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "ENTER", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "+", "matrix": [3, 3], "x": 3, "y": 3} ] } } From 03d66d929df0e03c409680d14aa568ae8abb9342 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 05:07:53 +0530 Subject: [PATCH 34/66] Update keyboards/protokeeb/rev1/mcuconf.h Co-authored-by: jack --- keyboards/protokeeb/rev1/mcuconf.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/protokeeb/rev1/mcuconf.h b/keyboards/protokeeb/rev1/mcuconf.h index 59b14b5b3fb..f9b54a198eb 100644 --- a/keyboards/protokeeb/rev1/mcuconf.h +++ b/keyboards/protokeeb/rev1/mcuconf.h @@ -25,9 +25,6 @@ #undef RP_I2C_USE_I2C1 #define RP_I2C_USE_I2C1 FALSE -// #define RP_I2C_BUSY_TIMEOUT 50 -// #define RP_I2C_USE_DMA TRUE - /* RP2040 SPI Driver Selection */ #undef RP_SPI_USE_SPI0 #define RP_SPI_USE_SPI0 TRUE From 58c210201342353da814ebe12d67dbf0c64c2230 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Tue, 25 Jun 2024 05:18:19 +0530 Subject: [PATCH 35/66] Removed the unused SPI driver configuration in mcuconf.h file as requested by QMK member in pull request --- keyboards/protokeeb/rev1/keyboard.json | 36 ++++++++++++-------------- keyboards/protokeeb/rev1/mcuconf.h | 7 ----- 2 files changed, 17 insertions(+), 26 deletions(-) diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index 9eb936a1b33..1aa860f57e8 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -14,9 +14,7 @@ "pins": ["GP14"] }, "encoder": { - "rotary": [ - {"pin_a": "GP12", "pin_b": "GP13", "resolution": 2} - ] + "rotary": [{ "pin_a": "GP12", "pin_b": "GP13", "resolution": 2 }] }, "features": { "bootmagic": true, @@ -71,22 +69,22 @@ "layouts": { "LAYOUT_ortho_4x4": { "layout": [ - {"label": "7", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "8", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "9", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "/", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "4", "matrix": [1, 0], "x": 0, "y": 1}, - {"label": "5", "matrix": [1, 1], "x": 1, "y": 1}, - {"label": "6", "matrix": [1, 2], "x": 2, "y": 1}, - {"label": "*", "matrix": [1, 3], "x": 3, "y": 1}, - {"label": "1", "matrix": [2, 0], "x": 0, "y": 2}, - {"label": "2", "matrix": [2, 1], "x": 1, "y": 2}, - {"label": "3", "matrix": [2, 2], "x": 2, "y": 2}, - {"label": "-", "matrix": [2, 3], "x": 3, "y": 2}, - {"label": "0", "matrix": [3, 0], "x": 0, "y": 3}, - {"label": ".", "matrix": [3, 1], "x": 1, "y": 3}, - {"label": "ENTER", "matrix": [3, 2], "x": 2, "y": 3}, - {"label": "+", "matrix": [3, 3], "x": 3, "y": 3} + { "label": "7", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "8", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "9", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "/", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "4", "matrix": [1, 0], "x": 0, "y": 1 }, + { "label": "5", "matrix": [1, 1], "x": 1, "y": 1 }, + { "label": "6", "matrix": [1, 2], "x": 2, "y": 1 }, + { "label": "*", "matrix": [1, 3], "x": 3, "y": 1 }, + { "label": "1", "matrix": [2, 0], "x": 0, "y": 2 }, + { "label": "2", "matrix": [2, 1], "x": 1, "y": 2 }, + { "label": "3", "matrix": [2, 2], "x": 2, "y": 2 }, + { "label": "-", "matrix": [2, 3], "x": 3, "y": 2 }, + { "label": "0", "matrix": [3, 0], "x": 0, "y": 3 }, + { "label": ".", "matrix": [3, 1], "x": 1, "y": 3 }, + { "label": "ENTER", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "+", "matrix": [3, 3], "x": 3, "y": 3 } ] } } diff --git a/keyboards/protokeeb/rev1/mcuconf.h b/keyboards/protokeeb/rev1/mcuconf.h index f9b54a198eb..ccfdee50136 100644 --- a/keyboards/protokeeb/rev1/mcuconf.h +++ b/keyboards/protokeeb/rev1/mcuconf.h @@ -24,10 +24,3 @@ #undef RP_I2C_USE_I2C1 #define RP_I2C_USE_I2C1 FALSE - -/* RP2040 SPI Driver Selection */ -#undef RP_SPI_USE_SPI0 -#define RP_SPI_USE_SPI0 TRUE - -#undef RP_SPI_USE_SPI1 -#define RP_SPI_USE_SPI1 FALSE From 8930af70f2f2bab14fa2fa0b3bf4045efd0dc522 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 05:21:18 +0530 Subject: [PATCH 36/66] Update keyboards/protokeeb/rev1/readme.md Co-authored-by: jack --- keyboards/protokeeb/rev1/readme.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/keyboards/protokeeb/rev1/readme.md b/keyboards/protokeeb/rev1/readme.md index f4eb9205ce0..4a142bf0a61 100644 --- a/keyboards/protokeeb/rev1/readme.md +++ b/keyboards/protokeeb/rev1/readme.md @@ -21,15 +21,12 @@ The default layout comes pre-flashed on every Protokeeb and consists of two laye Make example for this keyboard (after setting up your build environment): -```go -make protokeeb/rev1:default -``` + make protokeeb/rev1:default Flashing example for this keyboard: -```go -make protokeeb/rev1:default:flash -``` + make protokeeb/rev1:default:flash + 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). From 50be79cf721ee1007086285c3f5f05e71ec43e10 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Tue, 25 Jun 2024 05:22:06 +0530 Subject: [PATCH 37/66] Update keyboards/protokeeb/rev1/rev1.c Co-authored-by: jack --- keyboards/protokeeb/rev1/rev1.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/keyboards/protokeeb/rev1/rev1.c b/keyboards/protokeeb/rev1/rev1.c index d57fdd0286d..a746b58ba33 100644 --- a/keyboards/protokeeb/rev1/rev1.c +++ b/keyboards/protokeeb/rev1/rev1.c @@ -29,10 +29,6 @@ bool dip_switch_update_kb(uint8_t index, bool active) { // Toggle Host Mute tap_code(KC_MUTE); } - // Encoder Push Button Released - else { - // Do Nothing - } break; } return true; From d9063a6341d0b6f5624ab6adb47029e3d1a77d63 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Tue, 25 Jun 2024 05:27:51 +0530 Subject: [PATCH 38/66] Successfully formatted the rev1.c file using qmk format-c command as requested by QMK member in pull request --- keyboards/protokeeb/rev1/rev1.c | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/keyboards/protokeeb/rev1/rev1.c b/keyboards/protokeeb/rev1/rev1.c index a746b58ba33..e087b0a0a56 100644 --- a/keyboards/protokeeb/rev1/rev1.c +++ b/keyboards/protokeeb/rev1/rev1.c @@ -8,29 +8,28 @@ * 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. + * along with this program. * If not, see . */ #include "quantum.h" #if defined(DIP_SWITCH_ENABLE) -bool dip_switch_update_kb(uint8_t index, bool active) { - if(!dip_switch_update_user(index, active)) - { - return false; - } - switch (index) { +bool dip_switch_update_kb(uint8_t index, bool active) { + if (!dip_switch_update_user(index, active)) { + return false; + } + switch (index) { case 0: - // Encode Push Button Pressed - if(active) { - // Toggle Host Mute - tap_code(KC_MUTE); - } + // Encode Push Button Pressed + if (active) { + // Toggle Host Mute + tap_code(KC_MUTE); + } break; - } - return true; + } + return true; } #endif \ No newline at end of file From b95c4eda0215763d594c52985019ec1c8edad319 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Tue, 25 Jun 2024 05:32:16 +0530 Subject: [PATCH 39/66] Removed rev1.h file as requested by QMK member in pull request --- keyboards/protokeeb/rev1/rev1.h | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 keyboards/protokeeb/rev1/rev1.h diff --git a/keyboards/protokeeb/rev1/rev1.h b/keyboards/protokeeb/rev1/rev1.h deleted file mode 100644 index 70a8257b47e..00000000000 --- a/keyboards/protokeeb/rev1/rev1.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. - * If not, see . - */ - -#pragma once - -#include "quantum.h" From a520b48f33de1d522403724bc82ddb0f0ccdc2c8 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Tue, 25 Jun 2024 05:36:27 +0530 Subject: [PATCH 40/66] Removed rules.mk file in rev1 directory as requested by QMK member in pull request --- keyboards/protokeeb/rev1/rules.mk | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 keyboards/protokeeb/rev1/rules.mk diff --git a/keyboards/protokeeb/rev1/rules.mk b/keyboards/protokeeb/rev1/rules.mk deleted file mode 100644 index b87faeaba58..00000000000 --- a/keyboards/protokeeb/rev1/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -# Build Options -# Change yes to no to diable feature - -# Enable OS detection -OS_DETECTION_ENABLE = yes - -# Enable Rotary Encoder support -ENCODER_ENABLE = yes \ No newline at end of file From 953d6caa52a7d1c9ba74ab07c70f26abab66a20e Mon Sep 17 00:00:00 2001 From: atechofficials Date: Tue, 25 Jun 2024 06:11:46 +0530 Subject: [PATCH 41/66] Changed the layout name from LAYOUT_midi to LAYOUT_ortho_4x4 in the midi keymap's keymap.c file becasue the LAYOUT_midi was removed earlier as requested by QMK member in pull request --- keyboards/protokeeb/keymaps/midi/keymap.c | 8 ++++---- keyboards/protokeeb/rev1/rev1.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/protokeeb/keymaps/midi/keymap.c b/keyboards/protokeeb/keymaps/midi/keymap.c index 05d5dfee81f..4cadcd0c0f3 100644 --- a/keyboards/protokeeb/keymaps/midi/keymap.c +++ b/keyboards/protokeeb/keymaps/midi/keymap.c @@ -33,28 +33,28 @@ enum protokeeb_keymap_layers { #define RGB_CTRL MO(LAYER_RGB_CONTROL) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_NOTES_SET_1] = LAYOUT_midi( /* Notes Set-1 */ + [LAYER_NOTES_SET_1] = LAYOUT_ortho_4x4( /* Notes Set-1 */ MI_C, MI_Cs, MI_D, MI_Ds, MI_E, MI_F, MI_Fs, MI_G, MI_Gs, MI_A, MI_As, MI_B, RGB_CTRL, NOTES_SET_2, NOTES_SET_3, MI_TOGG ), - [LAYER_NOTES_SET_2] = LAYOUT_midi( /* Notes Set-2 */ + [LAYER_NOTES_SET_2] = LAYOUT_ortho_4x4( /* Notes Set-2 */ MI_C1, MI_Cs1, MI_D1, MI_Ds1, MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1, MI_A1, MI_As1, MI_B1, NOTES_SET_1, KC_TRNS, NOTES_SET_3, KC_TRNS ), - [LAYER_NOTES_SET_3] = LAYOUT_midi( /* Notes Set-3 */ + [LAYER_NOTES_SET_3] = LAYOUT_ortho_4x4( /* Notes Set-3 */ MI_C2, MI_Cs2, MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2, NOTES_SET_1, NOTES_SET_2, KC_TRNS, KC_TRNS ), - [LAYER_RGB_CONTROL] = LAYOUT_midi( /* RGB Control */ + [LAYER_RGB_CONTROL] = LAYOUT_ortho_4x4( /* RGB Control */ RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, diff --git a/keyboards/protokeeb/rev1/rev1.c b/keyboards/protokeeb/rev1/rev1.c index e087b0a0a56..48dfa3b87fd 100644 --- a/keyboards/protokeeb/rev1/rev1.c +++ b/keyboards/protokeeb/rev1/rev1.c @@ -23,7 +23,7 @@ bool dip_switch_update_kb(uint8_t index, bool active) { } switch (index) { case 0: - // Encode Push Button Pressed + // Encoder Push Button Pressed if (active) { // Toggle Host Mute tap_code(KC_MUTE); From 0238181180a2d3c37ecc2fe774ba1ee8aa9ccf42 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Tue, 25 Jun 2024 06:28:41 +0530 Subject: [PATCH 42/66] Fixed the qmk firmware compilation issues occured due to recent changes in keymap files. --- keyboards/protokeeb/keymaps/default/keymap.c | 4 ++-- keyboards/protokeeb/keymaps/default_ortho_4x4/keymap.c | 8 ++++---- keyboards/protokeeb/keymaps/midi/keymap.c | 8 ++++---- keyboards/protokeeb/keymaps/via/keymap.c | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/keyboards/protokeeb/keymaps/default/keymap.c b/keyboards/protokeeb/keymaps/default/keymap.c index 01a0b4e0f4f..2657474c02f 100644 --- a/keyboards/protokeeb/keymaps/default/keymap.c +++ b/keyboards/protokeeb/keymaps/default/keymap.c @@ -21,8 +21,8 @@ #include QMK_KEYBOARD_H enum protokeeb_keymap_layers { - LAYER_BASE - LAYER_LOWER + LAYER_BASE, + LAYER_LOWER, }; #define LOWER LT(LAYER_LOWER, KC_KP_0) diff --git a/keyboards/protokeeb/keymaps/default_ortho_4x4/keymap.c b/keyboards/protokeeb/keymaps/default_ortho_4x4/keymap.c index 70bb654cdf5..d508fa3d91f 100644 --- a/keyboards/protokeeb/keymaps/default_ortho_4x4/keymap.c +++ b/keyboards/protokeeb/keymaps/default_ortho_4x4/keymap.c @@ -23,10 +23,10 @@ #include "quantum.h" enum protokeeb_keymap_layers { - LAYER_BASE = 0, - LAYER_LOWER = 1, - LAYER_RAISE = 2, - LAYER_ADJUST = 3, + LAYER_BASE, + LAYER_LOWER, + LAYER_RAISE, + LAYER_ADJUST, }; #define LOWER LT(LAYER_LOWER, KC_KP_0) diff --git a/keyboards/protokeeb/keymaps/midi/keymap.c b/keyboards/protokeeb/keymaps/midi/keymap.c index 4cadcd0c0f3..2e9272a3f9a 100644 --- a/keyboards/protokeeb/keymaps/midi/keymap.c +++ b/keyboards/protokeeb/keymaps/midi/keymap.c @@ -21,10 +21,10 @@ #include QMK_KEYBOARD_H enum protokeeb_keymap_layers { - LAYER_NOTES_SET_1 - LAYER_NOTES_SET_2 - LAYER_NOTES_SET_3 - LAYER_RGB_CONTROL + LAYER_NOTES_SET_1, + LAYER_NOTES_SET_2, + LAYER_NOTES_SET_3, + LAYER_RGB_CONTROL, }; #define NOTES_SET_1 TG(LAYER_NOTES_SET_1) diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index b1b7743bdc3..6e2c2c59354 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -21,8 +21,8 @@ #include QMK_KEYBOARD_H enum protokeeb_keymap_layers { - LAYER_BASE - LAYER_LOWER + LAYER_BASE, + LAYER_LOWER, }; #define LOWER LT(LAYER_LOWER, KC_KP_0) From c6d1aa0ec98ab6f516008b0741ff031739056733 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Tue, 25 Jun 2024 23:03:25 +0530 Subject: [PATCH 43/66] Removed the the default_ortho_4x4 keymap as requested by QMK maintainer in Pull Request. Note: QMK no longer accepts user keymaps. --- .../keymaps/default_ortho_4x4/keymap.c | 76 ------------------- .../keymaps/default_ortho_4x4/rules.mk | 10 --- 2 files changed, 86 deletions(-) delete mode 100644 keyboards/protokeeb/keymaps/default_ortho_4x4/keymap.c delete mode 100644 keyboards/protokeeb/keymaps/default_ortho_4x4/rules.mk diff --git a/keyboards/protokeeb/keymaps/default_ortho_4x4/keymap.c b/keyboards/protokeeb/keymaps/default_ortho_4x4/keymap.c deleted file mode 100644 index d508fa3d91f..00000000000 --- a/keyboards/protokeeb/keymaps/default_ortho_4x4/keymap.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Protokeeb Copyright 2024 A-Tech Officials (@atechofficials) - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. - * If not, see . - */ - -/* Protokeeb v1.0 - * Keymap: Default ortho 4x4 - */ - -#include QMK_KEYBOARD_H -#include "os_detection.h" -#include "quantum.h" - -enum protokeeb_keymap_layers { - LAYER_BASE, - LAYER_LOWER, - LAYER_RAISE, - LAYER_ADJUST, -}; - -#define LOWER LT(LAYER_LOWER, KC_KP_0) -#define RAISE LT(LAYER_RAISE, KC_KP_ENTER) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT_ortho_4x4( /* Base */ - KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, - KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, - KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, - LOWER, KC_KP_DOT, RAISE, KC_KP_PLUS - ), - - [LAYER_LOWER] = LAYOUT_ortho_4x4( /* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, - RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, - RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, - KC_TRNS, RGB_MODE_SWIRL, KC_TRNS, QK_BOOT - ), - - [LAYER_RAISE] = LAYOUT_ortho_4x4( /* Raise */ - KC_F1, KC_F2, KC_F3, KC_F4, - KC_F5, KC_F6, KC_F7, KC_F8, - KC_F9, KC_F10, KC_F11, KC_F12, - QK_REBOOT, QK_DEBUG_TOGGLE, KC_TRNS, QK_AUDIO_TOGGLE - ), - - [LAYER_ADJUST] = LAYOUT_ortho_4x4( /* Adjust */ - KC_MEDIA_PLAY_PAUSE, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_MEDIA_STOP, - KC_CALCULATOR, KC_MY_COMPUTER, KC_CONTROL_PANEL, KC_SYSTEM_POWER, - KC_NO, KC_NO, KC_NO, KC_NO, - KC_TRNS, KC_NO, KC_TRNS, KC_NO - ), -}; - -#if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [LAYER_LOWER] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) }, - [LAYER_RAISE] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, - [LAYER_ADJUST] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, -}; -#endif - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST); -} diff --git a/keyboards/protokeeb/keymaps/default_ortho_4x4/rules.mk b/keyboards/protokeeb/keymaps/default_ortho_4x4/rules.mk deleted file mode 100644 index a9287f803ad..00000000000 --- a/keyboards/protokeeb/keymaps/default_ortho_4x4/rules.mk +++ /dev/null @@ -1,10 +0,0 @@ -# Build Options Protokeeb rev1 -# Change yes to no to disable features - -# Rotary Encoder Keymap support -ENCODER_MAP_ENABLE = yes - -# DIP Switch Keymap support -DIP_SWITCH_MAP_ENABLE = no - -TRI_LAYER_ENABLE = yes \ No newline at end of file From 09ba0009e0a29f468defda2e6d54d3cb45f3f90e Mon Sep 17 00:00:00 2001 From: atechofficials Date: Wed, 26 Jun 2024 23:47:10 +0530 Subject: [PATCH 44/66] Added custom switch matrix and Changed the encoder built-in push button functionality logic as suggested by QMK maintainer in Pull Request. --- keyboards/protokeeb/keymaps/default/keymap.c | 8 +++--- keyboards/protokeeb/keymaps/midi/keymap.c | 18 ++++++------ keyboards/protokeeb/keymaps/via/keymap.c | 10 +++---- keyboards/protokeeb/rev1/config.h | 9 +++++- keyboards/protokeeb/rev1/keyboard.json | 9 ++---- keyboards/protokeeb/rev1/rev1.c | 30 +++++++++----------- 6 files changed, 43 insertions(+), 41 deletions(-) diff --git a/keyboards/protokeeb/keymaps/default/keymap.c b/keyboards/protokeeb/keymaps/default/keymap.c index 2657474c02f..de978ed08cb 100644 --- a/keyboards/protokeeb/keymaps/default/keymap.c +++ b/keyboards/protokeeb/keymaps/default/keymap.c @@ -28,15 +28,15 @@ enum protokeeb_keymap_layers { #define LOWER LT(LAYER_LOWER, KC_KP_0) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT_ortho_4x4( /* Base */ - KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, + [LAYER_BASE] = LAYOUT_custom_matrix( /* Base */ + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS ), - [LAYER_LOWER] = LAYOUT_ortho_4x4( /* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, + [LAYER_LOWER] = LAYOUT_custom_matrix( /* RGB Control */ + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT diff --git a/keyboards/protokeeb/keymaps/midi/keymap.c b/keyboards/protokeeb/keymaps/midi/keymap.c index 2e9272a3f9a..3d4ba77093d 100644 --- a/keyboards/protokeeb/keymaps/midi/keymap.c +++ b/keyboards/protokeeb/keymaps/midi/keymap.c @@ -33,29 +33,29 @@ enum protokeeb_keymap_layers { #define RGB_CTRL MO(LAYER_RGB_CONTROL) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_NOTES_SET_1] = LAYOUT_ortho_4x4( /* Notes Set-1 */ - MI_C, MI_Cs, MI_D, MI_Ds, + [LAYER_NOTES_SET_1] = LAYOUT_custom_matrix( /* Notes Set-1 */ + MI_C, MI_Cs, MI_D, MI_Ds, KC_MUTE, MI_E, MI_F, MI_Fs, MI_G, MI_Gs, MI_A, MI_As, MI_B, RGB_CTRL, NOTES_SET_2, NOTES_SET_3, MI_TOGG ), - [LAYER_NOTES_SET_2] = LAYOUT_ortho_4x4( /* Notes Set-2 */ - MI_C1, MI_Cs1, MI_D1, MI_Ds1, + [LAYER_NOTES_SET_2] = LAYOUT_custom_matrix( /* Notes Set-2 */ + MI_C1, MI_Cs1, MI_D1, MI_Ds1, KC_MUTE, MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1, MI_A1, MI_As1, MI_B1, NOTES_SET_1, KC_TRNS, NOTES_SET_3, KC_TRNS ), - [LAYER_NOTES_SET_3] = LAYOUT_ortho_4x4( /* Notes Set-3 */ - MI_C2, MI_Cs2, MI_D2, MI_Ds2, + [LAYER_NOTES_SET_3] = LAYOUT_custom_matrix( /* Notes Set-3 */ + MI_C2, MI_Cs2, MI_D2, MI_Ds2, KC_MUTE, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2, NOTES_SET_1, NOTES_SET_2, KC_TRNS, KC_TRNS ), - [LAYER_RGB_CONTROL] = LAYOUT_ortho_4x4( /* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, + [LAYER_RGB_CONTROL] = LAYOUT_custom_matrix( /* RGB Control */ + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT @@ -69,4 +69,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [LAYER_NOTES_SET_3] = { ENCODER_CCW_CW(MI_TRSD, MI_TRSU) }, [LAYER_RGB_CONTROL] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) }, }; -#endif +#endif \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index 6e2c2c59354..80463743652 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -28,19 +28,19 @@ enum protokeeb_keymap_layers { #define LOWER LT(LAYER_LOWER, KC_KP_0) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT_ortho_4x4( /* Base */ - KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, + [LAYER_BASE] = LAYOUT_custom_matrix( /* Base */ + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS ), - [LAYER_LOWER] = LAYOUT_ortho_4x4( /* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, + [LAYER_LOWER] = LAYOUT_custom_matrix( /* RGB Control */ + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT - ) + ), }; #if defined(ENCODER_MAP_ENABLE) diff --git a/keyboards/protokeeb/rev1/config.h b/keyboards/protokeeb/rev1/config.h index b657cfc28dd..e65ce14735b 100644 --- a/keyboards/protokeeb/rev1/config.h +++ b/keyboards/protokeeb/rev1/config.h @@ -16,6 +16,13 @@ #pragma once +// Define the pin connected to the encoder push button +#define ENCODER_BUTTON_PIN GP14 + +// Define the row and column for the encoder button +#define ENCODER_BUTTON_ROW 0 +#define ENCODER_BUTTON_COL 4 + /* ARGB LED Byte order */ #define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB @@ -45,4 +52,4 @@ #if defined (ENCODER_ENABLE) #define ENCODER_MAP_KEY_DELAY 10 -#endif +#endif \ No newline at end of file diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index 1aa860f57e8..17076f7dff1 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -9,10 +9,6 @@ "bootloader": "rp2040", "debounce": 20, "diode_direction": "COL2ROW", - "dip_switch": { - "enabled": true, - "pins": ["GP14"] - }, "encoder": { "rotary": [{ "pin_a": "GP12", "pin_b": "GP13", "resolution": 2 }] }, @@ -24,7 +20,7 @@ "rgblight": true }, "matrix_pins": { - "cols": ["GP6", "GP7", "GP8", "GP9"], + "cols": ["GP6", "GP7", "GP8", "GP9", "GP14"], "rows": ["GP2", "GP3", "GP4", "GP5"] }, "processor": "RP2040", @@ -67,12 +63,13 @@ "pin": "GP10" }, "layouts": { - "LAYOUT_ortho_4x4": { + "LAYOUT_custom_matrix": { "layout": [ { "label": "7", "matrix": [0, 0], "x": 0, "y": 0 }, { "label": "8", "matrix": [0, 1], "x": 1, "y": 0 }, { "label": "9", "matrix": [0, 2], "x": 2, "y": 0 }, { "label": "/", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "MUTE", "matrix": [0, 4], "x": 4, "y": 0 }, { "label": "4", "matrix": [1, 0], "x": 0, "y": 1 }, { "label": "5", "matrix": [1, 1], "x": 1, "y": 1 }, { "label": "6", "matrix": [1, 2], "x": 2, "y": 1 }, diff --git a/keyboards/protokeeb/rev1/rev1.c b/keyboards/protokeeb/rev1/rev1.c index 48dfa3b87fd..854401eb376 100644 --- a/keyboards/protokeeb/rev1/rev1.c +++ b/keyboards/protokeeb/rev1/rev1.c @@ -16,20 +16,18 @@ #include "quantum.h" -#if defined(DIP_SWITCH_ENABLE) -bool dip_switch_update_kb(uint8_t index, bool active) { - if (!dip_switch_update_user(index, active)) { - return false; +// Override the matrix read function to include the encoder button +void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) +{ + if (current_row == ENCODER_BUTTON_ROW) + { + if (readPin(ENCODER_BUTTON_PIN) == 0) + { + current_matrix[current_row] |= (1 << ENCODER_BUTTON_COL); + } + else + { + current_matrix[current_row] &= ~(1 << ENCODER_BUTTON_COL); + } } - switch (index) { - case 0: - // Encoder Push Button Pressed - if (active) { - // Toggle Host Mute - tap_code(KC_MUTE); - } - break; - } - return true; -} -#endif \ No newline at end of file +} \ No newline at end of file From 34fdc5814d5faf0edace8a28ad631e79d9dce44f Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Thu, 27 Jun 2024 13:59:57 +0530 Subject: [PATCH 45/66] Update keyboards/protokeeb/rules.mk Co-authored-by: jack --- keyboards/protokeeb/rules.mk | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/protokeeb/rules.mk b/keyboards/protokeeb/rules.mk index 01640ba6968..96961185381 100644 --- a/keyboards/protokeeb/rules.mk +++ b/keyboards/protokeeb/rules.mk @@ -1,5 +1,2 @@ -# Build Options -# Change yes to no to diable feature - # Default keyboard folder DEFAULT_FOLDER = protokeeb/rev1 From 22777112e29d380f95d72add64526727e3572321 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Thu, 27 Jun 2024 14:00:42 +0530 Subject: [PATCH 46/66] Update keyboards/protokeeb/rev1/keyboard.json Co-authored-by: jack --- keyboards/protokeeb/rev1/keyboard.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index 17076f7dff1..669c8beafa6 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -63,7 +63,7 @@ "pin": "GP10" }, "layouts": { - "LAYOUT_custom_matrix": { + "LAYOUT": { "layout": [ { "label": "7", "matrix": [0, 0], "x": 0, "y": 0 }, { "label": "8", "matrix": [0, 1], "x": 1, "y": 0 }, From 50919d86f59e1992d363bd97d102b8fa5dda3311 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Thu, 27 Jun 2024 14:02:53 +0530 Subject: [PATCH 47/66] Update keyboards/protokeeb/keymaps/default/rules.mk Co-authored-by: jack --- keyboards/protokeeb/keymaps/default/rules.mk | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/protokeeb/keymaps/default/rules.mk b/keyboards/protokeeb/keymaps/default/rules.mk index d7e5fb60d8d..ee90ff31304 100644 --- a/keyboards/protokeeb/keymaps/default/rules.mk +++ b/keyboards/protokeeb/keymaps/default/rules.mk @@ -3,6 +3,3 @@ # Rotary Encoder Keymap support ENCODER_MAP_ENABLE = yes - -# DIP Switch Keymap support -DIP_SWITCH_MAP_ENABLE = no From 59d28ad8c86d2623ac013b43a26622460f3b7dc7 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Thu, 27 Jun 2024 14:03:04 +0530 Subject: [PATCH 48/66] Update keyboards/protokeeb/keymaps/midi/rules.mk Co-authored-by: jack --- keyboards/protokeeb/keymaps/midi/rules.mk | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/keyboards/protokeeb/keymaps/midi/rules.mk b/keyboards/protokeeb/keymaps/midi/rules.mk index 57bdcf10d5a..ba8e37e4721 100644 --- a/keyboards/protokeeb/keymaps/midi/rules.mk +++ b/keyboards/protokeeb/keymaps/midi/rules.mk @@ -5,7 +5,4 @@ MIDI_ENABLE = yes # Rotary Encoder Keymap support -ENCODER_MAP_ENABLE = yes - -# DIP Switch Keymap support -DIP_SWITCH_MAP_ENABLE = no \ No newline at end of file +ENCODER_MAP_ENABLE = yes \ No newline at end of file From 4c18c8885bb14f9ae24f283fe892382596382ec4 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Thu, 27 Jun 2024 14:04:00 +0530 Subject: [PATCH 49/66] Update keyboards/protokeeb/keymaps/via/rules.mk Co-authored-by: jack --- keyboards/protokeeb/keymaps/via/rules.mk | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/keyboards/protokeeb/keymaps/via/rules.mk b/keyboards/protokeeb/keymaps/via/rules.mk index d6a5ca46f5c..13108f50fd7 100644 --- a/keyboards/protokeeb/keymaps/via/rules.mk +++ b/keyboards/protokeeb/keymaps/via/rules.mk @@ -5,7 +5,4 @@ VIA_ENABLE = yes # Rotary Encoder Keymap support -ENCODER_MAP_ENABLE = yes - -# DIP Switch Keymap support -DIP_SWITCH_MAP_ENABLE = no \ No newline at end of file +ENCODER_MAP_ENABLE = yes \ No newline at end of file From f38ca58467171aa9e358ce42fb99a3924c0008ff Mon Sep 17 00:00:00 2001 From: atechofficials Date: Thu, 27 Jun 2024 14:17:29 +0530 Subject: [PATCH 50/66] Layout name changed in all the keymap files according to the keyboard.json file and also formatted the C code in rev1.c file as requested by QMK Maintainer in Pull Request. --- keyboards/protokeeb/keymaps/default/keymap.c | 4 ++-- keyboards/protokeeb/keymaps/midi/keymap.c | 8 ++++---- keyboards/protokeeb/keymaps/via/keymap.c | 4 ++-- keyboards/protokeeb/rev1/rev1.c | 13 ++++--------- 4 files changed, 12 insertions(+), 17 deletions(-) diff --git a/keyboards/protokeeb/keymaps/default/keymap.c b/keyboards/protokeeb/keymaps/default/keymap.c index de978ed08cb..b75d808b9c7 100644 --- a/keyboards/protokeeb/keymaps/default/keymap.c +++ b/keyboards/protokeeb/keymaps/default/keymap.c @@ -28,14 +28,14 @@ enum protokeeb_keymap_layers { #define LOWER LT(LAYER_LOWER, KC_KP_0) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT_custom_matrix( /* Base */ + [LAYER_BASE] = LAYOUT( /* Base */ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS ), - [LAYER_LOWER] = LAYOUT_custom_matrix( /* RGB Control */ + [LAYER_LOWER] = LAYOUT( /* RGB Control */ RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, diff --git a/keyboards/protokeeb/keymaps/midi/keymap.c b/keyboards/protokeeb/keymaps/midi/keymap.c index 3d4ba77093d..99f449eceb7 100644 --- a/keyboards/protokeeb/keymaps/midi/keymap.c +++ b/keyboards/protokeeb/keymaps/midi/keymap.c @@ -33,28 +33,28 @@ enum protokeeb_keymap_layers { #define RGB_CTRL MO(LAYER_RGB_CONTROL) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_NOTES_SET_1] = LAYOUT_custom_matrix( /* Notes Set-1 */ + [LAYER_NOTES_SET_1] = LAYOUT( /* Notes Set-1 */ MI_C, MI_Cs, MI_D, MI_Ds, KC_MUTE, MI_E, MI_F, MI_Fs, MI_G, MI_Gs, MI_A, MI_As, MI_B, RGB_CTRL, NOTES_SET_2, NOTES_SET_3, MI_TOGG ), - [LAYER_NOTES_SET_2] = LAYOUT_custom_matrix( /* Notes Set-2 */ + [LAYER_NOTES_SET_2] = LAYOUT( /* Notes Set-2 */ MI_C1, MI_Cs1, MI_D1, MI_Ds1, KC_MUTE, MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1, MI_A1, MI_As1, MI_B1, NOTES_SET_1, KC_TRNS, NOTES_SET_3, KC_TRNS ), - [LAYER_NOTES_SET_3] = LAYOUT_custom_matrix( /* Notes Set-3 */ + [LAYER_NOTES_SET_3] = LAYOUT( /* Notes Set-3 */ MI_C2, MI_Cs2, MI_D2, MI_Ds2, KC_MUTE, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2, NOTES_SET_1, NOTES_SET_2, KC_TRNS, KC_TRNS ), - [LAYER_RGB_CONTROL] = LAYOUT_custom_matrix( /* RGB Control */ + [LAYER_RGB_CONTROL] = LAYOUT( /* RGB Control */ RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index 80463743652..49acdda3477 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -28,14 +28,14 @@ enum protokeeb_keymap_layers { #define LOWER LT(LAYER_LOWER, KC_KP_0) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT_custom_matrix( /* Base */ + [LAYER_BASE] = LAYOUT( /* Base */ KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS ), - [LAYER_LOWER] = LAYOUT_custom_matrix( /* RGB Control */ + [LAYER_LOWER] = LAYOUT( /* RGB Control */ RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, diff --git a/keyboards/protokeeb/rev1/rev1.c b/keyboards/protokeeb/rev1/rev1.c index 854401eb376..404588cf309 100644 --- a/keyboards/protokeeb/rev1/rev1.c +++ b/keyboards/protokeeb/rev1/rev1.c @@ -17,16 +17,11 @@ #include "quantum.h" // Override the matrix read function to include the encoder button -void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) -{ - if (current_row == ENCODER_BUTTON_ROW) - { - if (readPin(ENCODER_BUTTON_PIN) == 0) - { +void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { + if (current_row == ENCODER_BUTTON_ROW) { + if (readPin(ENCODER_BUTTON_PIN) == 0) { current_matrix[current_row] |= (1 << ENCODER_BUTTON_COL); - } - else - { + } else { current_matrix[current_row] &= ~(1 << ENCODER_BUTTON_COL); } } From 586836b7c290ee15f90f09871b2609caa0c8b292 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Thu, 27 Jun 2024 23:00:07 +0530 Subject: [PATCH 51/66] Added the QMK's Tri-Layer functionality to the default keymap --- keyboards/protokeeb/keymaps/default/keymap.c | 41 ++++++++++-------- keyboards/protokeeb/keymaps/default/rules.mk | 3 ++ keyboards/protokeeb/keymaps/midi/keymap.c | 44 +++++++------------- keyboards/protokeeb/keymaps/via/keymap.c | 25 ++++------- keyboards/protokeeb/rev1/readme.md | 3 +- 5 files changed, 50 insertions(+), 66 deletions(-) diff --git a/keyboards/protokeeb/keymaps/default/keymap.c b/keyboards/protokeeb/keymaps/default/keymap.c index b75d808b9c7..0784fa3008f 100644 --- a/keyboards/protokeeb/keymaps/default/keymap.c +++ b/keyboards/protokeeb/keymaps/default/keymap.c @@ -8,9 +8,9 @@ * 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. + * along with this program. * If not, see . */ @@ -23,29 +23,36 @@ enum protokeeb_keymap_layers { LAYER_BASE, LAYER_LOWER, + LAYER_RAISE, + LAYER_ADJUST, }; #define LOWER LT(LAYER_LOWER, KC_KP_0) +#define RAISE LT(LAYER_RAISE, KC_KP_ENTER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT( /* Base */ - KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE, - KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, - KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, - LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS - ), + [LAYER_BASE] = LAYOUT(/* Base: Numpad without Num Lock*/ + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, LOWER, KC_KP_DOT, RAISE, KC_KP_PLUS), - [LAYER_LOWER] = LAYOUT( /* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, - RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, - RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, - KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT - ), + [LAYER_LOWER] = LAYOUT(/* RGB Control */ + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, QK_DEBUG_TOGGLE, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, RGB_MODE_SWIRL, KC_TRNS, QK_BOOT), + + [LAYER_RAISE] = LAYOUT(/* Media Control and Quick Launch*/ + KC_MEDIA_PLAY_PAUSE, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_MEDIA_STOP, KC_MUTE, KC_CALCULATOR, KC_MY_COMPUTER, KC_CONTROL_PANEL, KC_SYSTEM_POWER, KC_PRINT_SCREEN, KC_HOME, KC_INSERT, KC_DELETE, KC_TRNS, KC_NO, KC_TRNS, QK_REBOOT), + + [LAYER_ADJUST] = LAYOUT(/* Function Keys */ + KC_F1, KC_F2, KC_F3, KC_F4, KC_MUTE, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_NO, KC_TRNS, KC_NO), }; #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) }, + [LAYER_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [LAYER_LOWER] = {ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP)}, + [LAYER_RAISE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [LAYER_ADJUST] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, }; -#endif \ No newline at end of file +#endif + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST); +} \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/default/rules.mk b/keyboards/protokeeb/keymaps/default/rules.mk index ee90ff31304..8f2f1394c90 100644 --- a/keyboards/protokeeb/keymaps/default/rules.mk +++ b/keyboards/protokeeb/keymaps/default/rules.mk @@ -3,3 +3,6 @@ # Rotary Encoder Keymap support ENCODER_MAP_ENABLE = yes + +# Enable Tri Layer support +TRI_LAYER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/midi/keymap.c b/keyboards/protokeeb/keymaps/midi/keymap.c index 99f449eceb7..435edbb089c 100644 --- a/keyboards/protokeeb/keymaps/midi/keymap.c +++ b/keyboards/protokeeb/keymaps/midi/keymap.c @@ -8,9 +8,9 @@ * 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. + * along with this program. * If not, see . */ @@ -33,40 +33,24 @@ enum protokeeb_keymap_layers { #define RGB_CTRL MO(LAYER_RGB_CONTROL) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_NOTES_SET_1] = LAYOUT( /* Notes Set-1 */ - MI_C, MI_Cs, MI_D, MI_Ds, KC_MUTE, - MI_E, MI_F, MI_Fs, MI_G, - MI_Gs, MI_A, MI_As, MI_B, - RGB_CTRL, NOTES_SET_2, NOTES_SET_3, MI_TOGG - ), + [LAYER_NOTES_SET_1] = LAYOUT(/* Notes Set-1 */ + MI_C, MI_Cs, MI_D, MI_Ds, KC_MUTE, MI_E, MI_F, MI_Fs, MI_G, MI_Gs, MI_A, MI_As, MI_B, RGB_CTRL, NOTES_SET_2, NOTES_SET_3, MI_TOGG), - [LAYER_NOTES_SET_2] = LAYOUT( /* Notes Set-2 */ - MI_C1, MI_Cs1, MI_D1, MI_Ds1, KC_MUTE, - MI_E1, MI_F1, MI_Fs1, MI_G1, - MI_Gs1, MI_A1, MI_As1, MI_B1, - NOTES_SET_1, KC_TRNS, NOTES_SET_3, KC_TRNS - ), + [LAYER_NOTES_SET_2] = LAYOUT(/* Notes Set-2 */ + MI_C1, MI_Cs1, MI_D1, MI_Ds1, KC_MUTE, MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1, MI_A1, MI_As1, MI_B1, NOTES_SET_1, KC_TRNS, NOTES_SET_3, KC_TRNS), - [LAYER_NOTES_SET_3] = LAYOUT( /* Notes Set-3 */ - MI_C2, MI_Cs2, MI_D2, MI_Ds2, KC_MUTE, - MI_E2, MI_F2, MI_Fs2, MI_G2, - MI_Gs2, MI_A2, MI_As2, MI_B2, - NOTES_SET_1, NOTES_SET_2, KC_TRNS, KC_TRNS - ), + [LAYER_NOTES_SET_3] = LAYOUT(/* Notes Set-3 */ + MI_C2, MI_Cs2, MI_D2, MI_Ds2, KC_MUTE, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2, NOTES_SET_1, NOTES_SET_2, KC_TRNS, KC_TRNS), - [LAYER_RGB_CONTROL] = LAYOUT( /* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, - RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, - RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, - KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT - ), + [LAYER_RGB_CONTROL] = LAYOUT(/* RGB Control */ + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT), }; #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [LAYER_NOTES_SET_1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [LAYER_NOTES_SET_2] = { ENCODER_CCW_CW(MI_OCTD, MI_OCTU) }, - [LAYER_NOTES_SET_3] = { ENCODER_CCW_CW(MI_TRSD, MI_TRSU) }, - [LAYER_RGB_CONTROL] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) }, + [LAYER_NOTES_SET_1] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [LAYER_NOTES_SET_2] = {ENCODER_CCW_CW(MI_OCTD, MI_OCTU)}, + [LAYER_NOTES_SET_3] = {ENCODER_CCW_CW(MI_TRSD, MI_TRSU)}, + [LAYER_RGB_CONTROL] = {ENCODER_CCW_CW(RGB_HUD, RGB_HUI)}, }; #endif \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index 49acdda3477..cc4f4398d03 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -8,9 +8,9 @@ * 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. + * along with this program. * If not, see . */ @@ -28,24 +28,13 @@ enum protokeeb_keymap_layers { #define LOWER LT(LAYER_LOWER, KC_KP_0) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT( /* Base */ - KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE, - KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, - KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, - LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS - ), + [LAYER_BASE] = LAYOUT(/* Base */ + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS), - [LAYER_LOWER] = LAYOUT( /* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, - RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, - RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, - KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT - ), + [LAYER_LOWER] = LAYOUT(/* RGB Control */ + RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT), }; #if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [LAYER_LOWER] = { ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP) } -}; +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {[LAYER_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [LAYER_LOWER] = {ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP)}}; #endif \ No newline at end of file diff --git a/keyboards/protokeeb/rev1/readme.md b/keyboards/protokeeb/rev1/readme.md index 4a142bf0a61..defb0186e6b 100644 --- a/keyboards/protokeeb/rev1/readme.md +++ b/keyboards/protokeeb/rev1/readme.md @@ -18,6 +18,8 @@ The default layout comes pre-flashed on every Protokeeb and consists of two laye - Layer 1: 16-key numpad, excluding the `NUM LOCK` key. - Layer 2: RGB LED control and keyboard boot options. +- Layer 3: Media control, quick launch application and other options. +- Layer 4: Function Keys. Make example for this keyboard (after setting up your build environment): @@ -27,7 +29,6 @@ Flashing example for this keyboard: make protokeeb/rev1:default:flash - 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). ## Bootloader From e4aad107cda2cbbc0ce957a57d7bf473d13f2c6c Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Sat, 6 Jul 2024 00:26:57 +0530 Subject: [PATCH 52/66] Update keyboards/protokeeb/rev1/config.h Co-authored-by: Drashna Jaelre --- keyboards/protokeeb/rev1/config.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/keyboards/protokeeb/rev1/config.h b/keyboards/protokeeb/rev1/config.h index e65ce14735b..0e304112fca 100644 --- a/keyboards/protokeeb/rev1/config.h +++ b/keyboards/protokeeb/rev1/config.h @@ -50,6 +50,4 @@ /* LED to blink when entering bootloader mode */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 -#if defined (ENCODER_ENABLE) -#define ENCODER_MAP_KEY_DELAY 10 -#endif \ No newline at end of file +#define ENCODER_MAP_KEY_DELAY 10 \ No newline at end of file From 1e9e69faa999ff297e6859ffa4e6294c0bee2459 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Sat, 6 Jul 2024 00:27:42 +0530 Subject: [PATCH 53/66] Update keyboards/protokeeb/rev1/config.h Co-authored-by: Drashna Jaelre --- keyboards/protokeeb/rev1/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/protokeeb/rev1/config.h b/keyboards/protokeeb/rev1/config.h index 0e304112fca..91da8a74f50 100644 --- a/keyboards/protokeeb/rev1/config.h +++ b/keyboards/protokeeb/rev1/config.h @@ -39,7 +39,7 @@ #define RGBLIGHT_EFFECT_SWIRL_RANGE 255 #define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 #define RGBLIGHT_EFFECT_TWINKLE_LIFE 200 -#define RGBLIGHT_EFFECT_TWINKLE_PROBABILITY 1/127 +#define RGBLIGHT_EFFECT_TWINKLE_PROBABILITY (1/127) /* Double tap reset bootloader entry */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET From 739ff790067c34919b54c3908538fe6cd22a3954 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Thu, 11 Jul 2024 01:47:56 +0530 Subject: [PATCH 54/66] Update keyboards/protokeeb/rev1/rev1.c Renaming Arduino-style GPIO pin functions (#23085, #23093) Co-authored-by: Ryan --- keyboards/protokeeb/rev1/rev1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/protokeeb/rev1/rev1.c b/keyboards/protokeeb/rev1/rev1.c index 404588cf309..e796c7381a8 100644 --- a/keyboards/protokeeb/rev1/rev1.c +++ b/keyboards/protokeeb/rev1/rev1.c @@ -19,7 +19,7 @@ // Override the matrix read function to include the encoder button void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { if (current_row == ENCODER_BUTTON_ROW) { - if (readPin(ENCODER_BUTTON_PIN) == 0) { + if (gpio_read_pin(ENCODER_BUTTON_PIN) == 0) { current_matrix[current_row] |= (1 << ENCODER_BUTTON_COL); } else { current_matrix[current_row] &= ~(1 << ENCODER_BUTTON_COL); From f51e8816e65ae54f20f71066fed60faca8fffbdf Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Thu, 11 Jul 2024 01:54:32 +0530 Subject: [PATCH 55/66] Update keyboards/protokeeb/keymaps/via/rules.mk Co-authored-by: Ryan --- keyboards/protokeeb/keymaps/via/rules.mk | 6 ------ 1 file changed, 6 deletions(-) diff --git a/keyboards/protokeeb/keymaps/via/rules.mk b/keyboards/protokeeb/keymaps/via/rules.mk index 13108f50fd7..4253f570f0b 100644 --- a/keyboards/protokeeb/keymaps/via/rules.mk +++ b/keyboards/protokeeb/keymaps/via/rules.mk @@ -1,8 +1,2 @@ -# Build Options Protokeeb rev1 -# Change yes to no to disable features - -# Enable Via support VIA_ENABLE = yes - -# Rotary Encoder Keymap support ENCODER_MAP_ENABLE = yes \ No newline at end of file From ead296f238b5ef8e291070413ec4f2e3ffb1ff71 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Thu, 11 Jul 2024 01:56:18 +0530 Subject: [PATCH 56/66] Update keyboards/protokeeb/keymaps/midi/rules.mk Co-authored-by: Ryan --- keyboards/protokeeb/keymaps/midi/rules.mk | 6 ------ 1 file changed, 6 deletions(-) diff --git a/keyboards/protokeeb/keymaps/midi/rules.mk b/keyboards/protokeeb/keymaps/midi/rules.mk index ba8e37e4721..67e096f4e1c 100644 --- a/keyboards/protokeeb/keymaps/midi/rules.mk +++ b/keyboards/protokeeb/keymaps/midi/rules.mk @@ -1,8 +1,2 @@ -# Build Options -# Change yes to no to disable feature - -# Enable MIDI support MIDI_ENABLE = yes - -# Rotary Encoder Keymap support ENCODER_MAP_ENABLE = yes \ No newline at end of file From b696d78df509664c9298d48ee46d837d3093ad24 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Thu, 11 Jul 2024 01:56:55 +0530 Subject: [PATCH 57/66] Update keyboards/protokeeb/keymaps/default/rules.mk Co-authored-by: Ryan --- keyboards/protokeeb/keymaps/default/rules.mk | 6 ------ 1 file changed, 6 deletions(-) diff --git a/keyboards/protokeeb/keymaps/default/rules.mk b/keyboards/protokeeb/keymaps/default/rules.mk index 8f2f1394c90..f6e4bb8eefe 100644 --- a/keyboards/protokeeb/keymaps/default/rules.mk +++ b/keyboards/protokeeb/keymaps/default/rules.mk @@ -1,8 +1,2 @@ -# Build Options Protokeeb rev1 -# Change yes to no to disable features - -# Rotary Encoder Keymap support ENCODER_MAP_ENABLE = yes - -# Enable Tri Layer support TRI_LAYER_ENABLE = yes \ No newline at end of file From 4c606fe417758c5b4e5ab2d9ab5e2bd230141601 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Thu, 11 Jul 2024 02:07:56 +0530 Subject: [PATCH 58/66] Deleted Protokeeb keyboard main/root directory's rules.mk file, consisting the build option DEFAULT_FOLDER because the keyboard does not have more than one sub-folder. --- keyboards/protokeeb/rules.mk | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 keyboards/protokeeb/rules.mk diff --git a/keyboards/protokeeb/rules.mk b/keyboards/protokeeb/rules.mk deleted file mode 100644 index 96961185381..00000000000 --- a/keyboards/protokeeb/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -# Default keyboard folder -DEFAULT_FOLDER = protokeeb/rev1 From f2831a0aee786c2a2e7605b50b8889bd87ab3bd6 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Thu, 11 Jul 2024 02:28:32 +0530 Subject: [PATCH 59/66] qmk format-json -i on keyboard.json file as requested by QMK Maintainers in pull request. --- keyboards/protokeeb/rev1/keyboard.json | 38 ++++++++++++++------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index 669c8beafa6..ca7389ab8cd 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -10,7 +10,9 @@ "debounce": 20, "diode_direction": "COL2ROW", "encoder": { - "rotary": [{ "pin_a": "GP12", "pin_b": "GP13", "resolution": 2 }] + "rotary": [ + {"pin_a": "GP12", "pin_b": "GP13", "resolution": 2} + ] }, "features": { "bootmagic": true, @@ -65,23 +67,23 @@ "layouts": { "LAYOUT": { "layout": [ - { "label": "7", "matrix": [0, 0], "x": 0, "y": 0 }, - { "label": "8", "matrix": [0, 1], "x": 1, "y": 0 }, - { "label": "9", "matrix": [0, 2], "x": 2, "y": 0 }, - { "label": "/", "matrix": [0, 3], "x": 3, "y": 0 }, - { "label": "MUTE", "matrix": [0, 4], "x": 4, "y": 0 }, - { "label": "4", "matrix": [1, 0], "x": 0, "y": 1 }, - { "label": "5", "matrix": [1, 1], "x": 1, "y": 1 }, - { "label": "6", "matrix": [1, 2], "x": 2, "y": 1 }, - { "label": "*", "matrix": [1, 3], "x": 3, "y": 1 }, - { "label": "1", "matrix": [2, 0], "x": 0, "y": 2 }, - { "label": "2", "matrix": [2, 1], "x": 1, "y": 2 }, - { "label": "3", "matrix": [2, 2], "x": 2, "y": 2 }, - { "label": "-", "matrix": [2, 3], "x": 3, "y": 2 }, - { "label": "0", "matrix": [3, 0], "x": 0, "y": 3 }, - { "label": ".", "matrix": [3, 1], "x": 1, "y": 3 }, - { "label": "ENTER", "matrix": [3, 2], "x": 2, "y": 3 }, - { "label": "+", "matrix": [3, 3], "x": 3, "y": 3 } + {"label": "7", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "8", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "9", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "/", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "MUTE", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "4", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "5", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "6", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "*", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "1", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "2", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "3", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "-", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "0", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": ".", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "ENTER", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "+", "matrix": [3, 3], "x": 3, "y": 3} ] } } From cdf87c05b01ea296ad7ee93b70839667e6164208 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Sun, 14 Jul 2024 02:18:12 +0530 Subject: [PATCH 60/66] Improved the encoder push button functionality code to address/fix the switch matrix scanning not working issue. --- keyboards/protokeeb/rev1/rev1.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/keyboards/protokeeb/rev1/rev1.c b/keyboards/protokeeb/rev1/rev1.c index e796c7381a8..324098da810 100644 --- a/keyboards/protokeeb/rev1/rev1.c +++ b/keyboards/protokeeb/rev1/rev1.c @@ -16,13 +16,13 @@ #include "quantum.h" -// Override the matrix read function to include the encoder button -void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { - if (current_row == ENCODER_BUTTON_ROW) { - if (gpio_read_pin(ENCODER_BUTTON_PIN) == 0) { - current_matrix[current_row] |= (1 << ENCODER_BUTTON_COL); - } else { - current_matrix[current_row] &= ~(1 << ENCODER_BUTTON_COL); - } +extern matrix_row_t matrix[]; // Declare the matrix array + +void matrix_scan_kb(void) { + // Read the encoder button state and update the matrix + if (readPin(ENCODER_BUTTON_PIN) == 0) { + matrix[ENCODER_BUTTON_ROW] |= (1 << ENCODER_BUTTON_COL); + } else { + matrix[ENCODER_BUTTON_ROW] &= ~(1 << ENCODER_BUTTON_COL); } } \ No newline at end of file From cb54da68612e2bc45ac83d0e3f0b996709fddf75 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Sun, 14 Jul 2024 03:13:22 +0530 Subject: [PATCH 61/66] Changed readPin function to gpio_read_pin function in rev1.c file because of core change: Renaming Arduino-style GPIO pin functions #23085, #23093 --- keyboards/protokeeb/rev1/rev1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/protokeeb/rev1/rev1.c b/keyboards/protokeeb/rev1/rev1.c index 324098da810..872ed8a9fcb 100644 --- a/keyboards/protokeeb/rev1/rev1.c +++ b/keyboards/protokeeb/rev1/rev1.c @@ -20,7 +20,7 @@ extern matrix_row_t matrix[]; // Declare the matrix array void matrix_scan_kb(void) { // Read the encoder button state and update the matrix - if (readPin(ENCODER_BUTTON_PIN) == 0) { + if (gpio_read_pin(ENCODER_BUTTON_PIN) == 0) { matrix[ENCODER_BUTTON_ROW] |= (1 << ENCODER_BUTTON_COL); } else { matrix[ENCODER_BUTTON_ROW] &= ~(1 << ENCODER_BUTTON_COL); From c81487cd56f0c822c92200b11c88b0a766617033 Mon Sep 17 00:00:00 2001 From: atechofficials Date: Sun, 14 Jul 2024 04:26:56 +0530 Subject: [PATCH 62/66] Removed WS2812 Driver's WS2812_BYTE_ORDER_RGB because it was not displaying the correct color when used with Protokeeb's WS2812B-2020 LEDs. Now defaults to WS2812_BYTE_ORDER_GRB --- keyboards/protokeeb/rev1/config.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/protokeeb/rev1/config.h b/keyboards/protokeeb/rev1/config.h index 91da8a74f50..4244bf96fd0 100644 --- a/keyboards/protokeeb/rev1/config.h +++ b/keyboards/protokeeb/rev1/config.h @@ -23,9 +23,6 @@ #define ENCODER_BUTTON_ROW 0 #define ENCODER_BUTTON_COL 4 -/* ARGB LED Byte order */ -#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB - /* Peripheral used */ #define WS2812_PIO_USE_PIO1 From 654f50785b273a0b894e039d364c8ac58585604f Mon Sep 17 00:00:00 2001 From: atechofficials Date: Sun, 14 Jul 2024 19:05:52 +0530 Subject: [PATCH 63/66] Replaced deprecated keycodes in all the keymaps and using short keycode names in all the keymaps. --- keyboards/protokeeb/keymaps/default/keymap.c | 14 +++++++------- keyboards/protokeeb/keymaps/midi/keymap.c | 4 ++-- keyboards/protokeeb/keymaps/via/keymap.c | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/keyboards/protokeeb/keymaps/default/keymap.c b/keyboards/protokeeb/keymaps/default/keymap.c index 0784fa3008f..4ecf6f6ffb3 100644 --- a/keyboards/protokeeb/keymaps/default/keymap.c +++ b/keyboards/protokeeb/keymaps/default/keymap.c @@ -27,27 +27,27 @@ enum protokeeb_keymap_layers { LAYER_ADJUST, }; -#define LOWER LT(LAYER_LOWER, KC_KP_0) -#define RAISE LT(LAYER_RAISE, KC_KP_ENTER) +#define LOWER LT(LAYER_LOWER, KC_P0) +#define RAISE LT(LAYER_RAISE, KC_PENT) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [LAYER_BASE] = LAYOUT(/* Base: Numpad without Num Lock*/ - KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, LOWER, KC_KP_DOT, RAISE, KC_KP_PLUS), + KC_P7, KC_P8, KC_P9, KC_PSLS, KC_MUTE, KC_P4, KC_P5, KC_P6, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PMNS, LOWER, KC_PDOT, RAISE, KC_PPLS), [LAYER_LOWER] = LAYOUT(/* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, QK_DEBUG_TOGGLE, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, RGB_MODE_SWIRL, KC_TRNS, QK_BOOT), + UG_TOGG, UG_NEXT, UG_PREV, DB_TOGG, KC_TRNS, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, UG_SPDU, UG_SPDD, KC_TRNS, KC_NO, KC_TRNS, QK_BOOT), [LAYER_RAISE] = LAYOUT(/* Media Control and Quick Launch*/ - KC_MEDIA_PLAY_PAUSE, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK, KC_MEDIA_STOP, KC_MUTE, KC_CALCULATOR, KC_MY_COMPUTER, KC_CONTROL_PANEL, KC_SYSTEM_POWER, KC_PRINT_SCREEN, KC_HOME, KC_INSERT, KC_DELETE, KC_TRNS, KC_NO, KC_TRNS, QK_REBOOT), + KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_TRNS, KC_CALC, KC_MYCM, KC_CPNL, KC_PWR, KC_PSCR, KC_HOME, KC_INS, KC_DEL, KC_TRNS, KC_NO, KC_TRNS, QK_RBT), [LAYER_ADJUST] = LAYOUT(/* Function Keys */ - KC_F1, KC_F2, KC_F3, KC_F4, KC_MUTE, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_NO, KC_TRNS, KC_NO), + KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_NO, KC_TRNS, KC_NO), }; #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [LAYER_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [LAYER_LOWER] = {ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP)}, + [LAYER_LOWER] = {ENCODER_CCW_CW(KC_BRID, KC_BRIU)}, [LAYER_RAISE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [LAYER_ADJUST] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, }; diff --git a/keyboards/protokeeb/keymaps/midi/keymap.c b/keyboards/protokeeb/keymaps/midi/keymap.c index 435edbb089c..a0a8d62901d 100644 --- a/keyboards/protokeeb/keymaps/midi/keymap.c +++ b/keyboards/protokeeb/keymaps/midi/keymap.c @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MI_C2, MI_Cs2, MI_D2, MI_Ds2, KC_MUTE, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2, NOTES_SET_1, NOTES_SET_2, KC_TRNS, KC_TRNS), [LAYER_RGB_CONTROL] = LAYOUT(/* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT), + UG_TOGG, UG_NEXT, UG_PREV, DB_TOGG, KC_MUTE, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, UG_SPDU, UG_SPDD, KC_TRNS, KC_NO, KC_NO, QK_BOOT), }; #if defined(ENCODER_MAP_ENABLE) @@ -51,6 +51,6 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [LAYER_NOTES_SET_1] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [LAYER_NOTES_SET_2] = {ENCODER_CCW_CW(MI_OCTD, MI_OCTU)}, [LAYER_NOTES_SET_3] = {ENCODER_CCW_CW(MI_TRSD, MI_TRSU)}, - [LAYER_RGB_CONTROL] = {ENCODER_CCW_CW(RGB_HUD, RGB_HUI)}, + [LAYER_RGB_CONTROL] = {ENCODER_CCW_CW(UG_HUED, UG_HUEU)}, }; #endif \ No newline at end of file diff --git a/keyboards/protokeeb/keymaps/via/keymap.c b/keyboards/protokeeb/keymaps/via/keymap.c index cc4f4398d03..2b60385f790 100644 --- a/keyboards/protokeeb/keymaps/via/keymap.c +++ b/keyboards/protokeeb/keymaps/via/keymap.c @@ -25,16 +25,16 @@ enum protokeeb_keymap_layers { LAYER_LOWER, }; -#define LOWER LT(LAYER_LOWER, KC_KP_0) +#define LOWER LT(LAYER_LOWER, KC_P0) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [LAYER_BASE] = LAYOUT(/* Base */ - KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_SLASH, KC_MUTE, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ASTERISK, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_MINUS, LOWER, KC_KP_DOT, KC_KP_ENTER, KC_KP_PLUS), + KC_P7, KC_P8, KC_P9, KC_PSLS, KC_MUTE, KC_P4, KC_P5, KC_P6, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PMNS, LOWER, KC_PDOT, KC_PENT, KC_PPLS), [LAYER_LOWER] = LAYOUT(/* RGB Control */ - RGB_MODE_PLAIN, RGB_MODE_FORWARD, RGB_MODE_REVERSE, RGB_TOG, KC_MUTE, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, RGB_MODE_SWIRL, QK_DEBUG_TOGGLE, QK_BOOT), + UG_TOGG, UG_NEXT, UG_PREV, DB_TOGG, KC_TRNS, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, UG_SPDU, UG_SPDD, KC_TRNS, KC_NO, KC_NO, QK_BOOT), }; #if defined(ENCODER_MAP_ENABLE) -const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {[LAYER_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [LAYER_LOWER] = {ENCODER_CCW_CW(KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP)}}; +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {[LAYER_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, [LAYER_LOWER] = {ENCODER_CCW_CW(KC_BRID, KC_BRIU)}}; #endif \ No newline at end of file From 23a98c75b5517c898b0289b693e6326880300626 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Wed, 4 Sep 2024 18:26:57 +0530 Subject: [PATCH 64/66] Update keyboards/protokeeb/rev1/keyboard.json Removed "rgb_test" RGB Light effect as requested by QMK Maintainer. Co-authored-by: Ryan --- keyboards/protokeeb/rev1/keyboard.json | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index ca7389ab8cd..d7a7fd72af4 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -34,7 +34,6 @@ "knight": true, "rainbow_mood": true, "rainbow_swirl": true, - "rgb_test": true, "snake": true, "static_gradient": true, "twinkle": true From 785afeab768b83fd23fd04d814e97650484acf65 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Wed, 4 Sep 2024 18:30:44 +0530 Subject: [PATCH 65/66] Update keyboards/protokeeb/rev1/keyboard.json Removed RGB Light's "driver" configuration as requested by QMK Maintainer. Co-authored-by: Ryan --- keyboards/protokeeb/rev1/keyboard.json | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index d7a7fd72af4..394f1de3fe2 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -47,7 +47,6 @@ "speed": 0, "val": 50 }, - "driver": "ws2812", "hue_steps": 15, "led_count": 4, "led_map": [3, 2, 1, 0], From 0926a8d9883607a3473a06bd3d057fa4a7b35dc3 Mon Sep 17 00:00:00 2001 From: Mrinal Singh Tak <89794960+atechofficials@users.noreply.github.com> Date: Wed, 4 Sep 2024 18:33:12 +0530 Subject: [PATCH 66/66] Update keyboards/protokeeb/rev1/keyboard.json Changes according to QMK Maintainer's request. Co-authored-by: Ryan --- keyboards/protokeeb/rev1/keyboard.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/keyboards/protokeeb/rev1/keyboard.json b/keyboards/protokeeb/rev1/keyboard.json index 394f1de3fe2..b7941655822 100644 --- a/keyboards/protokeeb/rev1/keyboard.json +++ b/keyboards/protokeeb/rev1/keyboard.json @@ -40,11 +40,6 @@ }, "brightness_steps": 15, "default": { - "animation": "static_light", - "hue": 0, - "on": true, - "sat": 255, - "speed": 0, "val": 50 }, "hue_steps": 15,