summaryrefslogtreecommitdiffstats
path: root/keyboards/crkbd/r2g
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/crkbd/r2g')
-rw-r--r--keyboards/crkbd/r2g/config.h5
-rw-r--r--keyboards/crkbd/r2g/info.json171
-rw-r--r--keyboards/crkbd/r2g/r2g.c116
-rw-r--r--keyboards/crkbd/r2g/r2g.h60
-rw-r--r--keyboards/crkbd/r2g/rules.mk6
5 files changed, 173 insertions, 185 deletions
diff --git a/keyboards/crkbd/r2g/config.h b/keyboards/crkbd/r2g/config.h
index 2219e0d228..e44626739d 100644
--- a/keyboards/crkbd/r2g/config.h
+++ b/keyboards/crkbd/r2g/config.h
@@ -19,9 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* ws2812 RGB LED */
-#define RGB_DI_PIN D3
-
#ifdef RGBLIGHT_ENABLE
# define RGBLIGHT_EFFECT_BREATHING
@@ -69,7 +66,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
#endif
-#define DIODE_DIRECTION COL2ROW
-
#define SPLIT_USB_DETECT
diff --git a/keyboards/crkbd/r2g/info.json b/keyboards/crkbd/r2g/info.json
index 8c878dfcc8..cfd29368e6 100644
--- a/keyboards/crkbd/r2g/info.json
+++ b/keyboards/crkbd/r2g/info.json
@@ -1,6 +1,175 @@
{
+ "features": {
+ "rgb_matrix": true
+ },
"split": {
"soft_serial_pin": "D2"
},
- "bootloader": "atmel-dfu"
+ "ws2812": {
+ "pin": "D3"
+ },
+ "bootloader": "atmel-dfu",
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_split_3x6_3"
+ },
+ "layouts": {
+ "LAYOUT_split_3x5_3": {
+ "layout": [
+ {"matrix": [0, 1], "x": 0, "y": 0.3},
+ {"matrix": [0, 2], "x": 1, "y": 0.1},
+ {"matrix": [0, 3], "x": 2, "y": 0},
+ {"matrix": [0, 4], "x": 3, "y": 0.1},
+ {"matrix": [0, 5], "x": 4, "y": 0.2},
+
+ {"matrix": [4, 5], "x": 8, "y": 0.2},
+ {"matrix": [4, 4], "x": 9, "y": 0.1},
+ {"matrix": [4, 3], "x": 10, "y": 0},
+ {"matrix": [4, 2], "x": 11, "y": 0.1},
+ {"matrix": [4, 1], "x": 12, "y": 0.3},
+
+ {"matrix": [1, 1], "x": 0, "y": 1.3},
+ {"matrix": [1, 2], "x": 1, "y": 1.1},
+ {"matrix": [1, 3], "x": 2, "y": 1},
+ {"matrix": [1, 4], "x": 3, "y": 1.1},
+ {"matrix": [1, 5], "x": 4, "y": 1.2},
+
+ {"matrix": [5, 5], "x": 8, "y": 1.2},
+ {"matrix": [5, 4], "x": 9, "y": 1.1},
+ {"matrix": [5, 3], "x": 10, "y": 1},
+ {"matrix": [5, 2], "x": 11, "y": 1.1},
+ {"matrix": [5, 1], "x": 12, "y": 1.3},
+
+ {"matrix": [2, 1], "x": 0, "y": 2.3},
+ {"matrix": [2, 2], "x": 1, "y": 2.1},
+ {"matrix": [2, 3], "x": 2, "y": 2},
+ {"matrix": [2, 4], "x": 3, "y": 2.1},
+ {"matrix": [2, 5], "x": 4, "y": 2.2},
+
+ {"matrix": [6, 5], "x": 8, "y": 2.2},
+ {"matrix": [6, 4], "x": 9, "y": 2.1},
+ {"matrix": [6, 3], "x": 10, "y": 2},
+ {"matrix": [6, 2], "x": 11, "y": 2.1},
+ {"matrix": [6, 1], "x": 12, "y": 2.3},
+
+ {"matrix": [3, 3], "x": 3, "y": 3.7},
+ {"matrix": [3, 4], "x": 4, "y": 3.7},
+ {"matrix": [3, 5], "x": 5, "y": 3.2, "h": 1.5},
+
+ {"matrix": [7, 5], "x": 7, "y": 3.2, "h": 1.5},
+ {"matrix": [7, 4], "x": 8, "y": 3.7},
+ {"matrix": [7, 3], "x": 9, "y": 3.7}
+ ]
+ },
+ "LAYOUT_split_3x6_3": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0.3},
+ {"matrix": [0, 1], "x": 1, "y": 0.3},
+ {"matrix": [0, 2], "x": 2, "y": 0.1},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0.1},
+ {"matrix": [0, 5], "x": 5, "y": 0.2},
+
+ {"matrix": [4, 5], "x": 9, "y": 0.2},
+ {"matrix": [4, 4], "x": 10, "y": 0.1},
+ {"matrix": [4, 3], "x": 11, "y": 0},
+ {"matrix": [4, 2], "x": 12, "y": 0.1},
+ {"matrix": [4, 1], "x": 13, "y": 0.3},
+ {"matrix": [4, 0], "x": 14, "y": 0.3},
+
+ {"matrix": [1, 0], "x": 0, "y": 1.3},
+ {"matrix": [1, 1], "x": 1, "y": 1.3},
+ {"matrix": [1, 2], "x": 2, "y": 1.1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1.1},
+ {"matrix": [1, 5], "x": 5, "y": 1.2},
+
+ {"matrix": [5, 5], "x": 9, "y": 1.2},
+ {"matrix": [5, 4], "x": 10, "y": 1.1},
+ {"matrix": [5, 3], "x": 11, "y": 1},
+ {"matrix": [5, 2], "x": 12, "y": 1.1},
+ {"matrix": [5, 1], "x": 13, "y": 1.3},
+ {"matrix": [5, 0], "x": 14, "y": 1.3},
+
+ {"matrix": [2, 0], "x": 0, "y": 2.3},
+ {"matrix": [2, 1], "x": 1, "y": 2.3},
+ {"matrix": [2, 2], "x": 2, "y": 2.1},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+ {"matrix": [2, 4], "x": 4, "y": 2.1},
+ {"matrix": [2, 5], "x": 5, "y": 2.2},
+
+ {"matrix": [6, 5], "x": 9, "y": 2.2},
+ {"matrix": [6, 4], "x": 10, "y": 2.1},
+ {"matrix": [6, 3], "x": 11, "y": 2},
+ {"matrix": [6, 2], "x": 12, "y": 2.1},
+ {"matrix": [6, 1], "x": 13, "y": 2.3},
+ {"matrix": [6, 0], "x": 14, "y": 2.3},
+
+ {"matrix": [3, 3], "x": 4, "y": 3.7},
+ {"matrix": [3, 4], "x": 5, "y": 3.7},
+ {"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5},
+
+ {"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5},
+ {"matrix": [7, 4], "x": 9, "y": 3.7},
+ {"matrix": [7, 3], "x": 10, "y": 3.7}
+ ]
+ }
+ },
+ "rgb_matrix": {
+ "layout": [
+ {"x": 85, "y": 16, "flags": 2},
+ {"x": 50, "y": 13, "flags": 2},
+ {"x": 16, "y": 20, "flags": 2},
+ {"x": 16, "y": 38, "flags": 2},
+ {"x": 50, "y": 48, "flags": 2},
+ {"x": 85, "y": 52, "flags": 2},
+ {"matrix": [3, 5], "x": 95, "y": 63, "flags": 1},
+ {"matrix": [2, 5], "x": 85, "y": 39, "flags": 4},
+ {"matrix": [1, 5], "x": 85, "y": 21, "flags": 4},
+ {"matrix": [0, 5], "x": 85, "y": 4, "flags": 4},
+ {"matrix": [0, 4], "x": 68, "y": 2, "flags": 4},
+ {"matrix": [1, 4], "x": 68, "y": 19, "flags": 4},
+ {"matrix": [2, 4], "x": 68, "y": 37, "flags": 4},
+ {"matrix": [3, 4], "x": 80, "y": 58, "flags": 1},
+ {"matrix": [3, 3], "x": 60, "y": 55, "flags": 1},
+ {"matrix": [2, 3], "x": 50, "y": 35, "flags": 4},
+ {"matrix": [1, 3], "x": 50, "y": 13, "flags": 4},
+ {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 33, "y": 3, "flags": 4},
+ {"matrix": [1, 2], "x": 33, "y": 20, "flags": 4},
+ {"matrix": [2, 2], "x": 33, "y": 37, "flags": 4},
+ {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4},
+ {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4},
+ {"matrix": [0, 1], "x": 16, "y": 7, "flags": 4},
+ {"matrix": [0, 0], "x": 0, "y": 7, "flags": 1},
+ {"matrix": [1, 0], "x": 0, "y": 24, "flags": 1},
+ {"matrix": [2, 0], "x": 0, "y": 41, "flags": 1},
+ {"x": 139, "y": 16, "flags": 2},
+ {"x": 174, "y": 13, "flags": 2},
+ {"x": 208, "y": 20, "flags": 2},
+ {"x": 208, "y": 38, "flags": 2},
+ {"x": 174, "y": 48, "flags": 2},
+ {"x": 139, "y": 52, "flags": 2},
+ {"matrix": [7, 5], "x": 129, "y": 63, "flags": 1},
+ {"matrix": [6, 5], "x": 139, "y": 39, "flags": 4},
+ {"matrix": [5, 5], "x": 139, "y": 21, "flags": 4},
+ {"matrix": [4, 5], "x": 139, "y": 4, "flags": 4},
+ {"matrix": [4, 4], "x": 156, "y": 2, "flags": 4},
+ {"matrix": [5, 4], "x": 156, "y": 19, "flags": 4},
+ {"matrix": [6, 4], "x": 156, "y": 37, "flags": 4},
+ {"matrix": [7, 4], "x": 144, "y": 58, "flags": 1},
+ {"matrix": [7, 3], "x": 164, "y": 55, "flags": 1},
+ {"matrix": [6, 3], "x": 174, "y": 35, "flags": 4},
+ {"matrix": [5, 3], "x": 174, "y": 13, "flags": 4},
+ {"matrix": [4, 3], "x": 174, "y": 0, "flags": 4},
+ {"matrix": [4, 2], "x": 191, "y": 3, "flags": 4},
+ {"matrix": [5, 2], "x": 191, "y": 20, "flags": 4},
+ {"matrix": [6, 2], "x": 191, "y": 37, "flags": 4},
+ {"matrix": [6, 1], "x": 208, "y": 42, "flags": 4},
+ {"matrix": [5, 1], "x": 208, "y": 24, "flags": 4},
+ {"matrix": [4, 1], "x": 208, "y": 7, "flags": 4},
+ {"matrix": [4, 0], "x": 224, "y": 7, "flags": 1},
+ {"matrix": [5, 0], "x": 224, "y": 24, "flags": 1},
+ {"matrix": [6, 0], "x": 224, "y": 41, "flags": 1}
+ ]
+ }
}
diff --git a/keyboards/crkbd/r2g/r2g.c b/keyboards/crkbd/r2g/r2g.c
index 7fb95c043c..ef7b84b4a9 100644
--- a/keyboards/crkbd/r2g/r2g.c
+++ b/keyboards/crkbd/r2g/r2g.c
@@ -16,7 +16,7 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "r2g.h"
+#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
@@ -88,98 +88,7 @@ led_config_t g_led_config = { {
#endif
#ifdef OLED_ENABLE
-
-oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
- if (!is_keyboard_master()) {
- return OLED_ROTATION_180; // flips the display 180 degrees if offhand
- }
- return rotation;
-}
-
-enum Layers{
- L_BASE, L_LOWER, L_RAISE, L_ADJUST
-};
-
-void oled_render_layer_state_r2g(void) {
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case L_BASE:
- oled_write_ln_P(PSTR("Default"), false);
- break;
- case L_LOWER:
- oled_write_ln_P(PSTR("Lower"), false);
- break;
- case L_RAISE:
- oled_write_ln_P(PSTR("Raise"), false);
- break;
- case L_ADJUST:
- oled_write_ln_P(PSTR("Adjust"), false);
- break;
- }
-}
-
-//char keylog_str_r2g[24] = {};
-
-const char code_to_name_r2g[60] = {
- ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
- 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
- '1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
- 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\',
- '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '};
-
-char key_name_r2g = ' ';
-uint16_t last_keycode_r2g;
-uint8_t last_row_r2g;
-uint8_t last_col_r2g;
-
-void set_keylog_r2g(uint16_t keycode, keyrecord_t *record) {
- key_name_r2g = ' ';
- last_keycode_r2g = keycode;
- if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) ||
- (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { last_keycode_r2g = keycode & 0xFF; }
- if (keycode < 60) {
- key_name_r2g = code_to_name_r2g[keycode];
- }
- last_row_r2g = record->event.key.row;
- last_col_r2g = record->event.key.col;
-}
-
-const char *depad_str(const char *depad_str, char depad_char) {
- while (*depad_str == depad_char) ++depad_str;
- return depad_str;
-}
-
-void oled_render_keylog_r2g(void) {
- //oled_write(keylog_str_r2g, false);
- const char *last_row_r2g_str = get_u8_str(last_row_r2g, ' ');
- oled_write(depad_str(last_row_r2g_str, ' '), false);
- oled_write_P(PSTR("x"), false);
- const char *last_col_r2g_str = get_u8_str(last_col_r2g, ' ');
- oled_write(depad_str(last_col_r2g_str, ' '), false);
- oled_write_P(PSTR(", k"), false);
- const char *last_keycode_r2g_str = get_u16_str(last_keycode_r2g, ' ');
- oled_write(depad_str(last_keycode_r2g_str, ' '), false);
- oled_write_P(PSTR(":"), false);
- oled_write_char(key_name_r2g, false);
-}
-
-void render_bootmagic_status_r2g(bool status) {
- /* Show Ctrl-Gui Swap options */
- static const char PROGMEM logo[][2][3] = {
- {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
- {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
- };
- if (status) {
- oled_write_ln_P(logo[0][0], false);
- oled_write_ln_P(logo[0][1], false);
- } else {
- oled_write_ln_P(logo[1][0], false);
- oled_write_ln_P(logo[1][1], false);
- }
-}
-
-void oled_render_logo_r2g(void) {
+void oled_render_logo(void) {
static const char PROGMEM mb_logo[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
@@ -218,23 +127,4 @@ void oled_render_logo_r2g(void) {
//oled_set_cursor(oled_max_chars()/2,oled_max_lines()/2);
//oled_write_P(PSTR("R2G"), false);
}
-
-bool oled_task_kb(void) {
- if (!oled_task_user()) { return false; }
- if (is_keyboard_master()) {
- oled_render_layer_state_r2g();
- oled_render_keylog_r2g();
- } else {
- oled_render_logo_r2g();
- }
- return false;
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- set_keylog_r2g(keycode, record);
- }
- return process_record_user(keycode, record);
-}
-#endif // OLED_ENABLE
-
+#endif
diff --git a/keyboards/crkbd/r2g/r2g.h b/keyboards/crkbd/r2g/r2g.h
deleted file mode 100644
index 126c4b8998..0000000000
--- a/keyboards/crkbd/r2g/r2g.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-Copyright 2019 @foostan
-Copyright 2020 Drashna Jaelre <@drashna>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "crkbd.h"
-#include "quantum.h"
-
-// clang-format off
-#define LAYOUT_split_3x6_3( \
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L30, L31, L32, R30, R31, R32 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { KC_NO, KC_NO, KC_NO, L30, L31, L32 }, \
- { R05, R04, R03, R02, R01, R00 }, \
- { R15, R14, R13, R12, R11, R10 }, \
- { R25, R24, R23, R22, R21, R20 }, \
- { KC_NO, KC_NO, KC_NO, R32, R31, R30 } \
- }
-
-#define LAYOUT_split_3x5_3( \
- L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
- L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
- L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
- L30, L31, L32, R30, R31, R32 \
- ) \
- { \
- { KC_NO, L00, L01, L02, L03, L04 }, \
- { KC_NO, L10, L11, L12, L13, L14 }, \
- { KC_NO, L20, L21, L22, L23, L24 }, \
- { KC_NO, KC_NO, KC_NO, L30, L31, L32 }, \
- { KC_NO, R04, R03, R02, R01, R00 }, \
- { KC_NO, R14, R13, R12, R11, R10 }, \
- { KC_NO, R24, R23, R22, R21, R20 }, \
- { KC_NO, KC_NO, KC_NO, R32, R31, R30 } \
- }
-
-
-#define LAYOUT LAYOUT_split_3x6_3
diff --git a/keyboards/crkbd/r2g/rules.mk b/keyboards/crkbd/r2g/rules.mk
index 7cf008d003..e69de29bb2 100644
--- a/keyboards/crkbd/r2g/rules.mk
+++ b/keyboards/crkbd/r2g/rules.mk
@@ -1,6 +0,0 @@
-OLED_ENABLE = yes
-OLED_DRIVER = SSD1306
-LTO_ENABLE = yes
-RGBLIGHT_ENABLE = yes
-
-SPLIT_KEYBOARD = yes