From 04812e944314fb4d894aa9a53a366f32337fc4d6 Mon Sep 17 00:00:00 2001 From: Jeayo Keh Date: Tue, 6 Jun 2023 04:43:02 +0800 Subject: [PATCH] [Keyboard] Add soda/mango (#21100) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Joel Challis --- keyboards/soda/mango/info.json | 49 +++++++++++++++++++ keyboards/soda/mango/keymaps/default/keymap.c | 32 ++++++++++++ keyboards/soda/mango/keymaps/via/keymap.c | 33 +++++++++++++ keyboards/soda/mango/keymaps/via/rules.mk | 1 + keyboards/soda/mango/readme.md | 23 +++++++++ keyboards/soda/mango/rules.mk | 1 + 6 files changed, 139 insertions(+) create mode 100644 keyboards/soda/mango/info.json create mode 100755 keyboards/soda/mango/keymaps/default/keymap.c create mode 100755 keyboards/soda/mango/keymaps/via/keymap.c create mode 100644 keyboards/soda/mango/keymaps/via/rules.mk create mode 100644 keyboards/soda/mango/readme.md create mode 100644 keyboards/soda/mango/rules.mk diff --git a/keyboards/soda/mango/info.json b/keyboards/soda/mango/info.json new file mode 100644 index 000000000000..a2b3d4b0e09d --- /dev/null +++ b/keyboards/soda/mango/info.json @@ -0,0 +1,49 @@ +{ + "manufacturer": "Soda", + "keyboard_name": "Mango", + "url": "https://github.com/gezhaoyou", + "maintainer": "JeayoKeh", + "diode_direction": "ROW2COL", + "processor": "STM32F072", + "bootloader": "stm32-dfu", + "matrix_pins": { + "cols": ["A6", "A5", "A4", "A3"], + "rows": ["B10", "B2", "B1", "B0", "A7"] + }, + "usb": { + "device_version": "1.0.0", + "force_nkro": true, + "vid": "0x3A54", + "pid": "0x4F5D" + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "community_layouts": ["numpad_5x4"], + "layouts": { + "LAYOUT_numpad_5x4": { + "layout": [ + {"label": "Num Lock", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "/", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "*", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "-", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "7", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "8", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "9", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "4", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "5", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "6", "matrix": [2, 2], "x": 2, "y": 2}, + {"h": 2, "label": "+", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "1", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "2", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "3", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "0", "matrix": [4, 0], "w": 2, "x": 0, "y": 4}, + {"label": ".", "matrix": [4, 2], "x": 2, "y": 4}, + {"h": 2, "label": "Enter", "matrix": [3, 3], "x": 3, "y": 3} + ] + } + } +} diff --git a/keyboards/soda/mango/keymaps/default/keymap.c b/keyboards/soda/mango/keymaps/default/keymap.c new file mode 100755 index 000000000000..7497c8751431 --- /dev/null +++ b/keyboards/soda/mango/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +/* +Copyright 2012,2013 gezhaoyou + +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 . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_numpad_5x4( + KC_NUM_LOCK, KC_PSLS, KC_PAST, LT(1, KC_PMNS), + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT), + [1] = LAYOUT_numpad_5x4( + KC_TRNS, KC_CALCULATOR, KC_BSPC, KC_TRNS, + RGB_MODE_FORWARD, RGB_VAI, RGB_HUI, + RGB_SPD, RGB_TOG, RGB_SPI, QK_BOOTLOADER, + RGB_MODE_REVERSE, RGB_VAD, RGB_HUD, + KC_TRNS, KC_TRNS, QK_CLEAR_EEPROM), +}; \ No newline at end of file diff --git a/keyboards/soda/mango/keymaps/via/keymap.c b/keyboards/soda/mango/keymaps/via/keymap.c new file mode 100755 index 000000000000..059598a68094 --- /dev/null +++ b/keyboards/soda/mango/keymaps/via/keymap.c @@ -0,0 +1,33 @@ +/* +Copyright 2012,2013 gezhaoyou + +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 . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_numpad_5x4( + KC_NUM_LOCK, KC_PSLS, KC_PAST, LT(1, KC_PMNS), + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT), + [1] = LAYOUT_numpad_5x4( + KC_TRNS, KC_CALCULATOR, KC_BSPC, KC_TRNS, + RGB_MODE_FORWARD, RGB_VAI, RGB_HUI, + RGB_SPD, RGB_TOG, RGB_SPI, QK_BOOTLOADER, + RGB_MODE_REVERSE, RGB_VAD, RGB_HUD, + KC_TRNS, KC_TRNS, QK_CLEAR_EEPROM), +}; + diff --git a/keyboards/soda/mango/keymaps/via/rules.mk b/keyboards/soda/mango/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/soda/mango/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/soda/mango/readme.md b/keyboards/soda/mango/readme.md new file mode 100644 index 000000000000..1a1eb6bccc8c --- /dev/null +++ b/keyboards/soda/mango/readme.md @@ -0,0 +1,23 @@ +# mango-17 + +A customizable 17 keyboard, support both HOTSWAP and SOLDER. + +* Keyboard Maintainer: [gezhaoyou](https://github.com/gezhaoyou) +* Hardware Supported: [gezhaoyou](https://github.com/gezhaoyou) + +Make example for this keyboard (after setting up your build environment): + + make soda/mango:default + +Flashing example for this keyboard: + + make soda/mango:default:flash + +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 + +Enter the bootloader in 2 ways: + +* **Physical reset button**: Briefly press the button: [boot] first, then press button: [reset] on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/soda/mango/rules.mk b/keyboards/soda/mango/rules.mk new file mode 100644 index 000000000000..7ff128fa692e --- /dev/null +++ b/keyboards/soda/mango/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file