diff options
Diffstat (limited to 'keyboards/reviung/reviung41')
-rw-r--r-- | keyboards/reviung/reviung41/config.h | 146 | ||||
-rw-r--r-- | keyboards/reviung/reviung41/info.json | 58 | ||||
-rw-r--r-- | keyboards/reviung/reviung41/keymaps/ciutadellla/config.h | 29 | ||||
-rw-r--r-- | keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c | 333 | ||||
-rw-r--r-- | keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk | 10 | ||||
-rw-r--r-- | keyboards/reviung/reviung41/keymaps/default/keymap.c | 62 | ||||
-rw-r--r-- | keyboards/reviung/reviung41/keymaps/default/readme.md | 1 | ||||
-rw-r--r-- | keyboards/reviung/reviung41/keymaps/via/keymap.c | 54 | ||||
-rw-r--r-- | keyboards/reviung/reviung41/keymaps/via/rules.mk | 3 | ||||
-rw-r--r-- | keyboards/reviung/reviung41/readme.md | 15 | ||||
-rw-r--r-- | keyboards/reviung/reviung41/reviung41.c | 16 | ||||
-rw-r--r-- | keyboards/reviung/reviung41/reviung41.h | 42 | ||||
-rw-r--r-- | keyboards/reviung/reviung41/rules.mk | 18 |
13 files changed, 787 insertions, 0 deletions
diff --git a/keyboards/reviung/reviung41/config.h b/keyboards/reviung/reviung41/config.h new file mode 100644 index 0000000000..967ca791d5 --- /dev/null +++ b/keyboards/reviung/reviung41/config.h @@ -0,0 +1,146 @@ +/* +Copyright 2020 gtips + +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 + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7807 +#define PRODUCT_ID 0xDCCB +#define DEVICE_VER 0x0001 +#define MANUFACTURER gtips +#define PRODUCT reviung41 + +/* key matrix size */ +#define MATRIX_ROWS 7 +#define MATRIX_COLS 6 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS \ + { F4, F5, F6, F7, B1, B3, B2 } +#define MATRIX_COL_PINS \ + { D4, C6, D7, E6, B4, B5 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +// #define BACKLIGHT_PIN B7 +// #define BACKLIGHT_BREATHING +// #define BACKLIGHT_LEVELS 3 + +#define RGB_DI_PIN D3 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 11 + #define RGBLIGHT_HUE_STEP 16 + #define RGBLIGHT_SAT_STEP 16 + #define RGBLIGHT_VAL_STEP 16 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #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 +// /*== customize breathing effect ==*/ +// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +// /*==== use exp() and sin() ====*/ +// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* 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 + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +// #define BOOTMAGIC_LITE_ROW 0 +// #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/reviung/reviung41/info.json b/keyboards/reviung/reviung41/info.json new file mode 100644 index 0000000000..ff9e11b939 --- /dev/null +++ b/keyboards/reviung/reviung41/info.json @@ -0,0 +1,58 @@ +{ + "keyboard_name": "reviung39", + "url": "", + "maintainer": "gtips", + "layouts": { + "LAYOUT_reviung41": { + "layout": [ + {"label":"K00", "x":0, "y":0.54}, + {"label":"K01", "x":1, "y":0.36}, + {"label":"K02", "x":2, "y":0.18}, + {"label":"K03", "x":3, "y":0}, + {"label":"K04", "x":4, "y":0.18}, + {"label":"K05", "x":5, "y":0.36}, + + {"label":"K30", "x":7, "y":0.36}, + {"label":"K31", "x":8, "y":0.18}, + {"label":"K32", "x":9, "y":0}, + {"label":"K33", "x":10, "y":0.18}, + {"label":"K34", "x":11, "y":0.36}, + {"label":"K35", "x":12, "y":0.54}, + + {"label":"K10", "x":0, "y":1.54}, + {"label":"K11", "x":1, "y":1.36}, + {"label":"K12", "x":2, "y":1.18}, + {"label":"K13", "x":3, "y":1}, + {"label":"K14", "x":4, "y":1.18}, + {"label":"K15", "x":5, "y":1.36}, + + {"label":"K40", "x":7, "y":1.36}, + {"label":"K41", "x":8, "y":1.18}, + {"label":"K42", "x":9, "y":1}, + {"label":"K43", "x":10, "y":1.18}, + {"label":"K44", "x":11, "y":1.36}, + {"label":"K45", "x":12, "y":1.54}, + + {"label":"K20", "x":0, "y":2.54}, + {"label":"K21", "x":1, "y":2.36}, + {"label":"K22", "x":2, "y":2.18}, + {"label":"K23", "x":3, "y":2}, + {"label":"K24", "x":4, "y":2.18}, + {"label":"K25", "x":5, "y":2.36}, + + {"label":"K50", "x":7, "y":2.36}, + {"label":"K51", "x":8, "y":2.18}, + {"label":"K52", "x":9, "y":2}, + {"label":"K53", "x":10, "y":2.18}, + {"label":"K54", "x":11, "y":2.36}, + {"label":"K55", "x":12, "y":2.54}, + + {"label":"K60", "x":2.875, "y":3.54, "w":1.25}, + {"label":"K61", "x":4.125, "y":3.54, "w":1.25}, + {"label":"K62", "x":5.375, "y":3.54, "w":2.25}, + {"label":"K63", "x":7.625, "y":3.54, "w":1.25}, + {"label":"K64", "x":8.875, "y":3.54, "w":1.25} + ] + } + } +} diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h b/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h new file mode 100644 index 0000000000..920c317e4b --- /dev/null +++ b/keyboards/reviung/reviung41/keymaps/ciutadellla/config.h @@ -0,0 +1,29 @@ +/* Copyright 2021 @Ciutadellla + * + * 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 +#define RGBLIGHT_LAYERS +#ifdef RGB_DI_PIN + // /*== all animations enable ==*/ + //#define RGBLIGHT_ANIMATIONS + // /*== or choose animations ==*/ + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#endif + +#define TAPPING_TERM 200 +#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c b/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c new file mode 100644 index 0000000000..a35b677197 --- /dev/null +++ b/keyboards/reviung/reviung41/keymaps/ciutadellla/keymap.c @@ -0,0 +1,333 @@ +/* Copyright 2021 @Ciutadellla + * + * 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/>. + */ + + + #include QMK_KEYBOARD_H + + enum layer_names { + _BASE, + _LOWER, + _RAISE, + _MOVE, + _ADJUST + }; + + //UNICODES + #include "process_unicode.h" + + enum unicode_names { + CKC_EUR, + N_TILDE, + COMB_ACUTE_ACCENT, + GRINNING_FACE, // ๐ + BEAMING_FACE, // ๐ + GRINNING_FACE_WITH_SWEAT, // ๐
+ ROLLING_LAUGHING, // ๐คฃ + FACE_TEARS_JOY, // ๐ + WINKING_FACE, // ๐ + SMILING_FACE_HALO, // ๐ + SMILING_FACE_HEARTS, // ๐ฅฐ + SMILING_FACE_HEART_EYES, // ๐ + FACE_BLOWING_KISS, // ๐ + FACE_SAVORING_FOOD, // ๐ + ZANY_FACE, // ๐คช + HUGGING_FACE, // ๐ค + SHUSHING_FACE, // ๐คซ + THINKING_FACE, // ๐ค + FACE_RAISED_EYEBROW, // ๐คจ + NEUTRAL_FACE, // ๐ + SMIRKING_FACE, // ๐ + FACE_ROLLING_EYES, // ๐ + PENSIVE_FACE, // ๐ + FACE_VOMITING, // ๐คฎ + WOOZY_FACE, // ๐ฅด + PLEADING_FACE, // ๐ฅบ + LOUDLY_CRYING_FACE, // ๐ญ + DISAPPOINTED_FACE, // ๐ + FACE_SYMBOLS_MOUTH, // ๐คฌ + SMILING_FACE_HORNS, // ๐ + SKULL, // ๐ + PILE_POO, // ๐ฉ + GHOST, // ๐ป + ALIEN_MONSTER, // ๐พ + RED_HEART, // โค + BOMB, // ๐ฃ + WAVING_HAND, // ๐ + OK_HAND, // ๐ + CLAPPING_HANDS, // ๐ + EYES, // ๐ + MAN_FACEPALMING, // ๐คฆ + TURTLE, // ๐ข + SNAKE, // ๐ + SPOUTING_WHALE, // ๐ณ + DRAGON, // ๐ + TREX, // ๐ฆ + THUMBSDOWN, // ๐ + THUMBSUP, // ๐ + }; + + //https://unicode-table.com/en/#00F1 + const uint32_t PROGMEM unicode_map[] = { + [CKC_EUR] = 0x20AC, //โฌ + [N_TILDE] = 0x00F1, // รฑ + [COMB_ACUTE_ACCENT] = 0x0301, // ยด + [GRINNING_FACE] = 0x1F603, + [BEAMING_FACE] = 0x1F601, + [GRINNING_FACE_WITH_SWEAT] = 0x1F605, + [ROLLING_LAUGHING] = 0x1F923, + [FACE_TEARS_JOY] = 0x1F602, + [WINKING_FACE] = 0x1F609, + [SMILING_FACE_HALO] = 0x1F607, + [SMILING_FACE_HEARTS] = 0x1F970, + [SMILING_FACE_HEART_EYES] = 0x1F60D, + [FACE_BLOWING_KISS] = 0x1F618, + [FACE_SAVORING_FOOD] = 0x1F60B, + [ZANY_FACE] = 0x1F92A, + [HUGGING_FACE] = 0x1F917, + [SHUSHING_FACE] = 0x1F92B, + [THINKING_FACE] = 0x1F914, + [FACE_RAISED_EYEBROW] = 0x1F928, + [NEUTRAL_FACE] = 0x1F610, + [SMIRKING_FACE] = 0x1F60F, + [FACE_ROLLING_EYES] = 0x1F644, + [PENSIVE_FACE] = 0x1F614, + [FACE_VOMITING] = 0x1F92E, + [WOOZY_FACE] = 0x1F974, + [PLEADING_FACE] = 0x1F97A, + [LOUDLY_CRYING_FACE] = 0x1F62D, + [DISAPPOINTED_FACE] = 0x1F61E, + [FACE_SYMBOLS_MOUTH] = 0x1F92C, + [SMILING_FACE_HORNS] = 0x1F608, + [SKULL] = 0x1F480, + [PILE_POO] = 0x1F4A9, + [GHOST] = 0x1F47B, + [ALIEN_MONSTER] = 0x1F47E, + [RED_HEART] = 0x2764, + [BOMB] = 0x1F4A3, + [WAVING_HAND] = 0x1F44B, + [OK_HAND] = 0x1F44C, + [CLAPPING_HANDS] = 0x1F44F, + [EYES] = 0x1F440, + [MAN_FACEPALMING] = 0x1F926, + [TURTLE] = 0x1F422, + [SNAKE] = 0x1F40D, + [SPOUTING_WHALE] = 0x1F433, + [DRAGON] = 0x1F409, + [TREX] = 0x1F996, + [THUMBSDOWN] = 0x1F44E, + [THUMBSUP] = 0x1F44D, + }; + + + void matrix_init_user(){ + set_unicode_input_mode(UC_MAC); + } + + + // Shortcut to make keymap more readable + #define KC_OSX_EJECT 0x66 + #define LOCK_OSX LSFT(LCTL(KC_OSX_EJECT)) + #define SLEEP_OSX LALT(LGUI(KC_OSX_EJECT)) + #define KC_C_LF RCTL(KC_LEFT) // control + left + #define KC_C_RT RCTL(KC_RGHT) // control + right + + // tap dance declarations + enum { + _TD_TAB_ESC = 0, + _TD_BSPC_WDEL, + _TD_SFT_CAPS, + _TD_SPC_ENT, + _TD_N_NTILDE, + _TD_CTRL_LANG, + _TD_SCLN_NTILDE + }; + + #define TD_TAB_ESC TD(_TD_TAB_ESC) + #define TD_BSPC_WDEL TD(_TD_BSPC_WDEL) + #define TD_SFT_CAPS TD(_TD_SFT_CAPS) + #define TD_SPC_ENT TD(_TD_SPC_ENT) + #define TD_N_NTILDE TD(_TD_N_NTILDE) + #define TD_CTRL_LANG TD(_TD_CTRL_LANG) + #define TD_SCLN_NTILDE TD(_TD_SCLN_NTILDE) //TP with costum keycodes has to be a funtion + + void td_scln_ntilde(qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + register_code(KC_SCLN); + unregister_code(KC_SCLN); + } else { + send_unicode_string("รฑ"); + } + reset_tap_dance(state); + } + + // Tap Dance Definitions + qk_tap_dance_action_t tap_dance_actions[] = { + [_TD_TAB_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, KC_ESC), + [_TD_BSPC_WDEL] = ACTION_TAP_DANCE_DOUBLE(KC_BSPC, LALT(KC_BSPC)), + [_TD_SFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), + [_TD_SPC_ENT] = ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT), + [_TD_CTRL_LANG] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, LCTL(LSFT(KC_SPACE))), + [_TD_SCLN_NTILDE] = ACTION_TAP_DANCE_FN(td_scln_ntilde), + }; + + + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + + /* Qwerty 0 + * ,-----------------------------------------+ +-----------------------------------------. + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+------+ +------+------+------+------+------+------| + * |CtlLNG| A | S | D | F | G | | H | J | K | L | ; | " | + * |------+------+------+------+------+------+ +------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | | N | M | , | . | / | Shift| + * |------+------+------+------+------+------+ +------+------+------+------+------+------| + * | GUI | Lower| Space | Raise| Alt | + * +-------------/ \--------------+ + */ + [_BASE] = LAYOUT_reviung41(TD_TAB_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TD_BSPC_WDEL, TD_CTRL_LANG, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD_SCLN_NTILDE, KC_QUOT, TD_SFT_CAPS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), KC_LGUI, MO(1), TD_SPC_ENT, MO(2), LT(4,KC_NO)), + + + /* LOWER 1 + * ,-----------------------------------------+ +-----------------------------------------. + * | Tab | ! | @ | # | $ | % | | ^ | & | * | () | ) | Del | + * |------+------+------+------+------+------+ +------+------+------+------+------+------| + * | Ctl | _ | + | {} | } | | | | LEFT | DOWN | UP | RIGHT| ยด | " | + * |------+------+------+------+------+------+ +------+------+------+------+------+------| + * | Shift| Esc | Gui | Alt | = | "" | | HOME | END | PGUP | PDOWN| / | Shft | + * |------+------+------+------+------+------+ +------+------+------+------+------+------| + * | GUI | Lower| Space | Raise| Alt | + * +-------------/ \--------------+ + */ + [_LOWER] = LAYOUT_reviung41(KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_ESC, KC_LGUI, KC_LALT, KC_LCTL, KC_TRNS, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, MT(MOD_LSFT | MOD_RSFT,KC_SPC), KC_TRNS, KC_TRNS, KC_ENT, MO(3), KC_TRNS), + + /* Raise 2 + * ,-----------------------------------------+ +-----------------------------------------. + * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | DEL | + * |------+------+------+------+------+------+ +------+------+------+------+------+------| + * | | MINS | EQL | LBRC | RBRC | BSLS | | F1 | F2 | F3 | F4 | F5 | F6 | + * |------+------+------+------+------+------+ +------+------+------+------+------+------| + * | | | | | | QUOT | | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------+ +------+------+------+------+------+------| + * | ____ | MO(3)| BSPC | ____ | ____ | + * +-------------/ \--------------+ + */ + + // [_RAISE] = LAYOUT_reviung41( + // KC_TRNS, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_DEL, + // KC_TRNS, KC_LPRN, KC_RPRN, KC_LT, KC_GT, KC_AMPR, KC_PMNS, KC_PPLS, KC_HASH, KC_PERC, KC_COLN, KC_PEQL, + // KC_TRNS, KC_LCBR, KC_RCBR, KC_SLSH, KC_RO, KC_PIPE, KC_PSLS, KC_PAST, KC_PCMM, KC_PDOT, KC_HASH, KC_PENT, + // KC_TRNS, MO(3), KC_BSPC, KC_TRNS, KC_TRNS + // ), + + [_RAISE] = LAYOUT_reviung41( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_P7, KC_P8, KC_P9, KC_P0, KC_PPLS, KC_PMNS, + KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_LT, KC_GT, KC_P4, KC_P5, KC_P6, KC_PERC, KC_PAST, KC_PSLS, + KC_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, KC_P1, KC_P2, KC_P3, KC_PCMM, KC_PDOT, KC_PEQL, + KC_TRNS, MO(3), KC_PENT, KC_TRNS, KC_TRNS + ), + + + /* _MOVE 3 + * ,---------------------------------------------------+ +------------------------------------------. + * | | | | | | | | | WHD | WHU | | | LOCK | + * |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------| + * | | | | | | | | M_L | M_D | M_I | M_R | | SLEEP | + * |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------| + * | | | | | SCRLFT| SCRRGHT | | M_B1 | M_B2| M0 | M2 | | RESET | + * |-------+-------+-------+---------+-------+---------+ +------+------+------+------+------+-------| + * | ____ | ____ | BSPC | ____ | ____ | + * +-------------/ \--------------+ + */ + [_MOVE] = LAYOUT_reviung41(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_ACL2, LOCK_OSX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_ACL0, SLEEP_OSX, KC_F13, KC_F14, KC_F15, KC_F16, KC_C_LF, KC_C_RT, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, KC_BTN5, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + /* _ADJUST 4 + * ,----------------------------------------+ +---------------------------------------------------. + * | ๐ | ๐
| ๐คฃ | ๐ | ๐ | ๐ฅฐ | | RGBUP | HUEUP | RGB_MOD | BRIU | PLAY | VOLU | + * |------+-----+------+------+------+------+ +-------+--------+----------+-------+-------+------| + * | ๐ | ๐ | ๐ | ๐ | ๐ญ | ๐ฉ | | RGBDWN| HUEDWN | RGB_TOG | BRID | STOP | VOLD | + * |------+-----+------+------+------+------+ +-------+--------+----------+--------+------+------| + * | ๐ | ๐ | ๐ | ๐ | ๐คฆ | ๐ป | | RGB_TG| | | | | MUTE | + * |------+------+------+------+------+------+ +-------+--------+----------+--------+------+------| + * | GUI | Lower| BSPC | Raise| Alt | + * +-------------/ \--------------+ + */ + + [_ADJUST] = LAYOUT_reviung41(X(GRINNING_FACE), X(GRINNING_FACE_WITH_SWEAT), X(ROLLING_LAUGHING), X(WINKING_FACE), X(SMILING_FACE_HALO), X(SMILING_FACE_HEARTS), RGB_VAI, RGB_HUI, RGB_MOD, KC_BRIU, KC_MPLY, KC_VOLU, X(SMILING_FACE_HEART_EYES), X(FACE_BLOWING_KISS), X(FACE_ROLLING_EYES), X(PENSIVE_FACE), X(LOUDLY_CRYING_FACE), X(PILE_POO), RGB_VAD, RGB_HUD, RGB_RMOD, KC_BRID, KC_MSTP, KC_VOLD, X(THUMBSUP), X(THUMBSDOWN), X(CLAPPING_HANDS), X(EYES), X(MAN_FACEPALMING), X(GHOST), RGB_TOG, RGB_SAD, RGB_SAI, RGB_SPD, RGB_SPI, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + + }; + + + + #ifdef RGBLIGHT_ENABLE + // RGB LED Indicators + const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 11, HSV_RED} // Light 1 LED, starting with LED 0 + ); + + // RGB LED Indicators + const rgblight_segment_t PROGMEM my_base_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 11, HSV_CYAN} // Light 1 LED, starting with LED 0 + ); + + const rgblight_segment_t PROGMEM my_lower_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 11, HSV_GREEN} // Light 1 LED, starting with LED 1 + ); + + // RGB LED Indicators + const rgblight_segment_t PROGMEM my_rise_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 11, HSV_MAGENTA} // Light 1 LED, starting with LED 0 + ); + + // RGB LED Indicators + const rgblight_segment_t PROGMEM my_MOVE_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 11, HSV_YELLOW} // Light 1 LED, starting with LED 0 + ); + + + // RGB LED Indicators + const rgblight_segment_t PROGMEM my_ADJUST_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 11, HSV_AZURE} // Light 1 LED, starting with LED 0 + ); + + // Now define the array of layers. Later layers take precedence + const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_base_layer, // 0 + my_lower_layer, // 1 + my_rise_layer, // 2 + my_MOVE_layer, // 3 + my_ADJUST_layer, // 4 + my_capslock_layer // 5 + ); + + // Enable the LED layers + void keyboard_post_init_user(void) { + rgblight_layers = my_rgb_layers; + } + + layer_state_t layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(1, layer_state_cmp(state, _LOWER)); + rgblight_set_layer_state(2, layer_state_cmp(state, _RAISE)); + rgblight_set_layer_state(3, layer_state_cmp(state, _MOVE)); + rgblight_set_layer_state(4, layer_state_cmp(state, _ADJUST)); + return state; + } + + bool led_update_user(led_t led_state) { + rgblight_set_layer_state(5, led_state.caps_lock); + return true; + } + #endif + diff --git a/keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk b/keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk new file mode 100644 index 0000000000..eeafc12006 --- /dev/null +++ b/keyboards/reviung/reviung41/keymaps/ciutadellla/rules.mk @@ -0,0 +1,10 @@ +# MCU name +MCU = atmega32u4 +BOOTLOADER = atmel-dfu +MOUSEKEY_ENABLE = yes # Mouse keys +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +UNICODEMAP_ENABLE = yes # Unicode +TAP_DANCE_ENABLE = yes diff --git a/keyboards/reviung/reviung41/keymaps/default/keymap.c b/keyboards/reviung/reviung41/keymaps/default/keymap.c new file mode 100644 index 0000000000..4231e4896b --- /dev/null +++ b/keyboards/reviung/reviung41/keymaps/default/keymap.c @@ -0,0 +1,62 @@ +/* Copyright 2020 gtips + * + * 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/>. + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define ADJUST MO(_ADJUST) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_reviung41( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), + KC_LALT, LOWER, KC_SPC, RAISE, KC_RGUI + ), + + [_LOWER] = LAYOUT_reviung41( + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, KC_TILD, + _______, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, KC_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, RSFT_T(KC_SPC), + _______, _______, KC_ENT, _______, _______ + ), + + [_RAISE] = LAYOUT_reviung41( + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + _______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, KC_QUOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + _______, _______, KC_BSPC, _______, _______ + ), + + [_ADJUST] = LAYOUT_reviung41( + RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, XXXXXXX, _______, _______ + ), +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + diff --git a/keyboards/reviung/reviung41/keymaps/default/readme.md b/keyboards/reviung/reviung41/keymaps/default/readme.md new file mode 100644 index 0000000000..7e8120413e --- /dev/null +++ b/keyboards/reviung/reviung41/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for reviung41 diff --git a/keyboards/reviung/reviung41/keymaps/via/keymap.c b/keyboards/reviung/reviung41/keymaps/via/keymap.c new file mode 100644 index 0000000000..1f0bce741f --- /dev/null +++ b/keyboards/reviung/reviung41/keymaps/via/keymap.c @@ -0,0 +1,54 @@ +/* Copyright 2020 @toastedmangoes + * + * 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/>. + */ +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_reviung41( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), + KC_LGUI, MO(1), KC_SPC, MO(2), LT(3, KC_RALT) + ), + + [_LOWER] = LAYOUT_reviung41( + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, KC_TILD, + _______, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, KC_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, RSFT_T(KC_SPC), + _______, _______, KC_ENT, _______, _______ + ), + + [_RAISE] = LAYOUT_reviung41( + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + _______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, KC_QUOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + _______, _______, KC_BSPC, _______, _______ + ), + + [_ADJUST] = LAYOUT_reviung41( + RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, XXXXXXX, _______, _______ + ), +}; + diff --git a/keyboards/reviung/reviung41/keymaps/via/rules.mk b/keyboards/reviung/reviung41/keymaps/via/rules.mk new file mode 100644 index 0000000000..5ed1ee4706 --- /dev/null +++ b/keyboards/reviung/reviung41/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +RGBLIGHT_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/reviung/reviung41/readme.md b/keyboards/reviung/reviung41/readme.md new file mode 100644 index 0000000000..c8f5146385 --- /dev/null +++ b/keyboards/reviung/reviung41/readme.md @@ -0,0 +1,15 @@ +# reviung41 + +![reviung41](https://github.com/gtips/reviung/blob/master/reviung41/image/reviung41-01.jpg) + +The REVIUNG41 is 41-key column staggered keyboard. + +* Keyboard Maintainer: [gtips](https://github.com/gtips) +* Hardware Supported: REVIUNG41 PCBs, Pro Micro supported +* Hardware Availability: [PCB & Case Data](https://github.com/gtips/reviung/tree/master/reviung41) + +Make example for this keyboard (after setting up your build environment): + + make reviung41: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). diff --git a/keyboards/reviung/reviung41/reviung41.c b/keyboards/reviung/reviung41/reviung41.c new file mode 100644 index 0000000000..05bb42160a --- /dev/null +++ b/keyboards/reviung/reviung41/reviung41.c @@ -0,0 +1,16 @@ +/* Copyright 2020 gtips + * + * 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/>. + */ +#include "reviung41.h" diff --git a/keyboards/reviung/reviung41/reviung41.h b/keyboards/reviung/reviung41/reviung41.h new file mode 100644 index 0000000000..6bc80e8b21 --- /dev/null +++ b/keyboards/reviung/reviung41/reviung41.h @@ -0,0 +1,42 @@ +/* Copyright 2020 gtips + * + * 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 + +#include "quantum.h" + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_reviung41( \ + K00, K01, K02, K03, K04, K05, K30, K31, K32, K33, K34, K35, \ + K10, K11, K12, K13, K14, K15, K40, K41, K42, K43, K44, K45, \ + K20, K21, K22, K23, K24, K25, K50, K51, K52, K53, K54, K55, \ + K60, K61, K62, K63, K64 \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05 }, \ + { K10, K11, K12, K13, K14, K15 }, \ + { K20, K21, K22, K23, K24, K25 }, \ + { K30, K31, K32, K33, K34, K35 }, \ + { K40, K41, K42, K43, K44, K45 }, \ + { K50, K51, K52, K53, K54, K55 }, \ + { K60, K61, K62, K63, K64, KC_NO } \ +} diff --git a/keyboards/reviung/reviung41/rules.mk b/keyboards/reviung/reviung41/rules.mk new file mode 100644 index 0000000000..e4e00e6274 --- /dev/null +++ b/keyboards/reviung/reviung41/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output |