diff options
| -rw-r--r-- | keyboards/fruitykeeb/fruitbar/fruitbar.c | 38 | ||||
| -rw-r--r-- | keyboards/fruitykeeb/fruitbar/info.json | 7 | ||||
| -rw-r--r-- | keyboards/fruitykeeb/fruitbar/r2/config.h | 24 | ||||
| -rw-r--r-- | keyboards/fruitykeeb/fruitbar/r2/halconf.h | 8 | ||||
| -rw-r--r-- | keyboards/fruitykeeb/fruitbar/r2/info.json | 290 | ||||
| -rw-r--r-- | keyboards/fruitykeeb/fruitbar/r2/keymaps/default/keymap.json | 33 | ||||
| -rw-r--r-- | keyboards/fruitykeeb/fruitbar/r2/mcuconf.h | 9 | ||||
| -rw-r--r-- | keyboards/fruitykeeb/fruitbar/r2/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/fruitykeeb/fruitbar/readme.md | 32 |
9 files changed, 442 insertions, 0 deletions
diff --git a/keyboards/fruitykeeb/fruitbar/fruitbar.c b/keyboards/fruitykeeb/fruitbar/fruitbar.c new file mode 100644 index 0000000000..9a1bb316f9 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/fruitbar.c | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2021 ojthetiny | ||
| 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 | #include "quantum.h" | ||
| 19 | |||
| 20 | #ifdef OLED_ENABLE | ||
| 21 | bool oled_task_kb(void) { | ||
| 22 | if (!oled_task_user()) { | ||
| 23 | return false; | ||
| 24 | } | ||
| 25 | |||
| 26 | // Layer Status | ||
| 27 | oled_write_P(PSTR("Layer:"), false); | ||
| 28 | oled_write_ln(get_u8_str(get_highest_layer(layer_state), ' '), false); | ||
| 29 | |||
| 30 | // Host Keyboard LED Status | ||
| 31 | led_t led_state = host_keyboard_led_state(); | ||
| 32 | oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); | ||
| 33 | oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); | ||
| 34 | oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); | ||
| 35 | |||
| 36 | return true; | ||
| 37 | } | ||
| 38 | #endif | ||
diff --git a/keyboards/fruitykeeb/fruitbar/info.json b/keyboards/fruitykeeb/fruitbar/info.json new file mode 100644 index 0000000000..af1fb3fe43 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/info.json | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | { | ||
| 2 | "manufacturer": "Fruitykeeb", | ||
| 3 | "url": "https://fruitykeeb.xyz", | ||
| 4 | "usb": { | ||
| 5 | "vid": "0x666B" | ||
| 6 | } | ||
| 7 | } | ||
diff --git a/keyboards/fruitykeeb/fruitbar/r2/config.h b/keyboards/fruitykeeb/fruitbar/r2/config.h new file mode 100644 index 0000000000..320889eb91 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r2/config.h | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2022 ojthetiny | ||
| 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 | #pragma once | ||
| 18 | |||
| 19 | #define I2C_DRIVER I2CD1 | ||
| 20 | #define I2C1_SCL_PIN GP27 | ||
| 21 | #define I2C1_SDA_PIN GP26 | ||
| 22 | |||
| 23 | #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET | ||
| 24 | #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U | ||
diff --git a/keyboards/fruitykeeb/fruitbar/r2/halconf.h b/keyboards/fruitykeeb/fruitbar/r2/halconf.h new file mode 100644 index 0000000000..727e8508b0 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r2/halconf.h | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | // Copyright 2022 @ojthetiny | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #pragma once | ||
| 5 | |||
| 6 | #define HAL_USE_I2C TRUE | ||
| 7 | |||
| 8 | #include_next <halconf.h> | ||
diff --git a/keyboards/fruitykeeb/fruitbar/r2/info.json b/keyboards/fruitykeeb/fruitbar/r2/info.json new file mode 100644 index 0000000000..c2b496926b --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r2/info.json | |||
| @@ -0,0 +1,290 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "Fruitbar r2", | ||
| 3 | "maintainer": "ojthetiny", | ||
| 4 | "bootloader": "rp2040", | ||
| 5 | "diode_direction": "COL2ROW", | ||
| 6 | "encoder": { | ||
| 7 | "rotary": [ | ||
| 8 | {"pin_a": "GP0", "pin_b": "GP1"} | ||
| 9 | ] | ||
| 10 | }, | ||
| 11 | "features": { | ||
| 12 | "bootmagic": true, | ||
| 13 | "encoder": true, | ||
| 14 | "extrakey": true, | ||
| 15 | "mousekey": true, | ||
| 16 | "nkro": true, | ||
| 17 | "oled": true, | ||
| 18 | "rgblight": true | ||
| 19 | }, | ||
| 20 | "matrix_pins": { | ||
| 21 | "cols": ["GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP17", "GP16", "GP15", "GP13", "GP12", "GP11", "GP9", "GP8", "GP7", "GP3"], | ||
| 22 | "rows": ["GP29", "GP18", "GP10", "GP6"] | ||
| 23 | }, | ||
| 24 | "processor": "RP2040", | ||
| 25 | "rgblight": { | ||
| 26 | "animations": { | ||
| 27 | "alternating": true, | ||
| 28 | "breathing": true, | ||
| 29 | "christmas": true, | ||
| 30 | "knight": true, | ||
| 31 | "rainbow_mood": true, | ||
| 32 | "rainbow_swirl": true, | ||
| 33 | "rgb_test": true, | ||
| 34 | "snake": true, | ||
| 35 | "static_gradient": true, | ||
| 36 | "twinkle": true | ||
| 37 | }, | ||
| 38 | "led_count": 8, | ||
| 39 | "max_brightness": 175, | ||
| 40 | "sleep": true | ||
| 41 | }, | ||
| 42 | "usb": { | ||
| 43 | "device_version": "2.0.0", | ||
| 44 | "pid": "0x6662" | ||
| 45 | }, | ||
| 46 | "ws2812": { | ||
| 47 | "driver": "vendor", | ||
| 48 | "pin": "GP28" | ||
| 49 | }, | ||
| 50 | "layouts": { | ||
| 51 | "LAYOUT_625u_split_enter_split_lshift": { | ||
| 52 | "layout": [ | ||
| 53 | {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, | ||
| 54 | {"matrix": [0, 1], "x": 1.5, "y": 0}, | ||
| 55 | {"matrix": [0, 2], "x": 2.5, "y": 0}, | ||
| 56 | {"matrix": [0, 3], "x": 3.5, "y": 0}, | ||
| 57 | {"matrix": [0, 4], "x": 4.5, "y": 0}, | ||
| 58 | {"matrix": [0, 5], "x": 5.5, "y": 0}, | ||
| 59 | {"matrix": [0, 6], "x": 6.5, "y": 0}, | ||
| 60 | {"matrix": [0, 7], "x": 7.5, "y": 0}, | ||
| 61 | {"matrix": [0, 8], "x": 8.5, "y": 0}, | ||
| 62 | {"matrix": [0, 9], "x": 9.5, "y": 0}, | ||
| 63 | {"matrix": [0, 10], "x": 10.5, "y": 0}, | ||
| 64 | {"matrix": [0, 11], "x": 11.5, "y": 0}, | ||
| 65 | {"matrix": [0, 12], "x": 12.5, "y": 0}, | ||
| 66 | {"matrix": [0, 13], "x": 13.5, "y": 0, "w": 1.5}, | ||
| 67 | {"matrix": [0, 14], "x": 15.5, "y": 0}, | ||
| 68 | {"matrix": [0, 15], "x": 16.5, "y": 0, "encoder": 0}, | ||
| 69 | {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, | ||
| 70 | {"matrix": [1, 1], "x": 1.75, "y": 1}, | ||
| 71 | {"matrix": [1, 2], "x": 2.75, "y": 1}, | ||
| 72 | {"matrix": [1, 3], "x": 3.75, "y": 1}, | ||
| 73 | {"matrix": [1, 4], "x": 4.75, "y": 1}, | ||
| 74 | {"matrix": [1, 5], "x": 5.75, "y": 1}, | ||
| 75 | {"matrix": [1, 6], "x": 6.75, "y": 1}, | ||
| 76 | {"matrix": [1, 7], "x": 7.75, "y": 1}, | ||
| 77 | {"matrix": [1, 8], "x": 8.75, "y": 1}, | ||
| 78 | {"matrix": [1, 9], "x": 9.75, "y": 1}, | ||
| 79 | {"matrix": [1, 10], "x": 10.75, "y": 1}, | ||
| 80 | {"matrix": [1, 11], "x": 11.75, "y": 1}, | ||
| 81 | {"matrix": [1, 12], "x": 12.75, "y": 1}, | ||
| 82 | {"matrix": [1, 13], "x": 13.75, "y": 1, "w": 1.25}, | ||
| 83 | {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, | ||
| 84 | {"matrix": [2, 1], "x": 1.25, "y": 2}, | ||
| 85 | {"matrix": [2, 2], "x": 2.25, "y": 2}, | ||
| 86 | {"matrix": [2, 3], "x": 3.25, "y": 2}, | ||
| 87 | {"matrix": [2, 4], "x": 4.25, "y": 2}, | ||
| 88 | {"matrix": [2, 5], "x": 5.25, "y": 2}, | ||
| 89 | {"matrix": [2, 6], "x": 6.25, "y": 2}, | ||
| 90 | {"matrix": [2, 7], "x": 7.25, "y": 2}, | ||
| 91 | {"matrix": [2, 8], "x": 8.25, "y": 2}, | ||
| 92 | {"matrix": [2, 9], "x": 9.25, "y": 2}, | ||
| 93 | {"matrix": [2, 10], "x": 10.25, "y": 2}, | ||
| 94 | {"matrix": [2, 11], "x": 11.25, "y": 2}, | ||
| 95 | {"matrix": [2, 12], "x": 12.25, "y": 2, "w": 2.25}, | ||
| 96 | {"matrix": [2, 14], "x": 15.5, "y": 2}, | ||
| 97 | {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, | ||
| 98 | {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25}, | ||
| 99 | {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25}, | ||
| 100 | {"matrix": [3, 7], "x": 3.75, "y": 3, "w": 6.25}, | ||
| 101 | {"matrix": [3, 10], "x": 10, "y": 3, "w": 1.25}, | ||
| 102 | {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25}, | ||
| 103 | {"matrix": [3, 12], "x": 12.5, "y": 3, "w": 1.25}, | ||
| 104 | {"matrix": [3, 13], "x": 14.5, "y": 3}, | ||
| 105 | {"matrix": [3, 14], "x": 15.5, "y": 3}, | ||
| 106 | {"matrix": [3, 15], "x": 16.5, "y": 3} | ||
| 107 | ] | ||
| 108 | }, | ||
| 109 | "LAYOUT_625u_split_enter_split_lshift_split_rshift": { | ||
| 110 | "layout": [ | ||
| 111 | {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, | ||
| 112 | {"matrix": [0, 1], "x": 1.5, "y": 0}, | ||
| 113 | {"matrix": [0, 2], "x": 2.5, "y": 0}, | ||
| 114 | {"matrix": [0, 3], "x": 3.5, "y": 0}, | ||
| 115 | {"matrix": [0, 4], "x": 4.5, "y": 0}, | ||
| 116 | {"matrix": [0, 5], "x": 5.5, "y": 0}, | ||
| 117 | {"matrix": [0, 6], "x": 6.5, "y": 0}, | ||
| 118 | {"matrix": [0, 7], "x": 7.5, "y": 0}, | ||
| 119 | {"matrix": [0, 8], "x": 8.5, "y": 0}, | ||
| 120 | {"matrix": [0, 9], "x": 9.5, "y": 0}, | ||
| 121 | {"matrix": [0, 10], "x": 10.5, "y": 0}, | ||
| 122 | {"matrix": [0, 11], "x": 11.5, "y": 0}, | ||
| 123 | {"matrix": [0, 12], "x": 12.5, "y": 0}, | ||
| 124 | {"matrix": [0, 13], "x": 13.5, "y": 0, "w": 1.5}, | ||
| 125 | {"matrix": [0, 14], "x": 15.5, "y": 0}, | ||
| 126 | {"matrix": [0, 15], "x": 16.5, "y": 0, "encoder": 0}, | ||
| 127 | {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, | ||
| 128 | {"matrix": [1, 1], "x": 1.75, "y": 1}, | ||
| 129 | {"matrix": [1, 2], "x": 2.75, "y": 1}, | ||
| 130 | {"matrix": [1, 3], "x": 3.75, "y": 1}, | ||
| 131 | {"matrix": [1, 4], "x": 4.75, "y": 1}, | ||
| 132 | {"matrix": [1, 5], "x": 5.75, "y": 1}, | ||
| 133 | {"matrix": [1, 6], "x": 6.75, "y": 1}, | ||
| 134 | {"matrix": [1, 7], "x": 7.75, "y": 1}, | ||
| 135 | {"matrix": [1, 8], "x": 8.75, "y": 1}, | ||
| 136 | {"matrix": [1, 9], "x": 9.75, "y": 1}, | ||
| 137 | {"matrix": [1, 10], "x": 10.75, "y": 1}, | ||
| 138 | {"matrix": [1, 11], "x": 11.75, "y": 1}, | ||
| 139 | {"matrix": [1, 12], "x": 12.75, "y": 1}, | ||
| 140 | {"matrix": [1, 13], "x": 13.75, "y": 1, "w": 1.25}, | ||
| 141 | {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, | ||
| 142 | {"matrix": [2, 1], "x": 1.25, "y": 2}, | ||
| 143 | {"matrix": [2, 2], "x": 2.25, "y": 2}, | ||
| 144 | {"matrix": [2, 3], "x": 3.25, "y": 2}, | ||
| 145 | {"matrix": [2, 4], "x": 4.25, "y": 2}, | ||
| 146 | {"matrix": [2, 5], "x": 5.25, "y": 2}, | ||
| 147 | {"matrix": [2, 6], "x": 6.25, "y": 2}, | ||
| 148 | {"matrix": [2, 7], "x": 7.25, "y": 2}, | ||
| 149 | {"matrix": [2, 8], "x": 8.25, "y": 2}, | ||
| 150 | {"matrix": [2, 9], "x": 9.25, "y": 2}, | ||
| 151 | {"matrix": [2, 10], "x": 10.25, "y": 2}, | ||
| 152 | {"matrix": [2, 11], "x": 11.25, "y": 2}, | ||
| 153 | {"matrix": [2, 12], "x": 12.25, "y": 2, "w": 1.25}, | ||
| 154 | {"matrix": [2, 13], "x": 13.5, "y": 2}, | ||
| 155 | {"matrix": [2, 14], "x": 15.5, "y": 2}, | ||
| 156 | {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, | ||
| 157 | {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25}, | ||
| 158 | {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25}, | ||
| 159 | {"matrix": [3, 7], "x": 3.75, "y": 3, "w": 6.25}, | ||
| 160 | {"matrix": [3, 10], "x": 10, "y": 3, "w": 1.25}, | ||
| 161 | {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25}, | ||
| 162 | {"matrix": [3, 12], "x": 12.5, "y": 3, "w": 1.25}, | ||
| 163 | {"matrix": [3, 13], "x": 14.5, "y": 3}, | ||
| 164 | {"matrix": [3, 14], "x": 15.5, "y": 3}, | ||
| 165 | {"matrix": [3, 15], "x": 16.5, "y": 3} | ||
| 166 | ] | ||
| 167 | }, | ||
| 168 | "LAYOUT_all": { | ||
| 169 | "layout": [ | ||
| 170 | {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, | ||
| 171 | {"matrix": [0, 1], "x": 1.5, "y": 0}, | ||
| 172 | {"matrix": [0, 2], "x": 2.5, "y": 0}, | ||
| 173 | {"matrix": [0, 3], "x": 3.5, "y": 0}, | ||
| 174 | {"matrix": [0, 4], "x": 4.5, "y": 0}, | ||
| 175 | {"matrix": [0, 5], "x": 5.5, "y": 0}, | ||
| 176 | {"matrix": [0, 6], "x": 6.5, "y": 0}, | ||
| 177 | {"matrix": [0, 7], "x": 7.5, "y": 0}, | ||
| 178 | {"matrix": [0, 8], "x": 8.5, "y": 0}, | ||
| 179 | {"matrix": [0, 9], "x": 9.5, "y": 0}, | ||
| 180 | {"matrix": [0, 10], "x": 10.5, "y": 0}, | ||
| 181 | {"matrix": [0, 11], "x": 11.5, "y": 0}, | ||
| 182 | {"matrix": [0, 12], "x": 12.5, "y": 0}, | ||
| 183 | {"matrix": [0, 13], "x": 13.5, "y": 0, "w": 1.5}, | ||
| 184 | {"matrix": [0, 14], "x": 15.5, "y": 0}, | ||
| 185 | {"matrix": [0, 15], "x": 16.5, "y": 0, "encoder": 0}, | ||
| 186 | {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, | ||
| 187 | {"matrix": [1, 1], "x": 1.75, "y": 1}, | ||
| 188 | {"matrix": [1, 2], "x": 2.75, "y": 1}, | ||
| 189 | {"matrix": [1, 3], "x": 3.75, "y": 1}, | ||
| 190 | {"matrix": [1, 4], "x": 4.75, "y": 1}, | ||
| 191 | {"matrix": [1, 5], "x": 5.75, "y": 1}, | ||
| 192 | {"matrix": [1, 6], "x": 6.75, "y": 1}, | ||
| 193 | {"matrix": [1, 7], "x": 7.75, "y": 1}, | ||
| 194 | {"matrix": [1, 8], "x": 8.75, "y": 1}, | ||
| 195 | {"matrix": [1, 9], "x": 9.75, "y": 1}, | ||
| 196 | {"matrix": [1, 10], "x": 10.75, "y": 1}, | ||
| 197 | {"matrix": [1, 11], "x": 11.75, "y": 1}, | ||
| 198 | {"matrix": [1, 12], "x": 12.75, "y": 1}, | ||
| 199 | {"matrix": [1, 13], "x": 13.75, "y": 1, "w": 1.25}, | ||
| 200 | {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, | ||
| 201 | {"matrix": [2, 1], "x": 1.25, "y": 2}, | ||
| 202 | {"matrix": [2, 2], "x": 2.25, "y": 2}, | ||
| 203 | {"matrix": [2, 3], "x": 3.25, "y": 2}, | ||
| 204 | {"matrix": [2, 4], "x": 4.25, "y": 2}, | ||
| 205 | {"matrix": [2, 5], "x": 5.25, "y": 2}, | ||
| 206 | {"matrix": [2, 6], "x": 6.25, "y": 2}, | ||
| 207 | {"matrix": [2, 7], "x": 7.25, "y": 2}, | ||
| 208 | {"matrix": [2, 8], "x": 8.25, "y": 2}, | ||
| 209 | {"matrix": [2, 9], "x": 9.25, "y": 2}, | ||
| 210 | {"matrix": [2, 10], "x": 10.25, "y": 2}, | ||
| 211 | {"matrix": [2, 11], "x": 11.25, "y": 2}, | ||
| 212 | {"matrix": [2, 12], "x": 12.25, "y": 2, "w": 1.25}, | ||
| 213 | {"matrix": [2, 13], "x": 13.5, "y": 2}, | ||
| 214 | {"matrix": [2, 14], "x": 15.5, "y": 2}, | ||
| 215 | {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, | ||
| 216 | {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25}, | ||
| 217 | {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25}, | ||
| 218 | {"matrix": [3, 4], "x": 3.75, "y": 3, "w": 2.75}, | ||
| 219 | {"matrix": [3, 7], "x": 6.5, "y": 3, "w": 2.25}, | ||
| 220 | {"matrix": [3, 9], "x": 8.75, "y": 3, "w": 1.25}, | ||
| 221 | {"matrix": [3, 10], "x": 10, "y": 3, "w": 1.25}, | ||
| 222 | {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25}, | ||
| 223 | {"matrix": [3, 12], "x": 12.5, "y": 3, "w": 1.25}, | ||
| 224 | {"matrix": [3, 13], "x": 14.5, "y": 3}, | ||
| 225 | {"matrix": [3, 14], "x": 15.5, "y": 3}, | ||
| 226 | {"matrix": [3, 15], "x": 16.5, "y": 3} | ||
| 227 | ] | ||
| 228 | }, | ||
| 229 | "LAYOUT_split_space_split_enter_split_lshift": { | ||
| 230 | "layout": [ | ||
| 231 | {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, | ||
| 232 | {"matrix": [0, 1], "x": 1.5, "y": 0}, | ||
| 233 | {"matrix": [0, 2], "x": 2.5, "y": 0}, | ||
| 234 | {"matrix": [0, 3], "x": 3.5, "y": 0}, | ||
| 235 | {"matrix": [0, 4], "x": 4.5, "y": 0}, | ||
| 236 | {"matrix": [0, 5], "x": 5.5, "y": 0}, | ||
| 237 | {"matrix": [0, 6], "x": 6.5, "y": 0}, | ||
| 238 | {"matrix": [0, 7], "x": 7.5, "y": 0}, | ||
| 239 | {"matrix": [0, 8], "x": 8.5, "y": 0}, | ||
| 240 | {"matrix": [0, 9], "x": 9.5, "y": 0}, | ||
| 241 | {"matrix": [0, 10], "x": 10.5, "y": 0}, | ||
| 242 | {"matrix": [0, 11], "x": 11.5, "y": 0}, | ||
| 243 | {"matrix": [0, 12], "x": 12.5, "y": 0}, | ||
| 244 | {"matrix": [0, 13], "x": 13.5, "y": 0, "w": 1.5}, | ||
| 245 | {"matrix": [0, 14], "x": 15.5, "y": 0}, | ||
| 246 | {"matrix": [0, 15], "x": 16.5, "y": 0, "encoder": 0}, | ||
| 247 | {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, | ||
| 248 | {"matrix": [1, 1], "x": 1.75, "y": 1}, | ||
| 249 | {"matrix": [1, 2], "x": 2.75, "y": 1}, | ||
| 250 | {"matrix": [1, 3], "x": 3.75, "y": 1}, | ||
| 251 | {"matrix": [1, 4], "x": 4.75, "y": 1}, | ||
| 252 | {"matrix": [1, 5], "x": 5.75, "y": 1}, | ||
| 253 | {"matrix": [1, 6], "x": 6.75, "y": 1}, | ||
| 254 | {"matrix": [1, 7], "x": 7.75, "y": 1}, | ||
| 255 | {"matrix": [1, 8], "x": 8.75, "y": 1}, | ||
| 256 | {"matrix": [1, 9], "x": 9.75, "y": 1}, | ||
| 257 | {"matrix": [1, 10], "x": 10.75, "y": 1}, | ||
| 258 | {"matrix": [1, 11], "x": 11.75, "y": 1}, | ||
| 259 | {"matrix": [1, 12], "x": 12.75, "y": 1}, | ||
| 260 | {"matrix": [1, 13], "x": 13.75, "y": 1, "w": 1.25}, | ||
| 261 | {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, | ||
| 262 | {"matrix": [2, 1], "x": 1.25, "y": 2}, | ||
| 263 | {"matrix": [2, 2], "x": 2.25, "y": 2}, | ||
| 264 | {"matrix": [2, 3], "x": 3.25, "y": 2}, | ||
| 265 | {"matrix": [2, 4], "x": 4.25, "y": 2}, | ||
| 266 | {"matrix": [2, 5], "x": 5.25, "y": 2}, | ||
| 267 | {"matrix": [2, 6], "x": 6.25, "y": 2}, | ||
| 268 | {"matrix": [2, 7], "x": 7.25, "y": 2}, | ||
| 269 | {"matrix": [2, 8], "x": 8.25, "y": 2}, | ||
| 270 | {"matrix": [2, 9], "x": 9.25, "y": 2}, | ||
| 271 | {"matrix": [2, 10], "x": 10.25, "y": 2}, | ||
| 272 | {"matrix": [2, 11], "x": 11.25, "y": 2}, | ||
| 273 | {"matrix": [2, 12], "x": 12.25, "y": 2, "w": 2.25}, | ||
| 274 | {"matrix": [2, 14], "x": 15.5, "y": 2}, | ||
| 275 | {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, | ||
| 276 | {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25}, | ||
| 277 | {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25}, | ||
| 278 | {"matrix": [3, 4], "x": 3.75, "y": 3, "w": 2.75}, | ||
| 279 | {"matrix": [3, 7], "x": 6.5, "y": 3, "w": 2.25}, | ||
| 280 | {"matrix": [3, 9], "x": 8.75, "y": 3, "w": 1.25}, | ||
| 281 | {"matrix": [3, 10], "x": 10, "y": 3, "w": 1.25}, | ||
| 282 | {"matrix": [3, 11], "x": 11.25, "y": 3, "w": 1.25}, | ||
| 283 | {"matrix": [3, 12], "x": 12.5, "y": 3, "w": 1.25}, | ||
| 284 | {"matrix": [3, 13], "x": 14.5, "y": 3}, | ||
| 285 | {"matrix": [3, 14], "x": 15.5, "y": 3}, | ||
| 286 | {"matrix": [3, 15], "x": 16.5, "y": 3} | ||
| 287 | ] | ||
| 288 | } | ||
| 289 | } | ||
| 290 | } | ||
diff --git a/keyboards/fruitykeeb/fruitbar/r2/keymaps/default/keymap.json b/keyboards/fruitykeeb/fruitbar/r2/keymaps/default/keymap.json new file mode 100644 index 0000000000..954e264d1e --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r2/keymaps/default/keymap.json | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | { | ||
| 2 | "keyboard": "fruitykeeb/fruitbar/r2", | ||
| 3 | "keymap": "default", | ||
| 4 | "version": 1, | ||
| 5 | "layout": "LAYOUT_all", | ||
| 6 | "layers": [ | ||
| 7 | [ | ||
| 8 | "KC_ESC", "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_BSPC", "KC_HOME", "KC_END", | ||
| 9 | "KC_TAB", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_NUBS", "KC_ENT", | ||
| 10 | "KC_LSFT", "KC_NUHS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "MO(1)", "KC_UP", | ||
| 11 | "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_SPC", "KC_SPC", "KC_RALT", "MO(1)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RIGHT" | ||
| 12 | ], | ||
| 13 | [ | ||
| 14 | "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_DEL", "KC_PGDN", "KC_PGUP", | ||
| 15 | "KC_CAPS", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_TRNS", "KC_F12", | ||
| 16 | "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", | ||
| 17 | "QK_BOOT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" | ||
| 18 | ] | ||
| 19 | ], | ||
| 20 | "config": { | ||
| 21 | "features": { | ||
| 22 | "encoder_map": true | ||
| 23 | } | ||
| 24 | }, | ||
| 25 | "encoders": [ | ||
| 26 | [ | ||
| 27 | { "ccw": "KC_VOLD", "cw": "KC_VOLU" } | ||
| 28 | ], | ||
| 29 | [ | ||
| 30 | { "ccw": "KC_TRNS", "cw": "KC_TRNS" } | ||
| 31 | ] | ||
| 32 | ] | ||
| 33 | } | ||
diff --git a/keyboards/fruitykeeb/fruitbar/r2/mcuconf.h b/keyboards/fruitykeeb/fruitbar/r2/mcuconf.h new file mode 100644 index 0000000000..406ea844da --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r2/mcuconf.h | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | // Copyright 2022 @ojthetiny | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #pragma once | ||
| 5 | |||
| 6 | #include_next <mcuconf.h> | ||
| 7 | |||
| 8 | #undef RP_I2C_USE_I2C1 | ||
| 9 | #define RP_I2C_USE_I2C1 TRUE | ||
diff --git a/keyboards/fruitykeeb/fruitbar/r2/rules.mk b/keyboards/fruitykeeb/fruitbar/r2/rules.mk new file mode 100644 index 0000000000..6e7633bfe0 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/r2/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| # This file intentionally left blank | |||
diff --git a/keyboards/fruitykeeb/fruitbar/readme.md b/keyboards/fruitykeeb/fruitbar/readme.md new file mode 100644 index 0000000000..eca8056d67 --- /dev/null +++ b/keyboards/fruitykeeb/fruitbar/readme.md | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | # Fruitbar | ||
| 2 | |||
| 3 |  | ||
| 4 | |||
| 5 | A budget-oriented 40% with base kit compatibility. Perfect for those who have always wanted to try a 40% but worried about the lack of punctuation and arrow keys. | ||
| 6 | |||
| 7 | * Keyboard Maintainer: [The QMK Community](https://github.com/qmk) | ||
| 8 | * Hardware Supported: | ||
| 9 | * Fruitbar PCB R2 (RP2040, rp2040) | ||
| 10 | * Hardware Availability: | ||
| 11 | * R1 Group Buy took place between 2021-10-01 and 2021-10-24 on [FruityKeeb](https://fruitykeeb.xyz/). | ||
| 12 | * R2 Group Buy took place between 2023-02-01 1400 UTC and 2023-03-04 0359 UTC on [P3DStore](https://p3dstore.com)(US), [42keebs.eu](https://42keebs.eu)(EU), [CustomKBD](https://customkbd.com)(AU). | ||
| 13 | |||
| 14 | Make example for this keyboard (after setting up your build environment): | ||
| 15 | |||
| 16 | make fruitykeeb/fruitbar/r2:default | ||
| 17 | |||
| 18 | Flashing example for this keyboard: | ||
| 19 | |||
| 20 | make fruitykeeb/fruitbar/r2:default:flash | ||
| 21 | |||
| 22 | 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). | ||
| 23 | |||
| 24 | ## Bootloader | ||
| 25 | |||
| 26 | Enter the bootloader in 3 ways: | ||
| 27 | |||
| 28 | * **Bootmagic reset**: Hold down the top left key and plug in the keyboard. This will also clear EEPROM/emulated EEPROM, so it is a good first step if the keyboard is misbehaving. | ||
| 29 | * **Physical reset**: | ||
| 30 | - R1: Short the RST and GND pins on the Pro Micro. | ||
| 31 | - R2: While holding down the `Boot` button, press the `Reset` button. | ||
| 32 | * **Keycode in layout**: Press the key mapped to `QK_BOOT`. In the default keymap it is on the second layer, replacing the Left Control key in the bottom left. | ||
