Skip to content

Commit

Permalink
[Keyboard] Add Blue Team Pad (qmk#19807)
Browse files Browse the repository at this point in the history
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
  • Loading branch information
4 people authored Feb 12, 2023
1 parent 3f45fd4 commit 9a654e5
Show file tree
Hide file tree
Showing 12 changed files with 214 additions and 0 deletions.
38 changes: 38 additions & 0 deletions keyboards/fearherbs1/blue_team_pad/blue_team_pad.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// Copyright 2022-2023 Thomas Autiello Jr (@fearherbs1)
// SPDX-License-Identifier: GPL-2.0-or-later

#include "quantum.h"
#ifdef OLED_ENABLE
bool oled_task_kb(void) {
if (!oled_task_user()) {
return false;
}
// Host Keyboard Layer Status
oled_write_P(PSTR("Blue Team Pad \nCurrent Layer: "), false);

switch (get_highest_layer(layer_state)) {
case 0:
oled_write_P(PSTR("0\n"), false);
break;
case 1:
oled_write_P(PSTR("1\n"), false);
break;
case 2:
oled_write_P(PSTR("2\n"), false);
break;
case 3:
oled_write_P(PSTR("3\n"), false);
break;
case 4:
oled_write_P(PSTR("4\n"), false);
break;
case 5:
oled_write_P(PSTR("5\n"), false);
break;
default:
// Or use the write_ln shortcut over adding '\n' to the end of your string
oled_write_ln_P(PSTR("Undefined"), false);
}
return false;
}
#endif
14 changes: 14 additions & 0 deletions keyboards/fearherbs1/blue_team_pad/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Copyright 2022-2023 Thomas Autiello Jr (@fearherbs1)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include "config_common.h"

#ifdef OLED_ENABLE
#define I2C1_SCL_PIN GP27
#define I2C1_SDA_PIN GP26
#define I2C_DRIVER I2CD2
#define OLED_DISPLAY_128X32
#define OLED_BRIGHTNESS 128
#endif
8 changes: 8 additions & 0 deletions keyboards/fearherbs1/blue_team_pad/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Copyright 2022-2023 Thomas Autiello Jr (@fearherbs1)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define HAL_USE_I2C TRUE

#include_next <halconf.h>
61 changes: 61 additions & 0 deletions keyboards/fearherbs1/blue_team_pad/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
"keyboard_name": "blue_team_pad",
"maintainer": "fearherbs1",
"manufacturer": "fearherbs1",
"processor": "RP2040",
"bootloader": "rp2040",
"url": "https://github.com/fearherbs1/blue-team-pad",
"usb": {
"vid": "0x4648",
"pid": "0x4254",
"device_version": "1.1.0"
},
"features": {
"encoder": true,
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": true,
"command": false,
"nkro": true
},
"diode_direction": "COL2ROW",
"matrix_pins": {
"cols": ["GP24", "GP23", "GP21", "GP20", "GP3"],
"rows": ["GP2", "GP11", "GP10", "GP9", "GP8"]
},
"encoder": {
"rotary": [
{ "pin_a": "GP25", "pin_b": "GP28", "resolution": 2 },
{ "pin_a": "GP1", "pin_b": "GP0", "resolution": 2 }
]
},
"layouts": {
"LAYOUT": {
"layout": [
{ "matrix": [0, 0], "x": 0.0, "y": 0.0 },
{ "matrix": [0, 4], "x": 4.0, "y": 0.0 },
{ "matrix": [1, 0], "x": 0.0, "y": 2.0 },
{ "matrix": [1, 1], "x": 1.0, "y": 2.0 },
{ "matrix": [1, 2], "x": 2.0, "y": 2.0 },
{ "matrix": [1, 3], "x": 3.0, "y": 2.0 },
{ "matrix": [1, 4], "x": 4.0, "y": 2.0 },
{ "matrix": [2, 0], "x": 0.0, "y": 3.0 },
{ "matrix": [2, 1], "x": 1.0, "y": 3.0 },
{ "matrix": [2, 2], "x": 2.0, "y": 3.0 },
{ "matrix": [2, 3], "x": 3.0, "y": 3.0 },
{ "matrix": [2, 4], "x": 4.0, "y": 3.0 },
{ "matrix": [3, 0], "x": 0.0, "y": 4.0 },
{ "matrix": [3, 1], "x": 1.0, "y": 4.0 },
{ "matrix": [3, 2], "x": 2.0, "y": 4.0 },
{ "matrix": [3, 3], "x": 3.0, "y": 4.0 },
{ "matrix": [3, 4], "x": 4.0, "y": 4.0 },
{ "matrix": [4, 0], "x": 0.0, "y": 5.0 },
{ "matrix": [4, 1], "x": 1.0, "y": 5.0 },
{ "matrix": [4, 2], "x": 2.0, "y": 5.0 },
{ "matrix": [4, 3], "x": 3.0, "y": 5.0 },
{ "matrix": [4, 4], "x": 4.0, "y": 5.0 }
]
}
}
}
22 changes: 22 additions & 0 deletions keyboards/fearherbs1/blue_team_pad/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// Copyright 2022-2023 Thomas Autiello Jr (@fearherbs1)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

[0] = LAYOUT(
KC_MUTE, KC_MPLY,
KC_1, KC_2, KC_3, KC_4, KC_5,
KC_1, KC_2, KC_3, KC_4, KC_5,
KC_1, KC_2, KC_3, KC_4, KC_5,
KC_1, KC_2, KC_3, KC_4, KC_5
),

};

#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
};
#endif
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ENCODER_MAP_ENABLE = yes
6 changes: 6 additions & 0 deletions keyboards/fearherbs1/blue_team_pad/keymaps/via/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// Copyright 2022-2023 Thomas Autiello Jr (@fearherbs1)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define DYNAMIC_KEYMAP_LAYER_COUNT 6
21 changes: 21 additions & 0 deletions keyboards/fearherbs1/blue_team_pad/keymaps/via/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Copyright 2022-2023 Thomas Autiello Jr (@fearherbs1)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

[0] = LAYOUT(
KC_MUTE, KC_MPLY,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
};

#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
};
#endif
2 changes: 2 additions & 0 deletions keyboards/fearherbs1/blue_team_pad/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
ENCODER_MAP_ENABLE = yes
9 changes: 9 additions & 0 deletions keyboards/fearherbs1/blue_team_pad/mcuconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// Copyright 2022-2023 Thomas Autiello Jr (@fearherbs1)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include_next <mcuconf.h>

#undef RP_I2C_USE_I2C1
#define RP_I2C_USE_I2C1 TRUE
30 changes: 30 additions & 0 deletions keyboards/fearherbs1/blue_team_pad/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Blue Team Pad

![blue_team_pad](https://i.imgur.com/U8LNofvh.jpeg)

An open source macropad for the cyber security analyst.

The Blue Team Pad is a RP2040 based 4x5 macropad with two rotary encoders and OLED display.

It was specifically designed with the maximum possible space for macros supported by QMK. This allows the analyst to store various triage & remediation commands for quick access.

* Keyboard Maintainer: [Thomas Autiello Jr](https://github.com/fearherbs1)
* Hardware Supported: Custom RP2040 Based PCB
* Hardware Availability: https://github.com/fearherbs1/blue-team-pad

Make example for this keyboard (after setting up your build environment):

make fearherbs1/blue_team_pad:default

Flashing example for this keyboard:

make fearherbs1/blue_team_pad: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:

* **Bootmagic reset**: Hold down the upper left encoder and plug in the keyboard
* **Physical reset button**: Briefly short the two "BOOT" pads on the back side of the pcb
2 changes: 2 additions & 0 deletions keyboards/fearherbs1/blue_team_pad/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
OLED_ENABLE = yes
OLED_DRIVER = SSD1306

0 comments on commit 9a654e5

Please sign in to comment.