diff options
author | lokher <lokher@gmail.com> | 2022-12-06 17:04:10 +0800 |
---|---|---|
committer | lokher <lokher@gmail.com> | 2022-12-06 17:04:10 +0800 |
commit | 27fc28fd2ff52e079a5bc58d6aaea4c752420615 (patch) | |
tree | 7ac943fb1ba4f430a7220efd18f66f6a77205c30 /keyboards/salicylic_acid3/setta21 | |
parent | e736133392fe6427cfb995da0787337189828272 (diff) | |
parent | 2709b6ed616f8012ff4cfd3ee69a822a8d188351 (diff) |
Merge upstream master
Diffstat (limited to 'keyboards/salicylic_acid3/setta21')
4 files changed, 375 insertions, 0 deletions
diff --git a/keyboards/salicylic_acid3/setta21/keymaps/default/keymap.c b/keyboards/salicylic_acid3/setta21/keymaps/default/keymap.c new file mode 100644 index 0000000000..37a92a8afc --- /dev/null +++ b/keyboards/salicylic_acid3/setta21/keymaps/default/keymap.c @@ -0,0 +1,69 @@ +#include QMK_KEYBOARD_H + + +#ifdef RGBLIGHT_ENABLE +//Following line allows macro to read current RGB settings +extern rgblight_config_t rgblight_config; +#endif + +extern uint8_t is_master; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_number { + _BASE, + _ARROW, + _ADJUST, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_numpad_6x4( + //,-----------------------------------| +LT(_ADJUST,KC_ESC), KC_F2, KC_EQL, KC_DEL, + //|--------+--------+--------+--------| + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + //|--------+--------+--------+--------| + KC_P7, KC_P8, KC_P9, + //|--------+--------+--------+--------| + KC_P4, KC_P5, KC_P6, KC_PPLS, + //|--------+--------+--------+--------| + KC_P1, KC_P2, KC_P3, + //|--------+--------+--------+--------| +LT(_ARROW, KC_P0), KC_PDOT,KC_PENT + //`-----------------------------------' + ), + + [_ARROW] = LAYOUT_numpad_6x4( + //,-----------------------------------| + KC_ESC, _______, _______, _______, + //|--------+--------+--------+--------| + XXXXXXX, _______, _______, _______, + //|--------+--------+--------+--------| + XXXXXXX, KC_UP, XXXXXXX, + //|--------+--------+--------+--------| + KC_LEFT, KC_DOWN,KC_RIGHT, _______, + //|--------+--------+--------+--------| + XXXXXXX, KC_DOWN, XXXXXXX, + //|--------+--------+--------+--------| + MO(_ARROW), _______, _______ + //`-----------------------------------' + ), + + [_ADJUST] = LAYOUT_numpad_6x4( /* Base */ + //,-----------------------------------| + MO(_ADJUST), _______, _______, _______, + //|--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------| + RGB_SAD, RGB_SAI, XXXXXXX, + //|--------+--------+--------+--------| + RGB_HUD, RGB_HUI, XXXXXXX, RGB_TOG, + //|--------+--------+--------+--------| + RGB_VAD, RGB_VAI, XXXXXXX, + //|--------+--------+--------+--------| + XXXXXXX, XXXXXXX, RGB_MOD + //`-----------------------------------' + ) +}; diff --git a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h new file mode 100644 index 0000000000..26607eca89 --- /dev/null +++ b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h @@ -0,0 +1,38 @@ +/* Copyright 2018 Salicylic_acid3 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +/* Select hand configuration */ + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 180 + +#define RGB_MATRIX_LED_COUNT RGBLED_NUM + +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_KEYPRESSES // reacts to keypresses +// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) +// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) +// # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 +# define RGB_MATRIX_HUE_STEP 8 +# define RGB_MATRIX_SAT_STEP 8 +# define RGB_MATRIX_LIMIT_VAL 50 +# define RGB_MATRIX_VAL_STEP 5 +# define RGB_MATRIX_SPD_STEP 10 +#endif diff --git a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c new file mode 100644 index 0000000000..e117d26eee --- /dev/null +++ b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/keymap.c @@ -0,0 +1,198 @@ +#include QMK_KEYBOARD_H +#include "keymap_japanese.h" + + +#ifdef RGBLIGHT_ENABLE +//Following line allows macro to read current RGB settings +extern rgblight_config_t rgblight_config; +#endif + +extern uint8_t is_master; + +#ifdef OLED_ENABLE +static uint32_t oled_timer = 0; +#endif + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_number { + _BASE = 0, + _ARROW, + _MACRO, + _ADJUST, +}; + +enum custom_keycodes { + RGB_RST = SAFE_RANGE, + SEND_SUM, + SEND_AVE, + SEND_CIF, + SEND_MAX, + SEND_MIN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_numpad_6x4( + //,-----------------------------------| + KC_ESC, KC_F2, JP_EQL, KC_DEL, + //|--------+--------+--------+--------| + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + //|--------+--------+--------+--------| + KC_P7, KC_P8, KC_P9, + //|--------+--------+--------+--------| + KC_P4, KC_P5, KC_P6, KC_PPLS, + //|--------+--------+--------+--------| + KC_P1, KC_P2, KC_P3, + //|--------+--------+--------+--------| +LT(_ARROW, KC_P0),LT(_MACRO, KC_PDOT),KC_PENT + //`-----------------------------------' + ), + + [_ARROW] = LAYOUT_numpad_6x4( + //,-----------------------------------| + _______, _______, _______, _______, + //|--------+--------+--------+--------| + XXXXXXX, _______, _______, _______, + //|--------+--------+--------+--------| + XXXXXXX, KC_UP, XXXXXXX, + //|--------+--------+--------+--------| + KC_LEFT, KC_DOWN,KC_RIGHT, _______, + //|--------+--------+--------+--------| + XXXXXXX, KC_DOWN, XXXXXXX, + //|--------+--------+--------+--------| + MO(_ARROW), MO(_MACRO), _______ + //`-----------------------------------' + ), + + [_MACRO] = LAYOUT_numpad_6x4( + //,-----------------------------------| + _______, _______, _______, _______, + //|--------+--------+--------+--------| + SEND_MIN,SEND_MAX,SEND_CIF,SEND_AVE, + //|--------+--------+--------+--------| + KC_F7, KC_F8, KC_F9, + //|--------+--------+--------+--------| + KC_F4, KC_F5, KC_F6,SEND_SUM, + //|--------+--------+--------+--------| + KC_F11, KC_F12, KC_F3, + //|--------+--------+--------+--------| + _______, _______, JP_RPRN + //`-----------------------------------' + ), + + [_ADJUST] = LAYOUT_numpad_6x4( /* Base */ + //,-----------------------------------| + _______, _______, _______, _______, + //|--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------| + RGB_SAD, RGB_SAI, XXXXXXX, + //|--------+--------+--------+--------| + RGB_HUD, RGB_HUI, XXXXXXX, RGB_TOG, + //|--------+--------+--------+--------| + RGB_VAD, RGB_VAI, XXXXXXX, + //|--------+--------+--------+--------| + _______, _______, RGB_MOD + //`-----------------------------------' + ) +}; + + +//A description for expressing the layer position in LED mode. +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _ARROW, _MACRO, _ADJUST); +} + +int RGB_current_mode; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + bool result = false; + if (record->event.pressed) { + #ifdef OLED_ENABLE + oled_timer = timer_read32(); + #endif + } + switch (keycode) { + case SEND_SUM: + if (record->event.pressed) { + SEND_STRING("_SUM*"); + } + break; + case SEND_AVE: + if (record->event.pressed) { + SEND_STRING("_AVERAGE*"); + } + break; + case SEND_CIF: + if (record->event.pressed) { + SEND_STRING("_COUNTIF*"); + } + break; + case SEND_MAX: + if (record->event.pressed) { + SEND_STRING("_MAX*"); + } + break; + case SEND_MIN: + if (record->event.pressed) { + SEND_STRING("_MIN*"); + } + break; + #ifdef RGBLIGHT_ENABLE + case RGB_MOD: + if (record->event.pressed) { + rgblight_mode(RGB_current_mode); + rgblight_step(); + RGB_current_mode = rgblight_config.mode; + } + break; + case RGB_RST: + if (record->event.pressed) { + eeconfig_update_rgblight_default(); + rgblight_enable(); + RGB_current_mode = rgblight_config.mode; + } + break; + #endif + default: + result = true; + break; + } + + return result; +} + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_0; } + + +void render_layer_state(void) { + oled_write_P(PSTR("LAYER: "), false); + oled_write_P(PSTR(" Arrow "), layer_state_is(_ARROW)); + oled_write_P(PSTR(" Macro "), layer_state_is(_MACRO)); +} + +void render_keylock_status(uint8_t led_usb_state) { + oled_write_P(PSTR("NumLock"), led_usb_state & (1 << USB_LED_NUM_LOCK)); + oled_write_P(PSTR(" "), false); +} + +void render_layer_messages(void) { + oled_write_P(PSTR("Setta21 For Your Good Job. "), false); +} + + +void render_status(void) { + /* Show Keyboard Layout */ + render_layer_messages(); + render_keylock_status(host_keyboard_leds()); + render_layer_state(); +} + +bool oled_task_user(void) { + render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + return false; +} + +#endif diff --git a/keyboards/salicylic_acid3/setta21/rev1/config.h b/keyboards/salicylic_acid3/setta21/rev1/config.h new file mode 100644 index 0000000000..ead666ca71 --- /dev/null +++ b/keyboards/salicylic_acid3/setta21/rev1/config.h @@ -0,0 +1,70 @@ +/* +Copyright 2012 Jun Wako <wakojun@gmail.com> +Copyright 2015 Jack Humbert + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#pragma once + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 6 + +// wiring of each half +#define MATRIX_ROW_PINS { D4, C6, D7, E6 } +#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 } + +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* ws2812 RGB LED */ +#define RGB_DI_PIN D3 + +#define RGBLED_NUM 21 // Number of LEDs +#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 + +#ifndef IOS_DEVICE_ENABLE + #define RGBLIGHT_LIMIT_VAL 180 + #define RGBLIGHT_VAL_STEP 17 +#else + #define RGBLIGHT_LIMIT_VAL 50 + #define RGBLIGHT_VAL_STEP 4 +#endif +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 + +#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) + #define USB_MAX_POWER_CONSUMPTION 400 +#else + // fix iPhone and iPad power adapter issue + // iOS device need lessthan 100 + #define USB_MAX_POWER_CONSUMPTION 100 +#endif |