From eff22d4b8e4bc068683f0c66aeef070c95b67864 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Tue, 11 May 2021 04:07:14 +0100 Subject: [PATCH 01/18] rgb matrix working properly on the sofle rgb --- keyboards/sofle/keymaps/killmaster/config.h | 43 ++ keyboards/sofle/keymaps/killmaster/encoder.c | 81 ++++ keyboards/sofle/keymaps/killmaster/keymap.c | 434 +++++++++++++++++++ keyboards/sofle/keymaps/killmaster/oled.c | 84 ++++ keyboards/sofle/keymaps/killmaster/readme.md | 19 + keyboards/sofle/keymaps/killmaster/rules.mk | 14 + keyboards/sofle/rev1/rev1.c | 84 ++++ 7 files changed, 759 insertions(+) create mode 100644 keyboards/sofle/keymaps/killmaster/config.h create mode 100644 keyboards/sofle/keymaps/killmaster/encoder.c create mode 100644 keyboards/sofle/keymaps/killmaster/keymap.c create mode 100644 keyboards/sofle/keymaps/killmaster/oled.c create mode 100644 keyboards/sofle/keymaps/killmaster/readme.md create mode 100644 keyboards/sofle/keymaps/killmaster/rules.mk diff --git a/keyboards/sofle/keymaps/killmaster/config.h b/keyboards/sofle/keymaps/killmaster/config.h new file mode 100644 index 000000000000..7b7d72679703 --- /dev/null +++ b/keyboards/sofle/keymaps/killmaster/config.h @@ -0,0 +1,43 @@ +#pragma once + +/* The way how "handedness" is decided (which half is which), +see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness +for more options. +*/ + +#define RGB_DI_PIN D3 + +#ifdef RGB_MATRIX_ENABLE + +#define RGBLED_NUM 72 +#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. +#define RGB_MATRIX_HUE_STEP 8 +#define RGB_MATRIX_SAT_STEP 8 +#define RGB_MATRIX_VAL_STEP 8 +#define RGB_MATRIX_SPD_STEP 10 +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_SPLIT {36,36} + +#endif + +#ifdef RGBLIGHT_ENABLE +#define RGBLIGHT_SPLIT +#define RGBLED_NUM 70 +#define RGB_SPLIT {36,36} +#define RGBLIGHT_LIMIT_VAL 120 +// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +// /*== all animations enable ==*/ +// #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ +// #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 +#endif diff --git a/keyboards/sofle/keymaps/killmaster/encoder.c b/keyboards/sofle/keymaps/killmaster/encoder.c new file mode 100644 index 000000000000..0dd1fa668e4a --- /dev/null +++ b/keyboards/sofle/keymaps/killmaster/encoder.c @@ -0,0 +1,81 @@ + /* 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 . + */ + +//Setting up what encoder rotation does. If your encoder can be pressed as a button, that function can be set in Via. + +#ifdef ENCODER_ENABLE + +#define MEDIA_KEY_DELAY 2 + +void encoder_update_user(int8_t index, bool clockwise) { + uint8_t temp_mod = get_mods(); + uint8_t temp_osm = get_oneshot_mods(); + bool is_ctrl = (temp_mod | temp_osm) & MOD_MASK_CTRL; + bool is_shift = (temp_mod | temp_osm) & MOD_MASK_SHIFT; + + if (is_shift) { + if (index == 0) { /* First encoder */ + if (clockwise) { + rgblight_increase_hue(); + } else { + rgblight_decrease_hue(); + } + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + rgblight_decrease_sat(); + } else { + rgblight_increase_sat(); + } + } + } else if (is_ctrl) { + if (index == 0) { /* First encoder */ + if (clockwise) { + rgblight_increase_val(); + } else { + rgblight_decrease_val(); + } + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + rgblight_increase_speed(); + } else { + rgblight_decrease_speed(); + } + } + } else { + if (index == 0) { /* First encoder */ + uint16_t held_keycode_timer = timer_read(); + uint16_t mapped_code = 0; + if (clockwise) { + mapped_code = KC_VOLD; + } else { + mapped_code = KC_VOLU; + } + register_code(mapped_code); + while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY) + ; /* no-op */ + unregister_code(mapped_code); + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + tap_code16(KC_MS_WH_DOWN); + } else { + tap_code16(KC_MS_WH_UP); + } + } +} + + +#endif diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c new file mode 100644 index 000000000000..23d45240016a --- /dev/null +++ b/keyboards/sofle/keymaps/killmaster/keymap.c @@ -0,0 +1,434 @@ +#include QMK_KEYBOARD_H +#define MEDIA_KEY_DELAY 2 + +enum sofle_layers { + /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */ + _QWERTY, + _COLEMAK, + _LOWER, + _RAISE, + _ADJUST, +}; + +enum custom_keycodes { + KC_QWERTY = SAFE_RANGE, + KC_COLEMAK, + KC_LOWER, + KC_RAISE, + KC_ADJUST, + KC_PRVWD, + KC_NXTWD, + KC_LSTRT, + KC_LEND, + KC_DLINE +}; + + +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 | /Space / \Enter \ |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, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ + KC_LGUI,KC_LALT,KC_LCTRL, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTRL, KC_RALT, KC_RGUI \ +), +/* + * COLEMAK + * ,-----------------------------------------. ,-----------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | ESC | Q | W | F | P | G | | J | L | U | Y | ; | Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / |RShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ + +[_COLEMAK] = 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_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \ + KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX,KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ + KC_LGUI,KC_LALT,KC_LCTRL,KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTRL, 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, _______, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\ +), +/* RAISE + * ,----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | 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 | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ +[_RAISE] = LAYOUT( \ + _______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______, \ + _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, RGB_TOG, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD,KC_DLINE, 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, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ +), +/* ADJUST + * ,-----------------------------------------. ,-----------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | RESET| |QWERTY|COLEMAK| | | | | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | |MACWIN| | | |-------. ,-------| | VOLDO| MUTE | VOLUP| | | + * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| + * | | | | | | |-------| |-------| | PREV | PLAY | NEXT | | | + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ + [_ADJUST] = LAYOUT( \ + XXXXXXX , XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ + RESET , XXXXXXX,KC_QWERTY,KC_COLEMAK,CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ + XXXXXXX , XXXXXXX,CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, \ + XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + ) +}; + +#ifdef OLED_DRIVER_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); +} + +static void print_status_narrow(void) { + // Print current mode + oled_write_P(PSTR("\n\n"), false); + oled_write_ln_P(PSTR("MODE"), false); + oled_write_ln_P(PSTR(""), false); + if (keymap_config.swap_lctl_lgui) { + oled_write_ln_P(PSTR("MAC"), false); + } else { + oled_write_ln_P(PSTR("WIN"), false); + } + + switch (get_highest_layer(default_layer_state)) { + case _QWERTY: + oled_write_ln_P(PSTR("Qwrt"), false); + break; + case _COLEMAK: + oled_write_ln_P(PSTR("Clmk"), false); + break; + default: + oled_write_P(PSTR("Undef"), false); + } + oled_write_P(PSTR("\n\n"), false); + // Print current layer + oled_write_ln_P(PSTR("LAYER"), false); + switch (get_highest_layer(layer_state)) { + case _COLEMAK: + case _QWERTY: + oled_write_P(PSTR("Base\n"), false); + break; + case _RAISE: + oled_write_P(PSTR("Raise"), false); + break; + case _LOWER: + oled_write_P(PSTR("Lower"), false); + break; + case _ADJUST: + oled_write_P(PSTR("Adj\n"), false); + break; + default: + oled_write_ln_P(PSTR("Undef"), false); + } + oled_write_P(PSTR("\n\n"), false); + led_t led_usb_state = host_keyboard_led_state(); + oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock); +} + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_270; + } + return rotation; +} + +void oled_task_user(void) { + if (is_keyboard_master()) { + print_status_narrow(); + } else { + render_logo(); + } +} + +#endif + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_QWERTY: + if (record->event.pressed) { + set_single_persistent_default_layer(_QWERTY); + } + return false; + case KC_COLEMAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLEMAK); + } + return false; + case KC_LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + case KC_RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + case KC_ADJUST: + if (record->event.pressed) { + layer_on(_ADJUST); + } else { + layer_off(_ADJUST); + } + return false; + case KC_PRVWD: + if (record->event.pressed) { + if (keymap_config.swap_lctl_lgui) { + register_mods(mod_config(MOD_LALT)); + register_code(KC_LEFT); + } else { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_LEFT); + } + } else { + if (keymap_config.swap_lctl_lgui) { + unregister_mods(mod_config(MOD_LALT)); + unregister_code(KC_LEFT); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_LEFT); + } + } + break; + case KC_NXTWD: + if (record->event.pressed) { + if (keymap_config.swap_lctl_lgui) { + register_mods(mod_config(MOD_LALT)); + register_code(KC_RIGHT); + } else { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_RIGHT); + } + } else { + if (keymap_config.swap_lctl_lgui) { + unregister_mods(mod_config(MOD_LALT)); + unregister_code(KC_RIGHT); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_RIGHT); + } + } + break; + case KC_LSTRT: + if (record->event.pressed) { + if (keymap_config.swap_lctl_lgui) { + //CMD-arrow on Mac, but we have CTL and GUI swapped + register_mods(mod_config(MOD_LCTL)); + register_code(KC_LEFT); + } else { + register_code(KC_HOME); + } + } else { + if (keymap_config.swap_lctl_lgui) { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_LEFT); + } else { + unregister_code(KC_HOME); + } + } + break; + case KC_LEND: + if (record->event.pressed) { + if (keymap_config.swap_lctl_lgui) { + //CMD-arrow on Mac, but we have CTL and GUI swapped + register_mods(mod_config(MOD_LCTL)); + register_code(KC_RIGHT); + } else { + register_code(KC_END); + } + } else { + if (keymap_config.swap_lctl_lgui) { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_RIGHT); + } else { + unregister_code(KC_END); + } + } + break; + case KC_DLINE: + if (record->event.pressed) { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_BSPC); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_BSPC); + } + break; + case KC_COPY: + if (record->event.pressed) { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_C); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_C); + } + return false; + case KC_PASTE: + if (record->event.pressed) { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_V); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_V); + } + return false; + case KC_CUT: + if (record->event.pressed) { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_X); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_X); + } + return false; + break; + case KC_UNDO: + if (record->event.pressed) { + register_mods(mod_config(MOD_LCTL)); + register_code(KC_Z); + } else { + unregister_mods(mod_config(MOD_LCTL)); + unregister_code(KC_Z); + } + return false; + } + return true; +} + +#ifdef ENCODER_ENABLE + +void encoder_update_user(int8_t index, bool clockwise) { + uint8_t temp_mod = get_mods(); + uint8_t temp_osm = get_oneshot_mods(); + bool is_ctrl = (temp_mod | temp_osm) & MOD_MASK_CTRL; + bool is_shift = (temp_mod | temp_osm) & MOD_MASK_SHIFT; + + if (is_shift) { + if (index == 0) { /* First encoder */ + if (clockwise) { + rgb_matrix_increase_hue(); + } else { + rgb_matrix_decrease_hue(); + } + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + rgb_matrix_decrease_sat(); + } else { + rgb_matrix_increase_sat(); + } + } + } else if (is_ctrl) { + if (index == 0) { /* First encoder */ + if (clockwise) { + rgb_matrix_increase_val(); + } else { + rgb_matrix_decrease_val(); + } + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + rgb_matrix_increase_speed(); + } else { + rgb_matrix_decrease_speed(); + } + } + } else { + if (index == 1) { /* First encoder */ + if (clockwise) { + tap_code(KC_MS_WH_UP); + } else { + tap_code(KC_MS_WH_DOWN); + } + } else if (index == 0) { /* Second encoder */ + uint16_t held_keycode_timer = timer_read(); + uint16_t mapped_code = 0; + if (clockwise) { + mapped_code = KC_VOLD; + } else { + mapped_code = KC_VOLU; + } + register_code(mapped_code); + while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY) + ; /* no-op */ + unregister_code(mapped_code); + } + } +} + +#endif diff --git a/keyboards/sofle/keymaps/killmaster/oled.c b/keyboards/sofle/keymaps/killmaster/oled.c new file mode 100644 index 000000000000..06839da17090 --- /dev/null +++ b/keyboards/sofle/keymaps/killmaster/oled.c @@ -0,0 +1,84 @@ + /* 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_DRIVER_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); +} + +static void print_status_narrow(void) { + // Print current mode + oled_write_P(PSTR("\n\n"), false); + + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_ln_P(PSTR("Qwrt"), false); + break; + case 1: + oled_write_ln_P(PSTR("Clmk"), false); + break; + default: + oled_write_P(PSTR("Mod\n"), false); + break; + } + oled_write_P(PSTR("\n\n"), false); + // Print current layer + oled_write_ln_P(PSTR("LAYER"), false); + switch (get_highest_layer(layer_state)) { + case 0: + case 1: + oled_write_P(PSTR("Base\n"), false); + break; + case 2: + oled_write_P(PSTR("Raise"), false); + break; + case 3: + oled_write_P(PSTR("Lower"), false); + break; + default: + oled_write_ln_P(PSTR("Undef"), false); + } + oled_write_P(PSTR("\n\n"), false); + led_t led_usb_state = host_keyboard_led_state(); + oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock); +} + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_270; + } + return rotation; +} + +void oled_task_user(void) { + if (is_keyboard_master()) { + print_status_narrow(); + } else { + render_logo(); + } +} + +#endif \ No newline at end of file diff --git a/keyboards/sofle/keymaps/killmaster/readme.md b/keyboards/sofle/keymaps/killmaster/readme.md new file mode 100644 index 000000000000..6d6dea228c96 --- /dev/null +++ b/keyboards/sofle/keymaps/killmaster/readme.md @@ -0,0 +1,19 @@ +![SofleKeyboard default keymap](https://github.com/josefadamcik/SofleKeyboard/raw/master/Images/soflekeyboard.png) +![SofleKeyboard adjust layer](https://github.com/josefadamcik/SofleKeyboard/raw/master/Images/soflekeyboard_layout_adjust.png) + + +# Default keymap for Sofle Keyboard + +Layout in [Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/gists/76efb423a46cbbea75465cb468eef7ff) and [adjust layer](http://www.keyboard-layout-editor.com/#/gists/4bcf66f922cfd54da20ba04905d56bd4) + + +Features: + +- Symmetric modifiers (CMD/Super, Alt/Opt, Ctrl, Shift) +- Various modes, can be switched (using Adjust layer and the selected one is stored in EEPROM. +- Modes for Qwerty and Colemak support +- Modes for Mac vs Linux/Win support -> different order of modifiers and different action shortcuts on the "UPPER" layer (the red one in the image). Designed to simplify transtions when switching between operating systems often. +- The OLED on master half shows selected mode and caps lock state and is rotated. +- Left encoder controls volume up/down/mute. Right encoder PGUP/PGDOWN. + + diff --git a/keyboards/sofle/keymaps/killmaster/rules.mk b/keyboards/sofle/keymaps/killmaster/rules.mk new file mode 100644 index 000000000000..0d7cd0e58018 --- /dev/null +++ b/keyboards/sofle/keymaps/killmaster/rules.mk @@ -0,0 +1,14 @@ + +OLED_DRIVER_ENABLE = no +ENCODER_ENABLE = yes +CONSOLE_ENABLE = no +EXTRAKEY_ENABLE = yes +VIA_ENABLE = no +LTO_ENABLE = yes +RGBLIGHT_ENABLE = no +RGBLIGHT_DRIVER = WS2812 +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 +SPLIT_KEYBOARD = yes +MOUSEKEY_ENABLE = yes +SPLIT_TRANSPORT_MIRROR = yes diff --git a/keyboards/sofle/rev1/rev1.c b/keyboards/sofle/rev1/rev1.c index bbb014c4df74..1e442e4a3870 100644 --- a/keyboards/sofle/rev1/rev1.c +++ b/keyboards/sofle/rev1/rev1.c @@ -1 +1,85 @@ #include "sofle.h" + +#ifdef RGB_MATRIX_ENABLE +#define RLO 35 +#define LLI(x) (x) +#define LLP(x,y) {(x),(y)} +#define RLI(x) (RLO+(x)) +#define RLP(x,y) {(224-(x)),((y))} +/* #define LED_FLAG_NONE 0 +#define LED_FLAG_UNDERGLOW 2 +#define LED_FLAG_KEYLIGHT 4 +#define LED_FLAG_INDICATOR 8 + */ + // Physical Layout + // Columns + // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 + // ROWS + // 12 13 22 23 32 33 33 32 23 22 13 12 0 + // 02 03 04 04 03 02 + // 11 14 21 24 31 34 34 31 24 21 14 11 1 + // 01 01 + // 10 15 20 25 30 35 35 30 25 20 15 10 2 + // + // 09 16 19 26 29 36 36 29 26 19 16 09 3 + // + // 08 17 18 27 28 28 27 18 17 08 4 + // 07 06 05 05 06 07 + +led_config_t g_led_config = { + { + { LLI(11), LLI(12), LLI(21), LLI(22), LLI(31), LLI(32) }, + { LLI(10), LLI(13), LLI(20), LLI(23), LLI(30), LLI(33) }, + { LLI(9), LLI(14), LLI(19), LLI(24), LLI(29), LLI(34)}, + { LLI(8), LLI(15), LLI(18), LLI(25), LLI(28), LLI(35)}, + { NO_LED, LLI(7), LLI(16), LLI(17), LLI(26), LLI(27) }, + { RLI(11), RLI(12), RLI(21), RLI(22), RLI(31), RLI(32)}, + { RLI(10), RLI(13), RLI(20), RLI(23), RLI(30), RLI(33)}, + { RLI(9), RLI(14), RLI(19), RLI(24), RLI(29), RLI(34)}, + { RLI(8), RLI(15), RLI(18), RLI(25), RLI(28), RLI(35)}, + { NO_LED, RLI(7), RLI(16), RLI(17), RLI(26), RLI(27) } + }, + { + // Left side underglow + LLP(96, 40), LLP(16, 20), LLP(48, 10), LLP(80, 18), LLP(88, 60), LLP(56, 57), LLP(24,60), + // Left side Matrix + LLP(32, 57), LLP( 0, 48), LLP( 0, 36), LLP( 0, 24), LLP( 0, 12), + LLP(16, 12), LLP(16, 24), LLP(16, 36), LLP(16, 48), LLP(48, 55), + LLP(64, 57), LLP(32, 45), LLP(32, 33), LLP(32, 21), LLP(32, 9), + LLP(48, 7), LLP(48, 19), LLP(48, 31), LLP(48, 43), LLP(80, 59), + LLP(96, 64), LLP(64, 45), LLP(64, 33), LLP(64, 21), LLP(64, 9), + LLP(80, 10), LLP(80, 22), LLP(80, 34), LLP(80, 47), + + // Right side underglow + RLP(24, 60), RLP(56, 57), RLP(88, 60), RLP(80, 18), RLP(48, 10), RLP(16, 20), RLP(96,40), + // Right side Matrix + RLP( 0, 12), RLP( 0, 24), RLP( 0, 36), RLP( 0, 48), RLP(32, 57), + RLP(48, 55), RLP(16, 48), RLP(16, 36), RLP(16, 24), RLP(16, 12), + RLP(32, 9), RLP(32, 21), RLP(32, 33), RLP(32, 45), RLP(64, 57), + RLP(80, 59), RLP(48, 43), RLP(48, 31), RLP(48, 19), RLP(48, 7), + RLP(64, 9), RLP(64, 21), RLP(64, 33), RLP(64, 45), RLP(96, 64), + RLP(80, 47), RLP(80, 34), RLP(80, 22), RLP(80, 10) + }, + { + LED_FLAG_NONE, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_NONE, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT + } +}; +#endif + +void matrix_init_kb(void) { + matrix_init_user(); + //rgb_matrix_mode(RGB_MATRIX_CYCLE_LEFT_RIGHT); +} From e969cd167d96e388e005fd6f126756d22012ba57 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Tue, 11 May 2021 22:50:58 +0100 Subject: [PATCH 02/18] SPLIT_TRANSPORT_MIRROR was missing from the config.h Dasky fixed it for me. --- keyboards/sofle/keymaps/killmaster/config.h | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/sofle/keymaps/killmaster/config.h b/keyboards/sofle/keymaps/killmaster/config.h index 7b7d72679703..fcc48d399966 100644 --- a/keyboards/sofle/keymaps/killmaster/config.h +++ b/keyboards/sofle/keymaps/killmaster/config.h @@ -19,6 +19,7 @@ for more options. #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_SPLIT {36,36} +#define SPLIT_TRANSPORT_MIRROR #endif From d2566c77d339a17d2662ebc720f2669904a4190f Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Tue, 11 May 2021 23:57:47 +0100 Subject: [PATCH 03/18] LED layout had an off by one error on the bottom row --- keyboards/sofle/keymaps/killmaster/keymap.c | 4 ++-- keyboards/sofle/rev1/rev1.c | 26 +++++++++------------ 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c index 23d45240016a..71c1d2f1bc22 100644 --- a/keyboards/sofle/keymaps/killmaster/keymap.c +++ b/keyboards/sofle/keymaps/killmaster/keymap.c @@ -96,7 +96,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,----------------------------------------. ,-----------------------------------------. * | | | | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Esc | Ins | Pscr | Menu | | | | | PWrd | Up | NWrd | DLine| Bspc | + * | Esc | Ins | Pscr | Menu | |RGBTog| | | PWrd | Up | NWrd | DLine| Bspc | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | Tab | LAt | LCtl |LShift| | Caps |-------. ,-------| | Left | Down | Rigth| Del | Bspc | * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| @@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `----------------------------------' '------''---------------------------' */ [_RAISE] = LAYOUT( \ - _______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______, \ + _______, _______ , _______ , _______ , RGB_RMOD , RGB_MOD, _______, _______ , _______, _______ , _______ ,_______, \ _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, RGB_TOG, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD,KC_DLINE, 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, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______, \ diff --git a/keyboards/sofle/rev1/rev1.c b/keyboards/sofle/rev1/rev1.c index 1e442e4a3870..b758d520b90b 100644 --- a/keyboards/sofle/rev1/rev1.c +++ b/keyboards/sofle/rev1/rev1.c @@ -1,16 +1,11 @@ #include "sofle.h" #ifdef RGB_MATRIX_ENABLE -#define RLO 35 +#define RLO 36 #define LLI(x) (x) #define LLP(x,y) {(x),(y)} #define RLI(x) (RLO+(x)) #define RLP(x,y) {(224-(x)),((y))} -/* #define LED_FLAG_NONE 0 -#define LED_FLAG_UNDERGLOW 2 -#define LED_FLAG_KEYLIGHT 4 -#define LED_FLAG_INDICATOR 8 - */ // Physical Layout // Columns // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 @@ -32,12 +27,12 @@ led_config_t g_led_config = { { LLI(10), LLI(13), LLI(20), LLI(23), LLI(30), LLI(33) }, { LLI(9), LLI(14), LLI(19), LLI(24), LLI(29), LLI(34)}, { LLI(8), LLI(15), LLI(18), LLI(25), LLI(28), LLI(35)}, - { NO_LED, LLI(7), LLI(16), LLI(17), LLI(26), LLI(27) }, + { LLI(7), LLI(16), LLI(17), LLI(26), LLI(27), NO_LED }, { RLI(11), RLI(12), RLI(21), RLI(22), RLI(31), RLI(32)}, { RLI(10), RLI(13), RLI(20), RLI(23), RLI(30), RLI(33)}, { RLI(9), RLI(14), RLI(19), RLI(24), RLI(29), RLI(34)}, { RLI(8), RLI(15), RLI(18), RLI(25), RLI(28), RLI(35)}, - { NO_LED, RLI(7), RLI(16), RLI(17), RLI(26), RLI(27) } + { RLI(7), RLI(16), RLI(17), RLI(26), RLI(27), NO_LED } }, { // Left side underglow @@ -50,15 +45,16 @@ led_config_t g_led_config = { LLP(96, 64), LLP(64, 45), LLP(64, 33), LLP(64, 21), LLP(64, 9), LLP(80, 10), LLP(80, 22), LLP(80, 34), LLP(80, 47), + // Right side underglow - RLP(24, 60), RLP(56, 57), RLP(88, 60), RLP(80, 18), RLP(48, 10), RLP(16, 20), RLP(96,40), + RLP(96, 40), RLP(16, 20), RLP(48, 10), RLP(80, 18), RLP(88, 60), RLP(56, 57), RLP(24,60), // Right side Matrix - RLP( 0, 12), RLP( 0, 24), RLP( 0, 36), RLP( 0, 48), RLP(32, 57), - RLP(48, 55), RLP(16, 48), RLP(16, 36), RLP(16, 24), RLP(16, 12), - RLP(32, 9), RLP(32, 21), RLP(32, 33), RLP(32, 45), RLP(64, 57), - RLP(80, 59), RLP(48, 43), RLP(48, 31), RLP(48, 19), RLP(48, 7), - RLP(64, 9), RLP(64, 21), RLP(64, 33), RLP(64, 45), RLP(96, 64), - RLP(80, 47), RLP(80, 34), RLP(80, 22), RLP(80, 10) + RLP(32, 57), RLP( 0, 48), RLP( 0, 36), RLP( 0, 24), RLP( 0, 12), + RLP(16, 12), RLP(16, 24), RLP(16, 36), RLP(16, 48), RLP(48, 55), + RLP(64, 57), RLP(32, 45), RLP(32, 33), RLP(32, 21), RLP(32, 9), + RLP(48, 7), RLP(48, 19), RLP(48, 31), RLP(48, 43), RLP(80, 59), + RLP(96, 64), RLP(64, 45), RLP(64, 33), RLP(64, 21), RLP(64, 9), + RLP(80, 10), RLP(80, 22), RLP(80, 34), RLP(80, 47), }, { LED_FLAG_NONE, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, From a3317bf8b6b3c4ed997461cc635e7025a7008aa1 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Thu, 13 May 2021 18:36:20 +0100 Subject: [PATCH 04/18] Some of the proposed changes. Added license; Using tap_code_delay; Deleted encoder.c since it wasn't doing anything; --- keyboards/sofle/keymaps/killmaster/config.h | 17 ++++ keyboards/sofle/keymaps/killmaster/encoder.c | 81 -------------------- keyboards/sofle/keymaps/killmaster/keymap.c | 23 ++++-- keyboards/sofle/rev1/rev1.c | 21 +++-- 4 files changed, 50 insertions(+), 92 deletions(-) delete mode 100644 keyboards/sofle/keymaps/killmaster/encoder.c diff --git a/keyboards/sofle/keymaps/killmaster/config.h b/keyboards/sofle/keymaps/killmaster/config.h index fcc48d399966..fb93bba901d3 100644 --- a/keyboards/sofle/keymaps/killmaster/config.h +++ b/keyboards/sofle/keymaps/killmaster/config.h @@ -1,3 +1,18 @@ +/* Copyright 2021 Carlos Martins + * + * 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 /* The way how "handedness" is decided (which half is which), @@ -42,3 +57,5 @@ for more options. #define RGBLIGHT_EFFECT_RGB_TEST // #define RGBLIGHT_EFFECT_ALTERNATING #endif + +#define MEDIA_KEY_DELAY 2 diff --git a/keyboards/sofle/keymaps/killmaster/encoder.c b/keyboards/sofle/keymaps/killmaster/encoder.c deleted file mode 100644 index 0dd1fa668e4a..000000000000 --- a/keyboards/sofle/keymaps/killmaster/encoder.c +++ /dev/null @@ -1,81 +0,0 @@ - /* 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 . - */ - -//Setting up what encoder rotation does. If your encoder can be pressed as a button, that function can be set in Via. - -#ifdef ENCODER_ENABLE - -#define MEDIA_KEY_DELAY 2 - -void encoder_update_user(int8_t index, bool clockwise) { - uint8_t temp_mod = get_mods(); - uint8_t temp_osm = get_oneshot_mods(); - bool is_ctrl = (temp_mod | temp_osm) & MOD_MASK_CTRL; - bool is_shift = (temp_mod | temp_osm) & MOD_MASK_SHIFT; - - if (is_shift) { - if (index == 0) { /* First encoder */ - if (clockwise) { - rgblight_increase_hue(); - } else { - rgblight_decrease_hue(); - } - } else if (index == 1) { /* Second encoder */ - if (clockwise) { - rgblight_decrease_sat(); - } else { - rgblight_increase_sat(); - } - } - } else if (is_ctrl) { - if (index == 0) { /* First encoder */ - if (clockwise) { - rgblight_increase_val(); - } else { - rgblight_decrease_val(); - } - } else if (index == 1) { /* Second encoder */ - if (clockwise) { - rgblight_increase_speed(); - } else { - rgblight_decrease_speed(); - } - } - } else { - if (index == 0) { /* First encoder */ - uint16_t held_keycode_timer = timer_read(); - uint16_t mapped_code = 0; - if (clockwise) { - mapped_code = KC_VOLD; - } else { - mapped_code = KC_VOLU; - } - register_code(mapped_code); - while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY) - ; /* no-op */ - unregister_code(mapped_code); - } else if (index == 1) { /* Second encoder */ - if (clockwise) { - tap_code16(KC_MS_WH_DOWN); - } else { - tap_code16(KC_MS_WH_UP); - } - } -} - - -#endif diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c index 71c1d2f1bc22..ef332a7070ac 100644 --- a/keyboards/sofle/keymaps/killmaster/keymap.c +++ b/keyboards/sofle/keymaps/killmaster/keymap.c @@ -1,5 +1,20 @@ +/* Copyright 2021 Carlos Martins + * + * 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 -#define MEDIA_KEY_DELAY 2 enum sofle_layers { /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */ @@ -416,17 +431,13 @@ void encoder_update_user(int8_t index, bool clockwise) { tap_code(KC_MS_WH_DOWN); } } else if (index == 0) { /* Second encoder */ - uint16_t held_keycode_timer = timer_read(); uint16_t mapped_code = 0; if (clockwise) { mapped_code = KC_VOLD; } else { mapped_code = KC_VOLU; } - register_code(mapped_code); - while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY) - ; /* no-op */ - unregister_code(mapped_code); + tap_code_delay(mapped_code, MEDIA_KEY_DELAY); } } } diff --git a/keyboards/sofle/rev1/rev1.c b/keyboards/sofle/rev1/rev1.c index b758d520b90b..a4be140f7357 100644 --- a/keyboards/sofle/rev1/rev1.c +++ b/keyboards/sofle/rev1/rev1.c @@ -1,3 +1,19 @@ +/* Copyright 2021 Carlos Martins + * + * 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 "sofle.h" #ifdef RGB_MATRIX_ENABLE @@ -74,8 +90,3 @@ led_config_t g_led_config = { } }; #endif - -void matrix_init_kb(void) { - matrix_init_user(); - //rgb_matrix_mode(RGB_MATRIX_CYCLE_LEFT_RIGHT); -} From 854a0cedfc37cb205b7e151b81996a73a1442426 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Fri, 14 May 2021 22:58:09 +0100 Subject: [PATCH 05/18] g_led_config changed to the normal format --- keyboards/sofle/rev1/rev1.c | 55 +++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/keyboards/sofle/rev1/rev1.c b/keyboards/sofle/rev1/rev1.c index a4be140f7357..88a28e6a409c 100644 --- a/keyboards/sofle/rev1/rev1.c +++ b/keyboards/sofle/rev1/rev1.c @@ -17,11 +17,6 @@ #include "sofle.h" #ifdef RGB_MATRIX_ENABLE -#define RLO 36 -#define LLI(x) (x) -#define LLP(x,y) {(x),(y)} -#define RLI(x) (RLO+(x)) -#define RLP(x,y) {(224-(x)),((y))} // Physical Layout // Columns // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 @@ -39,38 +34,38 @@ led_config_t g_led_config = { { - { LLI(11), LLI(12), LLI(21), LLI(22), LLI(31), LLI(32) }, - { LLI(10), LLI(13), LLI(20), LLI(23), LLI(30), LLI(33) }, - { LLI(9), LLI(14), LLI(19), LLI(24), LLI(29), LLI(34)}, - { LLI(8), LLI(15), LLI(18), LLI(25), LLI(28), LLI(35)}, - { LLI(7), LLI(16), LLI(17), LLI(26), LLI(27), NO_LED }, - { RLI(11), RLI(12), RLI(21), RLI(22), RLI(31), RLI(32)}, - { RLI(10), RLI(13), RLI(20), RLI(23), RLI(30), RLI(33)}, - { RLI(9), RLI(14), RLI(19), RLI(24), RLI(29), RLI(34)}, - { RLI(8), RLI(15), RLI(18), RLI(25), RLI(28), RLI(35)}, - { RLI(7), RLI(16), RLI(17), RLI(26), RLI(27), NO_LED } + { 11, 12, 21, 22, 31, 32 }, + { 10, 13, 20, 23, 30, 33 }, + { 9, 14, 19, 24, 29, 34}, + { 8, 15, 18, 25, 28, 35}, + { 7, 16, 17, 26, 27, NO_LED }, + { 47, 48, 57, 58, 67, 68}, + { 46, 49, 56, 59, 66, 69}, + { 45, 50, 55, 60, 65, 70}, + { 44, 51, 54, 61, 64, 71}, + { 43, 52, 53, 62, 63, NO_LED } }, { - // Left side underglow - LLP(96, 40), LLP(16, 20), LLP(48, 10), LLP(80, 18), LLP(88, 60), LLP(56, 57), LLP(24,60), + // Left side underglow + {96, 40}, {16, 20}, {48, 10}, {80, 18}, {88, 60}, {56, 57}, {24,60}, // Left side Matrix - LLP(32, 57), LLP( 0, 48), LLP( 0, 36), LLP( 0, 24), LLP( 0, 12), - LLP(16, 12), LLP(16, 24), LLP(16, 36), LLP(16, 48), LLP(48, 55), - LLP(64, 57), LLP(32, 45), LLP(32, 33), LLP(32, 21), LLP(32, 9), - LLP(48, 7), LLP(48, 19), LLP(48, 31), LLP(48, 43), LLP(80, 59), - LLP(96, 64), LLP(64, 45), LLP(64, 33), LLP(64, 21), LLP(64, 9), - LLP(80, 10), LLP(80, 22), LLP(80, 34), LLP(80, 47), + {32, 57}, { 0, 48}, { 0, 36}, { 0, 24}, { 0, 12}, + {16, 12}, {16, 24}, {16, 36}, {16, 48}, {48, 55}, + {64, 57}, {32, 45}, {32, 33}, {32, 21}, {32, 9}, + {48, 7}, {48, 19}, {48, 31}, {48, 43}, {80, 59}, + {96, 64}, {64, 45}, {64, 33}, {64, 21}, {64, 9}, + {80, 10}, {80, 22}, {80, 34}, {80, 47}, // Right side underglow - RLP(96, 40), RLP(16, 20), RLP(48, 10), RLP(80, 18), RLP(88, 60), RLP(56, 57), RLP(24,60), + {128, 40}, {208, 20}, {176, 10}, {144, 18}, {136, 60}, {168, 57}, {200,60}, // Right side Matrix - RLP(32, 57), RLP( 0, 48), RLP( 0, 36), RLP( 0, 24), RLP( 0, 12), - RLP(16, 12), RLP(16, 24), RLP(16, 36), RLP(16, 48), RLP(48, 55), - RLP(64, 57), RLP(32, 45), RLP(32, 33), RLP(32, 21), RLP(32, 9), - RLP(48, 7), RLP(48, 19), RLP(48, 31), RLP(48, 43), RLP(80, 59), - RLP(96, 64), RLP(64, 45), RLP(64, 33), RLP(64, 21), RLP(64, 9), - RLP(80, 10), RLP(80, 22), RLP(80, 34), RLP(80, 47), + {192, 57}, {224, 48}, {224, 36}, {224, 24}, {224, 12}, + {208, 12}, {208, 24}, {208, 36}, {208, 48}, {176, 55}, + {160, 57}, {192, 45}, {192, 33}, {192, 21}, {192, 9}, + {176, 7}, {176, 19}, {176, 31}, {176, 43}, {144, 59}, + {128, 64}, {160, 45}, {160, 33}, {160, 21}, {160, 9}, + {144, 10}, {144, 22}, {144, 34}, {144, 47}, }, { LED_FLAG_NONE, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, From a6b1ff4778e521ddde51984612a162ab4922a3f2 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Sun, 16 May 2021 01:15:53 +0100 Subject: [PATCH 06/18] removed SPLIT_TRANSPORT_MIRROR from the rules --- keyboards/sofle/keymaps/killmaster/rules.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/sofle/keymaps/killmaster/rules.mk b/keyboards/sofle/keymaps/killmaster/rules.mk index 0d7cd0e58018..8e95d71a6081 100644 --- a/keyboards/sofle/keymaps/killmaster/rules.mk +++ b/keyboards/sofle/keymaps/killmaster/rules.mk @@ -11,4 +11,3 @@ RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = WS2812 SPLIT_KEYBOARD = yes MOUSEKEY_ENABLE = yes -SPLIT_TRANSPORT_MIRROR = yes From 49bbee6ea3203b96701c78873a156df6a72039e2 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Sun, 16 May 2021 01:53:33 +0100 Subject: [PATCH 07/18] added readme.md to rev1 --- keyboards/sofle/rev1/readme.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 keyboards/sofle/rev1/readme.md diff --git a/keyboards/sofle/rev1/readme.md b/keyboards/sofle/rev1/readme.md new file mode 100644 index 000000000000..27071e6f3371 --- /dev/null +++ b/keyboards/sofle/rev1/readme.md @@ -0,0 +1,27 @@ +# Sofle Keyboard + +![SofleKeyboard version 1](https://raw.githubusercontent.com/josefadamcik/SofleKeyboard/master/Images/IMG_20200126_114622.jpg) + +Sofle is 6×4+5 keys column-staggered split keyboard. Based on Lily58, Corne and Helix keyboards. + +More details about the keyboard on my blog: [Let me introduce you SofleKeyboard - a split keyboard based on Lily58 and Crkbd](https://josef-adamcik.cz/electronics/let-me-introduce-you-sofle-keyboard-split-keyboard-based-on-lily58.html) + +The current (temporary) build guide and a build log is available here: [SofleKeyboard build log/guide](https://josef-adamcik.cz/electronics/soflekeyboard-build-log-and-build-guide.html) + +* Keyboard Maintainer: [Josef Adamcik](https://josef-adamcik.cz) [Twitter:@josefadamcik](https://twitter.com/josefadamcik) +* Hardware Supported: SofleKeyboard PCB, ProMicro +* Hardware Availability: [PCB & Case Data](https://github.com/josefadamcik/SofleKeyboard) + +Make example for this keyboard (after setting up your build environment): + + make sofle:default + +Flash the default keymap: + + make sofle:default:avrdude + +Press reset button on he keyboard when asked. + +Disconnect the first half, connect the second one and repeat the process. + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). From d5ee9d2aea7a6bcd5dbc6a10d161be4832d7c01e Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Tue, 18 May 2021 23:45:05 +0100 Subject: [PATCH 08/18] oled working, removed mousekeys --- keyboards/sofle/keymaps/killmaster/keymap.c | 50 ++---------- keyboards/sofle/keymaps/killmaster/oled.c | 84 --------------------- keyboards/sofle/keymaps/killmaster/rules.mk | 4 +- 3 files changed, 7 insertions(+), 131 deletions(-) delete mode 100644 keyboards/sofle/keymaps/killmaster/oled.c diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c index ef332a7070ac..581187b0cd2a 100644 --- a/keyboards/sofle/keymaps/killmaster/keymap.c +++ b/keyboards/sofle/keymaps/killmaster/keymap.c @@ -60,32 +60,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ + KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \ KC_LGUI,KC_LALT,KC_LCTRL, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTRL, KC_RALT, KC_RGUI \ ), -/* - * COLEMAK - * ,-----------------------------------------. ,-----------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ESC | Q | W | F | P | G | | J | L | U | Y | ; | Bspc | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | TAB | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' | - * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------| - * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / |RShift| - * `-----------------------------------------/ / \ \-----------------------------------------' - * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI | - * | | | | |/ / \ \ | | | | | - * `----------------------------------' '------''---------------------------' - */ - -[_COLEMAK] = 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_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \ - KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, XXXXXXX,KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ - KC_LGUI,KC_LALT,KC_LCTRL,KC_LOWER, KC_ENT, KC_SPC, KC_RAISE, KC_RCTRL, KC_RALT, KC_RGUI \ -), /* LOWER * ,-----------------------------------------. ,-----------------------------------------. * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | @@ -166,21 +143,10 @@ static void render_logo(void) { static void print_status_narrow(void) { // Print current mode oled_write_P(PSTR("\n\n"), false); - oled_write_ln_P(PSTR("MODE"), false); - oled_write_ln_P(PSTR(""), false); - if (keymap_config.swap_lctl_lgui) { - oled_write_ln_P(PSTR("MAC"), false); - } else { - oled_write_ln_P(PSTR("WIN"), false); - } - switch (get_highest_layer(default_layer_state)) { case _QWERTY: oled_write_ln_P(PSTR("Qwrt"), false); break; - case _COLEMAK: - oled_write_ln_P(PSTR("Clmk"), false); - break; default: oled_write_P(PSTR("Undef"), false); } @@ -188,7 +154,6 @@ static void print_status_narrow(void) { // Print current layer oled_write_ln_P(PSTR("LAYER"), false); switch (get_highest_layer(layer_state)) { - case _COLEMAK: case _QWERTY: oled_write_P(PSTR("Base\n"), false); break; @@ -205,8 +170,6 @@ static void print_status_narrow(void) { oled_write_ln_P(PSTR("Undef"), false); } oled_write_P(PSTR("\n\n"), false); - led_t led_usb_state = host_keyboard_led_state(); - oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock); } oled_rotation_t oled_init_user(oled_rotation_t rotation) { @@ -233,11 +196,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { set_single_persistent_default_layer(_QWERTY); } return false; - case KC_COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - } - return false; case KC_LOWER: if (record->event.pressed) { layer_on(_LOWER); @@ -426,9 +384,11 @@ void encoder_update_user(int8_t index, bool clockwise) { } else { if (index == 1) { /* First encoder */ if (clockwise) { - tap_code(KC_MS_WH_UP); + tap_code(KC_PGUP); + // tap_code(KC_MS_WH_UP); } else { - tap_code(KC_MS_WH_DOWN); + tap_code(KC_PGDOWN); + // tap_code(KC_MS_WH_DOWN); } } else if (index == 0) { /* Second encoder */ uint16_t mapped_code = 0; diff --git a/keyboards/sofle/keymaps/killmaster/oled.c b/keyboards/sofle/keymaps/killmaster/oled.c deleted file mode 100644 index 06839da17090..000000000000 --- a/keyboards/sofle/keymaps/killmaster/oled.c +++ /dev/null @@ -1,84 +0,0 @@ - /* 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_DRIVER_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); -} - -static void print_status_narrow(void) { - // Print current mode - oled_write_P(PSTR("\n\n"), false); - - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_ln_P(PSTR("Qwrt"), false); - break; - case 1: - oled_write_ln_P(PSTR("Clmk"), false); - break; - default: - oled_write_P(PSTR("Mod\n"), false); - break; - } - oled_write_P(PSTR("\n\n"), false); - // Print current layer - oled_write_ln_P(PSTR("LAYER"), false); - switch (get_highest_layer(layer_state)) { - case 0: - case 1: - oled_write_P(PSTR("Base\n"), false); - break; - case 2: - oled_write_P(PSTR("Raise"), false); - break; - case 3: - oled_write_P(PSTR("Lower"), false); - break; - default: - oled_write_ln_P(PSTR("Undef"), false); - } - oled_write_P(PSTR("\n\n"), false); - led_t led_usb_state = host_keyboard_led_state(); - oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock); -} - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_270; - } - return rotation; -} - -void oled_task_user(void) { - if (is_keyboard_master()) { - print_status_narrow(); - } else { - render_logo(); - } -} - -#endif \ No newline at end of file diff --git a/keyboards/sofle/keymaps/killmaster/rules.mk b/keyboards/sofle/keymaps/killmaster/rules.mk index 8e95d71a6081..32ea23334e59 100644 --- a/keyboards/sofle/keymaps/killmaster/rules.mk +++ b/keyboards/sofle/keymaps/killmaster/rules.mk @@ -1,5 +1,5 @@ -OLED_DRIVER_ENABLE = no +OLED_DRIVER_ENABLE = yes ENCODER_ENABLE = yes CONSOLE_ENABLE = no EXTRAKEY_ENABLE = yes @@ -10,4 +10,4 @@ RGBLIGHT_DRIVER = WS2812 RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = WS2812 SPLIT_KEYBOARD = yes -MOUSEKEY_ENABLE = yes +MOUSEKEY_ENABLE = no From 7ea99c8adbaa35a1ac346b0a36e27c5dfa6f6d8c Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Wed, 19 May 2021 00:29:28 +0100 Subject: [PATCH 09/18] Prettying up oled --- keyboards/sofle/keymaps/killmaster/keymap.c | 16 +++++++++------- keyboards/sofle/keymaps/killmaster/rules.mk | 8 ++++++++ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c index 581187b0cd2a..2533cdf3a3ae 100644 --- a/keyboards/sofle/keymaps/killmaster/keymap.c +++ b/keyboards/sofle/keymaps/killmaster/keymap.c @@ -15,11 +15,11 @@ */ #include QMK_KEYBOARD_H +#include enum sofle_layers { /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */ _QWERTY, - _COLEMAK, _LOWER, _RAISE, _ADJUST, @@ -27,7 +27,6 @@ enum sofle_layers { enum custom_keycodes { KC_QWERTY = SAFE_RANGE, - KC_COLEMAK, KC_LOWER, KC_RAISE, KC_ADJUST, @@ -121,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT( \ XXXXXXX , XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ - RESET , XXXXXXX,KC_QWERTY,KC_COLEMAK,CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ + RESET , XXXXXXX, KC_QWERTY, XXXXXXX , CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ XXXXXXX , XXXXXXX,CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, \ XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ @@ -142,17 +141,18 @@ static void render_logo(void) { static void print_status_narrow(void) { // Print current mode - oled_write_P(PSTR("\n\n"), false); + oled_write_P(PSTR("Sofle"), false); + oled_write_P(PSTR("\n\n\n"), false); switch (get_highest_layer(default_layer_state)) { case _QWERTY: - oled_write_ln_P(PSTR("Qwrt"), false); + oled_write_ln_P(PSTR("QWERT"), false); break; default: oled_write_P(PSTR("Undef"), false); } oled_write_P(PSTR("\n\n"), false); // Print current layer - oled_write_ln_P(PSTR("LAYER"), false); + oled_write_ln_P(PSTR("Layer"), false); switch (get_highest_layer(layer_state)) { case _QWERTY: oled_write_P(PSTR("Base\n"), false); @@ -187,7 +187,9 @@ void oled_task_user(void) { } } -#endif + + +#endif // OLED_DRIVER_ENABLE bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { diff --git a/keyboards/sofle/keymaps/killmaster/rules.mk b/keyboards/sofle/keymaps/killmaster/rules.mk index 32ea23334e59..e42f2a29f542 100644 --- a/keyboards/sofle/keymaps/killmaster/rules.mk +++ b/keyboards/sofle/keymaps/killmaster/rules.mk @@ -1,4 +1,11 @@ +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +COMMAND_ENABLE = no # Commands for debug and configuration +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +SWAP_HANDS_ENABLE = no # Enable one-hand typing OLED_DRIVER_ENABLE = yes ENCODER_ENABLE = yes CONSOLE_ENABLE = no @@ -11,3 +18,4 @@ RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = WS2812 SPLIT_KEYBOARD = yes MOUSEKEY_ENABLE = no +POINTING_DEVICE_ENABLE = no From 88a2e03a6bedc4d0f3261a57659275814e6be1ba Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Sat, 22 May 2021 04:48:47 +0100 Subject: [PATCH 10/18] Right OLED with a custom image --- keyboards/sofle/keymaps/killmaster/keymap.c | 85 ++++++++++----------- 1 file changed, 40 insertions(+), 45 deletions(-) diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c index 2533cdf3a3ae..ca42d96c616b 100644 --- a/keyboards/sofle/keymaps/killmaster/keymap.c +++ b/keyboards/sofle/keymaps/killmaster/keymap.c @@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______ , _______ , _______ , RGB_RMOD , RGB_MOD, _______, _______ , _______, _______ , _______ ,_______, \ _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, RGB_TOG, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD,KC_DLINE, 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, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______, \ + _______,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ ), /* ADJUST @@ -130,13 +130,42 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef OLED_DRIVER_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); + static const char PROGMEM bananas_logo[] = { + // 'killmaster_bananas', 128x32px + 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0x02, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, + 0x00, 0x00, 0x80, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x40, 0x40, 0xd8, 0xc8, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x08, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0xf8, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0xc0, 0x40, 0x00, 0x00, 0x40, 0x40, 0xf0, + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00, + 0x40, 0xc0, 0x80, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xf0, + 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, + 0x02, 0x07, 0x0d, 0x10, 0x20, 0x20, 0x00, 0x00, 0x20, 0x20, 0x3f, 0x3f, 0x20, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0x3f, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x20, 0x20, 0x20, + 0x00, 0x00, 0x3f, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x1c, 0x36, 0x22, 0x22, 0x22, + 0x1f, 0x20, 0x00, 0x00, 0x10, 0x23, 0x22, 0x22, 0x26, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x1f, + 0x30, 0x20, 0x20, 0x20, 0x00, 0x00, 0x0f, 0x1f, 0x32, 0x22, 0x22, 0x32, 0x23, 0x00, 0x00, 0x00, + 0x20, 0x3f, 0x21, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, + 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3e, 0x3e, 0x1c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + oled_write_raw_P(bananas_logo, sizeof(bananas_logo)); } static void print_status_narrow(void) { @@ -176,6 +205,9 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (is_keyboard_master()) { return OLED_ROTATION_270; } + else { + return OLED_ROTATION_180; + } return rotation; } @@ -306,43 +338,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { unregister_code(KC_BSPC); } break; - case KC_COPY: - if (record->event.pressed) { - register_mods(mod_config(MOD_LCTL)); - register_code(KC_C); - } else { - unregister_mods(mod_config(MOD_LCTL)); - unregister_code(KC_C); - } - return false; - case KC_PASTE: - if (record->event.pressed) { - register_mods(mod_config(MOD_LCTL)); - register_code(KC_V); - } else { - unregister_mods(mod_config(MOD_LCTL)); - unregister_code(KC_V); - } - return false; - case KC_CUT: - if (record->event.pressed) { - register_mods(mod_config(MOD_LCTL)); - register_code(KC_X); - } else { - unregister_mods(mod_config(MOD_LCTL)); - unregister_code(KC_X); - } - return false; - break; - case KC_UNDO: - if (record->event.pressed) { - register_mods(mod_config(MOD_LCTL)); - register_code(KC_Z); - } else { - unregister_mods(mod_config(MOD_LCTL)); - unregister_code(KC_Z); - } - return false; } return true; } From 14b0fe326e27d20f383547a8a778bf3bee8daf0c Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Mon, 31 May 2021 00:48:24 +0100 Subject: [PATCH 11/18] increased polling rate to 1ms and keys per scan to 12 --- keyboards/sofle/keymaps/killmaster/config.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/keyboards/sofle/keymaps/killmaster/config.h b/keyboards/sofle/keymaps/killmaster/config.h index fb93bba901d3..2e6abe84e324 100644 --- a/keyboards/sofle/keymaps/killmaster/config.h +++ b/keyboards/sofle/keymaps/killmaster/config.h @@ -59,3 +59,6 @@ for more options. #endif #define MEDIA_KEY_DELAY 2 + +#define USB_POLLING_INTERVAL_MS 1 +#define QMK_KEYS_PER_SCAN 12 From a1e203e99b7afba94cba9299a555ddbab1d18edc Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Mon, 31 May 2021 19:34:34 +0100 Subject: [PATCH 12/18] Update keyboards/sofle/rev1/readme.md Co-authored-by: Ryan --- keyboards/sofle/rev1/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/sofle/rev1/readme.md b/keyboards/sofle/rev1/readme.md index 27071e6f3371..629d568e6093 100644 --- a/keyboards/sofle/rev1/readme.md +++ b/keyboards/sofle/rev1/readme.md @@ -16,9 +16,9 @@ Make example for this keyboard (after setting up your build environment): make sofle:default -Flash the default keymap: +Flashing example for this keyboard: - make sofle:default:avrdude + make sofle:default:flash Press reset button on he keyboard when asked. From 2bda9cbeefb4c3d0d6c0c8796dab220e01645175 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Mon, 31 May 2021 19:35:17 +0100 Subject: [PATCH 13/18] Update keyboards/sofle/keymaps/killmaster/keymap.c Co-authored-by: Ryan --- keyboards/sofle/keymaps/killmaster/keymap.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c index ca42d96c616b..7e6383d71b5d 100644 --- a/keyboards/sofle/keymaps/killmaster/keymap.c +++ b/keyboards/sofle/keymaps/killmaster/keymap.c @@ -55,12 +55,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `----------------------------------' '------''---------------------------' */ -[_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_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \ - KC_LGUI,KC_LALT,KC_LCTRL, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTRL, KC_RALT, KC_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_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, + KC_LGUI,KC_LALT,KC_LCTRL, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTRL, KC_RALT, KC_RGUI ), /* LOWER * ,-----------------------------------------. ,-----------------------------------------. From 8f32d3f0119cbfb220fbb117ae1e7b74005c344f Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Mon, 31 May 2021 19:35:31 +0100 Subject: [PATCH 14/18] Update keyboards/sofle/keymaps/killmaster/keymap.c Co-authored-by: Ryan --- keyboards/sofle/keymaps/killmaster/keymap.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c index 7e6383d71b5d..b252389f2e1c 100644 --- a/keyboards/sofle/keymaps/killmaster/keymap.c +++ b/keyboards/sofle/keymaps/killmaster/keymap.c @@ -76,12 +76,12 @@ 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_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, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\ +[_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, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), /* RAISE * ,----------------------------------------. ,-----------------------------------------. From 023c7b89190b07b6243e7c6539cb6807322b332f Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Mon, 31 May 2021 19:35:38 +0100 Subject: [PATCH 15/18] Update keyboards/sofle/keymaps/killmaster/keymap.c Co-authored-by: Ryan --- keyboards/sofle/keymaps/killmaster/keymap.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c index b252389f2e1c..5c88d8799dfa 100644 --- a/keyboards/sofle/keymaps/killmaster/keymap.c +++ b/keyboards/sofle/keymaps/killmaster/keymap.c @@ -97,12 +97,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | |/ / \ \ | | | | | * `----------------------------------' '------''---------------------------' */ -[_RAISE] = LAYOUT( \ - _______, _______ , _______ , _______ , RGB_RMOD , RGB_MOD, _______, _______ , _______, _______ , _______ ,_______, \ - _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, RGB_TOG, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD,KC_DLINE, KC_BSPC, \ - _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC, \ - _______,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ +[_RAISE] = LAYOUT( + _______, _______ , _______ , _______ , RGB_RMOD , RGB_MOD, _______, _______ , _______, _______ , _______ ,_______, + _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, RGB_TOG, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD,KC_DLINE, KC_BSPC, + _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC, + _______,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), /* ADJUST * ,-----------------------------------------. ,-----------------------------------------. From e4776c6b65210d5be1a2700f40b828801dc98a53 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Mon, 31 May 2021 19:35:44 +0100 Subject: [PATCH 16/18] Update keyboards/sofle/keymaps/killmaster/keymap.c Co-authored-by: Ryan --- keyboards/sofle/keymaps/killmaster/keymap.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c index 5c88d8799dfa..1ec78b0998e5 100644 --- a/keyboards/sofle/keymaps/killmaster/keymap.c +++ b/keyboards/sofle/keymaps/killmaster/keymap.c @@ -118,12 +118,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | |/ / \ \ | | | | | * `----------------------------------' '------''---------------------------' */ - [_ADJUST] = LAYOUT( \ - XXXXXXX , XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ - RESET , XXXXXXX, KC_QWERTY, XXXXXXX , CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ - XXXXXXX , XXXXXXX,CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, \ - XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + [_ADJUST] = LAYOUT( + XXXXXXX , XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RESET , XXXXXXX, KC_QWERTY, XXXXXXX , CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX , XXXXXXX,CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, + XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; From 085728508943db12a2f6d9ad74ad425a5c9e6934 Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Mon, 31 May 2021 21:09:37 +0100 Subject: [PATCH 17/18] Cleaned up the rules.mk file --- keyboards/sofle/keymaps/killmaster/rules.mk | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/keyboards/sofle/keymaps/killmaster/rules.mk b/keyboards/sofle/keymaps/killmaster/rules.mk index e42f2a29f542..38d6114506ec 100644 --- a/keyboards/sofle/keymaps/killmaster/rules.mk +++ b/keyboards/sofle/keymaps/killmaster/rules.mk @@ -1,21 +1,4 @@ - -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration -COMMAND_ENABLE = no # Commands for debug and configuration -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -SWAP_HANDS_ENABLE = no # Enable one-hand typing -OLED_DRIVER_ENABLE = yes -ENCODER_ENABLE = yes -CONSOLE_ENABLE = no EXTRAKEY_ENABLE = yes -VIA_ENABLE = no LTO_ENABLE = yes -RGBLIGHT_ENABLE = no -RGBLIGHT_DRIVER = WS2812 RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = WS2812 -SPLIT_KEYBOARD = yes -MOUSEKEY_ENABLE = no -POINTING_DEVICE_ENABLE = no From f41214b6d519d5fae4b54ef950f8d9a133c0ad7f Mon Sep 17 00:00:00 2001 From: Carlos Martins Date: Sat, 5 Jun 2021 03:32:24 +0100 Subject: [PATCH 18/18] Slight layout tweak --- keyboards/sofle/keymaps/killmaster/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c index 1ec78b0998e5..d292c64ab469 100644 --- a/keyboards/sofle/keymaps/killmaster/keymap.c +++ b/keyboards/sofle/keymaps/killmaster/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_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_MINS, 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_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,