Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ProtoKeeb keyboard request #23991

Open
wants to merge 81 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
d226b65
Protokeeb v1.0 QMK Firmware
atechofficials Feb 16, 2024
45364e2
Merge branch 'dev_branch' of github.com:atechofficials/qmk_firmware i…
atechofficials Feb 17, 2024
ab22f12
Merge branch 'qmk:master' into dev_branch
atechofficials Mar 28, 2024
7f75644
Merge branch 'master' of github.com:atechofficials/qmk_firmware into …
atechofficials Mar 28, 2024
a0e599e
Merge branch 'qmk:master' into dev_branch
atechofficials Apr 17, 2024
0fc220b
Protokeeb Rev1 QMK Firmware
atechofficials Apr 19, 2024
c73284d
Merge branch 'dev_branch' of github.com:atechofficials/qmk_firmware i…
atechofficials Apr 19, 2024
f9b30e9
Merge branch 'qmk:master' into dev_branch
atechofficials Apr 19, 2024
84d8ce0
Added ProtoKeeb Via Support
atechofficials Apr 20, 2024
f312c68
Merge branch 'qmk:master' into dev_branch
atechofficials Apr 24, 2024
c3fdc65
Protokeeb midi keymap files updated
atechofficials Apr 24, 2024
c6ed373
Protokeeb readme file updated
atechofficials Apr 24, 2024
1bb1f56
Protokeeb readme file updated
atechofficials Apr 24, 2024
858add1
Merge branch 'qmk:master' into dev_branch
atechofficials Apr 26, 2024
5a46bde
Merge branch 'master' of https://github.com/qmk/qmk_firmware into dev…
atechofficials Apr 26, 2024
79cc1e5
Merge branch 'dev_branch' of github.com:atechofficials/qmk_firmware i…
atechofficials Apr 26, 2024
0053e8c
Protokeeb QMK Firmware file changes
atechofficials Apr 26, 2024
d01884f
Merge branch 'qmk:master' into dev_branch
atechofficials May 4, 2024
e0651ba
Merge branch 'qmk:master' into dev_branch
atechofficials May 9, 2024
cd1514d
Merge branch 'qmk:master' into dev_branch
atechofficials May 24, 2024
db98afd
Merge branch 'dev_branch' of github.com:atechofficials/qmk_firmware i…
atechofficials May 31, 2024
d799a26
Merge branch 'master' of github.com:atechofficials/qmk_firmware into …
atechofficials Jun 22, 2024
c1290ce
Added more features, changes in the Protokeeb firmware files accordin…
atechofficials Jun 22, 2024
254090e
Slight changes in the readme.md file and rules.mk file
atechofficials Jun 22, 2024
bfa809e
slight changes in the config.h file
atechofficials Jun 22, 2024
d84ba68
Removed unsused configuration options. Reviewed files and made some c…
atechofficials Jun 23, 2024
af874df
Merge branch 'master' of https://github.com/qmk/qmk_firmware into dev…
atechofficials Jun 24, 2024
bb827d7
Created a new rules.mk file inside the keyboard's root folder and add…
atechofficials Jun 24, 2024
78aa8b7
Update keyboards/protokeeb/keymaps/default/keymap.c
atechofficials Jun 24, 2024
4bc3045
Update keyboards/protokeeb/keymaps/default/keymap.c
atechofficials Jun 24, 2024
7ea5d71
Update keyboards/protokeeb/keymaps/midi/keymap.c
atechofficials Jun 24, 2024
0fcde68
Update keyboards/protokeeb/rev1/rev1.c
atechofficials Jun 24, 2024
e4feb53
Update keyboards/protokeeb/keymaps/midi/keymap.c
atechofficials Jun 24, 2024
a219438
Update keyboards/protokeeb/keymaps/via/keymap.c
atechofficials Jun 24, 2024
8a47fba
Update keyboards/protokeeb/rev1/keyboard.json
atechofficials Jun 24, 2024
3506a4c
Update keyboards/protokeeb/keymaps/via/keymap.c
atechofficials Jun 24, 2024
fe38f5f
Update keyboards/protokeeb/keymaps/via/keymap.c
atechofficials Jun 24, 2024
3ba5b88
Update keyboards/protokeeb/keymaps/via/keymap.c
atechofficials Jun 24, 2024
27eefb3
Update keyboards/protokeeb/keymaps/via/keymap.c
atechofficials Jun 24, 2024
e5ce704
Update keyboards/protokeeb/keymaps/via/rules.mk
atechofficials Jun 24, 2024
0cae39f
Update keyboards/protokeeb/rev1/config.h
atechofficials Jun 24, 2024
6898fb0
Update keyboards/protokeeb/rev1/keyboard.json
atechofficials Jun 24, 2024
71dd193
Update keyboards/protokeeb/rev1/keyboard.json
atechofficials Jun 24, 2024
842cf93
Update keyboards/protokeeb/rev1/keyboard.json
atechofficials Jun 24, 2024
d230e71
Removed debug keymap directory as requested by QMK member in pull req…
atechofficials Jun 24, 2024
1f93dbc
Removed via keymap config.h file as requested by QMK member in pull r…
atechofficials Jun 24, 2024
2144302
Removed Protokeeb keyboard's halconf.h file as requested by QMK membe…
atechofficials Jun 24, 2024
d1c29a4
Removed the tri-layer functionality from via keymap. Also, removed th…
atechofficials Jun 24, 2024
5c70850
Done some slight changes in keyboard.json file according to QMK membe…
atechofficials Jun 24, 2024
03d66d9
Update keyboards/protokeeb/rev1/mcuconf.h
atechofficials Jun 24, 2024
58c2102
Removed the unused SPI driver configuration in mcuconf.h file as requ…
atechofficials Jun 24, 2024
8930af7
Update keyboards/protokeeb/rev1/readme.md
atechofficials Jun 24, 2024
50be79c
Update keyboards/protokeeb/rev1/rev1.c
atechofficials Jun 24, 2024
d9063a6
Successfully formatted the rev1.c file using qmk format-c command as …
atechofficials Jun 24, 2024
b95c4ed
Removed rev1.h file as requested by QMK member in pull request
atechofficials Jun 25, 2024
a520b48
Removed rules.mk file in rev1 directory as requested by QMK member in…
atechofficials Jun 25, 2024
953d6ca
Changed the layout name from LAYOUT_midi to LAYOUT_ortho_4x4 in the m…
atechofficials Jun 25, 2024
0238181
Fixed the qmk firmware compilation issues occured due to recent chang…
atechofficials Jun 25, 2024
c6d1aa0
Removed the the default_ortho_4x4 keymap as requested by QMK maintain…
atechofficials Jun 25, 2024
09ba000
Added custom switch matrix and Changed the encoder built-in push butt…
atechofficials Jun 26, 2024
34fdc58
Update keyboards/protokeeb/rules.mk
atechofficials Jun 27, 2024
2277711
Update keyboards/protokeeb/rev1/keyboard.json
atechofficials Jun 27, 2024
50919d8
Update keyboards/protokeeb/keymaps/default/rules.mk
atechofficials Jun 27, 2024
59d28ad
Update keyboards/protokeeb/keymaps/midi/rules.mk
atechofficials Jun 27, 2024
4c18c88
Update keyboards/protokeeb/keymaps/via/rules.mk
atechofficials Jun 27, 2024
f38ca58
Layout name changed in all the keymap files according to the keyboard…
atechofficials Jun 27, 2024
586836b
Added the QMK's Tri-Layer functionality to the default keymap
atechofficials Jun 27, 2024
99ae294
Merge branch 'master' into dev_branch
atechofficials Jun 29, 2024
e4aad10
Update keyboards/protokeeb/rev1/config.h
atechofficials Jul 5, 2024
1e9e69f
Update keyboards/protokeeb/rev1/config.h
atechofficials Jul 5, 2024
3f06af2
Merge branch 'qmk:master' into dev_branch
atechofficials Jul 10, 2024
739ff79
Update keyboards/protokeeb/rev1/rev1.c
atechofficials Jul 10, 2024
f51e881
Update keyboards/protokeeb/keymaps/via/rules.mk
atechofficials Jul 10, 2024
ead296f
Update keyboards/protokeeb/keymaps/midi/rules.mk
atechofficials Jul 10, 2024
b696d78
Update keyboards/protokeeb/keymaps/default/rules.mk
atechofficials Jul 10, 2024
4c606fe
Deleted Protokeeb keyboard main/root directory's rules.mk file, consi…
atechofficials Jul 10, 2024
f2831a0
qmk format-json -i on keyboard.json file as requested by QMK Maintain…
atechofficials Jul 10, 2024
cdf87c0
Improved the encoder push button functionality code to address/fix th…
atechofficials Jul 13, 2024
cb54da6
Changed readPin function to gpio_read_pin function in rev1.c file bec…
atechofficials Jul 13, 2024
c81487c
Removed WS2812 Driver's WS2812_BYTE_ORDER_RGB because it was not disp…
atechofficials Jul 13, 2024
654f507
Replaced deprecated keycodes in all the keymaps and using short keyco…
atechofficials Jul 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions keyboards/protokeeb/keymaps/debug/keymap.c
atechofficials marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/gpl-3.0.html>.
*/

/* Protokeeb v1.0
* Keymap: Debug Mode
*/

#include QMK_KEYBOARD_H
39 changes: 39 additions & 0 deletions keyboards/protokeeb/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/gpl-3.0.html>.
*/

/* Protokeeb v1.0
* Keymap: Default
*/

#include QMK_KEYBOARD_H
#include "os_detection.h"
#include "quantum.h"
atechofficials marked this conversation as resolved.
Show resolved Hide resolved

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
),
};
19 changes: 19 additions & 0 deletions keyboards/protokeeb/keymaps/via/config.h
atechofficials marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/gpl-3.0.html>.
*/

#pragma once
#define DYNAMIC_KEYMAP_LAYER_COUNT 2
// #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 1 // default value
4 changes: 4 additions & 0 deletions keyboards/protokeeb/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Build Options Protokeeb rev1
# Change yes to no to diable features

VIA_ENABLE = yes
145 changes: 145 additions & 0 deletions keyboards/protokeeb/rev1/config.h
atechofficials marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/gpl-3.0.html>.
*/

#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
atechofficials marked this conversation as resolved.
Show resolved Hide resolved

#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
29 changes: 29 additions & 0 deletions keyboards/protokeeb/rev1/halconf.h
atechofficials marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/gpl-3.0.html>.
*/

#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 <halconf.h>
43 changes: 43 additions & 0 deletions keyboards/protokeeb/rev1/info.json
Original file line number Diff line number Diff line change
@@ -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 }
]
}
}
}
36 changes: 36 additions & 0 deletions keyboards/protokeeb/rev1/mcuconf.h
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/gpl-3.0.html>.
*/

#pragma once

#include_next <mcuconf.h>

/* 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
atechofficials marked this conversation as resolved.
Show resolved Hide resolved
40 changes: 40 additions & 0 deletions keyboards/protokeeb/rev1/readme.md
Original file line number Diff line number Diff line change
@@ -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.
Loading