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/mechkeys | |
parent | e736133392fe6427cfb995da0787337189828272 (diff) | |
parent | 2709b6ed616f8012ff4cfd3ee69a822a8d188351 (diff) |
Merge upstream master
Diffstat (limited to 'keyboards/mechkeys')
24 files changed, 1753 insertions, 0 deletions
diff --git a/keyboards/mechkeys/acr60/config.h b/keyboards/mechkeys/acr60/config.h new file mode 100644 index 0000000000..e62c3b2bf4 --- /dev/null +++ b/keyboards/mechkeys/acr60/config.h @@ -0,0 +1,62 @@ +/* Copyright 2017 Ryan Mitchell (@newtmitch) + * + * 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" + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 } +#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3, F4 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +#define LED_CAPS_LOCK_PIN B2 +#define LED_PIN_ON_STATE 0 + +/* number of backlight levels */ +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_LEVELS 5 + +/* 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 + +#define RGB_DI_PIN E2 +#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 +#define RGBLED_NUM 20 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/mechkeys/acr60/keymaps/default/keymap.c b/keyboards/mechkeys/acr60/keymaps/default/keymap.c new file mode 100644 index 0000000000..def790703a --- /dev/null +++ b/keyboards/mechkeys/acr60/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2017 Ryan Mitchell (@newtmitch) + * 2021 James Young for QMK (@noroadsleft) + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, XXXXXXX, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/mechkeys/acr60/keymaps/mitch/keymap.c b/keyboards/mechkeys/acr60/keymaps/mitch/keymap.c new file mode 100644 index 0000000000..7695577836 --- /dev/null +++ b/keyboards/mechkeys/acr60/keymaps/mitch/keymap.c @@ -0,0 +1,169 @@ +#include QMK_KEYBOARD_H + +#define _DFT 0 +#define _NGUI 1 +#define _FN 2 +#define _SFX 3 + +// Fillers to make layering more clear +#define ______ KC_TRNS +#define bbbbbb KC_NO +#define GUIOFF MAGIC_NO_GUI +#define GUION MAGIC_UNNO_GUI + +/* TODO: create handy quick-ref list here for easy grokking of the actual shortcuts in place */ + +/* + * This is Mitch's default ACR60 layout (also DZ60, on which the ACR60 is based). This is a + * Mac-oriented layout, as noted by the GUI keys immediately next to the space bar area of the + * lower modifier row. This uses the LAYOUT_mitchsplit keymap as defined in arc60.h, which + * uses a 3-split space bar and a split right shift. Otherwise it's a standard 60% layout (for + * now). + * + * For me, this is a great place to start getting used to a split key setup and still mostly + * sticking to a standard staggered 60% layout so my entire game isn't thrown off. + * + * Layers (0-based index because we're devs!): + * + * 0: Default QWERTY layer + * Note Fn and Alt keys on the right side of the spacebar, not sure if those are + * normal position but that's what I'm used to at this point. YMMV + * + * 1: Function Layer + * Function keys, Grave Key, Delete, Caps lock on the tab, media keys, and directional + * keys. Also you can hit the Alt key position to switch (and lock) into the 3rd layer + * if you really want to mess with your SFX for a bit. + * + * 2: Special Effects Layer + * RGB and backlight settings access. RGB cycle on "S" key position and if locked into + * the third layer you can hold shift to cycle backwards (see notes below). Bootloader + * access is on this layer. If layer locked, hit right Alt key to get back to layer 0. + * + * The keymap layer definitions below look pretty bad when soft-wrapped by your IDE / text editor. + * Be sure to disable wrapping to make things more readable with lines preserved. + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Layer 0 + * ,-----------------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bksp | + * |-----------------------------------------------------------------------------------------+ + * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | + * |-----------------------------------------------------------------------------------------+ + * | Fn | A | S | D | F | G | H | J | K | L | ; | ' | Enter | + * |-----------------------------------------------------------------------------------------+ + * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN | + * |-----------------------------------------------------------------------------------------+ + * | LCtrl | LAlt | LGUI | Space | Space| Space | RGUI | Fn | RAlt | RCtrl | + * `-----------------------------------------------------------------------------------------' + */ +/* Qwerty gui/alt/space/alt/gui / + * + * Hit MO(_FN) and Alt in that order to lock into the _FN layer. + */ + [_DFT] = LAYOUT_mitchsplit( /* Basic QWERTY */ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ + MO(_FN), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), \ + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, MO(_FN), LT(_SFX, KC_RALT),KC_RCTL \ + ), + +/* Gaming + * ,-----------------------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | |BLOCKED| | | |BLOCKED| | | | + * `-----------------------------------------------------------------------------------------' + */ +/* I disable the GUI / System key for gaming, as usually that's windows and I hit that at the most + * inopportune moments. And games don't use the windows key. I'd use the Bootmagic MAGIC_NO_GUI and + * MAGIC_UNNO_GUI keycodes, but that actually disables it and has it persist beyond disconnection + * of the board. That's less convenient (and more confusing) for me than this approach, which is + * basically just blocking the GUI keys when this layer is active and not letting them flow through + * to the default layer. + */ + /* Layer 2: "special effects": RGB lighting, backlighting, bootloader */ + [_NGUI] = LAYOUT_mitchsplit( + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, bbbbbb, ______, ______, ______, bbbbbb, ______, ______, ______ \ + ), + +/* Fn Layer / Layer 1 + * ,-----------------------------------------------------------------------------------------. + * |KC_GRV| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del | + * |-----------------------------------------------------------------------------------------+ + * | CAPS | | | | | |Home | Pgup| Up | PgDn| End | | | | + * |-----------------------------------------------------------------------------------------+ + * | | Vol-| Vol+| Mute| | | | Left| Down|Right| | | | + * |-----------------------------------------------------------------------------------------+ + * | |Prev |Play |Next | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | LrSfx | | + * `-----------------------------------------------------------------------------------------' + */ +/* + * Pok3r-style layer switching on M and "," keys (_DFT and _NGUI layers, respectively). Note that + * these don't enable/disable those layers (i.e. latching keys), they actually switch to that layer. + * To go to the _NGUI layer, Fn+comma, to go to _DFT from _NGUI, hit Fn+M. + */ + /* Layer 1: Functions, primary layer switching, media controls, directional */ + [_FN] = LAYOUT_mitchsplit( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ + KC_CAPS, bbbbbb, bbbbbb, bbbbbb, bbbbbb, bbbbbb, KC_HOME, KC_PGUP, KC_UP , KC_PGDN, KC_END, bbbbbb, bbbbbb, bbbbbb, \ + ______, KC_VOLD, KC_VOLU, KC_MUTE, bbbbbb, bbbbbb, bbbbbb, KC_LEFT, KC_DOWN, KC_RIGHT, bbbbbb, bbbbbb, ______, \ + ______, KC_MPRV, KC_MPLY, KC_MNXT, bbbbbb, bbbbbb, bbbbbb,TO(_DFT),TO(_NGUI), bbbbbb, bbbbbb, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______,TG(_SFX),______ \ + ), + +/* Special Effects Layer / Layer 2 + * ,-----------------------------------------------------------------------------------------. + * | |Plain|Brth |Rnbw |Swirl|Snake|Knght|Xmas |Grdnt| | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | BL |BLSTEP| BL- | BL+ | | | | | | | | |Bootldr | + * |-----------------------------------------------------------------------------------------+ + * | | RGBT| RGBM| | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | |LrDflt | | + * `-----------------------------------------------------------------------------------------' + */ +/* Tap RAlt to get back to default layer (0). + * + * See https://docs.qmk.fm/feature_rgblight.html#rgblight-keycodes for details about + * RGB codes. Quick summary, though: + * + * RGB_MODE_PLAIN RGB_M_P Switch to the static no animation mode + * RGB_MODE_BREATHE RGB_M_B Switch to the breathing mode + * RGB_MODE_RAINBOW RGB_M_R Switch to the rainbow mode (cycles through colors) + * RGB_MODE_SWIRL RGB_M_SW Switch to the swirl mode (like an animated gradient) + * RGB_MODE_SNAKE RGB_M_SN Switch to the snake mode + * RGB_MODE_KNIGHT RGB_M_K Switch to the knight animation + * RGB_MODE_XMAS RGB_M_X Switch to the Christmas animation + * RGB_MODE_GRADIENT RGB_M_G Switch to the static gradient mode + * + * Note that there are more animation variations, usually timer-based variations, by using the + * "S" key to cycle through modes. Use one of the deciated keys to get to + * the general mode where you want it, then cycle through variations of that mode to get + * something specific more quickly. + */ + /* Layer 2: "special effects": RGB lighting, backlighting, bootloader */ + [_SFX] = LAYOUT_mitchsplit( + ______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,RGB_M_SN,RGB_M_K, RGB_M_X, RGB_M_G,______, ______, ______, ______, ______, \ + ______, BL_TOGG, BL_STEP, BL_DOWN, BL_UP, ______, ______, ______, ______, ______, ______, ______, ______, QK_BOOT, \ + ______, RGB_TOG, RGB_MOD,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______,TO(_DFT),______ \ + ) + +}; diff --git a/keyboards/mechkeys/alu84/config.h b/keyboards/mechkeys/alu84/config.h new file mode 100755 index 0000000000..e1f30c86fb --- /dev/null +++ b/keyboards/mechkeys/alu84/config.h @@ -0,0 +1,70 @@ +/* Copyright 2017 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134 + * + * 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" + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 16 + +/* + * 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 { D0, D1, D2, D3, D5, B7 } +#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, F5, D4, B1, B0, B5, B4, D7, D6, B3, F4, F6 } + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_LEVELS 3 +#define BACKLIGHT_BREATHING + +#define RGB_DI_PIN E2 +#if defined(RGBLIGHT_ENABLE) +# define RGBLED_NUM 16 +# define RGBLIGHT_HUE_STEP 10 +# define RGBLIGHT_SAT_STEP 10 +# define RGBLIGHT_VAL_STEP 10 +# 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 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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 diff --git a/keyboards/mechkeys/alu84/keymaps/default/keymap.c b/keyboards/mechkeys/alu84/keymaps/default/keymap.c new file mode 100755 index 0000000000..7fdbbc6899 --- /dev/null +++ b/keyboards/mechkeys/alu84/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* Copyright 2017 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134 + * 2021 QMK + * + * 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 { + _BL, + _FN1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BL] = LAYOUT_75_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_VOLD, KC_VOLU, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_75_ansi( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, + _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, BL_TOGG, BL_UP, BL_DOWN, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/mechkeys/alu84/keymaps/turbomech/keymap.c b/keyboards/mechkeys/alu84/keymaps/turbomech/keymap.c new file mode 100644 index 0000000000..64ea7c139b --- /dev/null +++ b/keyboards/mechkeys/alu84/keymaps/turbomech/keymap.c @@ -0,0 +1,88 @@ +/* Copyright 2017 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134 + * 2021 QMK + * + * 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 +#include "turbomech.h" + +#define _QWERTY 0 //BASE layer +#define _FUNCTION 1 //Function layer + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* BL + * ,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -. + * | Esc | Scrn | Scrn | Expose |Launchpad| Show |Dock Hide| Screen | Shortcut| Shortcut| Shortcut| Shortcut| Play | Mute | Vol Up | Vol Down| + * | |Brght Up | Brght Dn| | | Desktop | Toggle | Capture | | | | | Pause | | | | + * |- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - - - - - - -+- - - - -| + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspace | POWER | + * | | | | | | | | | | | | | | | | + * |- - - - - - - +- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - - - - +- - - - -| + * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | Shortcut| + * | | | | | | | | | | | | | | | | + * |- - - - - - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - - - - - - - -+- - - - -| + * | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | Enter | Page | + * | | | | | | | | | | | | | | Up | + * |- - - - - - - - - - - +- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - - - - - +- - - - -+- - - - -+ + * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Up | Page | + * | | | | | | | | | | | | | | Down | + * |- - - - - +- - - - - - +- - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -| + * | Control | Option | Gui | Space | Gui | Opt | Fn | Left | Down | Right | + * | | /Alt | | | | Alt | | | | | + * `- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -' + */ + + [_QWERTY] = LAYOUT_75_ansi( + KC_ESC, KC_F14, KC_F15, C(KC_UP), C(KC_L), KC_F11, A(G(KC_D)), C(KC_S), C(S(KC_O)), C(G(KC_1)), C(G(KC_2)), C(G(KC_3)), KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PWR, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, C(G(KC_N)), + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_UP, KC_PGDN, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + +/* FN1 - SEE readme.md + * ,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -. + * | Quit | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Trns | Trns | DFU | + * | All | | | | | | | | | | | | | | | Reset | + * |- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - - - - - - -+- - - - -| + * | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Delete | Lock | + * | | | | | | | | | | | | | | |Shortcut | + * |- - - - - - - +- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - - - - +- - - - -| + * | Trns | RGB | RGB | RGB | RGB | RGB Hue | RGB Hue | RGB Sat | RGB Sat | Trns | Trns | Trns | Trns | Trns | Trns | + * | | Toggle | Mode | Increase| Decrease| Increase| Decrease| Increase| Decrease| | | | | | | + * |- - - - - - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - - - - - - - -+- - - - -| + * | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | + * | | | | | | | | | | | | | | | + * |- - - - - - - - - - - +- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - - - - - +- - - - -+- - - - -+ + * | Trns |Backlight|Backlight|Backlight|Backlight| Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | + * | | Toggle | Increase| Decrease| Step | | | | | | | | | | + * |- - - - - +- - - - - - +- - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -+- - - - -| + * | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | + * | | | | | | | | | | | + * `- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -' + */ + + [_FUNCTION] = LAYOUT_75_ansi( + A(G(KC_Q)), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, C(A(G(KC_S))), + _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, BL_TOGG, BL_UP, BL_DOWN, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/mechkeys/espectro/config.h b/keyboards/mechkeys/espectro/config.h new file mode 100755 index 0000000000..50c0f95184 --- /dev/null +++ b/keyboards/mechkeys/espectro/config.h @@ -0,0 +1,69 @@ +/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134 + * + * 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" + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 13 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B7, B3, E6, F0, D5, D4, D6, C7 } +#define MATRIX_COL_PINS { C6, F1, F4, F5, F6, F7, D7, B4, B5, D0, D1, D2, D3} + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +#define LED_NUM_LOCK_PIN B0 +#define LED_CAPS_LOCK_PIN B2 +#define LED_SCROLL_LOCK_PIN B1 +#define LED_PIN_ON_STATE 0 + +/* number of backlight levels */ +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_LEVELS 5 + +/* 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 + +#define RGB_DI_PIN E2 +#ifdef RGB_DI_PIN +#define RGBLED_NUM 18 +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 10 +#define RGBLIGHT_VAL_STEP 10 + +#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 + + +#endif diff --git a/keyboards/mechkeys/espectro/keymaps/default/keymap.c b/keyboards/mechkeys/espectro/keymaps/default/keymap.c new file mode 100755 index 0000000000..3efe7989a1 --- /dev/null +++ b/keyboards/mechkeys/espectro/keymaps/default/keymap.c @@ -0,0 +1,88 @@ +/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134 + * + * This program is free |