From d84ba683abd70e58f3b7d803342c63dc4b3072ca Mon Sep 17 00:00:00 2001 From: atechofficials Date: Mon, 24 Jun 2024 03:53:01 +0530 Subject: [PATCH] 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