diff options
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/bradpad.c | 15 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/bradpad.h | 32 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/config.h | 19 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/info.json | 28 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/keymaps/4brad/config.h | 20 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/keymaps/4brad/keymap.c | 148 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/keymaps/4brad/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/keymaps/default/keymap.c | 24 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/keymaps/midi_demo/config.h | 20 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/keymaps/midi_demo/keymap.c | 42 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/keymaps/midi_demo/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/keymaps/via/keymap.c | 50 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/keymaps/via/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/readme.md | 32 | ||||
| -rw-r--r-- | keyboards/tempo_turtle/bradpad/rules.mk | 23 |
15 files changed, 456 insertions, 0 deletions
diff --git a/keyboards/tempo_turtle/bradpad/bradpad.c b/keyboards/tempo_turtle/bradpad/bradpad.c new file mode 100644 index 000000000..073f37a4c --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/bradpad.c | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2021 v3ritas <v3ritas@tempoturtle.com> | ||
| 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 | This program is distributed in the hope that it will be useful, | ||
| 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 10 | GNU General Public License for more details. | ||
| 11 | You should have received a copy of the GNU General Public License | ||
| 12 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include "bradpad.h" | ||
diff --git a/keyboards/tempo_turtle/bradpad/bradpad.h b/keyboards/tempo_turtle/bradpad/bradpad.h new file mode 100644 index 000000000..69955a5da --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/bradpad.h | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2021 v3ritas <v3ritas@tempoturtle.com> | ||
| 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 | This program is distributed in the hope that it will be useful, | ||
| 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 10 | GNU General Public License for more details. | ||
| 11 | You should have received a copy of the GNU General Public License | ||
| 12 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 13 | */ | ||
| 14 | |||
| 15 | #pragma once | ||
| 16 | #include "quantum.h" | ||
| 17 | |||
| 18 | // clang-format off | ||
| 19 | #define LAYOUT( \ | ||
| 20 | k00, k01, k02, k03, \ | ||
| 21 | k10, k11, k12, k13, \ | ||
| 22 | k20, k21, k22, k23, \ | ||
| 23 | k30, k31, k32, k33, \ | ||
| 24 | k41, k42\ | ||
| 25 | ) { \ | ||
| 26 | { k00, k01, k02, k03, }, \ | ||
| 27 | { k10, k11, k12, k13, }, \ | ||
| 28 | { k20, k21, k22, k23, }, \ | ||
| 29 | { k30, k31, k32, k33, }, \ | ||
| 30 | { KC_NO, k41, k42, KC_NO } \ | ||
| 31 | } | ||
| 32 | // clang-format on | ||
diff --git a/keyboards/tempo_turtle/bradpad/config.h b/keyboards/tempo_turtle/bradpad/config.h new file mode 100644 index 000000000..c6a405b05 --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/config.h | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2021 v3ritas <v3ritas@tempoturtle.com> | ||
| 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 | This program is distributed in the hope that it will be useful, | ||
| 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 10 | GNU General Public License for more details. | ||
| 11 | You should have received a copy of the GNU General Public License | ||
| 12 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 13 | */ | ||
| 14 | |||
| 15 | #pragma once | ||
| 16 | |||
| 17 | #include "config_common.h" | ||
| 18 | |||
| 19 | /*usb descriptor setup and keyboard setup (rows and cols) are located in info.json*/ | ||
diff --git a/keyboards/tempo_turtle/bradpad/info.json b/keyboards/tempo_turtle/bradpad/info.json new file mode 100644 index 000000000..37125e64e --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/info.json | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "bradpad", | ||
| 3 | "url": "https://tempoturtle.com", | ||
| 4 | "maintainer": "wxyangf", | ||
| 5 | "width": 4, | ||
| 6 | "height": 5, | ||
| 7 | "diode_direction": "ROW2COL", | ||
| 8 | "matrix_pins":{ | ||
| 9 | "rows":["B7", "D5", "C7", "D2", "D3"], | ||
| 10 | "cols":["D7", "E6", "B4", "F1"] | ||
| 11 | }, | ||
| 12 | "usb":{ | ||
| 13 | "vid":"0x7474", | ||
| 14 | "pid":"0x6270", | ||
| 15 | "device_ver":"0x0001" | ||
| 16 | }, | ||
| 17 | "layouts": { | ||
| 18 | "LAYOUT": { | ||
| 19 | "layout":[ | ||
| 20 | {"x": 0, "y":0},{"x": 1, "y":0},{"x": 2, "y":0},{"x": 3, "y":0}, | ||
| 21 | {"x": 0, "y":1},{"x": 1, "y":1},{"x": 2, "y":1},{"x": 3, "y":1}, | ||
| 22 | {"x": 0, "y":2},{"x": 1, "y":2},{"x": 2, "y":2},{"x": 3, "y":2}, | ||
| 23 | {"x": 0, "y":3},{"x": 1, "y":3},{"x": 2, "y":3},{"x": 3, "y":3}, | ||
| 24 | {"x": 0, "y":4, "w":2},{"x": 2, "y":4,"w":2} | ||
| 25 | ] | ||
| 26 | } | ||
| 27 | } | ||
| 28 | } | ||
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/4brad/config.h b/keyboards/tempo_turtle/bradpad/keymaps/4brad/config.h new file mode 100644 index 000000000..4b885f24a --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/keymaps/4brad/config.h | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2021 v3ritas <v3ritas@tempoturtle.com> | ||
| 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 | This program is distributed in the hope that it will be useful, | ||
| 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 10 | GNU General Public License for more details. | ||
| 11 | You should have received a copy of the GNU General Public License | ||
| 12 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 13 | */ | ||
| 14 | |||
| 15 | #pragma once | ||
| 16 | #undef TAPPING_TERM | ||
| 17 | #define TAPPING_TERM 190 | ||
| 18 | |||
| 19 | #define MUSIC_MASK (keycode != KC_NO) | ||
| 20 | #define MIDI_ADVANCED | ||
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/4brad/keymap.c b/keyboards/tempo_turtle/bradpad/keymaps/4brad/keymap.c new file mode 100644 index 000000000..4c5e988ed --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/keymaps/4brad/keymap.c | |||
| @@ -0,0 +1,148 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2021 v3ritas <v3ritas@tempoturtle.com> | ||
| 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 | This program is distributed in the hope that it will be useful, | ||
| 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 10 | GNU General Public License for more details. | ||
| 11 | You should have received a copy of the GNU General Public License | ||
| 12 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include QMK_KEYBOARD_H | ||
| 16 | |||
| 17 | extern MidiDevice midi_device; | ||
| 18 | |||
| 19 | enum layers { | ||
| 20 | _NATURAL, | ||
| 21 | _SHARP, | ||
| 22 | _FLAT, | ||
| 23 | }; | ||
| 24 | |||
| 25 | /* | ||
| 26 | MIDI CC codes for generic ON/OFF swiches | ||
| 27 | 80,81,82,83 | ||
| 28 | values off = 0-63 | ||
| 29 | */ | ||
| 30 | |||
| 31 | #define OFF 0 | ||
| 32 | |||
| 33 | /*values on = 64-127*/ | ||
| 34 | |||
| 35 | #define ON 127 | ||
| 36 | |||
| 37 | /*implementation inspo taken from here: https://github.com/luantty2/pheromone_keyboard/blob/master/keyboards/pheromone/keymaps/default/keymap.c */ | ||
| 38 | |||
| 39 | enum custom_keycodes { MIDI_CC80 = SAFE_RANGE, MIDI_CC81, MIDI_CC82, MIDI_CC83 }; | ||
| 40 | |||
| 41 | static bool toggled_MIDI_CC80 = 0, toggled_MIDI_CC81 = 0, toggled_MIDI_CC82 = 0, toggled_MIDI_CC83 = 0; | ||
| 42 | |||
| 43 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 44 | switch (keycode) { | ||
| 45 | case MIDI_CC80: | ||
| 46 | if (!IS_LAYER_ON(_NATURAL)) { | ||
| 47 | toggled_MIDI_CC80 = false; | ||
| 48 | if (record->event.pressed) { | ||
| 49 | midi_send_cc(&midi_device, midi_config.channel, 80, ON); | ||
| 50 | } else { | ||
| 51 | midi_send_cc(&midi_device, midi_config.channel, 80, OFF); | ||
| 52 | } | ||
| 53 | return true; | ||
| 54 | } else { | ||
| 55 | if (record->event.pressed) { | ||
| 56 | if (!toggled_MIDI_CC80) { | ||
| 57 | midi_send_cc(&midi_device, midi_config.channel, 80, ON); | ||
| 58 | } else { | ||
| 59 | midi_send_cc(&midi_device, midi_config.channel, 80, OFF); | ||
| 60 | } | ||
| 61 | toggled_MIDI_CC80 = !toggled_MIDI_CC80; | ||
| 62 | } | ||
| 63 | return false; | ||
| 64 | } | ||
| 65 | case MIDI_CC81: | ||
| 66 | if (!IS_LAYER_ON(_NATURAL)) { | ||
| 67 | toggled_MIDI_CC81 = false; | ||
| 68 | if (record->event.pressed) { | ||
| 69 | midi_send_cc(&midi_device, midi_config.channel, 81, ON); | ||
| 70 | } else { | ||
| 71 | midi_send_cc(&midi_device, midi_config.channel, 81, OFF); | ||
| 72 | } | ||
| 73 | return true; | ||
| 74 | } else { | ||
| 75 | if (record->event.pressed) { | ||
| 76 | if (!toggled_MIDI_CC81) { | ||
| 77 | midi_send_cc(&midi_device, midi_config.channel, 81, ON); | ||
| 78 | } else { | ||
| 79 | midi_send_cc(&midi_device, midi_config.channel, 81, OFF); | ||
| 80 | } | ||
| 81 | toggled_MIDI_CC81 = !toggled_MIDI_CC81; | ||
| 82 | } | ||
| 83 | return false; | ||
| 84 | } | ||
| 85 | case MIDI_CC82: | ||
| 86 | if (!IS_LAYER_ON(_NATURAL)) { | ||
| 87 | toggled_MIDI_CC82 = false; | ||
| 88 | if (record->event.pressed) { | ||
| 89 | midi_send_cc(&midi_device, midi_config.channel, 82, ON); | ||
| 90 | } else { | ||
| 91 | midi_send_cc(&midi_device, midi_config.channel, 82, OFF); | ||
| 92 | } | ||
| 93 | return true; | ||
| 94 | } else { | ||
| 95 | if (record->event.pressed) { | ||
| 96 | if (!toggled_MIDI_CC82) { | ||
| 97 | midi_send_cc(&midi_device, midi_config.channel, 82, ON); | ||
| 98 | } else { | ||
| 99 | midi_send_cc(&midi_device, midi_config.channel, 82, OFF); | ||
| 100 | } | ||
| 101 | toggled_MIDI_CC82 = !toggled_MIDI_CC82; | ||
| 102 | } | ||
| 103 | return false; | ||
| 104 | } | ||
| 105 | case MIDI_CC83: | ||
| 106 | if (!IS_LAYER_ON(_NATURAL)) { | ||
| 107 | toggled_MIDI_CC83 = false; | ||
| 108 | if (record->event.pressed) { | ||
| 109 | midi_send_cc(&midi_device, midi_config.channel, 83, ON); | ||
| 110 | } else { | ||
| 111 | midi_send_cc(&midi_device, midi_config.channel, 83, OFF); | ||
| 112 | } | ||
| 113 | return true; | ||
| 114 | } else { | ||
| 115 | if (record->event.pressed) { | ||
| 116 | if (!toggled_MIDI_CC83) { | ||
| 117 | midi_send_cc(&midi_device, midi_config.channel, 83, ON); | ||
| 118 | } else { | ||
| 119 | midi_send_cc(&midi_device, midi_config.channel, 83, OFF); | ||
| 120 | } | ||
| 121 | toggled_MIDI_CC83 = !toggled_MIDI_CC83; | ||
| 122 | } | ||
| 123 | return false; | ||
| 124 | } | ||
| 125 | } | ||
| 126 | return true; | ||
| 127 | } | ||
| 128 | |||
| 129 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 130 | [_NATURAL] = LAYOUT( | ||
| 131 | MI_C, MI_BENDD, MI_BENDU, MI_G, | ||
| 132 | MI_D, MIDI_CC80, MIDI_CC81, MI_A, | ||
| 133 | MI_E, MIDI_CC82, MIDI_CC83, MI_B, | ||
| 134 | MI_F, MI_OCTD, MI_OCTU, MI_C, | ||
| 135 | MO(_SHARP), MO(_FLAT)), | ||
| 136 | [_SHARP] = LAYOUT( | ||
| 137 | MI_Cs, KC_TRNS, KC_TRNS, MI_Gs, | ||
| 138 | MI_Ds, KC_TRNS, KC_TRNS, MI_As, | ||
| 139 | MI_F , KC_TRNS, KC_TRNS, MI_C , | ||
| 140 | MI_Fs, MI_TRNSD, MI_TRNSU, MI_Cs, | ||
| 141 | KC_TRNS, KC_TRNS), | ||
| 142 | [_FLAT] = LAYOUT( | ||
| 143 | MI_B , KC_TRNS, KC_TRNS, MI_Gb, | ||
| 144 | MI_Db, KC_TRNS, KC_TRNS, MI_Ab, | ||
| 145 | MI_Eb, KC_TRNS, KC_TRNS, MI_Bb, | ||
| 146 | MI_E , MI_TRNSD, MI_TRNSU, MI_B, | ||
| 147 | KC_TRNS, KC_TRNS), | ||
| 148 | }; | ||
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/4brad/rules.mk b/keyboards/tempo_turtle/bradpad/keymaps/4brad/rules.mk new file mode 100644 index 000000000..b7152364a --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/keymaps/4brad/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| MIDI_ENABLE = yes #enable MIDI \ No newline at end of file | |||
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/default/keymap.c b/keyboards/tempo_turtle/bradpad/keymaps/default/keymap.c new file mode 100644 index 000000000..331466438 --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/keymaps/default/keymap.c | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2021 v3ritas <v3ritas@tempoturtle.com> | ||
| 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 | This program is distributed in the hope that it will be useful, | ||
| 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 10 | GNU General Public License for more details. | ||
| 11 | You should have received a copy of the GNU General Public License | ||
| 12 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include QMK_KEYBOARD_H | ||
| 16 | |||
| 17 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 18 | [0] = LAYOUT( | ||
| 19 | KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, | ||
| 20 | KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, | ||
| 21 | KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_SLASH, | ||
| 22 | KC_NUMLOCK, KC_KP_0, KC_KP_DOT, KC_KP_ASTERISK, | ||
| 23 | KC_KP_ENTER, KC_EQUAL) | ||
| 24 | }; | ||
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/config.h b/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/config.h new file mode 100644 index 000000000..4b885f24a --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/config.h | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2021 v3ritas <v3ritas@tempoturtle.com> | ||
| 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 | This program is distributed in the hope that it will be useful, | ||
| 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 10 | GNU General Public License for more details. | ||
| 11 | You should have received a copy of the GNU General Public License | ||
| 12 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 13 | */ | ||
| 14 | |||
| 15 | #pragma once | ||
| 16 | #undef TAPPING_TERM | ||
| 17 | #define TAPPING_TERM 190 | ||
| 18 | |||
| 19 | #define MUSIC_MASK (keycode != KC_NO) | ||
| 20 | #define MIDI_ADVANCED | ||
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/keymap.c b/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/keymap.c new file mode 100644 index 000000000..714e64ba8 --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/keymap.c | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2021 v3ritas <v3ritas@tempoturtle.com> | ||
| 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 | This program is distributed in the hope that it will be useful, | ||
| 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 10 | GNU General Public License for more details. | ||
| 11 | You should have received a copy of the GNU General Public License | ||
| 12 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include QMK_KEYBOARD_H | ||
| 16 | |||
| 17 | enum layers { | ||
| 18 | _NATURAL, | ||
| 19 | _SHARP, | ||
| 20 | _FLAT | ||
| 21 | }; | ||
| 22 | |||
| 23 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 24 | [_NATURAL] = LAYOUT( | ||
| 25 | MI_C, MI_BENDD, MI_BENDU, MI_G, | ||
| 26 | MI_D, MI_VELD, MI_VELU, MI_A, | ||
| 27 | MI_E, MI_TRNSD, MI_TRNSU, MI_B, | ||
| 28 | MI_F, MI_OCTD, MI_OCTU, MI_C, | ||
| 29 | MO(_SHARP), MO(_FLAT)), | ||
| 30 | [_SHARP] = LAYOUT( | ||
| 31 | MI_Cs, KC_TRNS, KC_TRNS, MI_Gs, | ||
| 32 | MI_Ds, KC_TRNS, KC_TRNS, MI_As, | ||
| 33 | MI_F , KC_TRNS, KC_TRNS, MI_C , | ||
| 34 | MI_Fs, KC_TRNS, KC_TRNS, MI_Cs, | ||
| 35 | KC_TRNS, KC_TRNS), | ||
| 36 | [_FLAT] = LAYOUT( | ||
| 37 | MI_B , KC_TRNS, KC_TRNS, MI_Gb, | ||
| 38 | MI_Db, KC_TRNS, KC_TRNS, MI_Ab, | ||
| 39 | MI_Eb, KC_TRNS, KC_TRNS, MI_Bb, | ||
| 40 | MI_E , KC_TRNS, KC_TRNS, MI_B, | ||
| 41 | KC_TRNS, KC_TRNS), | ||
| 42 | }; | ||
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/rules.mk b/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/rules.mk new file mode 100644 index 000000000..b7152364a --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/keymaps/midi_demo/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| MIDI_ENABLE = yes #enable MIDI \ No newline at end of file | |||
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/via/keymap.c b/keyboards/tempo_turtle/bradpad/keymaps/via/keymap.c new file mode 100644 index 000000000..0ef205288 --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/keymaps/via/keymap.c | |||
| @@ -0,0 +1,50 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2021 v3ritas <v3ritas@tempoturtle.com> | ||
| 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 | This program is distributed in the hope that it will be useful, | ||
| 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 10 | GNU General Public License for more details. | ||
| 11 | You should have received a copy of the GNU General Public License | ||
| 12 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include QMK_KEYBOARD_H | ||
| 16 | |||
| 17 | enum layers { | ||
| 18 | _LAYER0, | ||
| 19 | _LAYER1, | ||
| 20 | _LAYER2, | ||
| 21 | _LAYER3, | ||
| 22 | }; | ||
| 23 | // clang-format off | ||
| 24 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 25 | [_LAYER0] = LAYOUT( | ||
| 26 | KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, \ | ||
| 27 | KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, \ | ||
| 28 | KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_SLASH, \ | ||
| 29 | KC_NUMLOCK, KC_KP_0, KC_KP_DOT, KC_KP_ASTERISK, \ | ||
| 30 | KC_KP_ENTER, KC_EQUAL), | ||
| 31 | [_LAYER1] = LAYOUT( | ||
| 32 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
| 33 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
| 34 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
| 35 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
| 36 | KC_TRNS, KC_TRNS), | ||
| 37 | [_LAYER2] = LAYOUT( | ||
| 38 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
| 39 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
| 40 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
| 41 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
| 42 | KC_TRNS, KC_TRNS), | ||
| 43 | [_LAYER3] = LAYOUT( | ||
| 44 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
| 45 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
| 46 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
| 47 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
| 48 | KC_TRNS, KC_TRNS) | ||
| 49 | }; | ||
| 50 | // clang-format on | ||
diff --git a/keyboards/tempo_turtle/bradpad/keymaps/via/rules.mk b/keyboards/tempo_turtle/bradpad/keymaps/via/rules.mk new file mode 100644 index 000000000..1e5b99807 --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/keymaps/via/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| VIA_ENABLE = yes | |||
diff --git a/keyboards/tempo_turtle/bradpad/readme.md b/keyboards/tempo_turtle/bradpad/readme.md new file mode 100644 index 000000000..d42373e7b --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/readme.md | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | # bradpad | ||
| 2 | |||
| 3 |  | ||
| 4 | |||
| 5 | The QMK firmware for the bradpad a music production inspired macropad. | ||
| 6 | |||
| 7 | * Keyboard Maintainer: [wxyangf](https://github.com/wxyangf) | ||
| 8 | * Hardware Supported: bradpad pcbs | ||
| 9 | * Hardware Availability: [1UP Keyboards](https://1upkeyboards.com/) | ||
| 10 | |||
| 11 | [Album of Prototype of Production Version(v1.5.x)](https://imgur.com/a/kH5ttny) | ||
| 12 | |||
| 13 | [Album of Elite-C Version (v1)](https://imgur.com/a/xjocnNo) | ||
| 14 | |||
| 15 | How to reset production version into bootloader mode: | ||
| 16 | |||
| 17 | [Video Tutorial](https://youtu.be/Bk429i4Y0E4) | ||
| 18 | |||
| 19 | 1. Locate the reset button on the underside of the pcb. | ||
| 20 | 2. Press the reset button for a few seconds using a paperclip, fingertip(if bare pcb), other similar object. | ||
| 21 | 3. Release the reset button. | ||
| 22 | 4. Your bradpad should now be in bootloader mode. | ||
| 23 | |||
| 24 | How to reset Elite-C version into bootloader mode: | ||
| 25 | 1. Located Elite-C | ||
| 26 | 2. Reset Elite-C | ||
| 27 | |||
| 28 | Make example for this keyboard (after setting up your build environment): | ||
| 29 | |||
| 30 | make tempo_turtle/bradpad:default | ||
| 31 | |||
| 32 | See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. | ||
diff --git a/keyboards/tempo_turtle/bradpad/rules.mk b/keyboards/tempo_turtle/bradpad/rules.mk new file mode 100644 index 000000000..c0685cf30 --- /dev/null +++ b/keyboards/tempo_turtle/bradpad/rules.mk | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | # MCU name | ||
| 2 | MCU = atmega32u4 | ||
| 3 | |||
| 4 | # Bootloader selection | ||
| 5 | BOOTLOADER = atmel-dfu | ||
| 6 | |||
| 7 | # Build Options | ||
| 8 | # change yes to no to disable | ||
| 9 | # | ||
| 10 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | ||
| 11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
| 12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
| 13 | CONSOLE_ENABLE = no # Console for debug | ||
| 14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 16 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
| 17 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 18 | NKRO_ENABLE = yes # USB Nkey Rollover | ||
| 19 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 20 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
| 21 | BLUETOOTH_ENABLE = no # Enable Bluetooth | ||
| 22 | AUDIO_ENABLE = no # Audio output | ||
| 23 | UNICODE_ENABLE = yes | ||
