Skip to content

Commit 302534e

Browse files
ryanbaekrnolanseaton
authored andcommitted
[Keyboard] Add rb18 keyboard (qmk#17306)
1 parent e7af833 commit 302534e

File tree

10 files changed

+288
-0
lines changed

10 files changed

+288
-0
lines changed

keyboards/ryanbaekr/rb18/config.h

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
/*
2+
Copyright 2022 ryanbaekr
3+
4+
This program is free software: you can redistribute it and/or modify
5+
it under the terms of the GNU General Public License as published by
6+
the Free Software Foundation, either version 2 of the License, or
7+
(at your option) any later version.
8+
9+
This program is distributed in the hope that it will be useful,
10+
but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
GNU General Public License for more details.
13+
14+
You should have received a copy of the GNU General Public License
15+
along with this program. If not, see <http://www.gnu.org/licenses/>.
16+
*/
17+
18+
#pragma once
19+
20+
#include "config_common.h"
21+
22+
/* USB Device descriptor parameter */
23+
#define VENDOR_ID 0x7262
24+
#define PRODUCT_ID 0x0018
25+
#define DEVICE_VER 0x0003
26+
#define MANUFACTURER ryanbaekr
27+
#define PRODUCT rb18
28+
29+
/* key matrix size */
30+
#define MATRIX_ROWS 5
31+
#define MATRIX_COLS 4
32+
33+
/*
34+
* Keyboard Matrix Assignments
35+
*
36+
* Change this to how you wired your keyboard
37+
* COLS: AVR pins used for columns, left to right
38+
* ROWS: AVR pins used for rows, top to bottom
39+
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40+
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41+
*
42+
*/
43+
#define MATRIX_ROW_PINS { B1, F7, F6, F5, F4 }
44+
#define MATRIX_COL_PINS { B2, B6, B5, B4 }
45+
#define UNUSED_PINS
46+
47+
/* COL2ROW, ROW2COL*/
48+
#define DIODE_DIRECTION COL2ROW
49+
50+
/*
51+
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
52+
*/
53+
//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
54+
55+
56+
57+
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
58+
#define DEBOUNCE 5
59+
60+
/* define if matrix has ghost (lacks anti-ghosting diodes) */
61+
//#define MATRIX_HAS_GHOST
62+
63+
/* number of backlight levels */
64+
#define BACKLIGHT_LEVELS 10
65+
66+
/* Underglow options */
67+
#define RGB_DI_PIN B0
68+
#ifdef RGB_DI_PIN
69+
#define RGBLIGHT_EFFECT_BREATHING
70+
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
71+
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
72+
#define RGBLIGHT_EFFECT_SNAKE
73+
#define RGBLIGHT_EFFECT_KNIGHT
74+
#define RGBLIGHT_EFFECT_CHRISTMAS
75+
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
76+
#define RGBLIGHT_EFFECT_RGB_TEST
77+
#define RGBLIGHT_EFFECT_ALTERNATING
78+
#define RGBLIGHT_EFFECT_TWINKLE
79+
#define RGBLED_NUM 3
80+
#define RGBLED_HUE_STEP 8
81+
#define RGBLED_SAT_STEP 8
82+
#define RGBLED_VAL_STEP 8
83+
#endif
84+
85+
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
86+
#define LOCKING_SUPPORT_ENABLE
87+
/* Locking resynchronize hack */
88+
#define LOCKING_RESYNC_ENABLE
89+
90+
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
91+
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
92+
*/
93+
// #define GRAVE_ESC_CTRL_OVERRIDE
94+
95+
/*
96+
* Force NKRO
97+
*
98+
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
99+
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
100+
* makefile for this to work.)
101+
*
102+
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
103+
* until the next keyboard reset.
104+
*
105+
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
106+
* fully operational during normal computer usage.
107+
*
108+
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
109+
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
110+
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
111+
* power-up.
112+
*
113+
*/
114+
//#define FORCE_NKRO

keyboards/ryanbaekr/rb18/info.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"keyboard_name": "rb18",
3+
"url": "",
4+
"maintainer": "qmk",
5+
"layouts": {
6+
"LAYOUT_numpad_5x4": {
7+
"layout": [{"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":0, "y":2.25}, {"x":1, "y":2.25}, {"x":2, "y":2.25}, {"x":3, "y":2.25, "h":2}, {"x":0, "y":3.25}, {"x":1, "y":3.25}, {"x":2, "y":3.25}, {"x":0, "y":4.25}, {"x":1, "y":4.25}, {"x":2, "y":4.25}, {"x":3, "y":4.25, "h":2}, {"x":0, "y":5.25, "w":2}, {"x":2, "y":5.25}]
8+
}
9+
}
10+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/* Copyright 2022 ryanbaekr
2+
*
3+
* This program is free software: you can redistribute it and/or modify
4+
* it under the terms of the GNU General Public License as published by
5+
* the Free Software Foundation, either version 2 of the License, or
6+
* (at your option) any later version.
7+
*
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
*
13+
* You should have received a copy of the GNU General Public License
14+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
*/
16+
#include QMK_KEYBOARD_H
17+
18+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19+
[0] = LAYOUT_numpad_5x4(
20+
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
21+
KC_P7, KC_P8, KC_P9,
22+
KC_P4, KC_P5, KC_P6, KC_PPLS,
23+
KC_P1, KC_P2, KC_P3,
24+
KC_P0, KC_PDOT, KC_PENT
25+
)
26+
};
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# The default keymap for rb18
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/* Copyright 2022 ryanbaekr
2+
*
3+
* This program is free software: you can redistribute it and/or modify
4+
* it under the terms of the GNU General Public License as published by
5+
* the Free Software Foundation, either version 2 of the License, or
6+
* (at your option) any later version.
7+
*
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
*
13+
* You should have received a copy of the GNU General Public License
14+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
*/
16+
#include QMK_KEYBOARD_H
17+
18+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19+
[0] = LAYOUT_numpad_5x4(
20+
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
21+
KC_P7, KC_P8, KC_P9,
22+
KC_P4, KC_P5, KC_P6, KC_PPLS,
23+
KC_P1, KC_P2, KC_P3,
24+
KC_P0, KC_PDOT, KC_PENT
25+
),
26+
27+
[1] = LAYOUT_numpad_5x4(
28+
_______, _______, _______, _______,
29+
_______, _______, _______,
30+
_______, _______, _______, _______,
31+
_______, _______, _______,
32+
_______, _______, _______
33+
),
34+
35+
[2] = LAYOUT_numpad_5x4(
36+
_______, _______, _______, _______,
37+
_______, _______, _______,
38+
_______, _______, _______, _______,
39+
_______, _______, _______,
40+
_______, _______, _______
41+
),
42+
43+
[3] = LAYOUT_numpad_5x4(
44+
_______, _______, _______, _______,
45+
_______, _______, _______,
46+
_______, _______, _______, _______,
47+
_______, _______, _______,
48+
_______, _______, _______
49+
)
50+
};
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
VIA_ENABLE = yes
2+
LTO_ENABLE = yes

keyboards/ryanbaekr/rb18/rb18.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/* Copyright 2022 ryanbaekr
2+
*
3+
* This program is free software: you can redistribute it and/or modify
4+
* it under the terms of the GNU General Public License as published by
5+
* the Free Software Foundation, either version 2 of the License, or
6+
* (at your option) any later version.
7+
*
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
*
13+
* You should have received a copy of the GNU General Public License
14+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
*/
16+
17+
#include "rb18.h"

keyboards/ryanbaekr/rb18/rb18.h

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/* Copyright 2022 ryanbaekr
2+
*
3+
* This program is free software: you can redistribute it and/or modify
4+
* it under the terms of the GNU General Public License as published by
5+
* the Free Software Foundation, either version 2 of the License, or
6+
* (at your option) any later version.
7+
*
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
*
13+
* You should have received a copy of the GNU General Public License
14+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
*/
16+
17+
#pragma once
18+
19+
#include "quantum.h"
20+
21+
#define ___ KC_NO
22+
23+
#define LAYOUT_numpad_5x4( \
24+
k00, k11, k02, k03, \
25+
k10, k21, k12, \
26+
k20, k31, k22, k13, \
27+
k30, k41, k32, \
28+
k40, k42, k33 \
29+
){ \
30+
{ k00, ___, k02, k03 }, \
31+
{ k10, k11, k12, k13 }, \
32+
{ k20, k21, k22, ___ }, \
33+
{ k30, k31, k32, k33 }, \
34+
{ k40, k41, k42, ___ } \
35+
}

keyboards/ryanbaekr/rb18/readme.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# rb18
2+
3+
A diy stacked acrylic numpad.
4+
5+
* Keyboard Maintainer: [ryanbaekr](https://github.com/ryanbaekr)
6+
* Hardware Supported: rb18 with Elite-C
7+
* Hardware Availability: 2022/04/18
8+
9+
Make example for this keyboard (after setting up your build environment):
10+
11+
make ryanbaekr/rb18:default
12+
13+
To boot into the bootloader, hold the reset button on the Elite-C on plug in
14+
15+
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).

keyboards/ryanbaekr/rb18/rules.mk

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# MCU name
2+
MCU = atmega32u4
3+
4+
# Bootloader selection
5+
BOOTLOADER = caterina
6+
7+
# Build Options
8+
# change yes to no to disable
9+
#
10+
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11+
MOUSEKEY_ENABLE = yes # Mouse keys
12+
EXTRAKEY_ENABLE = yes # Audio control and System control
13+
CONSOLE_ENABLE = no # Console for debug
14+
COMMAND_ENABLE = no # Commands for debug and configuration
15+
NKRO_ENABLE = no # Enable N-Key Rollover
16+
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17+
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
18+
AUDIO_ENABLE = no # Audio output

0 commit comments

Comments
 (0)