diff options
Diffstat (limited to 'keyboards/boston_meetup')
-rw-r--r-- | keyboards/boston_meetup/2019/2019.c | 98 | ||||
-rw-r--r-- | keyboards/boston_meetup/2019/2019.h | 19 | ||||
-rw-r--r-- | keyboards/boston_meetup/2019/config.h | 167 | ||||
-rw-r--r-- | keyboards/boston_meetup/2019/info.json | 9 | ||||
-rw-r--r-- | keyboards/boston_meetup/2019/keymaps/default/keymap.c | 147 | ||||
-rw-r--r-- | keyboards/boston_meetup/2019/keymaps/default/readme.md | 51 | ||||
-rw-r--r-- | keyboards/boston_meetup/2019/readme.md | 13 | ||||
-rw-r--r-- | keyboards/boston_meetup/2019/rules.mk | 25 | ||||
-rw-r--r-- | keyboards/boston_meetup/boston_meetup.c | 2 | ||||
-rw-r--r-- | keyboards/boston_meetup/boston_meetup.h | 19 | ||||
-rw-r--r-- | keyboards/boston_meetup/config.h | 59 | ||||
-rw-r--r-- | keyboards/boston_meetup/readme.md | 14 | ||||
-rw-r--r-- | keyboards/boston_meetup/rules.mk | 2 |
13 files changed, 625 insertions, 0 deletions
diff --git a/keyboards/boston_meetup/2019/2019.c b/keyboards/boston_meetup/2019/2019.c new file mode 100644 index 000000000..e558048f6 --- /dev/null +++ b/keyboards/boston_meetup/2019/2019.c | |||
@@ -0,0 +1,98 @@ | |||
1 | /* Copyright 2019 ishtob | ||
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 | #include "2019.h" | ||
17 | |||
18 | #ifdef RGB_MATRIX_ENABLE | ||
19 | #include "rgb_matrix.h" | ||
20 | |||
21 | led_config_t g_led_config = { { | ||
22 | { 5, NO_LED, NO_LED, 0 }, | ||
23 | { NO_LED, NO_LED, NO_LED, NO_LED }, | ||
24 | { 4, NO_LED, NO_LED, 1 }, | ||
25 | { 3, NO_LED, NO_LED, 2 } | ||
26 | }, { | ||
27 | { 188, 16 }, { 187, 48 }, { 149, 64 }, { 112, 64 }, { 37, 48 }, { 38, 16 } | ||
28 | }, { | ||
29 | 4, 4, 4, 4, 4, 4 | ||
30 | } }; | ||
31 | #endif | ||
32 | |||
33 | #ifdef OLED_ENABLE | ||
34 | oled_rotation_t oled_init_kb(oled_rotation_t rotation) { return OLED_ROTATION_180; } | ||
35 | |||
36 | bool oled_task_kb(void) { | ||
37 | if (!oled_task_user()) { | ||
38 | return false; | ||
39 | } | ||
40 | oled_write_P(PSTR("BOSTON MK LAYER"), false); | ||
41 | oled_advance_char(); | ||
42 | oled_write_char(get_highest_layer(layer_state) + 0x30, true); | ||
43 | |||
44 | led_t led_state = host_keyboard_led_state(); | ||
45 | oled_set_cursor(18, 0); | ||
46 | oled_write_P(PSTR("NUM"), led_state.num_lock); | ||
47 | oled_set_cursor(18, 1); | ||
48 | oled_write_P(PSTR("CAP"), led_state.caps_lock); | ||
49 | oled_set_cursor(18, 2); | ||
50 | oled_write_P(PSTR("SCR"), led_state.scroll_lock); | ||
51 | |||
52 | uint8_t mod_state = get_mods(); | ||
53 | oled_set_cursor(10, 3); | ||
54 | oled_write_P(PSTR("S"), mod_state & MOD_MASK_SHIFT); | ||
55 | oled_advance_char(); | ||
56 | oled_write_P(PSTR("C"), mod_state & MOD_MASK_CTRL); | ||
57 | oled_advance_char(); | ||
58 | oled_write_P(PSTR("A"), mod_state & MOD_MASK_ALT); | ||
59 | oled_advance_char(); | ||
60 | oled_write_P(PSTR("G"), mod_state & MOD_MASK_GUI); | ||
61 | oled_advance_char(); | ||
62 | |||
63 | /* Matrix display is 12 x 12 pixels */ | ||
64 | #define MATRIX_DISPLAY_X 8 | ||
65 | #define MATRIX_DISPLAY_Y 16 | ||
66 | |||
67 | // matrix | ||
68 | for (uint8_t x = 0; x < MATRIX_ROWS; x++) { | ||
69 | for (uint8_t y = 0; y < MATRIX_COLS; y++) { | ||
70 | bool on = (matrix_get_row(x) & (1 << y)) > 0; | ||
71 | |||
72 | // force on for oled location | ||
73 | if((x == 0) && (y >= (MATRIX_COLS - 2))) on = 1; | ||
74 | |||
75 | oled_write_pixel(MATRIX_DISPLAY_X + y + y + 2, MATRIX_DISPLAY_Y + x + x + 2, on); | ||
76 | oled_write_pixel(MATRIX_DISPLAY_X + y + y + 3, MATRIX_DISPLAY_Y + x + x + 2, on); | ||
77 | oled_write_pixel(MATRIX_DISPLAY_X + y + y + 2, MATRIX_DISPLAY_Y + x + x + 3, on); | ||
78 | oled_write_pixel(MATRIX_DISPLAY_X + y + y + 3, MATRIX_DISPLAY_Y + x + x + 3, on); | ||
79 | } | ||
80 | } | ||
81 | |||
82 | // outline | ||
83 | for (uint8_t x = 0; x < 12; x++) { | ||
84 | oled_write_pixel(MATRIX_DISPLAY_X + x, MATRIX_DISPLAY_Y, true); | ||
85 | oled_write_pixel(MATRIX_DISPLAY_X + x, MATRIX_DISPLAY_Y + 12, true); | ||
86 | } | ||
87 | for (uint8_t y = 0; y < 12; y++) { | ||
88 | oled_write_pixel(MATRIX_DISPLAY_X, MATRIX_DISPLAY_Y+y, true); | ||
89 | oled_write_pixel(MATRIX_DISPLAY_X + 12, MATRIX_DISPLAY_Y+y, true); | ||
90 | } | ||
91 | |||
92 | // bodge for layer number left hand side | ||
93 | for (uint8_t y = 0; y < 8; y++) { | ||
94 | oled_write_pixel(95, 0 + y, true); | ||
95 | } | ||
96 | return false; | ||
97 | } | ||
98 | #endif | ||
diff --git a/keyboards/boston_meetup/2019/2019.h b/keyboards/boston_meetup/2019/2019.h new file mode 100644 index 000000000..fbba5c315 --- /dev/null +++ b/keyboards/boston_meetup/2019/2019.h | |||
@@ -0,0 +1,19 @@ | |||
1 | /* Copyright 2019 ishtob | ||
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 | #pragma once | ||
17 | |||
18 | #include "boston_meetup.h" | ||
19 | |||
diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h new file mode 100644 index 000000000..80896242e --- /dev/null +++ b/keyboards/boston_meetup/2019/config.h | |||
@@ -0,0 +1,167 @@ | |||
1 | #pragma once | ||
2 | |||
3 | /* USB Device descriptor parameter */ | ||
4 | #define DEVICE_VER 0x07E3 | ||
5 | |||
6 | #undef MATRIX_ROWS | ||
7 | #undef MATRIX_COLS | ||
8 | /* key matrix size */ | ||
9 | #define MATRIX_ROWS 4 | ||
10 | #define MATRIX_COLS 4 | ||
11 | |||
12 | /* | ||
13 | * Keyboard Matrix Assignments | ||
14 | * | ||
15 | * Change this to how you wired your keyboard | ||
16 | * COLS: AVR pins used for columns, left to right | ||
17 | * ROWS: AVR pins used for rows, top to bottom | ||
18 | * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | ||
19 | * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | ||
20 | * | ||
21 | */ | ||
22 | |||
23 | #undef MATRIX_ROW_PINS | ||
24 | #undef MATRIX_COL_PINS | ||
25 | |||
26 | #define MATRIX_ROW_PINS { A3, B8, B9, B1 } | ||
27 | #define MATRIX_COL_PINS { A7, A8, B2, B10 } | ||
28 | |||
29 | #define ENCODERS_PAD_A { B13 } | ||
30 | #define ENCODERS_PAD_B { B14 } | ||
31 | |||
32 | //Audio | ||
33 | #undef AUDIO_VOICES | ||
34 | #undef AUDIO_PIN | ||
35 | #define AUDIO_PIN A5 | ||
36 | #define AUDIO_PIN_ALT A4 | ||
37 | #define AUDIO_PIN_ALT_AS_NEGATIVE | ||
38 | |||
39 | #ifdef AUDIO_ENABLE | ||
40 | #define STARTUP_SONG SONG(ONE_UP_SOUND) | ||
41 | // #define STARTUP_SONG SONG(NO_SOUND) | ||
42 | |||
43 | #define AUDIO_CLICKY | ||
44 | /* to enable clicky on startup */ | ||
45 | //#define AUDIO_CLICKY_ON | ||
46 | #define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f | ||
47 | #endif | ||
48 | |||
49 | // configure oled driver for the 128x32 oled | ||
50 | #define OLED_UPDATE_INTERVAL 33 // ~30fps | ||
51 | |||
52 | /* | ||
53 | * Keyboard Matrix Assignments | ||
54 | * | ||
55 | * Change this to how you wired your keyboard | ||
56 | * COLS: AVR pins used for columns, left to right | ||
57 | * ROWS: AVR pins used for rows, top to bottom | ||
58 | * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | ||
59 | * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | ||
60 | * | ||
61 | */ | ||
62 | |||
63 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
64 | #define DEBOUNCE 6 | ||
65 | |||
66 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
67 | //#define LOCKING_SUPPORT_ENABLE | ||
68 | /* Locking resynchronize hack */ | ||
69 | //#define LOCKING_RESYNC_ENABLE | ||
70 | |||
71 | /* | ||
72 | * Force NKRO | ||
73 | * | ||
74 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
75 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
76 | * makefile for this to work.) | ||
77 | * | ||
78 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
79 | * until the next keyboard reset. | ||
80 | * | ||
81 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
82 | * fully operational during normal computer usage. | ||
83 | * | ||
84 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
85 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
86 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
87 | * power-up. | ||
88 | * | ||
89 | */ | ||
90 | //#define FORCE_NKRO | ||
91 | |||
92 | /* | ||
93 | * Feature disable options | ||
94 | * These options are also useful to firmware size reduction. | ||
95 | */ | ||
96 | |||
97 | /* disable debug print */ | ||
98 | //#define NO_DEBUG | ||
99 | |||
100 | /* disable print */ | ||
101 | //#define NO_PRINT | ||
102 | |||
103 | /* disable action features */ | ||
104 | //#define NO_ACTION_LAYER | ||
105 | //#define NO_ACTION_TAPPING | ||
106 | //#define NO_ACTION_ONESHOT | ||
107 | //#define NO_ACTION_MACRO | ||
108 | //#define NO_ACTION_FUNCTION | ||
109 | |||
110 | /* Haptic Driver initialization settings | ||
111 | * Feedback Control Settings */ | ||
112 | #define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ | ||
113 | #define FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ | ||
114 | #define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ | ||
115 | |||
116 | /* default 3V ERM vibration motor voltage and library*/ | ||
117 | #if FB_ERM_LRA == 0 | ||
118 | #define RATED_VOLTAGE 3 | ||
119 | #define V_RMS 2.3 | ||
120 | #define V_PEAK 3.30 | ||
121 | /* Library Selection */ | ||
122 | #define LIB_SELECTION 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ | ||
123 | |||
124 | /* default 2V LRA voltage and library */ | ||
125 | #elif FB_ERM_LRA == 1 | ||
126 | #define RATED_VOLTAGE 2 | ||
127 | #define V_RMS 2.0 | ||
128 | #define V_PEAK 2.85 | ||
129 | #define F_LRA 200 | ||
130 | /* Library Selection */ | ||
131 | #define LIB_SELECTION 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ | ||
132 | |||
133 | #endif | ||
134 | |||
135 | /* Control 1 register settings */ | ||
136 | #define DRIVE_TIME 25 | ||
137 | #define AC_COUPLE 0 | ||
138 | #define STARTUP_BOOST 1 | ||
139 | |||
140 | /* Control 2 Settings */ | ||
141 | #define BIDIR_INPUT 1 | ||
142 | #define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ | ||
143 | #define SAMPLE_TIME 3 | ||
144 | #define BLANKING_TIME 1 | ||
145 | #define IDISS_TIME 1 | ||
146 | |||
147 | /* Control 3 settings */ | ||
148 | #define NG_THRESH 2 | ||
149 | #define ERM_OPEN_LOOP 1 | ||
150 | #define SUPPLY_COMP_DIS 0 | ||
151 | #define DATA_FORMAT_RTO 0 | ||
152 | #define LRA_DRIVE_MODE 0 | ||
153 | #define N_PWM_ANALOG 0 | ||
154 | #define LRA_OPEN_LOOP 0 | ||
155 | /* Control 4 settings */ | ||
156 | #define ZC_DET_TIME 0 | ||
157 | #define AUTO_CAL_TIME 3 | ||
158 | |||
159 | #define RGBLIGHT_ANIMATIONS | ||
160 | |||
161 | #define RGBLED_NUM 10 | ||
162 | #define RGB_DI_PIN B5 | ||
163 | #define DRIVER_LED_TOTAL RGBLED_NUM | ||
164 | |||
165 | #define RGB_MATRIX_KEYPRESSES | ||
166 | |||
167 | #define SOLENOID_PIN A14 | ||
diff --git a/keyboards/boston_meetup/2019/info.json b/keyboards/boston_meetup/2019/info.json new file mode 100644 index 000000000..53beef5a8 --- /dev/null +++ b/keyboards/boston_meetup/2019/info.json | |||
@@ -0,0 +1,9 @@ | |||
1 | { | ||
2 | "keyboard_name": "Boston Meetup 2019", | ||
3 | "url": "", | ||
4 | "maintainer": "qmk", | ||
5 | "layouts": { | ||
6 | "LAYOUT": { | ||
7 | "layout": [{"label":"K00", "x":0, "y":0}, {"label":"K10", "x":0, "y":1}, {"label":"K11", "x":1, "y":1}, {"label":"K12", "x":2, "y":1}, {"label":"K13", "x":3, "y":1}, {"label":"K20", "x":0, "y":2}, {"label":"K21", "x":1, "y":2}, {"label":"K22", "x":2, "y":2}, {"label":"K23", "x":3, "y":2}, {"label":"K30", "x":0, "y":3}, {"label":"K31", "x":1, "y":3}, {"label":"K32", "x":2, "y":3}, {"label":"K33", "x":3, "y":3}] } | ||
8 | } | ||
9 | } | ||
diff --git a/keyboards/boston_meetup/2019/keymaps/default/keymap.c b/keyboards/boston_meetup/2019/keymaps/default/keymap.c new file mode 100644 index 000000000..666624b18 --- /dev/null +++ b/keyboards/boston_meetup/2019/keymaps/default/keymap.c | |||
@@ -0,0 +1,147 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
4 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
5 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
6 | // entirely and just use numbers. | ||
7 | |||
8 | enum custom_layers { | ||
9 | _BASE, | ||
10 | _LOWER, | ||
11 | _RAISE, | ||
12 | _ADJUST | ||
13 | }; | ||
14 | |||
15 | enum custom_keycodes { | ||
16 | LOWER = SAFE_RANGE, | ||
17 | RAISE, | ||
18 | }; | ||
19 | |||
20 | // Custom macros | ||
21 | #define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl | ||
22 | #define CTL_TTAB CTL_T(KC_TAB) // Tap for Esc, hold for Ctrl | ||
23 | #define CTL_ENT CTL_T(KC_ENT) // Tap for Enter, hold for Ctrl | ||
24 | #define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift | ||
25 | // Requires KC_TRNS/_______ for the trigger key in the destination layer | ||
26 | #define LT_MC(kc) LT(_MOUSECURSOR, kc) // L-ayer T-ap M-ouse C-ursor | ||
27 | #define LT_RAI(kc) LT(_RAISE, kc) // L-ayer T-ap to Raise | ||
28 | |||
29 | |||
30 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
31 | |||
32 | /* Base | ||
33 | * ,------. | ||
34 | * | Esc | | ||
35 | * |------+------+-------------. | ||
36 | * | : | 7 | 8 | 9 | | ||
37 | * |------+------+------+------| | ||
38 | * | RAISE| 4 | 5 | 6 | | ||
39 | * |------+------+------+------| | ||
40 | * | LOWER| 1 | 2 | 3 | | ||
41 | * `---------------------------' | ||
42 | */ | ||
43 | [_BASE] = LAYOUT( | ||
44 | KC_ESC, | ||
45 | KC_COLN, KC_P7, KC_P8, KC_P9, | ||
46 | RAISE, KC_P4, KC_P5, KC_P6, | ||
47 | LOWER, KC_P1, KC_P2, KC_P3 | ||
48 | ), | ||
49 | |||
50 | /* Lower | ||
51 | * ,------. | ||
52 | * | Nmlk | | ||
53 | * |------+------+-------------. | ||
54 | * | : | / | * | - | | ||
55 | * |------+------+------+------| | ||
56 | * | | | = | + | | ||
57 | * |------+------+------+------| | ||
58 | * | | 0 | . | ENT | | ||
59 | * `---------------------------' | ||
60 | */ | ||
61 | [_LOWER] = LAYOUT( | ||
62 | KC_NLCK, | ||
63 | KC_COLN, KC_PSLS, KC_PAST, KC_PMNS, | ||
64 | _______, XXXXXXX, KC_EQL, KC_PPLS, | ||
65 | _______, KC_P0, KC_PDOT, KC_PENT | ||
66 | ), | ||
67 | |||
68 | /* Raise | ||
69 | * ,------. | ||
70 | * | Esc | | ||
71 | * |------+------+-------------. | ||
72 | * |RGB TG|RGB M+|RGB M-| | | ||
73 | * |------+------+------+------| | ||
74 | * | |RGB H+|RGB S+|RGB V+| | ||
75 | * |------+------+------+------| | ||
76 | * | ` |RGB H-|RGB S-|RGB V-| | ||
77 | * `---------------------------' | ||
78 | */ | ||
79 | [_RAISE] = LAYOUT( | ||
80 | KC_NLCK, | ||
81 | RGB_TOG, RGB_MOD, RGB_RMOD, XXXXXXX, | ||
82 | _______, RGB_HUI, RGB_SAI, RGB_VAI, | ||
83 | _______, RGB_HUD, RGB_SAD, RGB_VAD | ||
84 | |||
85 | ), | ||
86 | |||
87 | /* Adjust | ||
88 | * ,------. | ||
89 | * | DFU | | ||
90 | * |------+------+-------------. | ||
91 | * |HPT TG|HPT FB|HPT RS| BKSP | | ||
92 | * |------+------+------+------| | ||
93 | * | |HPT M+| | | | ||
94 | * |------+------+------+------| | ||
95 | * | |HPT M-|Clk TG| Del | | ||
96 | * `---------------------------' | ||
97 | */ | ||
98 | [_ADJUST] = LAYOUT( | ||
99 | RESET, | ||
100 | HPT_TOG, HPT_FBK, HPT_RST, KC_BSPC, | ||
101 | _______, HPT_MODI, XXXXXXX, XXXXXXX, | ||
102 | _______, HPT_MODD, CK_TOGG, KC_DEL | ||
103 | ), | ||
104 | |||
105 | |||
106 | }; | ||
107 | |||
108 | layer_state_t layer_state_set_user(layer_state_t state) { | ||
109 | return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); | ||
110 | } | ||
111 | |||
112 | |||
113 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
114 | switch (keycode) { | ||
115 | case LOWER: | ||
116 | if (record->event.pressed) { | ||
117 | //not sure how to have keyboard check mode and set it to a variable, so my work around | ||
118 | //uses another variable that would be set to true after the first time a reactive key is pressed. | ||
119 | layer_on(_LOWER); | ||
120 | } else { | ||
121 | layer_off(_LOWER); | ||
122 | } | ||
123 | return false; | ||
124 | break; | ||
125 | case RAISE: | ||
126 | if (record->event.pressed) { | ||
127 | //not sure how to have keyboard check mode and set it to a variable, so my work around | ||
128 | //uses another variable that would be set to true after the first time a reactive key is pressed. | ||
129 | layer_on(_RAISE); | ||
130 | } else { | ||
131 | layer_off(_RAISE); | ||
132 | } | ||
133 | return false; | ||
134 | break; | ||
135 | } | ||
136 | return true; | ||
137 | } | ||
138 | |||
139 | bool music_mask_user(uint16_t keycode) { | ||
140 | switch (keycode) { | ||
141 | case RAISE: | ||
142 | case LOWER: | ||
143 | return false; | ||
144 | default: | ||
145 | return true; | ||
146 | } | ||
147 | } | ||
diff --git a/keyboards/boston_meetup/2019/keymaps/default/readme.md b/keyboards/boston_meetup/2019/keymaps/default/readme.md new file mode 100644 index 000000000..75f80b519 --- /dev/null +++ b/keyboards/boston_meetup/2019/keymaps/default/readme.md | |||
@@ -0,0 +1,51 @@ | |||
1 | # The Default Boston Meetup 2019 board Layout | ||
2 | |||
3 | Keymap: | ||
4 | ``` | ||
5 | Base | ||
6 | ,------. | ||
7 | | Esc | | ||
8 | |------+------+-------------. | ||
9 | | : | 7 | 8 | 9 | | ||
10 | |------+------+------+------| | ||
11 | | RAISE| 4 | 5 | 6 | | ||
12 | |------+------+------+------| | ||
13 | | LOWER| 1 | 2 | 3 | | ||
14 | `---------------------------' | ||
15 | |||
16 | Lower | ||
17 | ,------. | ||
18 | | Nmlk | | ||
19 | |------+------+-------------. | ||
20 | | : | / | * | - | | ||
21 | |------+------+------+------| | ||
22 | | | | = | + | | ||
23 | |------+------+------+------| | ||
24 | | | 0 | . | ENT | | ||
25 | `---------------------------' | ||
26 | |||
27 | Raise | ||
28 | ,------. | ||
29 | | Esc | | ||
30 | |------+------+-------------. | ||
31 | |RGB TG|RGB M+|RGB M-| | | ||
32 | |------+------+------+------| | ||
33 | | |RGB H+|RGB S+|RGB V+| | ||
34 | |------+------+------+------| | ||
35 | | |RGB H-|RGB S-|RGB V-| | ||
36 | `---------------------------' | ||
37 | |||
38 | Adjust: | ||
39 | ,------. | ||
40 | | DFU | | ||
41 | |------+------+-------------. | ||
42 | |HPT TG|HPT FB|HPT RS| BKSP | | ||
43 | |------+------+------+------| | ||
44 | | |HPT M+| | | | ||
45 | |------+------+------+------| | ||
46 | | |HPT M-|Clk TG| Del | | ||
47 | `---------------------------' | ||
48 | |||
49 | ``` | ||
50 | |||
51 | RGB still work in progress \ No newline at end of file | ||
diff --git a/keyboards/boston_meetup/2019/readme.md b/keyboards/boston_meetup/2019/readme.md new file mode 100644 index 000000000..2bdac9dcd --- /dev/null +++ b/keyboards/boston_meetup/2019/readme.md | |||
@@ -0,0 +1,13 @@ | |||
1 | # Boston Meetup 2019 Macropad | ||
2 | |||
3 |  | ||
4 | |||
5 | Limited-run board designed for Boston MK community meetup 2019. | ||
6 | |||
7 | Keyboard Maintainer: [ishtob](https://github.com/ishtob), [QMK](https://github.com/qmk) | ||
8 | |||
9 | Make example for this keyboard (after setting up your build environment): | ||
10 | |||
11 | make boston_meetup/2019:default | ||
12 | |||
13 | 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). \ No newline at end of file | ||
diff --git a/keyboards/boston_meetup/2019/rules.mk b/keyboards/boston_meetup/2019/rules.mk new file mode 100644 index 000000000..69919a16c --- /dev/null +++ b/keyboards/boston_meetup/2019/rules.mk | |||
@@ -0,0 +1,25 @@ | |||
1 | # MCU name | ||
2 | MCU = STM32F303 | ||
3 | BOARD = QMK_PROTON_C | ||
4 | |||
5 | # Bootloader selection | ||
6 | BOOTLOADER = stm32-dfu | ||
7 | |||
8 | # Build Options | ||
9 | # change yes to no to disable | ||
10 | # | ||
11 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
12 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
13 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
14 | CONSOLE_ENABLE = no # Console for debug | ||
15 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
16 | NKRO_ENABLE = yes # Enable N-Key Rollover | ||
17 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
18 | AUDIO_ENABLE = yes # Audio output | ||
19 | RGBLIGHT_ENABLE = no | ||
20 | RGB_MATRIX_ENABLE = no | ||
21 | RGB_MATRIX_DRIVER = WS2812 | ||
22 | HAPTIC_ENABLE = yes | ||
23 | HAPTIC_DRIVER = DRV2605L | ||
24 | OLED_ENABLE = yes | ||
25 | OLED_DRIVER = SSD1306 | ||
diff --git a/keyboards/boston_meetup/boston_meetup.c b/keyboards/boston_meetup/boston_meetup.c new file mode 100644 index 000000000..a9201ac85 --- /dev/null +++ b/keyboards/boston_meetup/boston_meetup.c | |||
@@ -0,0 +1,2 @@ | |||
1 | #include "boston_meetup.h" | ||
2 | |||
diff --git a/keyboards/boston_meetup/boston_meetup.h b/keyboards/boston_meetup/boston_meetup.h new file mode 100644 index 000000000..e1d9d9206 --- /dev/null +++ b/keyboards/boston_meetup/boston_meetup.h | |||
@@ -0,0 +1,19 @@ | |||
1 | #pragma once | ||
2 | |||
3 | #ifdef KEYBOARD_boston_meetup_2019 | ||
4 | #include "2019.h" | ||
5 | #define LAYOUT( \ | ||
6 | K00, \ | ||
7 | K10, K11, K12, K13, \ | ||
8 | K20, K21, K22, K23, \ | ||
9 | K30, K31, K32, K33 \ | ||
10 | ) \ | ||
11 | { \ | ||
12 | { K00, KC_NO, KC_NO, KC_NO }, \ | ||
13 | { K10, K11, K12, K13 }, \ | ||
14 | { K20, K21, K22, K23 }, \ | ||
15 | { K30, K31, K32, K33 } \ | ||
16 | } | ||
17 | #endif | ||
18 | |||
19 | #include "quantum.h" \ No newline at end of file | ||
diff --git a/keyboards/boston_meetup/config.h b/keyboards/boston_meetup/config.h new file mode 100644 index 000000000..013b0b148 --- /dev/null +++ b/keyboards/boston_meetup/config.h | |||
@@ -0,0 +1,59 @@ | |||
1 | /* | ||
2 | Copyright 2012 Jun Wako <[email protected]> | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #pragma once | ||
19 | |||
20 | #include "config_common.h" | ||
21 | |||
22 | /* USB Device descriptor parameter */ | ||
23 | #define VENDOR_ID 0xFB30 | ||
24 | #define PRODUCT_ID 0x26BE | ||
25 | #define MANUFACTURER ishtob | ||
26 | #define PRODUCT Boston Meetup Board | ||
27 | |||
28 | //#define AUDIO_VOICES | ||
29 | |||
30 | //#define BACKLIGHT_PIN B7 | ||
31 | |||
32 | /* COL2ROW or ROW2COL */ | ||
33 | #define DIODE_DIRECTION COL2ROW | ||
34 | |||
35 | /* define if matrix has ghost */ | ||
36 | //#define MATRIX_HAS_GHOST | ||
37 | |||
38 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
39 | //#define LOCKING_SUPPORT_ENABLE | ||
40 | /* Locking resynchronize hack */ | ||
41 | //#define LOCKING_RESYNC_ENABLE | ||
42 | |||
43 | /* | ||
44 | * Feature disable options | ||
45 | * These options are also useful to firmware size reduction. | ||
46 | */ | ||
47 | |||
48 | /* disable debug print */ | ||
49 | //#define NO_DEBUG | ||
50 | |||
51 | /* disable print */ | ||
52 | //#define NO_PRINT | ||
53 | |||
54 | /* disable action features */ | ||
55 | //#define NO_ACTION_LAYER | ||
56 | //#define NO_ACTION_TAPPING | ||
57 | //#define NO_ACTION_ONESHOT | ||
58 | //#define NO_ACTION_MACRO | ||
59 | //#define NO_ACTION_FUNCTION | ||
diff --git a/keyboards/boston_meetup/readme.md b/keyboards/boston_meetup/readme.md new file mode 100644 index 000000000..2fa1ec958 --- /dev/null +++ b/keyboards/boston_meetup/readme.md | |||
@@ -0,0 +1,14 @@ | |||
1 | # Boston Meetup Macropads | ||
2 | |||
3 |  | ||
4 | |||
5 | Limited-run boards designed for Boston MK community meetups. | ||
6 | |||
7 | Keyboard Maintainer: [ishtob](https://github.com/ishtob), [QMK](https://github.com/qmk) | ||
8 | Hardware Supported: Boston Meetup PCB 2018, 2019 | ||
9 | |||
10 | Make example for this keyboard (after setting up your build environment): | ||
11 | |||
12 | make boston_meetup/YYYY:default | ||
13 | |||
14 | 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). \ No newline at end of file | ||
diff --git a/keyboards/boston_meetup/rules.mk b/keyboards/boston_meetup/rules.mk new file mode 100644 index 000000000..6dd899edc --- /dev/null +++ b/keyboards/boston_meetup/rules.mk | |||
@@ -0,0 +1,2 @@ | |||
1 | |||
2 | DEFAULT_FOLDER = boston_meetup/2019 | ||