浏览代码

add fungo keyboard (#17513)

by bojiguard
bojiguard 2 年之前
父节点
当前提交
5222cf7673

+ 18 - 0
keyboards/fungo/fungo.c

@@ -0,0 +1,18 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+ 
+ #include "fungo.h"
+

+ 23 - 0
keyboards/fungo/fungo.h

@@ -0,0 +1,23 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+ 
+#pragma once
+
+#include "quantum.h"
+
+#ifdef KEYBOARD_fungo_rev1
+    #include "rev1.h"
+#endif

+ 24 - 0
keyboards/fungo/keymaps/default/config.h

@@ -0,0 +1,24 @@
+/* This is the c configuration file for the keymap
+ * Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+
+
+
+#define IGNORE_MOD_TAP_INTERRUPT
+

+ 156 - 0
keyboards/fungo/keymaps/default/keymap.c

@@ -0,0 +1,156 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+
+enum layer_names {
+		SAM1,
+		SAM2,
+		SAM3,
+		SAM4,
+		BASE,
+		F3LAY,
+		F4LAY,
+};
+
+
+
+
+
+#define SFCTLNO MT(MOD_LCTL|MOD_LSFT,KC_NO) 
+
+#define SFCT_S  MT(MOD_LCTL|MOD_LSFT,KC_S)
+#define CT_D    MT(MOD_LCTL,KC_D)
+#define SF_F    MT(MOD_LSFT,KC_F)
+
+#define SF_J    MT(MOD_RSFT,KC_J)
+#define CT_K    MT(MOD_RCTL,KC_K)
+
+#define MTC_F7   MT(MOD_LCTL|MOD_LSFT, KC_F7)
+#define MTC_F8   MT(MOD_LCTL, KC_F8)      
+#define MTC_F9   MT(MOD_LSFT, KC_F9)
+
+#define MTC_K   MT(MOD_RCTL, KC_K)      
+#define MTC_J   MT(MOD_RSFT, KC_J)
+
+#define MTC_8   MT(MOD_RCTL, KC_8)      
+#define MTC_7   MT(MOD_RSFT, KC_7)
+
+//#define MTLC_8   MT(MOD_LCTL, KC_8)      
+#define MTLC_9   MT(MOD_LSFT, KC_9)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+  /* BASE
+   * ,------------------------------------------------.                                ,------------------------------------------------.
+   * |   ~  |   1  |   2  |   3  |   4  |   5  | ESC  |                                |  BS  |   6  |   7  |   8  |   9  |   [  |   \  |
+   * |------+------+------+------+------+------+------|                                |-------------+------+------+------+------+------|
+   * | Tab  |   Q  |   W  |   E  |   R  |   T  |  `   |                                |   \  |   Y  |   U  |   I  |   O  |   P  | Tab  |
+   * |------+------+------+------+------+------+------|                                |-------------+------+------+------+------+------|
+   * | ctrl |   A  |   S  |   D  |   F  |   G  |  [   |                                |  ]   |   H  |   J  |   K  |   L  |   ;  | ctrl |
+   * |------+------+------+------+------+------+------|                                |------|------+------+------+------+------+------|
+   * | shift|   Z  |   X  |   C  |   V  |  B   |  3   |  -     | 7     ||  1   |   2   |  =   |  4   |   N  |   M  |   ,  |   .  |shift |
+   * |------+------+------+------+------+------+------|                                |------+------+------+------+------+------+------|
+   * |  1   |  2   |   3  |  4   |     alt     | spc  |  MO(1) |enter  ||enter | MO(0) |  spc |     alt     |  1   |   2  |   3  |  4   |
+   * `------------------------------------------------'                                ------------------------------------------------'
+   */
+
+  [BASE] = LAYOUT_fungo_split_num(
+    KC_GRV,     KC_1,     KC_2,    KC_3,    KC_4,     KC_5,    KC_ESC,                                                              KC_BSPC,  KC_6,  KC_7,   KC_8,    KC_9,    KC_0,    KC_NO,
+    KC_TAB,     KC_Q,     KC_W,    KC_E,    KC_R,     KC_T,    KC_MINS,                                                             KC_EQL,   KC_Y,  KC_U,   KC_I,    KC_O,    KC_P,    KC_TAB,
+    KC_NO,      KC_A,     SFCT_S,  CT_D,    SF_F,     KC_G,    KC_LBRC,                                                             KC_RBRC,  KC_H,  MTC_J,  MTC_K,   KC_L,    KC_SCLN, KC_NO,
+    KC_LCTL,    KC_Z,     KC_X,    KC_C,    KC_V,     KC_B,    KC_BSLS,  LM(F3LAY, MOD_LSFT), KC_NO,   KC_NO,  LM(F3LAY, MOD_RSFT), KC_QUOT,  KC_N,  KC_M,   KC_COMM, KC_DOT,  KC_SLSH, KC_RCTL,
+    KC_NO,      TT(SAM1), KC_NO,   KC_LALT,    KC_LSHIFT,      KC_SPC,   MO(F3LAY),           KC_ENT,  KC_ENT, TT(F3LAY),           KC_SPC,     KC_RSHIFT,   KC_RALT, KC_NO,   TT(SAM1),TG(F4LAY)
+  ),
+
+  /* BASE
+   * ,------------------------------------------------.                                ,------------------------------------------------.
+   * |   ~  |   1  |   2  |   3  |   4  |   5  | ESC  |                                |  BS  |   6  |   7  |   8  |   9  |   [  |   \  |
+   * |------+------+------+------+------+------+------|                                |-------------+------+------+------+------+------|
+   * | Tab  |   Q  |   W  |   E  |   R  |   T  |  `   |                                | DEL  | HOME |  UP  | END  |   O  |   P  | Tab  |
+   * |------+------+------+------+------+------+------|                                |-------------+------+------+------+------+------|
+   * | ctrl |   A  |   S  |   D  |   F  |   G  |  [   |                                | INS  | LEFT | DOWN | RIGHT|   L  |   ;  | ctrl |
+   * |------+------+------+------+------+------+------|                                |------|------+------+------+------+------+------|
+   * | shift|   Z  |   X  | ctr+C|ctr+V |  B   |  3   |  -     | 7     ||  1   |   2   |  NO  | PGUP |  NO  | PGDN |   ,  |   .  |shift |
+   * |------+------+------+------+------+------+------|                                |------+------+------+------+------+------+------|
+   * |  1   |  2   |   3  |  4   |     alt     | spc  |  MO(1) |enter  ||enter | MO(0) |  spc |     alt     |  1   |   2  |   3  |  4   |
+   * `------------------------------------------------'                                ------------------------------------------------'
+   */
+
+  [F3LAY] = LAYOUT_fungo_split_num(
+    KC_F11,     KC_F1,      KC_F2,       KC_F3,        KC_F4,        KC_F5,   KC_ESC,                                                              KC_BSPC, KC_F6,   KC_F7,   KC_F8,   KC_F9,    KC_F10,  KC_F12,
+    KC_TAB,     KC_1,       KC_2,        KC_3,         KC_4,         KC_5,    KC_CAPS,                                                             KC_CAPS, KC_6,    KC_7,    KC_8,    KC_9,     KC_0,    KC_TAB,
+    KC_NO,      KC_NO,      SFCTLNO,     KC_LCTL,      KC_LSFT,      KC_PAUS, KC_PSCR,                                                             KC_BSPC, KC_DEL,  KC_HOME, KC_UP,   KC_END,   KC_PGUP, KC_NO,
+    KC_LCTL,    LCTL(KC_Z), LCTL(KC_X),  LCTL(KC_C),   LCTL(KC_V),   KC_NO,   KC_NO,    LM(F3LAY, MOD_LSFT), KC_NO,   KC_NO,  LM(F3LAY, MOD_RSFT), KC_NO,   KC_INS,  KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_RCTL,
+    KC_NO,      KC_NO,      KC_NO,       KC_LALT,           KC_LSHIFT,        KC_SPC,   MO(F3LAY),           KC_ENT,  KC_ENT, TT(F3LAY),           KC_SPC,     KC_RSHIFT,     KC_RALT, KC_NO,    KC_NO,   TG(F4LAY)
+  ),
+
+
+  [F4LAY] = LAYOUT_fungo_split_num(
+    KC_F11,     KC_F1,      KC_F2,       KC_F3,        KC_F4,        KC_F5,   KC_ESC,                                                              KC_BSPC, KC_F6,   KC_F7,   KC_F8,   KC_F9,    KC_F10,  KC_F12,
+    KC_TAB,     KC_NO,      KC_NO,       KC_NO,        KC_NO,        KC_NO,   KC_CAPS,                                                             KC_CAPS, KC_DEL,  KC_HOME, KC_UP,   KC_END,   KC_NO,   KC_TAB,
+    KC_NO,      KC_NO,      SFCTLNO,     KC_LCTL,      KC_LSFT,      KC_PAUS, KC_PSCR,                                                             KC_BSPC, KC_INS,  KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO,   KC_NO,
+    KC_LCTL,    LCTL(KC_Z), LCTL(KC_X),  LCTL(KC_C),   LCTL(KC_V),   KC_NO,   KC_NO,    LM(F3LAY, MOD_LSFT), KC_NO,   KC_NO,  LM(F3LAY, MOD_RSFT), KC_NO,   KC_INS,  KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_RCTL,
+    KC_NO,      KC_NO,      KC_NO,       KC_LALT,           KC_LSHIFT,        KC_SPC,   MO(F3LAY),           KC_ENT,  KC_ENT, TT(F3LAY),           KC_SPC,     KC_RSHIFT,     KC_RALT, KC_NO,    KC_NO,   TG(F4LAY)
+  ),
+  
+  /*
+    [TEST] = LAYOUT_fungo_split_num(
+    KC_GRV,     KC_1,   KC_2,    KC_3,    KC_4,     KC_5,    KC_ESC,                                                KC_BSPC,  KC_6,    KC_7,    KC_8,      KC_9,   KC_0,    KC_NO,
+    KC_TAB,     KC_Q,   KC_W,    KC_E,    KC_R,     KC_T,    KC_MINS,                                               KC_EQL,   KC_Y,    KC_U,    KC_I,      KC_O,   KC_P,    KC_TAB,
+    KC_LSFT,    KC_A,   KC_S,    KC_D,    KC_F,     KC_G,    KC_LBRC,                                               KC_RBRC,  KC_H,    KC_J,    KC_K,      KC_L,   KC_SCLN, KC_RSFT,
+    KC_LCTL,    KC_Z,   KC_X,    KC_C,    KC_V,     KC_B,    KC_BSLS,  KC_LCTL,        KC_NO,   KC_NO,  TG(F4LAY),  KC_QUOT,  KC_N,    KC_M,    KC_COMM,   KC_DOT, KC_SLSH, KC_RCTL,
+    KC_NO,      KC_NO,  KC_NO,   KC_LALT,    KC_LSHIFT,      KC_SPC,   MO(F3LAY),      KC_ENT,  KC_ENT, TT(F3LAY),  KC_SPC,      KC_RSHIFT,     KC_RALT,   KC_NO,  KC_NO,   KC_NO
+  ),
+  */
+  
+  //--------------------------------------------------------NEW-----------------------------------------------
+  //SAM1을 기반으로 새로운 모드
+    [SAM1] = LAYOUT_fungo_split_num(
+    KC_NO,      KC_1,     KC_2,    KC_3,    KC_4,     KC_5,    KC_ESC,                                            KC_ESC,   KC_6,  KC_7,   KC_8,    KC_9,    KC_0,     KC_NO,
+    KC_NO,      KC_Q,     KC_W,    KC_E,    KC_R,     KC_T,    KC_BSPC,                                           KC_BSPC,  KC_Y,  KC_U,   KC_I,    KC_O,    KC_P,     KC_NO,
+    KC_TAB,     KC_A,     SFCT_S,  CT_D,    SF_F,     KC_G,    KC_CAPS,                                           KC_CAPS,  KC_H,  MTC_J,  MTC_K,   KC_L,    KC_SCLN,  KC_TAB,
+    KC_LCTL,    KC_Z,     KC_X,    KC_C,    KC_V,     KC_B,    KC_NO,     TT(SAM3),   KC_NO,    KC_NO, TT(SAM2),  KC_NO,    KC_N,  KC_M,   KC_COMM, KC_DOT,  KC_SLSH,  KC_RCTL,
+    KC_NO,      TT(SAM1), KC_NO,   KC_LALT,    KC_SPC,         TT(SAM2),  KC_ENT,     MO(SAM4), KC_NO, KC_ENT,    TT(SAM3),     KC_SPC,    KC_RALT, KC_NO,   TT(SAM1), KC_NO
+  ),
+  
+    [SAM3] = LAYOUT_fungo_split_num(
+    KC_NO,      KC_NO,      KC_NO,       KC_NO,        KC_NO,        KC_NO,   KC_ESC,                                       KC_ESC,  KC_NO,   KC_NO,     KC_NO,   KC_NO,    KC_NO,    KC_NO,
+    KC_NO,      KC_1,       KC_2,        KC_3,         KC_4,         KC_5,    KC_BSPC,                                      KC_BSPC, KC_1,    KC_2,      KC_3,    KC_4,     KC_5,     KC_NO,
+    KC_TAB,     KC_6,       KC_7,        KC_8,         MTLC_9,       KC_0,    KC_CAPS,                                      KC_CAPS, KC_6,    MTC_7,     MTC_8,   KC_9,     KC_0,     KC_TAB,
+    KC_LCTL,    KC_PSLS,    KC_PAST,     KC_MINS,      KC_PPLS,      KC_EQL,  KC_DOT,   TT(SAM3),  KC_NO,  KC_NO, TT(SAM2), KC_DOT,  KC_EQL,  KC_PPLS,   KC_PMNS, KC_PAST,  KC_PSLS,  KC_RCTL,
+    KC_NO,      TT(SAM1),   KC_NO,       KC_LALT,             KC_SPC,         TT(SAM2), KC_ENT,    MO(SAM4),  KC_NO, KC_ENT,   TT(SAM3),    KC_SPC,         KC_RALT, KC_NO,    TT(SAM1), KC_NO
+  ),
+  
+    [SAM2] = LAYOUT_fungo_split_num(
+    KC_NO,      KC_NO,      KC_NO,       KC_NO,        KC_NO,        KC_NO,   KC_ESC,                                       KC_ESC,  KC_NO,   KC_NO,   KC_NO,   KC_NO,    KC_NO,   KC_NO,
+    KC_NO,      KC_F1,      KC_F2,       KC_F3,        KC_F4,        KC_F5,   KC_F11,                                       KC_BSPC, KC_DEL,  KC_HOME, KC_UP,   KC_END,   KC_PGUP, KC_NO,
+    KC_TAB,     KC_F6,      MTC_F7,      MTC_F8,       MTC_F9,       KC_F10,  KC_F12,                                       KC_CAPS, KC_INS,  KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_TAB,
+    KC_LCTL,    LCTL(KC_Z), LCTL(KC_X),  LCTL(KC_C),   LCTL(KC_V),   KC_NO,   KC_NO,    TT(SAM3),  KC_NO,  KC_NO, TT(SAM2), KC_NO,   KC_BSLS, KC_QUOT, KC_LBRC, KC_RBRC,  KC_GRV,  KC_RCTL,
+    KC_NO,      TT(SAM1),   KC_NO,       KC_LALT,             KC_SPC,         TT(SAM2), KC_ENT,    MO(SAM4),  KC_NO, KC_ENT,   TT(SAM3),    KC_SPC,       KC_RALT, KC_NO,   TT(SAM1), KC_NO
+  ),  
+    [SAM4] = LAYOUT_fungo_split_num(
+    KC_NO,      KC_NO,      KC_NO,       KC_NO,        KC_NO,        KC_NO,   KC_ESC,                                       KC_ESC,   KC_NO,     KC_NO,   KC_NO,   KC_NO,    KC_NO,    KC_NO,
+    KC_NO,      KC_F1,      KC_F2,       KC_F3,        KC_F4,        KC_F5,   KC_F11,                                       KC_BSPC,  KC_ACL0,   KC_BTN1, KC_MS_U, KC_BTN2,  KC_NO,    KC_NO,
+    KC_TAB,     KC_F6,      MTC_F7,      MTC_F8,       MTC_F9,       KC_F10,  KC_F12,                                       KC_CAPS,  KC_ACL1,   KC_MS_L, KC_MS_D, KC_MS_R,  KC_NO,    KC_TAB,
+    KC_NO,      KC_NO,      KC_ACL0,     KC_ACL1,      KC_ACL2,      KC_NO,   KC_NO,    TT(SAM3),  KC_NO,  KC_NO, TT(SAM2), KC_NO,    KC_ACL2,   KC_WH_L, KC_WH_U, KC_WH_D,  KC_WH_R,  KC_RCTL,
+    KC_NO,      TT(SAM1),   KC_NO,       KC_LALT,             KC_SPC,         TT(SAM2), KC_ENT,    MO(SAM4),  KC_NO, KC_ENT,   TT(SAM3),       KC_SPC,       KC_RALT, KC_NO,    TT(SAM1), KC_NO
+  ),  
+};
+
+
+

+ 28 - 0
keyboards/fungo/readme.md

@@ -0,0 +1,28 @@
+# fungo split keyboard (fungo)
+
+
+A split keyboard for my hands.
+
+* Keyboard Maintainer: [bojiguard](https://github.com/bojiguard/)
+* Hardware Supported: Pro Micro, elite-c, nicenano
+* Hardware Availability: [fungo split keyboard](https://github.com/bojiguard/fungo-split-keyboard)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make fungo/rev1:default
+
+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).  
+
+
+## Bootloader
+
+* **Physical reset button**: Briefly press the button on the front of the PCB
+
+## Characteristics
+
+The circuits on the left and right keyboard are different.  
+Hardware Information: [Document](https://github.com/bojiguard/fungo-split-keyboard)  
+matrix: 5x7+3  
+left : support oled  
+right: support external spi connection  
+all: battery switch, battery jack for nicenano  

+ 80 - 0
keyboards/fungo/rev1/config.h

@@ -0,0 +1,80 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0x5892      
+#define PRODUCT_ID      0x1233
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    Fungo
+#define PRODUCT         FungoSplit
+
+
+
+
+/* Use I2C or Serial, not both */
+#define USE_SERIAL
+#define SOFT_SERIAL_PIN D3	// RX8
+
+/* select keyboard  master board  - I2C or Serial communication master    */
+#define MASTER_RIGHT
+
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 12
+#define MATRIX_COLS 7
+
+// wiring of each half
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2}
+#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5}
+
+#define MATRIX_COL_PINS_RIGHT {F7, F6, F5, F4, B5, B4, E6}
+#define MATRIX_ROW_PINS_RIGHT { D1, D0, D4, C6, D7, D3}    	// TX   
+
+
+
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+
+
+/*************************************/
+/**       public parameter       **/
+/*************************************/
+
+#define MATRIX_IO_DELAY 15  // default  30
+#define TAP_CODE_DELAY  50   // default 0, disabled
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 3
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+//지정된 횟수로 눌러야 토글됨
+#define TAPPING_TOGGLE 3
+
+

+ 111 - 0
keyboards/fungo/rev1/info.json

@@ -0,0 +1,111 @@
+{
+  "keyboard_name": "FungoSplit",
+  "manufacturer": "Fungo",
+  "url": "https://github.com/bojiguard/",
+  "maintainer": "@bojiguard",
+  "usb": {
+    "vid": "0x5892",
+    "pid": "0x1233",
+    "device_version": "0.0.1"
+  },
+  "layouts": {
+    "LAYOUT_fungo_split_num": {
+      "layout": [
+                {"x": 0, "y": 0.375},
+                {"x": 1, "y": 0.375},
+                {"x": 2, "y": 0.125},
+                {"x": 3, "y": 0},
+                {"x": 4, "y": 0.125},
+                {"x": 5, "y": 0.25},
+                {"x": 6, "y": 0.5},
+
+                {"x": 12, "y": 0.5},
+                {"x": 13, "y": 0.25},
+                {"x": 14, "y": 0.125},
+                {"x": 15, "y": 0},
+                {"x": 16, "y": 0.125},
+                {"x": 17, "y": 0.375},
+                {"x": 18, "y": 0.375},
+				
+
+                {"x": 0, "y": 1.375},
+                {"x": 1, "y": 1.375},
+                {"x": 2, "y": 1.125},
+                {"x": 3, "y": 1},
+                {"x": 4, "y": 1.125},
+                {"x": 5, "y": 1.25},
+                {"x": 6, "y": 1.5},
+
+                {"x": 12, "y": 1.5},
+                {"x": 13, "y": 1.25},
+                {"x": 14, "y": 1.125},
+                {"x": 15, "y": 1},
+                {"x": 16, "y": 1.125},
+                {"x": 17, "y": 1.375},
+                {"x": 18, "y": 1.375},
+				
+		{"x": 0, "y": 2.375},
+                {"x": 1, "y": 2.375},
+                {"x": 2, "y": 2.125},
+                {"x": 3, "y": 2},
+                {"x": 4, "y": 2.125},
+                {"x": 5, "y": 2.25},
+                {"x": 6, "y": 2.5},
+
+                {"x": 12, "y": 2.5},
+                {"x": 13, "y": 2.25},
+                {"x": 14, "y": 2.125},
+                {"x": 15, "y": 2},
+                {"x": 16, "y": 2.125},
+                {"x": 17, "y": 2.375},
+                {"x": 18, "y": 2.375},
+				
+		{"x": 0, "y": 3.375},
+                {"x": 1, "y": 3.375},
+                {"x": 2, "y": 3.125},
+                {"x": 3, "y": 3},
+                {"x": 4, "y": 3.125},
+                {"x": 5, "y": 3.25},
+                {"x": 6, "y": 3.5},
+
+                {"x": 12, "y": 3.5},
+                {"x": 13, "y": 3.25},
+                {"x": 14, "y": 3.125},
+                {"x": 15, "y": 3},
+                {"x": 16, "y": 3.125},
+                {"x": 17, "y": 3.375},
+                {"x": 18, "y": 3.375},
+				
+		{"x": 0, "y": 4.375},
+                {"x": 1, "y": 4.375},
+                {"x": 2, "y": 4.25},
+                {"x": 3, "y": 4.25},
+                {"x": 5.25, "y": 3},
+		{"x": 5.75, "y": 5},
+		{"x": 7, "y": 4},
+					
+                {"x": 11, "y": 4},	
+                {"x": 13.25, "y": 5},	
+		{"x": 13.75, "y": 3},
+                {"x": 15, "y": 4.25},		
+                {"x": 16, "y": 4.25},				
+                {"x": 17, "y": 4.375},
+                {"x": 18, "y": 4.375},
+
+
+                {"x": 7, "y": 5},
+		{"x": 8.25, "y": 3.75},
+		{"x": 8.25, "y": 4.75},
+
+		{"x": 9.75, "y": 4.75},
+		{"x": 9.75, "y": 3.75},
+		{"x": 11, "y": 5},
+
+				
+				
+    
+                
+            ]
+    }
+  }
+}

+ 30 - 0
keyboards/fungo/rev1/post_config.h

@@ -0,0 +1,30 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#pragma once
+
+#ifndef MK_3_SPEED
+#define MK_3_SPEED
+#endif
+
+#ifndef MOUSEKEY_INTERVAL
+#define MOUSEKEY_INTERVAL 3
+#endif
+
+#ifndef MOUSEKEY_INITIAL_SPEED
+#define MOUSEKEY_INITIAL_SPEED	20
+#endif

+ 17 - 0
keyboards/fungo/rev1/rev1.c

@@ -0,0 +1,17 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+ 
+ #include "fungo.h"

+ 48 - 0
keyboards/fungo/rev1/rev1.h

@@ -0,0 +1,48 @@
+/* Copyright 2022 bojiguard (@bojiguard)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "fungo.h"
+#include "quantum.h"
+
+
+
+#define LAYOUT_fungo_split_num( \
+	L00, L01, L02, L03, L04, L05, L06,                       R06, R05, R04, R03, R02, R01, R00, \
+	L10, L11, L12, L13, L14, L15, L16,                       R16, R15, R14, R13, R12, R11, R10, \
+	L20, L21, L22, L23, L24, L25, L26,                       R26, R25, R24, R23, R22, R21, R20, \
+	L30, L31, L32, L33, L34, L35, L36, L46, L52,   R52, R46, R36, R35, R34, R33, R32, R31, R30, \
+	L50, L51, L40, L41,    L42,   L43, L44, L45,   R45, R44, R43,    R42,   R41, R40, R51, R50 \
+	) \
+	{ \
+		{ L00, L01, L02, L03, L04, L05, L06}, \
+		{ L10, L11, L12, L13, L14, L15, L16}, \
+		{ L20, L21, L22, L23, L24, L25, L26}, \
+		{ L30, L31, L32, L33, L34, L35, L36}, \
+		{ L40, L41, L42, L43, L44, L45, L46}, \
+		{ L50, L51, L52, KC_NO, KC_NO, KC_NO, KC_NO}, \
+		{ R06, R05, R04, R03, R02, R01, R00}, \
+		{ R16, R15, R14, R13, R12, R11, R10}, \
+		{ R26, R25, R24, R23, R22, R21, R20}, \
+		{ R36, R35, R34, R33, R32, R31, R30}, \
+		{ R46, R45, R44, R43, R42, R41, R40}, \
+		{ KC_NO, KC_NO, KC_NO, KC_NO, R52, R51, R50}, \
+	}
+
+
+
+

+ 28 - 0
keyboards/fungo/rev1/rules.mk

@@ -0,0 +1,28 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina  # controller pro micro
+# BOOTLOADER = atmel-dfu   # controller Elite-C
+
+
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes       # Mouse keys
+EXTRAKEY_ENABLE = no       # Audio control and System control
+CONSOLE_ENABLE = no         # Console for debug
+COMMAND_ENABLE = no       # Commands for debug and configuration
+NKRO_ENABLE = no            # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
+AUDIO_ENABLE = no           # Audio output
+KEY_LOCK_ENABLE = yes       # kc_lock use
+
+
+OLED_ENABLE = no
+OLED_DRIVER = SSD1306      # OLED display
+SPLIT_KEYBOARD = yes       # split type
+