Browse Source

Merge remote-tracking branch 'origin/master' into develop

pull/19828/head
QMK Bot 1 year ago
parent
commit
9828f9d256
12 changed files with 214 additions and 0 deletions
  1. +38
    -0
      keyboards/fearherbs1/blue_team_pad/blue_team_pad.c
  2. +14
    -0
      keyboards/fearherbs1/blue_team_pad/config.h
  3. +8
    -0
      keyboards/fearherbs1/blue_team_pad/halconf.h
  4. +61
    -0
      keyboards/fearherbs1/blue_team_pad/info.json
  5. +22
    -0
      keyboards/fearherbs1/blue_team_pad/keymaps/default/keymap.c
  6. +1
    -0
      keyboards/fearherbs1/blue_team_pad/keymaps/default/rules.mk
  7. +6
    -0
      keyboards/fearherbs1/blue_team_pad/keymaps/via/config.h
  8. +21
    -0
      keyboards/fearherbs1/blue_team_pad/keymaps/via/keymap.c
  9. +2
    -0
      keyboards/fearherbs1/blue_team_pad/keymaps/via/rules.mk
  10. +9
    -0
      keyboards/fearherbs1/blue_team_pad/mcuconf.h
  11. +30
    -0
      keyboards/fearherbs1/blue_team_pad/readme.md
  12. +2
    -0
      keyboards/fearherbs1/blue_team_pad/rules.mk

+ 38
- 0
keyboards/fearherbs1/blue_team_pad/blue_team_pad.c View File

@ -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
- 0
keyboards/fearherbs1/blue_team_pad/config.h View File

@ -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
- 0
keyboards/fearherbs1/blue_team_pad/halconf.h View File

@ -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
- 0
keyboards/fearherbs1/blue_team_pad/info.json View File

@ -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
- 0
keyboards/fearherbs1/blue_team_pad/keymaps/default/keymap.c View File

@ -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

+ 1
- 0
keyboards/fearherbs1/blue_team_pad/keymaps/default/rules.mk View File

@ -0,0 +1 @@
ENCODER_MAP_ENABLE = yes

+ 6
- 0
keyboards/fearherbs1/blue_team_pad/keymaps/via/config.h View File

@ -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
- 0
keyboards/fearherbs1/blue_team_pad/keymaps/via/keymap.c View File

@ -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
- 0
keyboards/fearherbs1/blue_team_pad/keymaps/via/rules.mk View File

@ -0,0 +1,2 @@
VIA_ENABLE = yes
ENCODER_MAP_ENABLE = yes

+ 9
- 0
keyboards/fearherbs1/blue_team_pad/mcuconf.h View File

@ -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
- 0
keyboards/fearherbs1/blue_team_pad/readme.md View File

@ -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
- 0
keyboards/fearherbs1/blue_team_pad/rules.mk View File

@ -0,0 +1,2 @@
OLED_ENABLE = yes
OLED_DRIVER = SSD1306

Loading…
Cancel
Save