diff options
Diffstat (limited to 'keyboards/crkbd/r2g')
-rw-r--r-- | keyboards/crkbd/r2g/config.h | 5 | ||||
-rw-r--r-- | keyboards/crkbd/r2g/info.json | 171 | ||||
-rw-r--r-- | keyboards/crkbd/r2g/r2g.c | 116 | ||||
-rw-r--r-- | keyboards/crkbd/r2g/r2g.h | 60 | ||||
-rw-r--r-- | keyboards/crkbd/r2g/rules.mk | 6 |
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 |