18f0d11737d0a327255cca52a07ed81116b70920

Author
era <73109780+eerraa@users.noreply.github.com>
Committer
GitHub <noreply@github.com>
Date

Message

[Keyboard] Add SIRIND Brick65S (#24315)

Co-authored-by: Joel Challis <git@zvecr.com>

Diff

This diff is truncated to protect this page.

  1diff --git a/keyboards/era/sirind/brick65s/brick65s.c b/keyboards/era/sirind/brick65s/brick65s.c
  2new file mode 100644
  3index 0000000000000000000000000000000000000000..ae76a3968cace2b62a91abe6d10a8f5991ecb013
  4--- /dev/null
  5+++ b/keyboards/era/sirind/brick65s/brick65s.c
  6@@ -0,0 +1,24 @@
  7+// Copyright 2024 Hyojin Bak (@eerraa)
  8+// SPDX-License-Identifier: GPL-2.0-or-later
  9+
 10+#include "quantum.h"
 11+
 12+bool rgb_matrix_indicators_kb(void) {
 13+    if (!rgb_matrix_indicators_user()) {
 14+         return false;
 15+    }
 16+    
 17+    if (host_keyboard_led_state().caps_lock) {
 18+        rgb_matrix_set_color(0, 200, 0, 0);
 19+    } else {
 20+        rgb_matrix_set_color(0, 0, 0, 0);
 21+    }
 22+    
 23+    if (host_keyboard_led_state().scroll_lock) {
 24+        rgb_matrix_set_color(1, 200, 0, 0);
 25+    } else {
 26+        rgb_matrix_set_color(1, 0, 0, 0);
 27+    }
 28+    
 29+    return true;
 30+}
 31diff --git a/keyboards/era/sirind/brick65s/config.h b/keyboards/era/sirind/brick65s/config.h
 32new file mode 100644
 33index 0000000000000000000000000000000000000000..6bcd58129050e961956c3fc3960c5bbe9f406e69
 34--- /dev/null
 35+++ b/keyboards/era/sirind/brick65s/config.h
 36@@ -0,0 +1,8 @@
 37+// Copyright 2024 Hyojin Bak (@eerraa)
 38+// SPDX-License-Identifier: GPL-2.0-or-later
 39+
 40+#pragma once
 41+
 42+/* Reset */
 43+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
 44+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
 45diff --git a/keyboards/era/sirind/brick65s/keyboard.json b/keyboards/era/sirind/brick65s/keyboard.json
 46new file mode 100644
 47index 0000000000000000000000000000000000000000..5d6768a93ccb16a50505ad2006935a2566e384f2
 48--- /dev/null
 49+++ b/keyboards/era/sirind/brick65s/keyboard.json
 50@@ -0,0 +1,251 @@
 51+{
 52+    "manufacturer": "SIRIND",
 53+    "keyboard_name": "Brick65S",
 54+    "maintainer": "eerraa",
 55+    "bootloader": "rp2040",
 56+    "build": {
 57+        "debounce_type": "sym_defer_pk"
 58+    },
 59+    "diode_direction": "COL2ROW",
 60+    "features": {
 61+        "bootmagic": true,
 62+        "extrakey": true,
 63+        "mousekey": true,
 64+        "nkro": true,
 65+        "rgb_matrix": true
 66+    },
 67+    "matrix_pins": {
 68+        "cols": ["GP28", "GP11", "GP10", "GP9", "GP8", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP14", "GP0", "GP13", "GP12"],
 69+        "rows": ["GP27", "GP29", "GP23", "GP24", "GP25"]
 70+    },
 71+    "processor": "RP2040",
 72+    "rgb_matrix": {
 73+        "driver": "ws2812",
 74+        "layout": [
 75+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 8},
 76+            {"matrix": [0, 1], "x": 20, "y": 0, "flags": 8}
 77+        ],
 78+        "sleep": true
 79+    },
 80+    "url": "",
 81+    "usb": {
 82+        "device_version": "1.0.0",
 83+        "pid": "0x0012",
 84+        "vid": "0x4552"
 85+    },
 86+    "ws2812": {
 87+        "driver": "vendor",
 88+        "pin": "GP26"
 89+    },
 90+    "layouts": {
 91+        "LAYOUT_all": {
 92+            "layout": [
 93+                {"matrix": [0, 0], "x": 0, "y": 0},
 94+                {"matrix": [0, 1], "x": 1, "y": 0},
 95+                {"matrix": [0, 2], "x": 2, "y": 0},
 96+                {"matrix": [0, 3], "x": 3, "y": 0},
 97+                {"matrix": [0, 4], "x": 4, "y": 0},
 98+                {"matrix": [0, 5], "x": 5, "y": 0},
 99+                {"matrix": [0, 6], "x": 6, "y": 0},
100+                {"matrix": [0, 7], "x": 7, "y": 0},
101+                {"matrix": [0, 8], "x": 8, "y": 0},
102+                {"matrix": [0, 9], "x": 9, "y": 0},
103+                {"matrix": [0, 10], "x": 10, "y": 0},
104+                {"matrix": [0, 11], "x": 11, "y": 0},
105+                {"matrix": [0, 12], "x": 12, "y": 0},
106+                {"matrix": [0, 13], "x": 13, "y": 0},
107+                {"matrix": [0, 14], "x": 14, "y": 0},
108+                {"matrix": [0, 15], "x": 15.25, "y": 0},
109+                {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
110+                {"matrix": [1, 1], "x": 1.5, "y": 1},
111+                {"matrix": [1, 2], "x": 2.5, "y": 1},
112+                {"matrix": [1, 3], "x": 3.5, "y": 1},
113+                {"matrix": [1, 4], "x": 4.5, "y": 1},
114+                {"matrix": [1, 5], "x": 5.5, "y": 1},
115+                {"matrix": [1, 6], "x": 6.5, "y": 1},
116+                {"matrix": [1, 7], "x": 7.5, "y": 1},
117+                {"matrix": [1, 8], "x": 8.5, "y": 1},
118+                {"matrix": [1, 9], "x": 9.5, "y": 1},
119+                {"matrix": [1, 10], "x": 10.5, "y": 1},
120+                {"matrix": [1, 11], "x": 11.5, "y": 1},
121+                {"matrix": [1, 12], "x": 12.5, "y": 1},
122+                {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
123+                {"matrix": [1, 15], "x": 15.25, "y": 1},
124+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
125+                {"matrix": [2, 1], "x": 1.75, "y": 2},
126+                {"matrix": [2, 2], "x": 2.75, "y": 2},
127+                {"matrix": [2, 3], "x": 3.75, "y": 2},
128+                {"matrix": [2, 4], "x": 4.75, "y": 2},
129+                {"matrix": [2, 5], "x": 5.75, "y": 2},
130+                {"matrix": [2, 6], "x": 6.75, "y": 2},
131+                {"matrix": [2, 7], "x": 7.75, "y": 2},
132+                {"matrix": [2, 8], "x": 8.75, "y": 2},
133+                {"matrix": [2, 9], "x": 9.75, "y": 2},
134+                {"matrix": [2, 10], "x": 10.75, "y": 2},
135+                {"matrix": [2, 11], "x": 11.75, "y": 2},
136+                {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
137+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
138+                {"matrix": [3, 2], "x": 2.25, "y": 3},
139+                {"matrix": [3, 3], "x": 3.25, "y": 3},
140+                {"matrix": [3, 4], "x": 4.25, "y": 3},
141+                {"matrix": [3, 5], "x": 5.25, "y": 3},
142+                {"matrix": [3, 6], "x": 6.25, "y": 3},
143+                {"matrix": [3, 7], "x": 7.25, "y": 3},
144+                {"matrix": [3, 8], "x": 8.25, "y": 3},
145+                {"matrix": [3, 9], "x": 9.25, "y": 3},
146+                {"matrix": [3, 10], "x": 10.25, "y": 3},
147+                {"matrix": [3, 11], "x": 11.25, "y": 3},
148+                {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
149+                {"matrix": [3, 14], "x": 14.25, "y": 3.25},
150diff --git a/keyboards/era/sirind/brick65s/keymaps/default/keymap.c b/keyboards/era/sirind/brick65s/keymaps/default/keymap.c
151new file mode 100644
152index 0000000000000000000000000000000000000000..3798c980dbc75b0ba5558f8a9ced88d0d85a67ca
153--- /dev/null
154+++ b/keyboards/era/sirind/brick65s/keymaps/default/keymap.c
155@@ -0,0 +1,21 @@
156+// Copyright 2023 Hyojin Bak (@eerraa)
157+// SPDX-License-Identifier: GPL-2.0-or-later
158+
159+#include QMK_KEYBOARD_H
160+
161+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
162+    [0] = LAYOUT_all(
163+        KC_ESC,     KC_1,     KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS,  KC_EQL,   KC_BSLS,   KC_BSPC,   KC_INS,
164+        KC_TAB,     KC_Q,     KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC,  KC_RBRC,             KC_BSLS,   KC_DEL,
165+        KC_CAPS,    KC_A,     KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,            KC_ENT,
166+        KC_LSFT,              KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,  KC_RSFT,             KC_UP, 
167+        KC_LCTL,    KC_LWIN,  KC_LALT,                            KC_SPC,                             KC_RALT, MO(1),              KC_LEFT,   KC_DOWN,   KC_RGHT
168+    ),
169+    [1] = LAYOUT_all(
170+        KC_TILD,    KC_F1,    KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,   KC_F12,   KC_TRNS,   KC_TRNS,   KC_PGUP,
171+        KC_TRNS,    KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL,  KC_PAUS,             KC_TRNS,   KC_PGDN,
172+        KC_TRNS,    KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,            KC_TRNS,         
173+        KC_TRNS,              KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLU, KC_VOLD, KC_TRNS,  KC_TRNS,             KC_TRNS, 
174+        KC_TRNS,    KC_TRNS,  KC_TRNS,                            KC_TRNS,                            KC_TRNS, KC_TRNS,            KC_TRNS,   KC_TRNS,   KC_TRNS
175+    )
176+};
177diff --git a/keyboards/era/sirind/brick65s/readme.md b/keyboards/era/sirind/brick65s/readme.md
178new file mode 100644
179index 0000000000000000000000000000000000000000..e173ba4e7378df3e7f27fb3cf797750a437b21fa
180--- /dev/null
181+++ b/keyboards/era/sirind/brick65s/readme.md
182@@ -0,0 +1,23 @@
183+# Brick65S, Solder ver
184+
185+* Keyboard Maintainer: [ERA](https://github.com/eerraa)
186+* Hardware supported: SIRIND Brick65
187+* Hardware availability: [Syryan](https://srind.mysoho.com/)
188+
189+Make example for this keyboard (after setting up your build environment):
190+
191+    make era/sirind/brick65s:default
192+
193+Flashing example for this keyboard:
194+
195+    make era/sirind/brick65s:default:flash
196+