Bladeren bron

[Keyboard] Add pimentoso/paddino02 (#8756)

* added pimentoso/paddino02

* pimentoso/paddino02 fix config

* pimentoso/paddino02 fix right handed keymap

* pimentoso/paddino02 fix readme

* pimentoso/paddino02 code style

* pimentoso/paddino02 code style

* pimentoso/paddino02 code style

* pimentoso/paddino02 fix readme

* pimentoso/paddino02 code style

* pimentoso/paddino02 code style
Michele Ferri 5 jaren geleden
bovenliggende
commit
52af38da37

+ 20 - 0
keyboards/pimentoso/paddino02/config.h

@@ -0,0 +1,20 @@
+/*
+Copyright 2020 Michele Ferri <zomgsako@gmail.com>
+
+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"

+ 33 - 0
keyboards/pimentoso/paddino02/readme.md

@@ -0,0 +1,33 @@
+# Paddino02
+
+10-keys DIY mechanical macropad/gamepad. Features staggered columns, 2 thumb keys, symmetric PCB (you can build right-handed and left-handed versions with the same PCB). 
+
+Project page on Github, with build steps and 3d-printable files:
+
+https://github.com/Pimentoso/Paddino02
+
+* Keyboard Maintainer: [Michele Ferri](https://github.com/Pimentoso)
+* Hardware Supported: Paddino02 PCB rev1, rev2 + Arduino Pro Micro
+* Hardware Availability: the PCB is open source and can be freely printed at websites such as [JLCPCB](https://jlcpcb.com/)
+
+### To compile:
+
+`make pimentoso/paddino02/rev2/right:default`
+
+`make pimentoso/paddino02/rev2/left:default`
+
+`make pimentoso/paddino02/rev1:default` (legacy version of the PCB)
+
+### To flash:
+
+`make pimentoso/paddino02/rev2/right:default:flash`
+
+`make pimentoso/paddino02/rev2/left:default:flash`
+
+`make pimentoso/paddino02/rev1:default:flash` (legacy version of the PCB)
+
+### Default keymap
+
+![Keymap](https://raw.githubusercontent.com/Pimentoso/qmk_firmware/master/keyboards/pimentoso/paddino02/keymap.png)
+
+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).

+ 45 - 0
keyboards/pimentoso/paddino02/rev1/config.h

@@ -0,0 +1,45 @@
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xD00D
+#define PRODUCT_ID      0x0020
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    Pimentoso
+#define PRODUCT         Paddino02 rev1
+#define DESCRIPTION     10-key ergo macropad
+
+/* key matrix size */
+#define MATRIX_ROWS 3
+#define MATRIX_COLS 4
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { D1, D0, D4 }
+#define MATRIX_COL_PINS { D7, E6, B4, B5 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION ROW2COL
+
+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+/* 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
+
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_ANIMATIONS
+
+#define RGBLED_NUM 0
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_SLEEP
+#endif

+ 15 - 0
keyboards/pimentoso/paddino02/rev1/keymaps/default/keymap.c

@@ -0,0 +1,15 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+	LAYOUT(
+		KC_ESC, KC_BTN1, KC_UP, KC_BTN2,
+		KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT,
+		MO(1), KC_SPC),
+
+	LAYOUT(
+		KC_MY_COMPUTER, KC_MPRV, KC_MPLY, KC_MNXT,
+		KC_WWW_HOME, KC_MUTE, KC_VOLD, KC_VOLU,
+		KC_TRNS, KC_ENT)
+
+};

+ 16 - 0
keyboards/pimentoso/paddino02/rev1/rev1.c

@@ -0,0 +1,16 @@
+/* Copyright 2020 Michele Ferri <zomgsako@gmail.com>
+ *
+ * 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 "rev1.h"

+ 13 - 0
keyboards/pimentoso/paddino02/rev1/rev1.h

@@ -0,0 +1,13 @@
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT( \
+	K00, K01, K02, K03, \
+	K10, K11, K12, K13, \
+	          K22, K23  \
+) { \
+	{ K00,   K01,   K02,   K03 }, \
+	{ K10,   K11,   K12,   K13 }, \
+	{ KC_NO, KC_NO, K22,   K23 }  \
+}

+ 0 - 0
keyboards/pimentoso/paddino02/rev1/rules.mk


+ 45 - 0
keyboards/pimentoso/paddino02/rev2/left/config.h

@@ -0,0 +1,45 @@
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xD00D
+#define PRODUCT_ID      0x0021
+#define DEVICE_VER      0x0002
+#define MANUFACTURER    Pimentoso
+#define PRODUCT         Paddino02 rev2
+#define DESCRIPTION     10-key ergo macropad
+
+/* key matrix size */
+#define MATRIX_ROWS 3
+#define MATRIX_COLS 4
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { D0, D4, D1 }
+#define MATRIX_COL_PINS { D7, E6, B4, B5 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+/* 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
+
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_ANIMATIONS
+
+#define RGBLED_NUM 0
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_SLEEP
+#endif

+ 15 - 0
keyboards/pimentoso/paddino02/rev2/left/keymaps/default/keymap.c

@@ -0,0 +1,15 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+	LAYOUT(
+		KC_ESC, KC_BTN1, KC_UP, KC_BTN2,
+		KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT,
+		MO(1), KC_SPC),
+
+	LAYOUT(
+		KC_MY_COMPUTER, KC_MPRV, KC_MPLY, KC_MNXT,
+		KC_WWW_HOME, KC_MUTE, KC_VOLD, KC_VOLU,
+		KC_TRNS, KC_ENT)
+
+};

+ 16 - 0
keyboards/pimentoso/paddino02/rev2/left/left.c

@@ -0,0 +1,16 @@
+/* Copyright 2020 Michele Ferri <zomgsako@gmail.com>
+ *
+ * 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 "left.h"

+ 13 - 0
keyboards/pimentoso/paddino02/rev2/left/left.h

@@ -0,0 +1,13 @@
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT( \
+	K00, K01, K02, K03, \
+	K10, K11, K12, K13, \
+	          K22, K23  \
+) { \
+	{ K00,   K01,   K02,   K03 }, \
+	{ K10,   K11,   K12,   K13 }, \
+	{ KC_NO, KC_NO, K22,   K23 }  \
+}

+ 0 - 0
keyboards/pimentoso/paddino02/rev2/left/rules.mk


+ 45 - 0
keyboards/pimentoso/paddino02/rev2/right/config.h

@@ -0,0 +1,45 @@
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xD00D
+#define PRODUCT_ID      0x0022
+#define DEVICE_VER      0x0002
+#define MANUFACTURER    Pimentoso
+#define PRODUCT         Paddino02 rev2
+#define DESCRIPTION     10-key ergo macropad
+
+/* key matrix size */
+#define MATRIX_ROWS 3
+#define MATRIX_COLS 4
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { F4, F6, F5 }
+#define MATRIX_COL_PINS { B6, B2, B3, B1 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* number of backlight levels */
+#define BACKLIGHT_LEVELS 3
+
+/* 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
+
+#ifdef RGB_DI_PIN
+#define RGBLIGHT_ANIMATIONS
+
+#define RGBLED_NUM 0
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_SLEEP
+#endif

+ 15 - 0
keyboards/pimentoso/paddino02/rev2/right/keymaps/default/keymap.c

@@ -0,0 +1,15 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+	LAYOUT(
+		KC_ESC, KC_BTN2, KC_UP, KC_BTN1,
+		KC_LSFT, KC_RGHT, KC_DOWN, KC_LEFT,
+		MO(1), KC_SPC),
+
+	LAYOUT(
+		KC_MY_COMPUTER, KC_MNXT, KC_MPLY, KC_MPRV,
+		KC_WWW_HOME, KC_MUTE, KC_VOLU, KC_VOLD,
+		KC_TRNS, KC_ENT)
+
+};

+ 16 - 0
keyboards/pimentoso/paddino02/rev2/right/right.c

@@ -0,0 +1,16 @@
+/* Copyright 2020 Michele Ferri <zomgsako@gmail.com>
+ *
+ * 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 "right.h"

+ 13 - 0
keyboards/pimentoso/paddino02/rev2/right/right.h

@@ -0,0 +1,13 @@
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT( \
+	K00, K01, K02, K03, \
+	K10, K11, K12, K13, \
+	K20, K21  \
+) { \
+	{ K03,   K02,   K01,   K00 }, \
+	{ K13,   K12,   K11,   K10 }, \
+	{ K21,   K20,   KC_NO, KC_NO }  \
+}

+ 0 - 0
keyboards/pimentoso/paddino02/rev2/right/rules.mk


+ 27 - 0
keyboards/pimentoso/paddino02/rules.mk

@@ -0,0 +1,27 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+#   Teensy       halfkay
+#   Pro Micro    caterina
+#   Atmel DFU    atmel-dfu
+#   LUFA DFU     lufa-dfu
+#   QMK DFU      qmk-dfu
+#   ATmega32A    bootloadHID
+#   ATmega328P   USBasp
+BOOTLOADER = caterina
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no   # 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
+SLEEP_LED_ENABLE = no   # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes       # USB Nkey Rollover
+BACKLIGHT_ENABLE = no   # Enable keyboard backlight functionality
+AUDIO_ENABLE = no       # Audio output on port C6
+RGBLIGHT_ENABLE = no    # Enable WS2812 RGB underlight.
+KEY_LOCK_ENABLE = no    # Allows locking any key.