forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding SdraKb00 keyboard (qmk#24552)
Co-authored-by: jack <jack@pngu.org> Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
- Loading branch information
1 parent
f5f11b7
commit f4e6af2
Showing
3 changed files
with
197 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
{ | ||
"manufacturer": "Diego Andres Rabaioli", | ||
"keyboard_name": "sdrakb00", | ||
"maintainer": "drabaioli", | ||
"bootloader": "atmel-dfu", | ||
"diode_direction": "COL2ROW", | ||
"encoder": { | ||
"rotary": [ | ||
{"pin_a": "B5", "pin_b": "B6", "resolution": 2} | ||
] | ||
}, | ||
"features": { | ||
"bootmagic": true, | ||
"encoder": true, | ||
"extrakey": true, | ||
"mousekey": true, | ||
"nkro": true, | ||
"rgb_matrix": true | ||
}, | ||
"matrix_pins": { | ||
"cols": ["F0", "F1", "F4", "F5"], | ||
"rows": ["D4", "D6", "D7"] | ||
}, | ||
"processor": "atmega32u4", | ||
"rgb_matrix": { | ||
"driver": "ws2812", | ||
"layout": [ | ||
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, | ||
{"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, | ||
{"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, | ||
{"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, | ||
{"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, | ||
{"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, | ||
{"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, | ||
{"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, | ||
{"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, | ||
{"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, | ||
{"matrix": [2, 3], "x": 48, "y": 32, "flags": 4} | ||
], | ||
"max_brightness": 100, | ||
"sleep": true, | ||
"timeout": 300000 | ||
}, | ||
"url": "https://github.com/drabaioli/SdraKb00", | ||
"usb": { | ||
"device_version": "1.0.0", | ||
"pid": "0x4200", | ||
"vid": "0x7331" | ||
}, | ||
"ws2812": { | ||
"pin": "B0" | ||
}, | ||
"layouts": { | ||
"LAYOUT_ortho_3x4": { | ||
"layout": [ | ||
{"matrix": [0, 0], "x": 0, "y": 0}, | ||
{"matrix": [0, 1], "x": 1, "y": 0}, | ||
{"matrix": [0, 2], "x": 2, "y": 0}, | ||
{"matrix": [0, 3], "x": 3, "y": 0, "encoder": 0}, | ||
{"matrix": [1, 0], "x": 0, "y": 1}, | ||
{"matrix": [1, 1], "x": 1, "y": 1}, | ||
{"matrix": [1, 2], "x": 2, "y": 1}, | ||
{"matrix": [1, 3], "x": 3, "y": 1}, | ||
{"matrix": [2, 0], "x": 0, "y": 2}, | ||
{"matrix": [2, 1], "x": 1, "y": 2}, | ||
{"matrix": [2, 2], "x": 2, "y": 2}, | ||
{"matrix": [2, 3], "x": 3, "y": 2} | ||
] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
// Copyright 2023 QMK | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#include QMK_KEYBOARD_H | ||
|
||
/* Keymap for 3x4 Macropad | ||
* | ||
* Layer 0 (Base Layer) - Numpad layout with mute button and layer toggle: | ||
* ,----------------------, | ||
* | 7 | 8 | 9 | MUTE | | ||
* |-------+-------+-------+--------| | ||
* | 4 | 5 | 6 | Layer1 | | ||
* |-------+-------+-------+--------| | ||
* | 1 | 2 | 3 | 0 | | ||
* `-----------------------^--------' | ||
* | ||
* Layer 1 (Function Layer) - Accessed by holding MO(1): | ||
* ,----------------------, | ||
* | BKSP | / | - | ---- | | ||
* |-------+-------+-------+--------| | ||
* | = | * | + | ---- | | ||
* |-------+-------+-------+--------| | ||
* | ENTER | ---- | ---- | . | | ||
* `-----------------------^--------' | ||
* | ||
* The base layer (0) provides standard numpad functionality with: | ||
* - Numbers 0-9 in traditional numpad layout | ||
* - Mute button in top right | ||
* - Layer 1 momentary toggle (MO1) in middle right | ||
* | ||
* The function layer (1) adds: | ||
* - Basic mathematical operators (+, -, *, /) | ||
* - Backspace, Enter, and decimal point | ||
* - Equal sign for calculations | ||
* - Empty slots marked as ---- (KC_NO) | ||
*/ | ||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
|
||
[0] = LAYOUT_ortho_3x4( | ||
KC_KP_7, KC_KP_8, KC_KP_9, KC_MUTE, | ||
KC_KP_4, KC_KP_5, KC_KP_6, MO(1), | ||
KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_0 | ||
), | ||
|
||
[1] = LAYOUT_ortho_3x4( | ||
KC_BACKSPACE, KC_KP_SLASH, KC_KP_MINUS, _______, | ||
KC_EQUAL, KC_KP_ASTERISK, KC_KP_PLUS, _______, | ||
KC_ENTER, _______, _______, KC_KP_DOT | ||
) | ||
}; | ||
|
||
|
||
/* | ||
* Handle layer state changes by updating RGB matrix colors | ||
* | ||
* Sets RGB matrix colors based on active layer: | ||
* - Layer 0: Light green (#88FB7A) | ||
* - Layer 1: Red | ||
* - Other layers: Red (fallback) | ||
*/ | ||
layer_state_t layer_state_set_user(layer_state_t state) { | ||
switch (get_highest_layer(state)) { | ||
case 0: | ||
rgb_matrix_sethsv(85, 255, 251); // #88FB7A for layer 0 | ||
break; | ||
case 1: | ||
rgb_matrix_sethsv(0, 255, 255); // Red for layer 1 | ||
break; | ||
default: | ||
rgb_matrix_sethsv(0, 255, 255); // Red for any other layer | ||
break; | ||
} | ||
return state; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# sdrakb00 | ||
|
||
![sdrakb00](https://i.imgur.com/0HfpFqW.jpeg) | ||
|
||
11 keys hot-swap macropad with rotary encoder. | ||
|
||
Macropad features: | ||
- 11 hot-swap keys | ||
- Rotary encoder with push button | ||
- AtMega32U4 MCU | ||
- Per-key RGB led for backlighting | ||
- USB-C connector | ||
- On PCB SPI header | ||
- MCU reset button | ||
- Switch mounting plate | ||
- Power LED indicator | ||
|
||
* Keyboard Maintainer: [Diego Andres Rabaioli](https://github.com/drabaioli) | ||
* Hardware Supported: Pro Micro Atmega32u4 based macropad with 11 keys, RGB LED chain and rotary encoder | ||
* Hardware Availability: [Get the gerbers and have fun building it your self ;)](https://github.com/drabaioli/SdraKb00) | ||
|
||
Build SdraKb00 firmware: | ||
|
||
make sdrakbs/sdrakb00:default | ||
|
||
Flashing SdraKb00 firmware, execute: | ||
|
||
make sdrakbs/sdrakb00:default:flash | ||
|
||
Then press the reset button on the back side of the PCB. | ||
|
||
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 3 ways: | ||
|
||
* **Physical reset button** (preferred): Briefly press the button on the back of the PCB | ||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard | ||
|
||
## Default Keymap | ||
|
||
### Base Layer (0) | ||
- NumPad layout (1-9, 0) | ||
- Encoder: Volume Up/Down | ||
- Encoder Push: Mute | ||
- Layer Switch: Hold (1,3) key for function layer | ||
|
||
### Function Layer (1) | ||
- NumPad operators (+, -, *, /) | ||
- Enter, "=" and backspace keys | ||
- Decimal point |