From a952bf2d31ec379ec5e5bbf9b1d1b2673ebbacad Mon Sep 17 00:00:00 2001 From: Mateusz Urbanek Date: Sun, 22 Nov 2020 08:42:58 +0100 Subject: [PATCH] [Keyboard] Added Vagrant-10 keyboard (#10048) * Initial commit for Vagrant-10 * Initial commit for Vagrant-10 * customized layout * Fully working QMK config with default keymap * Update info.json * Update info.json * Update readme.md * prep * fixed pull request issues * Update keyboards/vagrant_10/keymaps/default/keymap.c * Update keyboards/vagrant_10/keymaps/default/keymap.c * Update keyboards/vagrant_10/vagrant_10.h * Update keyboards/vagrant_10/vagrant_10.h * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/rules.mk * Update keyboards/vagrant_10/readme.md * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/info.json * Update keyboards/vagrant_10/info.json * Update keyboards/vagrant_10/vagrant_10.h * Update keyboards/vagrant_10/keymaps/default/keymap.c * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/readme.md * Update keyboards/vagrant_10/config.h * License header * License header * License header * License header. * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/vagrant_10.h --- keyboards/vagrant_10/config.h | 55 +++++++++++++++++ keyboards/vagrant_10/info.json | 12 ++++ keyboards/vagrant_10/keymaps/default/keymap.c | 59 +++++++++++++++++++ keyboards/vagrant_10/readme.md | 19 ++++++ keyboards/vagrant_10/rules.mk | 22 +++++++ keyboards/vagrant_10/vagrant_10.c | 25 ++++++++ keyboards/vagrant_10/vagrant_10.h | 39 ++++++++++++ 7 files changed, 231 insertions(+) create mode 100755 keyboards/vagrant_10/config.h create mode 100644 keyboards/vagrant_10/info.json create mode 100755 keyboards/vagrant_10/keymaps/default/keymap.c create mode 100644 keyboards/vagrant_10/readme.md create mode 100755 keyboards/vagrant_10/rules.mk create mode 100755 keyboards/vagrant_10/vagrant_10.c create mode 100755 keyboards/vagrant_10/vagrant_10.h diff --git a/keyboards/vagrant_10/config.h b/keyboards/vagrant_10/config.h new file mode 100755 index 00000000000..2771df7895c --- /dev/null +++ b/keyboards/vagrant_10/config.h @@ -0,0 +1,55 @@ + +/** +MIT License + +Copyright (c) 2020 Shanduur & QMK Firmware + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#pragma once +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x534C +#define PRODUCT_ID 0x5E99 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Shanduur +#define PRODUCT Vagrant 10 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 3 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { F7, B1, B3, B2 } +#define MATRIX_COL_PINS { F4, F6, F5 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* 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 diff --git a/keyboards/vagrant_10/info.json b/keyboards/vagrant_10/info.json new file mode 100644 index 00000000000..badf84a7b83 --- /dev/null +++ b/keyboards/vagrant_10/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "Vagrant-10", + "url": "https://github.com/Sho-Keebs/Vagrant-10", + "maintainer": "Shanduur", + "width": 3, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [{"x":1, "y":0, "w":2}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}] + } + } +} diff --git a/keyboards/vagrant_10/keymaps/default/keymap.c b/keyboards/vagrant_10/keymaps/default/keymap.c new file mode 100755 index 00000000000..4864ce6e794 --- /dev/null +++ b/keyboards/vagrant_10/keymaps/default/keymap.c @@ -0,0 +1,59 @@ +/** +MIT License + +Copyright (c) 2020 Shanduur & QMK Firmware + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + HOME, + MODS, + MODS2, + OTHER +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [HOME] = LAYOUT( + KC_P0, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, + LT(1, KC_P1), LT(2, KC_P2), LT(3, KC_P3)), + + [MODS] = LAYOUT( + KC_MUTE, + KC_MPLY, KC_NO, KC_VOLU, + KC_MPRV, KC_MNXT, KC_VOLD, + KC_TRNS, KC_NO, KC_NO), + + [MODS2] = LAYOUT( + KC_F13, + KC_F14, KC_F15, KC_F16, + KC_F19, KC_F18, KC_F17, + KC_NO, KC_TRNS, KC_NO), + + [OTHER] = LAYOUT( + RESET, + KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_TRNS), +}; diff --git a/keyboards/vagrant_10/readme.md b/keyboards/vagrant_10/readme.md new file mode 100644 index 00000000000..5972dfec09e --- /dev/null +++ b/keyboards/vagrant_10/readme.md @@ -0,0 +1,19 @@ +# Vagrant 10 + +![Vagrant 10](https://raw.githubusercontent.com/Sho-Keebs/Vagrant-10/master/doc/vag.jpg) + +This is (yet another) simple and small macropad. + +* Keyboard Maintainer: [Shanduur](https://github.com/Shanduur) +* Hardware Supported: Vagrant-10 PCB, Arduino Pro Micro +* Hardware Availability: Groupbuys, Pro Micro can be found on [Aliexpress](https://www.aliexpress.com/wholesale?SearchText=arduino+pro+micro) + +Make example for this keyboard (after setting up your build environment): + + make vagrant_10:default + +Flashing example for this keyboard: + + make vagrant_10: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). diff --git a/keyboards/vagrant_10/rules.mk b/keyboards/vagrant_10/rules.mk new file mode 100755 index 00000000000..e4ffb10d049 --- /dev/null +++ b/keyboards/vagrant_10/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/vagrant_10/vagrant_10.c b/keyboards/vagrant_10/vagrant_10.c new file mode 100755 index 00000000000..6c577b92c27 --- /dev/null +++ b/keyboards/vagrant_10/vagrant_10.c @@ -0,0 +1,25 @@ +/** +MIT License + +Copyright (c) 2020 Shanduur & QMK Firmware + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#include "vagrant_10.h" diff --git a/keyboards/vagrant_10/vagrant_10.h b/keyboards/vagrant_10/vagrant_10.h new file mode 100755 index 00000000000..1cd4d1b7776 --- /dev/null +++ b/keyboards/vagrant_10/vagrant_10.h @@ -0,0 +1,39 @@ +/** +MIT License + +Copyright (c) 2020 Shanduur & QMK Firmware + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + K002, \ + K100, K101, K102, \ + K200, K201, K202, \ + K300, K301, K302 \ +) { \ + { KC_NO, KC_NO, K002 }, \ + { K100, K101, K102 }, \ + { K200, K201, K202 }, \ + { K300, K301, K302 } \ +}