782f91a73a0f6d4128f9454509b4a207af269f8b

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

Message

[Keyboard] Add SIRIND Tomak79S (#24684)

* Add Tomak79S

Add Tomak79S

* Update keyboards/era/sirind/tomak79s/keymaps/default/keymap.c

Co-authored-by: jack <0x6a73@protonmail.com>

---------

Co-authored-by: jack <jack@pngu.org>

Diff

This diff is truncated to protect this page.

  1diff --git a/keyboards/era/sirind/tomak79s/config.h b/keyboards/era/sirind/tomak79s/config.h
  2new file mode 100644
  3index 0000000000000000000000000000000000000000..f04429bcd895123f160f659fe4c37a47d21259b3
  4--- /dev/null
  5+++ b/keyboards/era/sirind/tomak79s/config.h
  6@@ -0,0 +1,15 @@
  7+// Copyright 2024 Hyojin Bak (@eerraa)
  8+// SPDX-License-Identifier: GPL-2.0-or-later
  9+ 
 10+#pragma once
 11+
 12+/* Split configuration */
 13+#define USB_VBUS_PIN GP19
 14+#define SERIAL_USART_FULL_DUPLEX
 15+#define SERIAL_USART_TX_PIN GP0
 16+#define SERIAL_USART_RX_PIN GP1
 17+#define SERIAL_USART_PIN_SWAP
 18+
 19+/* Reset */
 20+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
 21+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
 22diff --git a/keyboards/era/sirind/tomak79s/keyboard.json b/keyboards/era/sirind/tomak79s/keyboard.json
 23new file mode 100644
 24index 0000000000000000000000000000000000000000..9011a359ad54a04a55ff392d5d3236324dd48ca9
 25--- /dev/null
 26+++ b/keyboards/era/sirind/tomak79s/keyboard.json
 27@@ -0,0 +1,675 @@
 28+{
 29+    "manufacturer": "SIRIND",
 30+    "keyboard_name": "Tomak79S",
 31+    "maintainer": "eerraa",
 32+    "bootloader": "rp2040",
 33+    "build": {
 34+        "debounce_type": "sym_defer_pk"
 35+    },
 36+    "diode_direction": "COL2ROW",
 37+    "features": {
 38+        "bootmagic": true,
 39+        "extrakey": true,
 40+        "mousekey": true,
 41+        "nkro": true,
 42+        "rgb_matrix": true
 43+    },
 44+    "matrix_pins": {
 45+        "cols": ["GP29", "GP22", "GP5", "GP6", "GP7", "GP4", "GP3", "GP2", null],
 46+        "rows": ["GP28", "GP23", "GP24", "GP25", "GP26", "GP27"]
 47+    },
 48+    "processor": "RP2040",
 49+    "rgb_matrix": {
 50+        "animations": {
 51+            "alphas_mods": true,
 52+            "band_pinwheel_sat": true,
 53+            "band_pinwheel_val": true,
 54+            "band_sat": true,
 55+            "band_spiral_sat": true,
 56+            "band_spiral_val": true,
 57+            "band_val": true,
 58+            "breathing": true,
 59+            "cycle_all": true,
 60+            "cycle_left_right": true,
 61+            "cycle_out_in": true,
 62+            "cycle_out_in_dual": true,
 63+            "cycle_pinwheel": true,
 64+            "cycle_spiral": true,
 65+            "cycle_up_down": true,
 66+            "digital_rain": true,
 67+            "dual_beacon": true,
 68+            "flower_blooming": true,
 69+            "gradient_left_right": true,
 70+            "gradient_up_down": true,
 71+            "hue_breathing": true,
 72+            "hue_pendulum": true,
 73+            "hue_wave": true,
 74+            "jellybean_raindrops": true,
 75+            "multisplash": true,
 76+            "pixel_flow": true,
 77+            "pixel_fractal": true,
 78+            "pixel_rain": true,
 79+            "rainbow_beacon": true,
 80+            "rainbow_moving_chevron": true,
 81+            "rainbow_pinwheels": true,
 82+            "raindrops": true,
 83+            "riverflow": true,
 84+            "solid_multisplash": true,
 85+            "solid_reactive": true,
 86+            "solid_reactive_cross": true,
 87+            "solid_reactive_multicross": true,
 88+            "solid_reactive_multinexus": true,
 89+            "solid_reactive_multiwide": true,
 90+            "solid_reactive_nexus": true,
 91+            "solid_reactive_simple": true,
 92+            "solid_reactive_wide": true,
 93+            "solid_splash": true,
 94+            "splash": true,
 95+            "starlight": true,
 96+            "starlight_dual_hue": true,
 97+            "starlight_dual_sat": true,
 98+            "typing_heatmap": true
 99+        },
100+        "driver": "ws2812",
101+        "layout": [
102+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
103+            {"matrix": [0, 2], "x": 20, "y": 0, "flags": 4},
104+            {"matrix": [0, 3], "x": 33, "y": 0, "flags": 4},
105+            {"matrix": [0, 4], "x": 47, "y": 0, "flags": 4},
106+            {"matrix": [0, 5], "x": 60, "y": 0, "flags": 4},
107+            {"matrix": [0, 6], "x": 80, "y": 0, "flags": 4},
108+            {"matrix": [0, 7], "x": 93, "y": 0, "flags": 4},
109+            {"matrix": [1, 7], "x": 95, "y": 15, "flags": 4},
110+            {"matrix": [1, 6], "x": 81, "y": 15, "flags": 4},
111+            {"matrix": [1, 5], "x": 68, "y": 15, "flags": 4},
112+            {"matrix": [1, 4], "x": 54, "y": 15, "flags": 4},
113+            {"matrix": [1, 3], "x": 41, "y": 15, "flags": 4},
114+            {"matrix": [1, 2], "x": 27, "y": 15, "flags": 4},
115+            {"matrix": [1, 1], "x": 14, "y": 15, "flags": 4},
116+            {"matrix": [1, 0], "x": 0, "y": 15, "flags": 4},
117+            {"matrix": [2, 0], "x": 3, "y": 26, "flags": 1},
118+            {"matrix": [2, 1], "x": 20, "y": 26, "flags": 4},
119+            {"matrix": [2, 2], "x": 34, "y": 26, "flags": 4},
120+            {"matrix": [2, 3], "x": 47, "y": 26, "flags": 4},
121+            {"matrix": [2, 4], "x": 61, "y": 26, "flags": 4},
122+            {"matrix": [2, 5], "x": 75, "y": 26, "flags": 4},
123+            {"matrix": [2, 6], "x": 88, "y": 26, "flags": 4},
124+            {"matrix": [3, 6], "x": 92, "y": 38, "flags": 4},
125+            {"matrix": [3, 5], "x": 78, "y": 38, "flags": 4},
126+            {"matrix": [3, 4], "x": 64, "y": 38, "flags": 4},
127diff --git a/keyboards/era/sirind/tomak79s/keymaps/default/keymap.c b/keyboards/era/sirind/tomak79s/keymaps/default/keymap.c
128new file mode 100644
129index 0000000000000000000000000000000000000000..9ac7334d489070caf6a69c257e5d609773e9d04c
130--- /dev/null
131+++ b/keyboards/era/sirind/tomak79s/keymaps/default/keymap.c
132@@ -0,0 +1,24 @@
133+// Copyright 2024 Hyojin Bak (@eerraa)
134+// SPDX-License-Identifier: GPL-2.0-or-later
135+
136+#include QMK_KEYBOARD_H
137+
138+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
139+
140+    [0] = LAYOUT_all(
141+        KC_ESC,             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_F13,   KC_PSCR,
142+        KC_GRV,   KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_6,     KC_7,     KC_7,     KC_8,     KC_9,     KC_0,     KC_MINS,  KC_EQL,   KC_BSPC,  KC_BSPC,  KC_INS,
143+        KC_TAB,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,     KC_Y,               KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,     KC_LBRC,  KC_RBRC,  KC_BSLS,  KC_DEL,
144+        KC_CAPS,  KC_A,     KC_S,     KC_D,     KC_F,     KC_G,     KC_H,               KC_H,     KC_J,     KC_K,     KC_L,     KC_SCLN,  KC_QUOT,  KC_NUHS,  KC_ENT,
145+        KC_LSFT,  KC_NUBS,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,               KC_B,     KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,  KC_RSFT,  KC_UP,
146+        KC_LCTL,  KC_LGUI,  KC_LALT,                      KC_SPC,   MO(1),                                  KC_SPC,             KC_RALT,  MO(1),    KC_LEFT,  KC_DOWN,  KC_RGHT
147+    ),
148+    [1] = LAYOUT_all(
149+        QK_BOOT,            KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  QK_BOOT,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,            KC_TRNS,  KC_TRNS,
150+        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,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,
151+        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,  KC_TRNS,  KC_TRNS,  KC_TRNS,
152+        KC_TRNS,  RM_TOGG,  RM_VALU,  RM_HUEU,  RM_SATU,  RM_SPDU,  KC_TRNS,            KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,
153+        KC_TRNS,  KC_TRNS,  RM_NEXT,  RM_VALD,  RM_HUED,  RM_SATD,  RM_SPDD,            KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,
154+        KC_TRNS,  KC_TRNS,  KC_TRNS,                      KC_TRNS,  KC_TRNS,                                KC_TRNS,            KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS
155+    )
156+};
157diff --git a/keyboards/era/sirind/tomak79s/readme.md b/keyboards/era/sirind/tomak79s/readme.md
158new file mode 100644
159index 0000000000000000000000000000000000000000..5fc275bc65d74ae9992b34943eba1d1441ff7b51
160--- /dev/null
161+++ b/keyboards/era/sirind/tomak79s/readme.md
162@@ -0,0 +1,27 @@
163+# Tomak79S, Solder ver
164+
165+![Tomak79S](https://i.imgur.com/Pq2itWD.jpeg)
166+
167+Ergonomics Split Keyboard powered by RP2040.
168+
169+* Keyboard Maintainer: [ERA](https://github.com/eerraa)
170+* Hardware supported: SIRIND Tomak79
171+* Hardware availability: [Syryan](https://srind.mysoho.com/)
172+
173+Make example for this keyboard (after setting up your build environment):
174+
175+    make era/sirind/tomak79s:default
176+
177+Flashing example for this keyboard:
178+
179+    make era/sirind/tomak79s:default:flash
180+
181diff --git a/keyboards/era/sirind/tomak79s/tomak79s.c b/keyboards/era/sirind/tomak79s/tomak79s.c
182new file mode 100644
183index 0000000000000000000000000000000000000000..f5f3165b640bd74367d40c98ab6d87ece7fdd84a
184--- /dev/null
185+++ b/keyboards/era/sirind/tomak79s/tomak79s.c
186@@ -0,0 +1,16 @@
187+// Copyright 2023 Hyojin Bak (@eerraa)
188+// SPDX-License-Identifier: GPL-2.0-or-later
189+
190+#include "quantum.h"
191+
192+bool rgb_matrix_indicators_kb(void) {
193+    if (!rgb_matrix_indicators_user()) {
194+         return false;
195+    }
196+    if (host_keyboard_led_state().caps_lock) {
197+        for (uint8_t i = 93; i <= 101; i++) {
198+            rgb_matrix_set_color(i, 0, 128, 128);
199+        }
200+    }
201+    return true;
202+}