From 348ca71d40a1edd54e55606b1a1c9b025cdbb5b4 Mon Sep 17 00:00:00 2001 From: Chris Chan Date: Wed, 13 Dec 2023 17:10:49 +0000 Subject: [PATCH 1/4] add simplified sofle rgb --- keyboards/sofle/keymaps/rgb_with_ind/config.h | 50 +++++++++ keyboards/sofle/keymaps/rgb_with_ind/keymap.c | 102 ++++++++++++++++++ keyboards/sofle/keymaps/rgb_with_ind/oled.c | 46 ++++++++ keyboards/sofle/keymaps/rgb_with_ind/rules.mk | 8 ++ 4 files changed, 206 insertions(+) create mode 100644 keyboards/sofle/keymaps/rgb_with_ind/config.h create mode 100644 keyboards/sofle/keymaps/rgb_with_ind/keymap.c create mode 100644 keyboards/sofle/keymaps/rgb_with_ind/oled.c create mode 100644 keyboards/sofle/keymaps/rgb_with_ind/rules.mk diff --git a/keyboards/sofle/keymaps/rgb_with_ind/config.h b/keyboards/sofle/keymaps/rgb_with_ind/config.h new file mode 100644 index 000000000000..e53881987da6 --- /dev/null +++ b/keyboards/sofle/keymaps/rgb_with_ind/config.h @@ -0,0 +1,50 @@ +/* Copyright 2020 Josef Adamcik + * Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang + * + * 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 . + */ + +#pragma once + +/* By default left side is selected as master, +see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness +for more options. */ + +#if defined(KEYBOARD_sofle_rev1) +// Add RGB underglow and top facing lighting +# define WS2812_DI_PIN D3 +# define RGBLED_NUM 72 +# define RGBLED_SPLIT \ + { 36, 36 } +# ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_SPLIT RGBLED_SPLIT +# define SPLIT_TRANSPORT_MIRROR +# else +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLIGHT_EFFECT_RGB_TEST +# define RGBLIGHT_EFFECT_ALTERNATING +# define RGBLIGHT_EFFECT_TWINKLE +# define RGBLIGHT_LIMIT_VAL 120 +# define RGBLIGHT_HUE_STEP 10 +# define RGBLIGHT_SAT_STEP 17 +# define RGBLIGHT_VAL_STEP 17 +# endif +#endif diff --git a/keyboards/sofle/keymaps/rgb_with_ind/keymap.c b/keyboards/sofle/keymaps/rgb_with_ind/keymap.c new file mode 100644 index 000000000000..45d12d28cdb6 --- /dev/null +++ b/keyboards/sofle/keymaps/rgb_with_ind/keymap.c @@ -0,0 +1,102 @@ + /* Copyright 2020 Josef Adamcik + * Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang + * + * 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 . + */ + +#include QMK_KEYBOARD_H +#include "oled.c" + +enum layers +{ + _QWERTY = 0, + _LOWER, + _UPPER, +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) }, + [_LOWER] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [_UPPER] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)} +}; +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + * QWERTY + * ,-----------------------------------------. ,-----------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | ESC | Q | W | E | R | T | | Y | U | I | O | P | Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ + +[_QWERTY] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LGUI,KC_LALT,KC_LCTL, MO(_LOWER), KC_ENT, KC_SPC, MO(_UPPER), KC_RCTL, KC_RALT, KC_RGUI +), +/* LOWER + * ,-----------------------------------------. ,-----------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * | Shift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ +[_LOWER] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, + _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +/* UPPER + * ,----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Esc | Ins | Pscr | Menu | | | | | PWrd | Up | NWrd | DLine| Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | LAt | LCtl |LShift| | Caps |-------. ,-------| | Left | Down | Rigth| Del | Bspc | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * |Shift | Undo | Cut | Copy | Paste| |--------| |-------| | LStr | | LEnd | | Shift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ +[_UPPER] = LAYOUT( + _______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______, + _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, KC_PGUP, _______, KC_UP, _______,_______, KC_BSPC, + _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC, + _______,KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) +}; diff --git a/keyboards/sofle/keymaps/rgb_with_ind/oled.c b/keyboards/sofle/keymaps/rgb_with_ind/oled.c new file mode 100644 index 000000000000..f0877ce6284c --- /dev/null +++ b/keyboards/sofle/keymaps/rgb_with_ind/oled.c @@ -0,0 +1,46 @@ + /* Copyright 2020 Josef Adamcik + * Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang + * + * 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 . + */ + +//Sets up what the OLED screens display. + +#ifdef OLED_ENABLE + +static void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, + 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0 + }; + + oled_write_P(qmk_logo, false); +} + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_270; + } + return rotation; +} + +bool oled_task_user(void) { + if (is_keyboard_master()) { + render_logo(); + } + return false; +} + +#endif diff --git a/keyboards/sofle/keymaps/rgb_with_ind/rules.mk b/keyboards/sofle/keymaps/rgb_with_ind/rules.mk new file mode 100644 index 000000000000..aa54dd4ac33b --- /dev/null +++ b/keyboards/sofle/keymaps/rgb_with_ind/rules.mk @@ -0,0 +1,8 @@ +EXTRAKEY_ENABLE = yes +CONSOLE_ENABLE = no +RGBLIGHT_ENABLE = yes +ENCODER_ENABLE = yes +LTO_ENABLE = yes +OLED_ENABLE = yes +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes From 29c799f2fc45a5d3bc03d9f3fed90b287681e756 Mon Sep 17 00:00:00 2001 From: Chris Chan Date: Thu, 14 Dec 2023 05:12:01 +0000 Subject: [PATCH 2/4] WIP --- .../keymaps/rgb_with_ind_halmak/config.h | 50 +++++++++ .../keymaps/rgb_with_ind_halmak/keymap.c | 102 ++++++++++++++++++ .../sofle/keymaps/rgb_with_ind_halmak/oled.c | 46 ++++++++ .../keymaps/rgb_with_ind_halmak/rules.mk | 7 ++ 4 files changed, 205 insertions(+) create mode 100644 keyboards/sofle/keymaps/rgb_with_ind_halmak/config.h create mode 100644 keyboards/sofle/keymaps/rgb_with_ind_halmak/keymap.c create mode 100644 keyboards/sofle/keymaps/rgb_with_ind_halmak/oled.c create mode 100644 keyboards/sofle/keymaps/rgb_with_ind_halmak/rules.mk diff --git a/keyboards/sofle/keymaps/rgb_with_ind_halmak/config.h b/keyboards/sofle/keymaps/rgb_with_ind_halmak/config.h new file mode 100644 index 000000000000..e53881987da6 --- /dev/null +++ b/keyboards/sofle/keymaps/rgb_with_ind_halmak/config.h @@ -0,0 +1,50 @@ +/* Copyright 2020 Josef Adamcik + * Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang + * + * 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 . + */ + +#pragma once + +/* By default left side is selected as master, +see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness +for more options. */ + +#if defined(KEYBOARD_sofle_rev1) +// Add RGB underglow and top facing lighting +# define WS2812_DI_PIN D3 +# define RGBLED_NUM 72 +# define RGBLED_SPLIT \ + { 36, 36 } +# ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_SPLIT RGBLED_SPLIT +# define SPLIT_TRANSPORT_MIRROR +# else +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLIGHT_EFFECT_RGB_TEST +# define RGBLIGHT_EFFECT_ALTERNATING +# define RGBLIGHT_EFFECT_TWINKLE +# define RGBLIGHT_LIMIT_VAL 120 +# define RGBLIGHT_HUE_STEP 10 +# define RGBLIGHT_SAT_STEP 17 +# define RGBLIGHT_VAL_STEP 17 +# endif +#endif diff --git a/keyboards/sofle/keymaps/rgb_with_ind_halmak/keymap.c b/keyboards/sofle/keymaps/rgb_with_ind_halmak/keymap.c new file mode 100644 index 000000000000..a018974475f3 --- /dev/null +++ b/keyboards/sofle/keymaps/rgb_with_ind_halmak/keymap.c @@ -0,0 +1,102 @@ + /* Copyright 2020 Josef Adamcik + * Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang + * + * 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 . + */ + +#include QMK_KEYBOARD_H +#include "oled.c" + +enum layers +{ + _HALMAK = 0, + _LOWER, + _UPPER, +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_HALMAK] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) }, + [_LOWER] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [_UPPER] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)} +}; +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + * HALMAK + * ,-----------------------------------------. ,-----------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | ESC | W | L | R | B | Z | | ; | Q | U | D | J | Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | S | H | N | T | , |-------. ,-------| . | A | E | O | I | ' | + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * |LShift| F | M | V | C | / |-------| |-------| G | P | X | K | Y |RShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ + +[_HALMAK] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_ESC, KC_W, KC_L, KC_R, KC_B, KC_Z, KC_SCLN, KC_Q, KC_U, KC_D, KC_J, KC_BSPC, + KC_TAB, KC_S, KC_H, KC_N, KC_T, KC_COMM, KC_DOT, KC_A, KC_E, KC_O, KC_I, KC_QUOT, + KC_LSFT, KC_F, KC_M, KC_V, KC_C, KC_SLSH, KC_MUTE, XXXXXXX,KC_G, KC_P, KC_X, KC_K, KC_Y, KC_RSFT, + KC_LGUI,KC_LALT,KC_LCTL, MO(_LOWER), KC_SPC, KC_ENT, MO(_UPPER), KC_RCTL, KC_RALT, KC_RGUI +), +/* LOWER + * ,-----------------------------------------. ,-----------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * | Shift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ +[_LOWER] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, + _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +/* UPPER + * ,----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Esc | | | [ | ] | | | | up | | Home | PgUp | Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | | | ( | ) | |-------. ,-------| Left | Down | Right| End | PgDn | Bspc | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * |Shift | | | { | } | |--------| |-------| | | | | | Shift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ +[_UPPER] = LAYOUT( + _______, KC_NO , KC_NO , KC_NO , KC_NO , KC_PSCR, KC_NO, KC_NO , KC_NO, KC_NO , KC_NO ,C(A(KC_DEL)), + _______, KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_UP, KC_NO, KC_HOME,KC_PGUP, KC_BSPC, + _______, KC_NO, KC_NO, KC_LSFT, XXXXXXX, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, KC_PGDN, KC_BSPC, + _______,KC_NO, KC_NO, KC_NO, KC_PASTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) +}; diff --git a/keyboards/sofle/keymaps/rgb_with_ind_halmak/oled.c b/keyboards/sofle/keymaps/rgb_with_ind_halmak/oled.c new file mode 100644 index 000000000000..f0877ce6284c --- /dev/null +++ b/keyboards/sofle/keymaps/rgb_with_ind_halmak/oled.c @@ -0,0 +1,46 @@ + /* Copyright 2020 Josef Adamcik + * Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang + * + * 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 . + */ + +//Sets up what the OLED screens display. + +#ifdef OLED_ENABLE + +static void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, + 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0 + }; + + oled_write_P(qmk_logo, false); +} + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_270; + } + return rotation; +} + +bool oled_task_user(void) { + if (is_keyboard_master()) { + render_logo(); + } + return false; +} + +#endif diff --git a/keyboards/sofle/keymaps/rgb_with_ind_halmak/rules.mk b/keyboards/sofle/keymaps/rgb_with_ind_halmak/rules.mk new file mode 100644 index 000000000000..121770bde4bd --- /dev/null +++ b/keyboards/sofle/keymaps/rgb_with_ind_halmak/rules.mk @@ -0,0 +1,7 @@ +EXTRAKEY_ENABLE = yes +CONSOLE_ENABLE = no +RGBLIGHT_ENABLE = yes +ENCODER_ENABLE = yes +LTO_ENABLE = yes +OLED_ENABLE = yes +ENCODER_MAP_ENABLE = yes From ed633931a3208998a39194e9147cace4ab77de90 Mon Sep 17 00:00:00 2001 From: chanman3388 Date: Sat, 20 Apr 2024 21:21:17 +0100 Subject: [PATCH 3/4] feat: update the keymap --- .../keymaps/rgb_with_ind_halmak/config.h | 1 - .../keymaps/rgb_with_ind_halmak/keymap.c | 46 +++++++++---------- 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/keyboards/sofle/keymaps/rgb_with_ind_halmak/config.h b/keyboards/sofle/keymaps/rgb_with_ind_halmak/config.h index e53881987da6..3b2bf862d902 100644 --- a/keyboards/sofle/keymaps/rgb_with_ind_halmak/config.h +++ b/keyboards/sofle/keymaps/rgb_with_ind_halmak/config.h @@ -24,7 +24,6 @@ for more options. */ #if defined(KEYBOARD_sofle_rev1) // Add RGB underglow and top facing lighting # define WS2812_DI_PIN D3 -# define RGBLED_NUM 72 # define RGBLED_SPLIT \ { 36, 36 } # ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/sofle/keymaps/rgb_with_ind_halmak/keymap.c b/keyboards/sofle/keymaps/rgb_with_ind_halmak/keymap.c index a018974475f3..9fa82efd64b8 100644 --- a/keyboards/sofle/keymaps/rgb_with_ind_halmak/keymap.c +++ b/keyboards/sofle/keymaps/rgb_with_ind_halmak/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | ESC | W | L | R | B | Z | | ; | Q | U | D | J | Bspc | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | Tab | S | H | N | T | , |-------. ,-------| . | A | E | O | I | ' | - * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| * |LShift| F | M | V | C | / |-------| |-------| G | P | X | K | Y |RShift| * `-----------------------------------------/ / \ \-----------------------------------------' * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | RGUI | @@ -51,41 +51,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_HALMAK] = LAYOUT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, - KC_ESC, KC_W, KC_L, KC_R, KC_B, KC_Z, KC_SCLN, KC_Q, KC_U, KC_D, KC_J, KC_BSPC, - KC_TAB, KC_S, KC_H, KC_N, KC_T, KC_COMM, KC_DOT, KC_A, KC_E, KC_O, KC_I, KC_QUOT, - KC_LSFT, KC_F, KC_M, KC_V, KC_C, KC_SLSH, KC_MUTE, XXXXXXX,KC_G, KC_P, KC_X, KC_K, KC_Y, KC_RSFT, - KC_LGUI,KC_LALT,KC_LCTL, MO(_LOWER), KC_SPC, KC_ENT, MO(_UPPER), KC_RCTL, KC_RALT, KC_RGUI + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_ESC, KC_W, KC_L, KC_R, KC_B, KC_Z, KC_SCLN, KC_Q, KC_U, KC_D, KC_J, KC_BSPC, + KC_TAB, KC_S, KC_H, KC_N, KC_T, KC_COMM, KC_DOT, KC_A, KC_E, KC_O, KC_I, KC_QUOT, + KC_LSFT, KC_F, KC_M, KC_V, KC_C, KC_SLSH, KC_MUTE, XXXXXXX,KC_G, KC_P, KC_X, KC_K, KC_Y, KC_RSFT, + KC_LGUI, KC_LALT, KC_LCTL, MO(_LOWER), KC_SPC, KC_ENT, MO(_UPPER), KC_RCTL, KC_RALT, KC_RGUI ), /* LOWER * ,-----------------------------------------. ,-----------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | DEL | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | | - * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| - * | Shift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift| + * | | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | | + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| + * | | = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | | * `-----------------------------------------/ / \ \-----------------------------------------' * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | RGUI | * | | | | |/ / \ \ | | | | | * `----------------------------------' '------''---------------------------' */ [_LOWER] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, - _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + 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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + KC_NO, KC_EXLM, KC_AT, KC_HASH,KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, + KC_NO, KC_EQL, KC_MINS,KC_PLUS,KC_LCBR,KC_RCBR,_______, _______,KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, KC_NO, + _______,_______,_______,_______,_______, _______, _______, _______, _______, _______ ), /* UPPER - * ,----------------------------------------. ,-----------------------------------------. + * ,----------------------------------------. ,-----------------------------------------. * | | | | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | Esc | | | [ | ] | | | | up | | Home | PgUp | Bspc | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | Tab | | | ( | ) | |-------. ,-------| Left | Down | Right| End | PgDn | Bspc | - * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * |------+------+------+------+------+------| | | |------+------+------+------+------+------| * |Shift | | | { | } | |--------| |-------| | | | | | Shift| * `-----------------------------------------/ / \ \-----------------------------------------' * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | RGUI | @@ -93,10 +93,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `----------------------------------' '------''---------------------------' */ [_UPPER] = LAYOUT( - _______, KC_NO , KC_NO , KC_NO , KC_NO , KC_PSCR, KC_NO, KC_NO , KC_NO, KC_NO , KC_NO ,C(A(KC_DEL)), - _______, KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_UP, KC_NO, KC_HOME,KC_PGUP, KC_BSPC, - _______, KC_NO, KC_NO, KC_LSFT, XXXXXXX, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, KC_PGDN, KC_BSPC, - _______,KC_NO, KC_NO, KC_NO, KC_PASTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO , KC_NO ,C(A(KC_DEL)), + _______, KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_UP, KC_NO, KC_HOME,KC_PGUP, KC_BSPC, + _______, KC_NO, KC_NO, S(KC_9), S(KC_0), KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, KC_PGDN, KC_BSPC, + _______, KC_NO, KC_NO, S(KC_LBRC), S(KC_RBRC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; From ae6bb5c0ae746293f9fc37e7c05c0072d9ec4553 Mon Sep 17 00:00:00 2001 From: chanman3388 Date: Sat, 27 Apr 2024 21:58:41 +0100 Subject: [PATCH 4/4] update keymap --- .../keymaps/rgb_with_ind_halmak/keymap.c | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/keyboards/sofle/keymaps/rgb_with_ind_halmak/keymap.c b/keyboards/sofle/keymaps/rgb_with_ind_halmak/keymap.c index 9fa82efd64b8..5a2f0543ca40 100644 --- a/keyboards/sofle/keymaps/rgb_with_ind_halmak/keymap.c +++ b/keyboards/sofle/keymaps/rgb_with_ind_halmak/keymap.c @@ -1,19 +1,19 @@ - /* Copyright 2020 Josef Adamcik + /* copyright 2020 Josef Adamcik * Modification for VIA support and RGB underglow by Jens Bonk-Wiltfang - * - * 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 . - */ + * + * 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 . + */ #include QMK_KEYBOARD_H #include "oled.c" @@ -72,11 +72,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `----------------------------------' '------''---------------------------' */ [_LOWER] = LAYOUT( - 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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, - KC_NO, KC_EXLM, KC_AT, KC_HASH,KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, - KC_NO, KC_EQL, KC_MINS,KC_PLUS,KC_LCBR,KC_RCBR,_______, _______,KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, KC_NO, - _______,_______,_______,_______,_______, _______, _______, _______, _______, _______ + 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, + _______,KC_GRV, KC_NUBS,KC_MINS,KC_EQL, KC_NUHS,_______, _______,S(KC_NUHS),S(KC_EQL),S(KC_MINS),S(KC_NUBS), S(KC_GRV), _______, + _______,_______,_______,_______,_______, _______,_______, _______, _______, _______ ), /* UPPER * ,----------------------------------------. ,-----------------------------------------. @@ -93,8 +93,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `----------------------------------' '------''---------------------------' */ [_UPPER] = LAYOUT( - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_NO, KC_NO, KC_NO , KC_NO ,C(A(KC_DEL)), - _______, KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_UP, KC_NO, KC_HOME,KC_PGUP, KC_BSPC, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_PSCR, KC_NO, KC_NO, KC_NO , KC_NO ,C(A(KC_DEL)), + _______, KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_NO, KC_QUOT, KC_UP,S(KC_QUOT), KC_HOME,KC_PGUP, KC_BSPC, _______, KC_NO, KC_NO, S(KC_9), S(KC_0), KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, KC_PGDN, KC_BSPC, _______, KC_NO, KC_NO, S(KC_LBRC), S(KC_RBRC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______