aboutsummaryrefslogtreecommitdiff
path: root/keyboards/espectro
diff options
context:
space:
mode:
authorTurboMech <32869044+TurboMech@users.noreply.github.com>2018-11-04 10:39:58 -0500
committerDrashna Jaelre <drashna@live.com>2018-11-04 07:39:58 -0800
commit3946ea21413b56ad50e55482ff5c43b576adc1d7 (patch)
treec22eca0b3c01b4e65156b47e156dcaafae81ebb7 /keyboards/espectro
parentb5d7bb6154f848e4f3fd3e5d3cc8bbb16a18e093 (diff)
downloadqmk_firmware-3946ea21413b56ad50e55482ff5c43b576adc1d7.tar.gz
qmk_firmware-3946ea21413b56ad50e55482ff5c43b576adc1d7.zip
Keyboard: adding Espectro (#4343)
* added Espectro Added Espectro keyboard from MechKeys.ca * Update keyboards/espectro/config.h Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/config.h Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/config.h Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/espectro.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/espectro.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/espectro.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/espectro.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/espectro.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/espectro.h Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/espectro.h Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/espectro.h Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/default/keymap.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/default/keymap.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/config.h Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/config.h Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/config.h Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/config.h Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/keymap.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/keymap.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/keymap.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/keymap.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/keymap.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/keymap.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/keymap.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/keymap.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/keymap.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/keymaps/mac/keymap.c Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/readme.md Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/readme.md Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/readme.md Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/readme.md Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/rules.mk Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/rules.mk Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/rules.mk Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/rules.mk Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/rules.mk Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/rules.mk Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/rules.mk Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/rules.mk Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/rules.mk Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/rules.mk Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * Update keyboards/espectro/rules.mk Co-Authored-By: TurboMech <32869044+TurboMech@users.noreply.github.com> * fixing Espectro pull request * fixing macros in mac keymap
Diffstat (limited to 'keyboards/espectro')
-rwxr-xr-xkeyboards/espectro/config.h70
-rwxr-xr-xkeyboards/espectro/espectro.c76
-rwxr-xr-xkeyboards/espectro/espectro.h91
-rwxr-xr-xkeyboards/espectro/keymaps/default/keymap.c89
-rw-r--r--keyboards/espectro/keymaps/mac/config.h22
-rw-r--r--keyboards/espectro/keymaps/mac/keymap.c167
-rw-r--r--keyboards/espectro/keymaps/mac/readme.md56
-rw-r--r--keyboards/espectro/readme.md15
-rwxr-xr-xkeyboards/espectro/rules.mk61
9 files changed, 647 insertions, 0 deletions
diff --git a/keyboards/espectro/config.h b/keyboards/espectro/config.h
new file mode 100755
index 000000000..34852df43
--- /dev/null
+++ b/keyboards/espectro/config.h
@@ -0,0 +1,70 @@
1/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0xFEED
23#define PRODUCT_ID 0xCA96
24#define DEVICE_VER 0x0001
25#define MANUFACTURER MECHKEYS
26#define PRODUCT Espectro
27#define DESCRIPTION 96% keyboard
28
29/* key matrix size */
30#define MATRIX_ROWS 8
31#define MATRIX_COLS 13
32
33/* key matrix pins */
34#define MATRIX_ROW_PINS { B7, B3, E6, F0, D5, D4, D6, C7 }
35#define MATRIX_COL_PINS { C6, F1, F4, F5, F6, F7, D7, B4, B5, D0, D1, D2, D3}
36#define UNUSED_PINS
37
38/* COL2ROW or ROW2COL */
39#define DIODE_DIRECTION COL2ROW
40
41/* number of backlight levels */
42#define BACKLIGHT_PIN B6
43#define BACKLIGHT_LEVELS 5
44
45
46/* Set 0 if debouncing isn't needed */
47#define DEBOUNCING_DELAY 5
48
49/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
50#define LOCKING_SUPPORT_ENABLE
51
52/* Locking resynchronize hack */
53#define LOCKING_RESYNC_ENABLE
54
55/* key combination for command */
56#define IS_COMMAND() ( \
57 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
58)
59
60#define RGB_DI_PIN E2
61#ifdef RGB_DI_PIN
62#define RGBLED_NUM 16
63#define RGBLIGHT_HUE_STEP 10
64#define RGBLIGHT_SAT_STEP 10
65#define RGBLIGHT_VAL_STEP 10
66
67#define RGBLIGHT_ANIMATIONS
68
69#endif
70
diff --git a/keyboards/espectro/espectro.c b/keyboards/espectro/espectro.c
new file mode 100755
index 000000000..13030cdd4
--- /dev/null
+++ b/keyboards/espectro/espectro.c
@@ -0,0 +1,76 @@
1/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17
18#include QMK_KEYBOARD_H
19#include "quantum.h"
20
21
22void matrix_scan_kb(void) {
23 // put your looping keyboard code here
24 // runs every cycle (a lot)
25
26 matrix_scan_user();
27}
28
29bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
30 // put your per-action keyboard code here
31 // runs for every action, just before processing by the firmware
32
33 return process_record_user(keycode, record);
34}
35
36void led_set_kb(uint8_t usb_led) {
37 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
38
39 led_set_user(usb_led);
40}
41
42__attribute__ ((weak))
43void led_set_user(uint8_t usb_led) {
44
45 if (usb_led & (1 << USB_LED_NUM_LOCK)) {
46 DDRB |= (1 << 0); PORTB &= ~(1 << 0);
47 } else {
48 DDRB &= ~(1 << 0); PORTB &= ~(1 << 0);
49 }
50
51 if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
52 DDRB |= (1 << 2); PORTB &= ~(1 << 2);
53 } else {
54 DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
55 }
56
57 if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
58 DDRB |= (1 << 1); PORTB &= ~(1 << 1);
59 } else {
60 DDRB &= ~(1 << 1); PORTB &= ~(1 << 1);
61 }
62
63 if (usb_led & (1 << USB_LED_COMPOSE)) {
64
65 } else {
66
67 }
68
69 if (usb_led & (1 << USB_LED_KANA)) {
70
71 } else {
72
73 }
74
75}
76
diff --git a/keyboards/espectro/espectro.h b/keyboards/espectro/espectro.h
new file mode 100755
index 000000000..3d6ea466d
--- /dev/null
+++ b/keyboards/espectro/espectro.h
@@ -0,0 +1,91 @@
1/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17
18#ifndef ESPECTRO_H
19#define ESPECTRO_H
20
21#include "quantum.h"
22
23
24//Arrow keys and 1.75u shift
25#define LAYOUT_default( \
26K000, K001, K002, K003, K004, K600, K601, K602, K603, K005, K006, K007, K008, K702, K009, K010, K011, K012, K712, \
27K100, K101, K102, K103, K104, K604, K605, K606, K607, K105, K106, K107, K108, K701, K109, K110, K111, K112, \
28 K200, K201, K202, K203, K204, K608, K609, K610, K611, K205, K206, K207, K208, K703, K209, K210, K211, K212, \
29 K300, K301, K302, K303, K304, K612, K705, K706, K707, K305, K306, K307, K308, K309, K310, K311, \
30 K400, K402, K403, K404, K708, K709, K710, K711, K405, K406, K407, K408, K704, K409, K410, K411, K412, \
31K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511 \
32) { \
33 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012 }, \
34 { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112 }, \
35 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212 }, \
36 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO }, \
37 { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412 }, \
38 { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, KC_NO }, \
39 { K600, K601, K602, K603, K604, K605, K606, K607, K608, K609, K610, K611, K612 }, \
40 { KC_NO, K701, K702, K703, K704, K705, K706, K707, K708, K709, K710, K711, K712 }, \
41}
42
43// Split numpad (enter, 0), split shifts (right, left), split backspace
44// This is more of an example of every possible keycode placement
45#define LAYOUT_split_shift_and_bs( \
46K000, K001, K002, K003, K004, K600, K601, K602, K603, K005, K006, K007, K008, K702, K009, K010, K011, K012, K712, \
47K100, K101, K102, K103, K104, K604, K605, K606, K607, K105, K106, K107, K108, K700, K701, K109, K110, K111, K112, \
48 K200, K201, K202, K203, K204, K608, K609, K610, K611, K205, K206, K207, K208, K703, K209, K210, K211, K212, \
49 K300, K301, K302, K303, K304, K612, K705, K706, K707, K305, K306, K307, K308, K309, K310, K311, K312, \
50 K400, K401, K402, K403, K404, K708, K709, K710, K711, K405, K406, K407, K408, K704, K409, K410, K411, K412, \
51K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K512 \
52) { \
53 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012 }, \
54 { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112 }, \
55 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212 }, \
56 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312 }, \
57 { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412 }, \
58 { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K512 }, \
59 { K600, K601, K602, K603, K604, K605, K606, K607, K608, K609, K610, K611, K612 }, \
60 { K701, K701, K702, K703, K704, K705, K706, K707, K708, K709, K710, K711, K712 }, \
61}
62
63
64
65
66/*
67Placement of every possible switch defined below.
68x2 means the diode allows two possible positions for the switch
69
70#define LAYOUT_all( \
71K000, K001, K002, K003, K004, K600, K601, K602, K603, K005, K006, K007, K008, K702, K009, K010, K011, K012, K712, \
72K100, K101, K102, K103, K104, K604, K605, K606, K607, K105, K106, K107, K108, K700, K701x2, K109, K110, K111, K112, \
73K200, K201, K202, K203, K204, K608, K609, K610, K611, K205, K206, K207, K208, K703, K209, K210, K211, K212, \
74 K308, K212, \
75K300, K300, K301, K302, K304, K612, K705, K706, K707, K305, K306, K307, K703, K308, K309, K310, K311, K312, \
76K400x2, K401, K402, K403, K404, K708, K709, K710, K711, K405, K406, K407, K408, K408, K704, K409, K410, K411, K412, \
77 K412, \
78K500x2, K501x2, K502, K503x3, K504x3, K505x2, K506x2, K507x2, K508x2, K509, K510x2, K511, K512 \
79) { \
80 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012 }, \
81 { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112 }, \
82 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212 }, \
83 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312 }, \
84 { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412 }, \
85 { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K512 }, \
86 { K600, K601, K602, K603, K604, K605, K606, K607, K608, K609, K610, K611, K612 }, \
87 { K700, K701, K702, K703, K704, K705, K706, K707, K708, K709, K710, K711, K712 }, \
88}
89*/
90
91#endif
diff --git a/keyboards/espectro/keymaps/default/keymap.c b/keyboards/espectro/keymaps/default/keymap.c
new file mode 100755
index 000000000..aeff733fc
--- /dev/null
+++ b/keyboards/espectro/keymaps/default/keymap.c
@@ -0,0 +1,89 @@
1/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17
18#include QMK_KEYBOARD_H
19#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
20
21#define _BL 0 //Base layer
22#define _FN1 1 //Function layer
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25
26/* BL
27____________________________________________________________________________________________________________________________________________________________________________
28| | | | | | | | | | | | | | | | | | | |
29| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | P SCN | HOME | END | P UP | P DOWN | DEL |
30|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
31| | | | | | | | | | | | | | BACK | NUM | | | |
32| ~` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | _ - | = + | SPACE | LOCK | / | * | - |
33|________|________|________|________|________|________|________|________|________|________|________|________|________|_________________|________|________|________|________|
34| | | | | | | | | | | | [ | ] | | | | | |
35| TAB | Q | W | E | R | T | Y | U | I | O | P | { | } | | \ | 7 | 8 | 9 | |
36|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________| + |
37| | | | | | | | | | | ; | ' | | | | | |
38| CAPS LOCK | A | S | D | F | G | H | J | K | L | : | " | ENTER | 4 | 5 | 6 | |
39|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
40| | | | | | | | | , | . | / | | | | | | |
41| SHIFT | Z | X | C | V | B | N | M | < | > | ? | SHIFT | UP | 1 | 2 | 3 | |
42|__________________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________| ENTER |
43| | | | | | | MO | | | | | | |
44| CTRL | LGUI | L ALT | SPACE | R ALT | R CTRL | _FN | LEFT | DOWN | RIGHT | 0 | . | |
45|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
46 */
47
48 [_BL] = LAYOUT_default(
49 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_DEL, KC_PSCR, KC_SLCK, KC_PAUS, KC_PGUP, KC_PGDN,
50 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
51 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_P7, KC_P8, KC_P9, KC_PPLS,
52 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_P4, KC_P5, KC_P6,
53 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
54 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT
55 ),
56
57/* FN_1
58____________________________________________________________________________________________________________________________________________________________________________
59| | | | | | | | | | | | | | | VOL | VOL | NEXT | | |
60| RESET | | | | | | | | | | | | | MUTE | DOWN | UP | TRACK | HOME | END |
61|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
62| | RGB | RGB | RGB | RGB | RGB | RGB | RGB | RGB | | | | | | | | | |
63| | TOGGLE | MODE |INCREASE|DECREASE| HUE | HUE | SAT | | | | | | DELETE | | | | |
64|________|________|________|________|________|INCREASE|DECREASE|INCREASE|DECREASE|________|________|________|________|_________________|________|________|________|________|
65| | BACK | BACK | | | | | | | | | | | | | | | |
66| | LIGHT | LIGHT | | | | | | | | | | | | | | | |
67|____________| TOGGLE |INCREASE|DECREASE|________|________|________|________|________|________|________|________|________|_____________|________|________|________| |
68| | | | | | | | | | | | | | | | | |
69| | | | | | | | | | | | | | | | | |
70|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
71| | | | | | | | | | | | | | | | | |
72| | | | | | | | | | | | | | | | | |
73|__________________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________| |
74| | | | | | | | | | | | | |
75| | | | | | | | | | | | | |
76|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
77 */
78
79 [_FN1] = LAYOUT_default(
80 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_HOME, KC_END,
81 _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______,
82 _______, BL_TOGG, BL_INC, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
83 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
84 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
85 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
86 ),
87
88};
89
diff --git a/keyboards/espectro/keymaps/mac/config.h b/keyboards/espectro/keymaps/mac/config.h
new file mode 100644
index 000000000..a18495221
--- /dev/null
+++ b/keyboards/espectro/keymaps/mac/config.h
@@ -0,0 +1,22 @@
1/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define TAPPING_TOGGLE 2
20
21// place overrides here
22
diff --git a/keyboards/espectro/keymaps/mac/keymap.c b/keyboards/espectro/keymaps/mac/keymap.c
new file mode 100644
index 000000000..4b72ff0aa
--- /dev/null
+++ b/keyboards/espectro/keymaps/mac/keymap.c
@@ -0,0 +1,167 @@
1/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17
18#include QMK_KEYBOARD_H
19
20#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
21
22#define _QWERTY 0 //BASE layer
23#define _FUNCTION 1 //Function layer
24#define _WINDOWS 2 //Windows layer
25
26enum custom_keycodes {
27 PLACEHOLDER = SAFE_RANGE, // can always be here
28 EXPOSE, // Expose (LCTRL + UP)
29 LAUNCH,
30 DOCK,
31 SCRCAP,
32 CS1,
33 CS2,
34 QALL
35};
36
37const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38
39/* Base Layer
40____________________________________________________________________________________________________________________________________________________________________________
41| | SCREEN | SCREEN | | |SHOW | TOGGLE |SCREEN |CUSTOM |CUSTOM |PREVIOUS| PLAY/ | NEXT | | | | | | |
42| ESC |BRIGHTEN| DIM | EXPOSE |LAUNCHPA|DESKTOP | DOCK |CAPTURE |SHORTCUT|SHORTCUT| TRACK | PAUSE | TRACK | MUTE | VOL DN | VOL UP | PG UP |PG DOWN | POWER |
43|________|________|________|________|________|________|________|________|___1____|___2____|________|________|________|________|________|________|________|________|________|
44| | | | | | | | | | | | | | BACK | | | | |
45| ~` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | _ - | = + | SPACE | DELETE | / | * | - |
46|________|________|________|________|________|________|________|________|________|________|________|________|________|_________________|________|________|________|________|
47| | | | | | | | | | | | [ | ] | | | | | |
48| TAB | Q | W | E | R | T | Y | U | I | O | P | { | } | | \ | 7 | 8 | 9 | |
49|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________| + |
50| | | | | | | | | | | ; | ' | | | | | |
51| CAPS LOCK | A | S | D | F | G | H | J | K | L | : | " | ENTER | 4 | 5 | 6 | |
52|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
53| | | | | | | | | , | . | / | | | | | | |
54| SHIFT | Z | X | C | V | B | N | M | < | > | ? | SHIFT | UP | 1 | 2 | 3 | |
55|__________________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________| ENTER |
56| | | | | | | TT | | | | | | |
57| CTRL | L ALT | L GUI | SPACE | R GUI | R CTRL | _FN | LEFT | DOWN | RIGHT | 0 | . | |
58|__________|__________| COMMAND |________________________________________________________|COMMAND |________|________|________|________|________|________|________|________|
59 */
60
61 [_QWERTY] = LAYOUT_default(
62 KC_ESC, KC_F14, KC_F15, EXPOSE, LAUNCH, KC_F11, DOCK, SCRCAP, CS1, CS2, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_PGUP, KC_PGDN, KC_POWER,
63 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_DEL, KC_PSLS, KC_PAST, KC_PMNS,
64 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_P7, KC_P8, KC_P9, KC_PPLS,
65 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_P4, KC_P5, KC_P6,
66 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
67 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, TT(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT
68 ),
69/* FN1 - SEE readme.md
70____________________________________________________________________________________________________________________________________________________________________________
71| | | | | | | | | | | | | | | | | | | |
72| QUIT | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | | HOME | END | RESET |
73|_ALL____|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
74| | RGB | RGB | RGB | RGB | RGB | RGB | RGB | RGB | | | | | | | | | |
75| | TOGGLE | MODE |INCREASE|DECREASE| HUE | HUE | SAT | | | | | | DELETE | | | | |
76|________|________|________|________|________|INCREASE|DECREASE|INCREASE|DECREASE|________|________|________|________|_________________|________|________|________|________|
77| | BACK | BACK | | | | | | | | | | | | | | | |
78| | LIGHT | LIGHT | | | | | | | | | | | | | | | |
79|____________| TOGGLE |INCREASE|DECREASE|________|________|________|________|________|________|________|________|________|_____________|________|________|________| |
80| | | | | | | | | | | | | | | | | |
81| | | | | | | | | | | | | | | | | |
82|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
83| | | | | | | | | | | | | | | | | |
84| | | | | | | | | | | | | | | | | |
85|__________________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________| |
86| | | | | | | | | | | | | |
87| | | | | | | | | | | | | |
88|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
89 */
90
91
92 [_FUNCTION] = LAYOUT_default(
93 QALL, 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_HOME, KC_END, RESET,
94 _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______,
95 _______, BL_TOGG, BL_INC, BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
96 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
97 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
98 _______, _______, _______, _______, _______, TO(2), _______, _______, _______, _______, _______, _______
99
100 ),
101
102/* Windows layer
103____________________________________________________________________________________________________________________________________________________________________________
104| | | | | | | | | | | | | | | | | | | |
105| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DELETE | HOME | END | P UP | P DOWN | MENU |
106|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|________|
107| | | | | | | | | | | | | | BACK | NUM | | | |
108| ~` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | _ - | = + | SPACE | LOCK | / | * | - |
109|________|________|________|________|________|________|________|________|________|________|________|________|________|_________________|________|________|________|________|
110| | | | | | | | | | | | [ | ] | | | | | |
111| TAB | Q | W | E | R | T | Y | U | I | O | P | { | } | | \ | 7 | 8 | 9 | |
112|____________|________|________|________|________|________|________|________|________|________|________|________|________|_____________|________|________|________| + |
113| | | | | | | | | | | ; | ' | | | | | |
114| CAPS LOCK | A | S | D | F | G | H | J | K | L | : | " | ENTER | 4 | 5 | 6 | |
115|______________|________|________|________|________|________|________|________|________|________|________|________|____________________|________|________|________|________|
116| | | | | | | | | , | . | / | | | | | | |
117| SHIFT | Z | X | C | V | B | N | M | < | > | ? | SHIFT | UP | 1 | 2 | 3 | |
118|__________________|________|________|________|________|________|________|________|________|________|________|________________|________|________|________|________| ENTER |
119| | | | | | | TO | | | | | | |
120| L GUI | L ALT | L CTL | SPACE | R CTL | R ALT |LAYER 0 | LEFT | DOWN | RIGHT | 0 | . | |
121|__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________|
122 */
123
124
125 [_WINDOWS] = LAYOUT_default(
126 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_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_MENU,
127 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
128 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_P7, KC_P8, KC_P9, KC_PPLS,
129 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_P4, KC_P5, KC_P6,
130 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
131 KC_LGUI, KC_LALT, KC_LCTL, KC_SPC, KC_RCTL, KC_RALT, TO(0), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT
132 ),
133};
134
135
136
137bool process_record_user(uint16_t keycode, keyrecord_t *record) {
138 if (record->event.pressed) {
139 switch (keycode) {
140 // dynamically generate these.
141 case EXPOSE:
142 SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_UP) SS_UP(X_LCTRL));
143 return false;
144 case LAUNCH:
145 SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_L) SS_UP(X_LCTRL));
146 return false;
147 case DOCK:
148 SEND_STRING(SS_DOWN(X_LALT) SS_DOWN(X_LGUI) SS_TAP(X_D) SS_UP(X_LGUI) SS_UP(X_LALT));
149 return false;
150 case SCRCAP: //screen capture
151 SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_S) SS_UP(X_LCTRL));
152 return false;
153 case CS1: //custom shortcut 1
154 SEND_STRING(SS_DOWN(X_LALT) SS_DOWN(X_LGUI) SS_TAP(X_1) SS_UP(X_LGUI) SS_UP(X_LALT));
155 return false;
156 case CS2: //custom shortcut 2
157 SEND_STRING(SS_DOWN(X_LALT) SS_DOWN(X_LGUI) SS_TAP(X_2) SS_UP(X_LGUI) SS_UP(X_LALT));
158 return false;
159 case QALL: //quit all applications
160 SEND_STRING(SS_DOWN(X_LALT) SS_DOWN(X_LGUI) SS_TAP(X_Q) SS_UP(X_LGUI) SS_UP(X_LALT));
161 return false;
162 }
163 return false;
164 }
165 return true;
166};
167
diff --git a/keyboards/espectro/keymaps/mac/readme.md b/keyboards/espectro/keymaps/mac/readme.md
new file mode 100644
index 000000000..fb6226018
--- /dev/null
+++ b/keyboards/espectro/keymaps/mac/readme.md
@@ -0,0 +1,56 @@
1# This is u/TurboMech's keyboard layout for Espectro.
2
3## It is designed for Mac OS, due to the specific functions created.
4
5### Here is the layout found in the keymap.c file.
6##### I use shortcuts for the Function row (above number row) listed below
7 - Scrn Bright Up: F14
8 - Scrn Bright Down: F15
9 - Expose: LCTRL + Up
10 - Launchpad: LCTRL + L
11 - Show Desktop: F11
12 - Show/Hide Dock: LALT + LGUI + D
13 - Screen Capture: LCTRL + S
14 - Custom Shortcut 1: LCTRL + LGUI + 1
15 - Custom Shortcut 2: LCTRL + LGUI + 2
16 - use the custom shortcuts for whatever you want: launch an application, a macro, etc.
17 - Play/Pause: exactly that
18 - Mute / Volume Up / Volume Down: exactly what it says
19 - QALL: Quit all applications
20
21 ##### Going down the right side from Vol Down:
22 - POWER: this serves as the power button on Mac's only. Press and hold the button as you would on your Macbook or iMac keyboard.
23 - Menu: this slides the notification bar on the right side (its the same as on iPhones/ iPads)
24
25### See below keymaps for how to setup shortcuts on Mac
26
27#### Base Layer
28```
29Needs updating.
30```
31#### Function Layer 1 - See above for shortcuts
32```
33Needs updating
34```
35
36#### How to use/ setup shortcuts on Mac
37- First navigate to System Preferences > Keyboard > Shortcuts
38 - You can use any of them in here
39 - Just set them to the shortcut keys listed above
40
41#### How to make your own (to launch applications, quit all, etc.)
42- Navigate to Automator > New Document > click Service > Choose
43- Now we have to setup our shortcut
44 - Here's how to setup the Quit All Shortcut
45 - In the right window select the Service recieves dropdown > select No Input
46 - At the top left click the Name (Search) > type quit > click and hold Quit All Applications > drag to the right hand box (under the Service Recieves)
47 - **IMPORTANT** You have to click the Run button at the upper right hand corner in order for these to actually work.
48 - Now click File > Save > save it as Quit All Apps (or whatever you want) / you can also just exit out and it'll ask you if you want to save
49- Navigate back to System Preferences > Keyboard > Shortcuts
50 - The new shortcut can be found under services, set it to one of the shortcuts I listed above and done
51- The same applies for applications in the Name (search) just type the application you want to have as shortcut. Don't forget to run it, then do the same steps
52 to set it up as a shortcut.
53
54
55
56
diff --git a/keyboards/espectro/readme.md b/keyboards/espectro/readme.md
new file mode 100644
index 000000000..c4c0edc7f
--- /dev/null
+++ b/keyboards/espectro/readme.md
@@ -0,0 +1,15 @@
1# Espectro
2
3![Espectro](https://cdn.shopify.com/s/files/1/1697/5323/products/IMG_0162_53a5ca83-3ce5-4741-92e8-10f769cf5ee1_1024x1024.jpg?v=1540701787)
4
5A 96% keyboard made and sold by MECHKEYS [More info on MECHKEYS](https://mechkeys.ca).
6
7Keyboard Maintainer: [TurboMech](https://github.com/TurboMech)
8Hardware Supported: Espectro
9Hardware Availability: [MECHKEYS](https://mechkeys.ca)
10
11Make example for this keyboard (after setting up your build environment):
12
13 make espectro:default
14
15See 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/espectro/rules.mk b/keyboards/espectro/rules.mk
new file mode 100755
index 000000000..2c28fe850
--- /dev/null
+++ b/keyboards/espectro/rules.mk
@@ -0,0 +1,61 @@
1# MCU name
2MCU = atmega32u4
3
4# Processor frequency.
5# This will define a symbol, F_CPU, in all source code files equal to the
6# processor frequency in Hz. You can then use this symbol in your source code to
7# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
8# automatically to create a 32-bit value in your source code.
9#
10# This will be an integer division of F_USB below, as it is sourced by
11# F_USB after it has run through any CPU prescalers. Note that this value
12# does not *change* the processor frequency - it should merely be updated to
13# reflect the processor speed set externally so that the code can use accurate
14# software delays.
15F_CPU = 16000000
16
17#
18# LUFA specific
19#
20# Target architecture (see library "Board Types" documentation).
21ARCH = AVR8
22
23# Input clock frequency.
24# This will define a symbol, F_USB, in all source code files equal to the
25# input clock frequency (before any prescaling is performed) in Hz. This value may
26# differ from F_CPU if prescaling is used on the latter, and is required as the
27# raw input clock is fed directly to the PLL sections of the AVR for high speed
28# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
29# at the end, this will be done automatically to create a 32-bit value in your
30# source code.
31#
32# If no clock division is performed on the input clock inside the AVR (via the
33# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
34F_USB = $(F_CPU)
35
36# Bootloader
37# This definition is optional, and if your keyboard supports multiple bootloaders of
38# different sizes, comment this out, and the correct address will be loaded
39# automatically (+60). See bootloader.mk for all options.
40BOOTLOADER = atmel-dfu
41
42# Interrupt driven control endpoint task(+60)
43OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
44
45
46# Boot Section Size in *bytes*
47
48
49# Build Options
50# comment out to disable the options.
51#
52BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
53MOUSEKEY_ENABLE = no # Mouse keys(+4700)
54EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
55CONSOLE_ENABLE = no # Console for debug(+400)
56COMMAND_ENABLE = yes # Commands for debug and configuration
57SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
58NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
59BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
60AUDIO_ENABLE = no
61RGBLIGHT_ENABLE = yes