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: [PATCH] [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/config.h | 21 ++ keyboards/setta21/info.json | 34 +++ keyboards/setta21/keymaps/default/config.h | 23 ++ keyboards/setta21/keymaps/default/keymap.c | 69 ++++++ keyboards/setta21/keymaps/default/readme.md | 38 ++++ 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 + keyboards/setta21/readme.md | 17 ++ keyboards/setta21/rev1/config.h | 67 ++++++ keyboards/setta21/rev1/rev1.c | 25 +++ keyboards/setta21/rev1/rev1.h | 18 ++ keyboards/setta21/rev1/rules.mk | 0 keyboards/setta21/rules.mk | 37 ++++ keyboards/setta21/setta21.c | 1 + keyboards/setta21/setta21.h | 7 + 17 files changed, 646 insertions(+) create mode 100644 keyboards/setta21/config.h create mode 100644 keyboards/setta21/info.json create mode 100644 keyboards/setta21/keymaps/default/config.h create mode 100644 keyboards/setta21/keymaps/default/keymap.c create mode 100644 keyboards/setta21/keymaps/default/readme.md 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 create mode 100644 keyboards/setta21/readme.md create mode 100644 keyboards/setta21/rev1/config.h create mode 100644 keyboards/setta21/rev1/rev1.c create mode 100644 keyboards/setta21/rev1/rev1.h create mode 100644 keyboards/setta21/rev1/rules.mk create mode 100644 keyboards/setta21/rules.mk create mode 100644 keyboards/setta21/setta21.c create mode 100644 keyboards/setta21/setta21.h diff --git a/keyboards/setta21/config.h b/keyboards/setta21/config.h new file mode 100644 index 00000000000..cfb6bf4ffcc --- /dev/null +++ b/keyboards/setta21/config.h @@ -0,0 +1,21 @@ +/* +Copyright 2012 Jun Wako +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 . +*/ + +#pragma once + +#include "config_common.h" diff --git a/keyboards/setta21/info.json b/keyboards/setta21/info.json new file mode 100644 index 00000000000..a1143fb03de --- /dev/null +++ b/keyboards/setta21/info.json @@ -0,0 +1,34 @@ +{ + "keyboard_name": "setta21", + "url": "https://salicylic-acid3.hatenablog.com/", + "maintainer": "Salicylic_acid3", + "width": 18.25, + "height": 6.25, + "layouts": { + "LAYOUT_numpad_6x4": { + "layout": [ + {"label":"ESC", "x":0, "y":0}, + {"label":"F2", "x":1, "y":0}, + {"label":"\uff1d", "x":2, "y":0}, + {"label":"Del", "x":3, "y":0}, + {"label":"Num Lock", "x":0, "y":1.25}, + {"label":"/", "x":1, "y":1.25}, + {"label":"*", "x":2, "y":1.25}, + {"label":"-", "x":3, "y":1.25}, + {"label":"7", "x":0, "y":2.25}, + {"label":"8", "x":1, "y":2.25}, + {"label":"9", "x":2, "y":2.25}, + {"label":"+", "x":3, "y":2.25, "h":2}, + {"label":"4", "x":0, "y":3.25}, + {"label":"5", "x":1, "y":3.25}, + {"label":"6", "x":2, "y":3.25}, + {"label":"1", "x":0, "y":4.25}, + {"label":"2", "x":1, "y":4.25}, + {"label":"3", "x":2, "y":4.25}, + {"label":"Enter", "x":3, "y":4.25, "h":2}, + {"label":"0", "x":0, "y":5.25, "w":2}, + {"label":".", "x":2, "y":5.25} + ] + } + } +} diff --git a/keyboards/setta21/keymaps/default/config.h b/keyboards/setta21/keymaps/default/config.h new file mode 100644 index 00000000000..e35fe2ccd76 --- /dev/null +++ b/keyboards/setta21/keymaps/default/config.h @@ -0,0 +1,23 @@ +/* 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 + diff --git a/keyboards/setta21/keymaps/default/keymap.c b/keyboards/setta21/keymaps/default/keymap.c new file mode 100644 index 00000000000..fa33c08f260 --- /dev/null +++ b/keyboards/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_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), 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/setta21/keymaps/default/readme.md b/keyboards/setta21/keymaps/default/readme.md new file mode 100644 index 00000000000..1028d848c53 --- /dev/null +++ b/keyboards/setta21/keymaps/default/readme.md @@ -0,0 +1,38 @@ +# The default keymap for setta21 + +## Base +| 1 | 2 | 3 | 4 | +|:----------:|:----:|:----:|:----:| +|Adjust , ESC| F2 | = | Del | +| NumLock | / | * | minus| +| 7 | 8 | 9 | | +| 4 | 5 | 6 | + | +| 1 | 2 | 3 | | +| Arrow , 0 | | . | Ent | + + + +## Arrow +| 1 | 2 | 3 | 4 | +|:----------:|:----:|:----:|:----:| +| ESC | F2 | = | Del | +| XXXXX | / | * | minus| +| XXXXX | UP | XXXXX| | +| LEFT | DOWN | RIGHT| + | +| XXXXX | DOWN | XXXXX| | +| Arrow | | . | Ent | + + + + +## 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| | +| XXXXX | | XXXXX| RGB_MOD| + + diff --git a/keyboards/setta21/keymaps/salicylic/config.h b/keyboards/setta21/keymaps/salicylic/config.h new file mode 100644 index 00000000000..44b34aa2fda --- /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 00000000000..d1db2ff9a21 --- /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 00000000000..ad27736d2b9 --- /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 00000000000..be8d10c9a64 --- /dev/null +++ b/keyboards/setta21/keymaps/salicylic/rules.mk @@ -0,0 +1,3 @@ +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = WS2812 + diff --git a/keyboards/setta21/readme.md b/keyboards/setta21/readme.md new file mode 100644 index 00000000000..c940079997f --- /dev/null +++ b/keyboards/setta21/readme.md @@ -0,0 +1,17 @@ +# setta21 + +![setta21](https://cdn-ak.f.st-hatena.com/images/fotolife/S/Salicylic_acid3/20190315/20190315022018.jpg) + +This is 21 keys tenkeypad. + +* Keyboard Maintainer: [Salicylic_acid3](https://github.com/Salicylic-acid3) +* Hardware Supported: setta21 PCB, Pro Micro +* Hardware Availability: [PCB & Case Data](https://github.com/Salicylic-acid3/PCB_Data), [Booth Shop](https://salicylic-acid3.booth.pm/items/1271667) + +Make example for this keyboard (after setting up your build environment): + + make setta21:default + +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). + +[Build guide](https://salicylic-acid3.hatenablog.com/entry/setta21-build-guide) diff --git a/keyboards/setta21/rev1/config.h b/keyboards/setta21/rev1/config.h new file mode 100644 index 00000000000..57451a7e30d --- /dev/null +++ b/keyboards/setta21/rev1/config.h @@ -0,0 +1,67 @@ +/* +Copyright 2012 Jun Wako +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 . +*/ + +#pragma once + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x3060 +#define DEVICE_VER 0x0011 +#define MANUFACTURER Salicylic_Acid +#define PRODUCT setta21 +#define DESCRIPTION A custom tenkeypad + +/* 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 } + +/* 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_ANIMATIONS + +#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 diff --git a/keyboards/setta21/rev1/rev1.c b/keyboards/setta21/rev1/rev1.c new file mode 100644 index 00000000000..3c0823870b9 --- /dev/null +++ b/keyboards/setta21/rev1/rev1.c @@ -0,0 +1,25 @@ +#include "rev1.h" + +#ifdef RGB_MATRIX_ENABLE + led_config_t g_led_config = { { + // Key Matrix to LED Index + { 14,13, 7, 6, 0,20 }, + { 12, 8, 5, 1,19 }, + { 15,11, 9, 4, 2,18 }, + { 16, 10, 3,17 } + }, { + // LED Index to Physical Position + { 0, 179 }, { 21, 179 }, { 43, 179 }, { 64, 179 }, { 43, 134 }, { 21, 134 }, { 0, 134 }, { 0, 90 }, { 21, 90 }, { 43, 90 }, + { 64, 112 }, { 43, 45 }, { 21, 45 }, { 0, 45 }, { 11, 0 }, { 43, 0 }, { 64, 23 }, { 64, 224 }, { 43, 224 }, { 21, 224 }, + { 0, 224 } + }, { + // LED Index to Flag + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4 +} }; +#endif + +void matrix_init_kb(void) { + matrix_init_user(); +}; diff --git a/keyboards/setta21/rev1/rev1.h b/keyboards/setta21/rev1/rev1.h new file mode 100644 index 00000000000..772c843c57f --- /dev/null +++ b/keyboards/setta21/rev1/rev1.h @@ -0,0 +1,18 @@ +#pragma once + +#include "setta21.h" + +#define LAYOUT_numpad_6x4( \ + L05, L15, L25, L35, \ + L04, L14, L24, L34, \ + L03, L13, L23, \ + L02, L12, L22, L32, \ + L01, L11, L21, \ + L00, L20, L30 \ + ) \ + { \ + { L00, L01, L02, L03, L04, L05 }, \ + {KC_NO, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30,KC_NO, L32,KC_NO, L34, L35 } \ + } diff --git a/keyboards/setta21/rev1/rules.mk b/keyboards/setta21/rev1/rules.mk new file mode 100644 index 00000000000..e69de29bb2d diff --git a/keyboards/setta21/rules.mk b/keyboards/setta21/rules.mk new file mode 100644 index 00000000000..f9c41063434 --- /dev/null +++ b/keyboards/setta21/rules.mk @@ -0,0 +1,37 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# ATmega32A bootloadHID +# ATmega328P USBasp +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +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 +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +TAP_DANCE_ENABLE = no +OLED_DRIVER_ENABLE = yes +USE_I2C = no +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +DEFAULT_FOLDER = setta21/rev1 + +LAYOUTS = numpad_6x4 diff --git a/keyboards/setta21/setta21.c b/keyboards/setta21/setta21.c new file mode 100644 index 00000000000..73c07682f7c --- /dev/null +++ b/keyboards/setta21/setta21.c @@ -0,0 +1 @@ +#include "setta21.h" diff --git a/keyboards/setta21/setta21.h b/keyboards/setta21/setta21.h new file mode 100644 index 00000000000..0409f6cbc28 --- /dev/null +++ b/keyboards/setta21/setta21.h @@ -0,0 +1,7 @@ +#pragma once + +#include "quantum.h" + +#ifdef KEYBOARD_setta21_rev1 + #include "rev1.h" +#endif