From 12ea2e3649459a008e4ebb8efa8ba82005ffc218 Mon Sep 17 00:00:00 2001 From: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Wed, 13 Nov 2019 16:01:14 +0900 Subject: [Keyboard] Add keyboard Setta21 (#7320) * [Keyboard] Add keyboard Setta21 Add Setta21 keyboard. A 21 keys Tenkey. Salicylic-acid3 * Update keyboards/setta21/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/info.json Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/rev1/rev1.h Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Keymap Update Removed the keymap matrix_init_user. Changed the declaration of DRIVER_LED_TOTAL. * Update keyboards/setta21/readme.md Co-Authored-By: fauxpark * Update keyboards/setta21/readme.md Co-Authored-By: fauxpark * Update keyboards/setta21/readme.md Co-Authored-By: fauxpark * Update keyboards/setta21/readme.md Co-Authored-By: fauxpark * Update keyboards/setta21/rev1/rev1.h Co-Authored-By: fauxpark * Update keyboards/setta21/rules.mk Co-Authored-By: fauxpark * Update keyboards/setta21/rules.mk Co-Authored-By: fauxpark * Update keyboards/setta21/rules.mk Co-Authored-By: fauxpark * Update keyboards/setta21/rules.mk Co-Authored-By: fauxpark * Update keyboards/setta21/rev1/rev1.c Co-Authored-By: fauxpark * Update keyboards/setta21/rev1/rev1.h Co-Authored-By: fauxpark * Update Keymap Removed OLED sleep timer in keymap. * Update keyboards/setta21/rev1/rev1.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> --- keyboards/setta21/keymaps/salicylic/config.h | 40 ++++++ keyboards/setta21/keymaps/salicylic/keymap.c | 197 ++++++++++++++++++++++++++ keyboards/setta21/keymaps/salicylic/readme.md | 49 +++++++ keyboards/setta21/keymaps/salicylic/rules.mk | 3 + 4 files changed, 289 insertions(+) create mode 100644 keyboards/setta21/keymaps/salicylic/config.h create mode 100644 keyboards/setta21/keymaps/salicylic/keymap.c create mode 100644 keyboards/setta21/keymaps/salicylic/readme.md create mode 100644 keyboards/setta21/keymaps/salicylic/rules.mk (limited to 'keyboards/setta21/keymaps/salicylic') diff --git a/keyboards/setta21/keymaps/salicylic/config.h b/keyboards/setta21/keymaps/salicylic/config.h new file mode 100644 index 000000000..44b34aa2f --- /dev/null +++ b/keyboards/setta21/keymaps/salicylic/config.h @@ -0,0 +1,40 @@ +/* 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 . + */ + +#pragma once + +/* Select hand configuration */ + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 180 + +#define DRIVER_LED_TOTAL 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_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 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/setta21/keymaps/salicylic/keymap.c b/keyboards/setta21/keymaps/salicylic/keymap.c new file mode 100644 index 000000000..d1db2ff9a --- /dev/null +++ b/keyboards/setta21/keymaps/salicylic/keymap.c @@ -0,0 +1,197 @@ +#include QMK_KEYBOARD_H +#include "keymap_jp.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_DRIVER_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_NLCK, 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_DRIVER_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_DRIVER_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(); +} + +void oled_task_user(void) { + render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) +} + +#endif diff --git a/keyboards/setta21/keymaps/salicylic/readme.md b/keyboards/setta21/keymaps/salicylic/readme.md new file mode 100644 index 000000000..ad27736d2 --- /dev/null +++ b/keyboards/setta21/keymaps/salicylic/readme.md @@ -0,0 +1,49 @@ +# The salicylic keymap for setta21 + +## Base +| 1 | 2 | 3 | 4 | +|:----------:|:----:|:---------:|:----:| +| ESC | F2 | = | Del | +| NumLock | / | * | minus| +| 7 | 8 | 9 | | +| 4 | 5 | 6 | + | +| 1 | 2 | 3 | | +| Arrow , 0 | | Macro , . | Ent | + + + +## Arrow +| 1 | 2 | 3 | 4 | +|:----------:|:----:|:-----:|:----:| +| ESC | F2 | = | Del | +| XXXXX | / | * | minus| +| XXXXX | UP | XXXXX | | +| LEFT | DOWN | RIGHT | + | +| XXXXX | DOWN | XXXXX | | +| Arrow | | Macro | Ent | + + + +## Macro +| 1 | 2 | 3 | 4 | +|:----------:|:------:|:---------:|:--------:| +| ESC | F2 | = | Del | +| =MIN( | =MAX( | =COUNTIF( | =AVERAGE(| +| F7 | F8 | F9 | | +| F4 | F5 | F6 | =SUM( | +| F11 | F12 | F3 | | +| Arrow | | Macro | ) | + + + +## Adjust +| 1 | 2 | 3 | 4 | +|:----------:|:-----:|:----:|:------:| +| Adjust | F2 | = | Del | +| XXXXX | XXXXX | XXXXX| XXXXX | +| XXXXX |RGB_SAI| XXXXX| | +| LEFT |RGB_HUI| XXXXX| RGB_TOG| +| RGB_VAD |RGB_VAI| XXXXX| | +| Arrow | | Macro| RGB_MOD| + + diff --git a/keyboards/setta21/keymaps/salicylic/rules.mk b/keyboards/setta21/keymaps/salicylic/rules.mk new file mode 100644 index 000000000..be8d10c9a --- /dev/null +++ b/keyboards/setta21/keymaps/salicylic/rules.mk @@ -0,0 +1,3 @@ +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = WS2812 + -- cgit v1.2.3