Skip to content

Commit 2aa1d68

Browse files
silvinorAcliad
authored andcommitted
[Keyboard] Add BINEPAD BNK9 (qmk#22831)
1 parent bca7afc commit 2aa1d68

File tree

8 files changed

+185
-0
lines changed

8 files changed

+185
-0
lines changed

keyboards/binepad/bnk9/config.h

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// Copyright 2023 binepad (@binepad)
2+
// SPDX-License-Identifier: GPL-2.0-or-later
3+
4+
#pragma once
5+
6+
#define ENCODER_DEFAULT_POS 0x3 // enable 1:1 resolution
7+
8+
// Default PIO0 cases flickering in this board. Setting to PIO1 resolves this issue.
9+
#define WS2812_PIO_USE_PIO1
10+
11+
// Timing for SK6812
12+
#define WS2812_T1H 650

keyboards/binepad/bnk9/info.json

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
{
2+
"manufacturer": "binepad",
3+
"keyboard_name": "BNK9",
4+
"maintainer": "binepad",
5+
"board": "GENERIC_RP_RP2040",
6+
"bootloader": "rp2040",
7+
"bootloader_instructions": "Hold down the key at (0x0) in the matrix (the 'knob' / rotary encoder) and plug in the keyboard.",
8+
"diode_direction": "COL2ROW",
9+
"encoder": {
10+
"rotary": [
11+
{"pin_a": "GP13", "pin_b": "GP14"}
12+
]
13+
},
14+
"features": {
15+
"bootmagic": true,
16+
"encoder": true,
17+
"extrakey": true,
18+
"mousekey": true,
19+
"nkro": true,
20+
"rgb_matrix": true
21+
},
22+
"matrix_pins": {
23+
"cols": ["GP1", "GP2", "GP3"],
24+
"rows": ["GP12", "GP4", "GP5", "GP6"]
25+
},
26+
"processor": "RP2040",
27+
"rgb_matrix": {
28+
"animations": {
29+
"breathing": true,
30+
"cycle_all": true,
31+
"cycle_left_right": true,
32+
"cycle_pinwheel": true,
33+
"cycle_up_down": true,
34+
"jellybean_raindrops": true,
35+
"riverflow": true,
36+
"solid_reactive": true,
37+
"solid_reactive_simple": true,
38+
"solid_splash": true,
39+
"splash": true,
40+
"starlight": true,
41+
"starlight_dual_hue": true,
42+
"starlight_dual_sat": true
43+
},
44+
"driver": "ws2812",
45+
"layout": [
46+
{"matrix": [1, 0], "x": 80, "y": 0, "flags": 4},
47+
{"matrix": [1, 1], "x": 112, "y": 0, "flags": 4},
48+
{"matrix": [1, 2], "x": 144, "y": 0, "flags": 4},
49+
{"matrix": [2, 2], "x": 144, "y": 32, "flags": 4},
50+
{"matrix": [2, 1], "x": 112, "y": 32, "flags": 4},
51+
{"matrix": [2, 0], "x": 80, "y": 32, "flags": 4},
52+
{"matrix": [3, 0], "x": 80, "y": 64, "flags": 4},
53+
{"matrix": [3, 1], "x": 112, "y": 64, "flags": 4},
54+
{"matrix": [3, 2], "x": 144, "y": 64, "flags": 4}
55+
],
56+
"led_process_limit": 9,
57+
"max_brightness": 180,
58+
"sleep": true
59+
},
60+
"url": "https://www.binepad.com/product-page/bnk9",
61+
"usb": {
62+
"device_version": "1.0.0",
63+
"pid": "0x4E39",
64+
"vid": "0x4249"
65+
},
66+
"ws2812": {
67+
"driver": "vendor",
68+
"pin": "GP11"
69+
},
70+
"layouts": {
71+
"LAYOUT": {
72+
"layout": [
73+
{"label": "Knob", "matrix": [0, 0], "x": 0, "y": 0, "w": 3, "h": 3, "encoder": 0},
74+
{"label": "1", "matrix": [1, 0], "x": 3.25, "y": 0},
75+
{"label": "2", "matrix": [1, 1], "x": 4.25, "y": 0},
76+
{"label": "3", "matrix": [1, 2], "x": 5.25, "y": 0},
77+
{"label": "4", "matrix": [2, 0], "x": 3.25, "y": 1},
78+
{"label": "5", "matrix": [2, 1], "x": 4.25, "y": 1},
79+
{"label": "6", "matrix": [2, 2], "x": 5.25, "y": 1},
80+
{"label": "7", "matrix": [3, 0], "x": 3.25, "y": 2},
81+
{"label": "8", "matrix": [3, 1], "x": 4.25, "y": 2},
82+
{"label": "9", "matrix": [3, 2], "x": 5.25, "y": 2}
83+
]
84+
}
85+
}
86+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Copyright 2023 Binepad (@binpad)
2+
// SPDX-License-Identifier: GPL-2.0-or-later
3+
4+
#include QMK_KEYBOARD_H
5+
6+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
7+
[0] = LAYOUT(
8+
KC_MUTE,
9+
KC_P1, KC_P2, KC_P3,
10+
KC_P4, KC_P5, KC_P6,
11+
KC_P7, KC_P8, LT(1, KC_P9)
12+
),
13+
[1] = LAYOUT(
14+
RGB_TOG,
15+
RGB_HUI, RGB_SAI, RGB_SPI,
16+
RGB_HUD, RGB_SAD, RGB_SPD,
17+
RGB_RMOD, RGB_MOD, _______
18+
)
19+
};
20+
21+
#if defined(ENCODER_MAP_ENABLE)
22+
23+
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
24+
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
25+
[1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
26+
};
27+
28+
#endif
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ENCODER_MAP_ENABLE = yes
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Copyright 2023 Binepad (@binpad)
2+
// SPDX-License-Identifier: GPL-2.0-or-later
3+
4+
#include QMK_KEYBOARD_H
5+
6+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
7+
[0] = LAYOUT(
8+
KC_MUTE,
9+
KC_P1, KC_P2, KC_P3,
10+
KC_P4, KC_P5, KC_P6,
11+
KC_P7, KC_P8, LT(1, KC_P9)
12+
),
13+
[1] = LAYOUT(
14+
RGB_TOG,
15+
RGB_HUI, RGB_SAI, RGB_SPI,
16+
RGB_HUD, RGB_SAD, RGB_SPD,
17+
RGB_RMOD, RGB_MOD, _______
18+
)
19+
};
20+
21+
#if defined(ENCODER_MAP_ENABLE)
22+
23+
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
24+
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
25+
[1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
26+
};
27+
28+
#endif
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
VIA_ENABLE = yes
2+
ENCODER_MAP_ENABLE = yes

keyboards/binepad/bnk9/readme.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# BINEPAD BNK9
2+
3+
![BINEPAD BNK9](https://i.imgur.com/FrkVRhhh.jpg)
4+
5+
A 3x3 macropad with a large rotary encoder.
6+
7+
* Keyboard Maintainer: [binepad](https://github.com/binepad)
8+
* Hardware Supported: BINPAD BNK9
9+
* Hardware Availability: [binepad.com](https://www.binepad.com/product-page/bnk9)
10+
11+
Make example for this keyboard (after setting up your build environment):
12+
13+
make binepad/bnk9:default
14+
15+
Flashing example for this keyboard:
16+
17+
make binepad/bnk9:default:flash
18+
19+
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).
20+
21+
## Bootloader
22+
23+
Enter the bootloader in 3 ways:
24+
25+
* **Bootmagic reset**: Hold down the key at (0x0) in the matrix (the 'knob' / rotary encoder) and plug in the keyboard.
26+
* **Physical reset button**: Briefly press the PCB button located on the back of the PCB.
27+
* **Keycode in layout**: Press the key mapped to `QK_BOOT` *(or* `RESET` *in VIA)* if it is available.

keyboards/binepad/bnk9/rules.mk

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# This file intentionally left blank

0 commit comments

Comments
 (0)