Browse Source

[Keyboard] Add Phoebe, a keyboard by Maxr1998 (#6870)

* Add Phoebe, a keyboard by Maxr1998

* Improve include-guard

* Remove unused functions

* Remove unused extern

* Add image

* Some more fixes
Max Rumpf 5 years ago
parent
commit
60267fe2ca

+ 71 - 0
keyboards/maxr1998/phoebe/config.h

@@ -0,0 +1,71 @@
+/*
+Copyright 2012 Jun Wako <wakojun@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"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xFEED
+#define PRODUCT_ID      0x6060
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    Maxr1998
+#define PRODUCT         Phoebe
+#define DESCRIPTION     A 5x12 ortolinear keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 12
+
+/* Planck PCB default pin-out */
+#define MATRIX_ROW_PINS { B7, B3, B2, B1, D6 }
+#define MATRIX_COL_PINS { D7, B4, B5, B6, C6, C7, B0, F1, F4, F5, F6, F7 }
+#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
+
+/* RGB LED Setup */
+#define RGB_DI_PIN          F0 // pin the DI on the WS2812B is hooked-up to
+#define RGBLIGHT_ANIMATIONS    // run RGB animations
+#define RGBLED_NUM          8  // number of LEDs
+
+/*
+ * Feature disable options
+ *  These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION

+ 73 - 0
keyboards/maxr1998/phoebe/info.json

@@ -0,0 +1,73 @@
+{
+  "keyboard_name": "Phoebe",
+  "keyboard_folder": "maxr1998/phoebe",
+  "url": "https://github.com/Maxr1998/Phoebe_Keyboard",
+  "maintainer": "Maxr1998",
+  "width": 12,
+  "height": 5,
+  "layouts": {
+    "LAYOUT": {
+      "key_count": 59,
+      "layout": [ 
+        { "w": 1, "x": 0, "y": 0 }, 
+        { "w": 1, "x": 1, "y": 0 }, 
+        { "w": 1, "x": 2, "y": 0 }, 
+        { "w": 1, "x": 3, "y": 0 }, 
+        { "w": 1, "x": 4, "y": 0 }, 
+        { "w": 1, "x": 5, "y": 0 }, 
+        { "w": 1, "x": 6, "y": 0 }, 
+        { "w": 1, "x": 7, "y": 0 }, 
+        { "w": 1, "x": 8, "y": 0 }, 
+        { "w": 1, "x": 9, "y": 0 }, 
+        { "w": 1, "x": 10, "y": 0 }, 
+        { "w": 1, "x": 11, "y": 0 }, 
+        { "w": 1, "x": 0, "y": 1 }, 
+        { "w": 1, "x": 1, "y": 1 }, 
+        { "w": 1, "x": 2, "y": 1 }, 
+        { "w": 1, "x": 3, "y": 1 }, 
+        { "w": 1, "x": 4, "y": 1 }, 
+        { "w": 1, "x": 5, "y": 1 }, 
+        { "w": 1, "x": 6, "y": 1 }, 
+        { "w": 1, "x": 7, "y": 1 }, 
+        { "w": 1, "x": 8, "y": 1 }, 
+        { "w": 1, "x": 9, "y": 1 }, 
+        { "w": 1, "x": 10, "y": 1 }, 
+        { "w": 1, "x": 11, "y": 1 }, 
+        { "w": 1, "x": 0, "y": 2 }, 
+        { "w": 1, "x": 1, "y": 2 }, 
+        { "w": 1, "x": 2, "y": 2 }, 
+        { "w": 1, "x": 3, "y": 2 }, 
+        { "w": 1, "x": 4, "y": 2 }, 
+        { "w": 1, "x": 5, "y": 2 }, 
+        { "w": 1, "x": 6, "y": 2 }, 
+        { "w": 1, "x": 7, "y": 2 }, 
+        { "w": 1, "x": 8, "y": 2 }, 
+        { "w": 1, "x": 9, "y": 2 }, 
+        { "w": 1, "x": 10, "y": 2 }, 
+        { "w": 1, "x": 11, "y": 2 }, 
+        { "w": 1, "x": 0, "y": 3 }, 
+        { "w": 1, "x": 1, "y": 3 }, 
+        { "w": 1, "x": 2, "y": 3 }, 
+        { "w": 1, "x": 3, "y": 3 }, 
+        { "w": 1, "x": 4, "y": 3 }, 
+        { "w": 1, "x": 5, "y": 3 }, 
+        { "w": 1, "x": 6, "y": 3 }, 
+        { "w": 1, "x": 7, "y": 3 }, 
+        { "w": 1, "x": 8, "y": 3 }, 
+        { "w": 1, "x": 9, "y": 3 }, 
+        { "w": 1, "x": 10, "y": 3 }, 
+        { "w": 1, "x": 11, "y": 3 }, 
+        { "w": 1, "x": 0, "y": 4 }, 
+        { "w": 1, "x": 1, "y": 4 }, 
+        { "w": 1, "x": 2, "y": 4 }, 
+        { "w": 1, "x": 3, "y": 4 }, 
+        { "w": 1, "x": 4, "y": 4 }, 
+        { "w": 2, "x": 5, "y": 4 }, 
+        { "w": 1, "x": 7, "y": 4 }, 
+        { "w": 1, "x": 8, "y": 4 }, 
+        { "w": 1, "x": 9, "y": 4 }, 
+        { "w": 1, "x": 10, "y": 4 }, 
+        { "w": 1, "x": 11, "y": 4 } ]
+    }
+  }
+}

+ 102 - 0
keyboards/maxr1998/phoebe/keymaps/default/keymap.c

@@ -0,0 +1,102 @@
+#include QMK_KEYBOARD_H
+
+#include "keymap_german.h"
+
+enum layers {
+  _QWERTZ,
+  _SC,
+  _FN,
+  _GAMING
+};
+
+#define KC_SC MO(_SC)
+#define KC_FN MO(_FN)
+#define G_1 TO(_GAMING)
+#define G_0 TG(_GAMING)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwertz
+ * ,-----------------------------------------------------------------------------------.
+ * | Esc  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bspc |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Grv  |   Q  |   W  |   E  |   R  |   T  |   Z  |   U  |   I  |   O  |   P  | Enter|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  | +* ~ |   ?  |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Shift|   Y  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |  Up  | Shift|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Sup  | Alt  | Alt  | SpCh |    Space    | AltGr| Fun  | Left | Down | Right|
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTZ] = LAYOUT(
+  KC_ESC,  DE_1,    DE_2,    DE_3,    DE_4,    DE_5,    DE_6,    DE_7,    DE_8,    DE_9,    DE_0,    KC_BSPC,
+  KC_GRV,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_ENT,
+  KC_TAB,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    DE_PLUS, DE_QST,
+  KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_UP,   KC_RSFT,
+  KC_LCTL, KC_LGUI, KC_LALT, KC_LALT, KC_SC,       KC_SPC,       KC_ALGR, KC_FN,   KC_LEFT, KC_DOWN, KC_RGHT
+),
+
+/* Special characters
+ * ,-----------------------------------------------------------------------------------.
+ * |      |      |      |      |      |      |      |      |      |      |      |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |      |      |      |      |      |      |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |      |      |      |      |      |  #'  |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      | <> | |      |      |      |      |      |      |      |      |  -_  |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      | ---- | ---- |             |      | ---- |      |      |      |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_SC] = LAYOUT(
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DE_HASH, _______,
+  _______, DE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______,
+  _______, _______, _______, XXXXXXX, _______,      _______,     _______, XXXXXXX, _______, _______, _______
+),
+
+/* Function layer
+ * ,-----------------------------------------------------------------------------------.
+ * |      |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |  F7  |  F8  |  F9  | F10  | Del  |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |      |      |   Ü  |      |   Ö  | F11  |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Lock |   Ä  |   ß  |      |      | GAME |      | RGBS | RGBB | RGBS | F12  |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |      |      | RGBH-| RGBT | RGBH+| PgUp |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      | ---- | ---- |             | ---- | ---- | Home | PgDn | End  |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_FN] = LAYOUT(
+  _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_DEL,
+  _______, _______, _______, _______, _______, _______, _______, DE_UE,   _______, DE_OE,   KC_F11,  _______,
+  KC_LOCK, DE_AE,   DE_SS,   _______, _______, G_1,     _______, RGB_M_P, RGB_M_B, RGB_M_SW,KC_F12,  _______,
+  _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_TOG, RGB_HUI, KC_PGUP, _______,
+  XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX,      _______,     XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_END
+),
+
+/* Gaming
+ * ,-----------------------------------------------------------------------------------.
+ * |      |      |      |      |      |      |      |      |      |      |      |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |      |      |      |      |      |      |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |      |      |      |      |      |      |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |      |      |      |      |      |      |      |      |      |      |      |      |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Space|      |      |      |      |             |      | Leave|      |      |      |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_GAMING] = LAYOUT(
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+  KC_SPC,  XXXXXXX, _______, _______, _______,      _______,     _______, G_0,     _______, _______, _______
+)
+};

+ 0 - 0
keyboards/maxr1998/phoebe/keymaps/default/rules.mk


+ 1 - 0
keyboards/maxr1998/phoebe/phoebe.c

@@ -0,0 +1 @@
+#include "phoebe.h"

+ 18 - 0
keyboards/maxr1998/phoebe/phoebe.h

@@ -0,0 +1,18 @@
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT( \
+      k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+      k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+      k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+      k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
+      k40, k41, k42, k43, k44,    k45,   k47, k48, k49, k4a, k4b \
+) \
+{ \
+      { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
+      { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
+      { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
+      { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
+      { k40, k41, k42, k43, k44,    k45,   k47, k48, k49, k4a, k4b } \
+}

+ 13 - 0
keyboards/maxr1998/phoebe/readme.md

@@ -0,0 +1,13 @@
+# Phoebe
+A 5x12 ortolinear keyboard, developed by Maxr1998, [fully open-source](https://github.com/Maxr1998/Phoebe_Keyboard).
+
+![Image](https://i.imgur.com/zEZxqZC.jpg)
+
+Keyboard Maintainer: [Maxr1998](https://github.com/Maxr1998)  
+Hardware Availability: DIY from the [open-source design files](https://github.com/Maxr1998/Phoebe), potential official distribution in the future
+
+Make example for this keyboard (after setting up your build environment):
+
+    make maxr1998/phoebe: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).

+ 30 - 0
keyboards/maxr1998/phoebe/rules.mk

@@ -0,0 +1,30 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader
+#     This definition is optional, and if your keyboard supports multiple bootloaders of
+#     different sizes, comment this out, and the correct address will be loaded
+#     automatically (+60). See bootloader.mk for all options.
+BOOTLOADER = atmel-dfu
+
+# Build Options
+#   change to "no" to disable the options, or define them in the Makefile in
+#   the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no      # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no       # Mouse keys(+4700)
+EXTRAKEY_ENABLE = no       # Audio control and System control(+450)
+CONSOLE_ENABLE = yes       # Console for debug(+400)
+COMMAND_ENABLE = no        # Commands for debug and configuration
+COMBO_ENABLE = no          # Key combo feature
+NKRO_ENABLE = yes          # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality
+MIDI_ENABLE = no           # MIDI controls
+AUDIO_ENABLE = no          # Audio output on port C6
+UNICODE_ENABLE = no        # Unicode
+BLUETOOTH_ENABLE = no      # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = yes      # Enable WS2812 RGB underlight.
+KEY_LOCK_ENABLE = yes
+API_SYSEX_ENABLE = no
+SLEEP_LED_ENABLE = no      # Breathing sleep LED during USB suspend
+