~ruther/qmk_firmware

d2e6a4bf5eb1b99bf0d90d9271cffd285d408c2a — James Young 5 years ago fe86013
Handwired Minorca Refactor (#7833)

* update config.h

- use #pragma once include guard
- update USB Device Descriptor strings

* update minorca.c

- remove matrix_init_kb function (same as QMK default)

* update minorca.h

- use #pragma once include guard
- update matrix identifiers

* update info.json

- update matrix identifiers
- change to four-space indent

* update rules.mk

- remote firmware size impact notes
- disable RGBLIGHT_ENABLE (no RGB config present)
- templating

* update readme.md

- templating

* update keymaps/default/rules.mk

- remove firmware size impact numbers
- templating

* update keymaps/rgb/rules.mk

- remote firmware size impact notes
- templating

* update keymaps/rgb/readme.md

- fix header

* remove keymaps/default/rules.mk

- identical to keyboard's rules.mk

* elevate Bootmagic configurations to keyboard level

* update keymaps/rgb/config.h

- use #pragma once include guard
- remove redundant config.h include

* update keymaps/rgb/rules.mk

- remove redundant rules

* update keymaps/rgb/readme.md

- change RGB function list to a table
- make wiring call-out a header

* remove keymaps/default/config.h

- it's blank now

* update minorca.h

- use four-space indent

* add Teensy 2.0 to readme
M keyboards/handwired/minorca/config.h => keyboards/handwired/minorca/config.h +10 -6
@@ 15,8 15,7 @@ You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef CONFIG_H
#define CONFIG_H
#pragma once

#include "config_common.h"



@@ 24,9 23,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define VENDOR_ID       0xFEED
#define PRODUCT_ID      0x6660
#define DEVICE_VER      0x0001
#define MANUFACTURER    ME
#define PRODUCT         MinOrca
#define DESCRIPTION     Tiny Whale
#define MANUFACTURER    panc.co
#define PRODUCT         Minorca
#define DESCRIPTION     QMK Firmware for panc.co Minorca

/* key matrix size */
#define MATRIX_ROWS 4


@@ 72,4 71,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION

#endif

/* bootmagic salt key */
#define BOOTMAGIC_KEY_SALT              KC_ESC

/* skip bootmagic and eeconfig */
#define BOOTMAGIC_KEY_SKIP              KC_SPACE

M keyboards/handwired/minorca/info.json => keyboards/handwired/minorca/info.json +52 -52
@@ 1,55 1,55 @@
{
  "keyboard_name": "Minorca Handwired",
  "url": "",
  "maintainer": "qmk",
  "width": 12,
  "height": 4,
  "layouts": {
    "LAYOUT": {
      "layout": [
        {"label":"KA00", "x":0, "y":0},
        {"label":"KA01", "x":1, "y":0},
        {"label":"KA02", "x":2, "y":0},
        {"label":"KA03", "x":3, "y":0},
        {"label":"KA04", "x":4, "y":0},
        {"label":"KA05", "x":5, "y":0},
        {"label":"KA06", "x":6, "y":0},
        {"label":"KA07", "x":7, "y":0},
        {"label":"KA08", "x":8, "y":0},
        {"label":"KA09", "x":9, "y":0},
        {"label":"KA10", "x":10, "y":0},
        {"label":"KA11", "x":11, "y":0},
        {"label":"KB00", "x":0, "y":1, "w":1.25},
        {"label":"KB01", "x":1.25, "y":1},
        {"label":"KB02", "x":2.25, "y":1},
        {"label":"KB03", "x":3.25, "y":1},
        {"label":"KB04", "x":4.25, "y":1},
        {"label":"KB05", "x":5.25, "y":1},
        {"label":"KB06", "x":6.25, "y":1},
        {"label":"KB07", "x":7.25, "y":1},
        {"label":"KB08", "x":8.25, "y":1},
        {"label":"KB09", "x":9.25, "y":1},
        {"label":"KB11", "x":10.25, "y":1, "w":1.75},
        {"label":"KC00", "x":0, "y":2, "w":1.75},
        {"label":"KC02", "x":1.75, "y":2},
        {"label":"KC03", "x":2.75, "y":2},
        {"label":"KC04", "x":3.75, "y":2},
        {"label":"KC05", "x":4.75, "y":2},
        {"label":"KC06", "x":5.75, "y":2},
        {"label":"KC07", "x":6.75, "y":2},
        {"label":"KC08", "x":7.75, "y":2},
        {"label":"KC09", "x":8.75, "y":2},
        {"label":"KC10", "x":9.75, "y":2},
        {"label":"KC11", "x":10.75, "y":2, "w":1.25},
        {"label":"KD00", "x":0, "y":3, "w":1.25},
        {"label":"KD02", "x":1.25, "y":3, "w":1.25},
        {"label":"KD03", "x":2.5, "y":3, "w":1.25},
        {"label":"KD04", "x":3.75, "y":3, "w":2.25},
        {"label":"KD07", "x":6, "y":3, "w":2.25},
        {"label":"KD09", "x":8.25, "y":3, "w":1.25},
        {"label":"KD10", "x":9.5, "y":3},
        {"label":"KD11", "x":10.5, "y":3, "w":1.5}
      ]
    "keyboard_name": "Minorca Handwired",
    "url": "",
    "maintainer": "qmk",
    "width": 12,
    "height": 4,
    "layouts": {
        "LAYOUT": {
            "layout": [
                {"label":"K00", "x":0, "y":0},
                {"label":"K01", "x":1, "y":0},
                {"label":"K02", "x":2, "y":0},
                {"label":"K03", "x":3, "y":0},
                {"label":"K04", "x":4, "y":0},
                {"label":"K05", "x":5, "y":0},
                {"label":"K06", "x":6, "y":0},
                {"label":"K07", "x":7, "y":0},
                {"label":"K08", "x":8, "y":0},
                {"label":"K09", "x":9, "y":0},
                {"label":"K0A", "x":10, "y":0},
                {"label":"K0B", "x":11, "y":0},
                {"label":"K10", "x":0, "y":1, "w":1.25},
                {"label":"K11", "x":1.25, "y":1},
                {"label":"K12", "x":2.25, "y":1},
                {"label":"K13", "x":3.25, "y":1},
                {"label":"K14", "x":4.25, "y":1},
                {"label":"K15", "x":5.25, "y":1},
                {"label":"K16", "x":6.25, "y":1},
                {"label":"K17", "x":7.25, "y":1},
                {"label":"K18", "x":8.25, "y":1},
                {"label":"K19", "x":9.25, "y":1},
                {"label":"K1B", "x":10.25, "y":1, "w":1.75},
                {"label":"K20", "x":0, "y":2, "w":1.75},
                {"label":"K22", "x":1.75, "y":2},
                {"label":"K23", "x":2.75, "y":2},
                {"label":"K24", "x":3.75, "y":2},
                {"label":"K25", "x":4.75, "y":2},
                {"label":"K26", "x":5.75, "y":2},
                {"label":"K27", "x":6.75, "y":2},
                {"label":"K28", "x":7.75, "y":2},
                {"label":"K29", "x":8.75, "y":2},
                {"label":"K2A", "x":9.75, "y":2},
                {"label":"K2B", "x":10.75, "y":2, "w":1.25},
                {"label":"K30", "x":0, "y":3, "w":1.25},
                {"label":"K32", "x":1.25, "y":3, "w":1.25},
                {"label":"K33", "x":2.5, "y":3, "w":1.25},
                {"label":"K34", "x":3.75, "y":3, "w":2.25},
                {"label":"K37", "x":6, "y":3, "w":2.25},
                {"label":"K39", "x":8.25, "y":3, "w":1.25},
                {"label":"K3A", "x":9.5, "y":3},
                {"label":"K3B", "x":10.5, "y":3, "w":1.5}
            ]
        }
    }
  }
}

D keyboards/handwired/minorca/keymaps/default/config.h => keyboards/handwired/minorca/keymaps/default/config.h +0 -10
@@ 1,10 0,0 @@
#pragma once

// place overrides here


/* bootmagic salt key */
#define BOOTMAGIC_KEY_SALT              KC_ESC

/* skip bootmagic and eeconfig */
#define BOOTMAGIC_KEY_SKIP              KC_SPACE

D keyboards/handwired/minorca/keymaps/default/rules.mk => keyboards/handwired/minorca/keymaps/default/rules.mk +0 -21
@@ 1,21 0,0 @@


# 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 = yes      # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
CONSOLE_ENABLE = no         # Console for debug(+400)
COMMAND_ENABLE = yes        # Commands for debug and configuration
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 = no        # Enable WS2812 RGB underlight. 

# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend

M keyboards/handwired/minorca/keymaps/rgb/config.h => keyboards/handwired/minorca/keymaps/rgb/config.h +1 -12
@@ 1,13 1,4 @@
#ifndef CONFIG_USER_H
#define CONFIG_USER_H

#include "../../config.h"

/* bootmagic salt key */
#define BOOTMAGIC_KEY_SALT              KC_ESC

/* skip bootmagic and eeconfig */
#define BOOTMAGIC_KEY_SKIP              KC_SPACE
#pragma once

/* ws2812 RGB LED */
#define RGB_DI_PIN D5


@@ 16,5 7,3 @@
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17

#endif

M keyboards/handwired/minorca/keymaps/rgb/readme.md => keyboards/handwired/minorca/keymaps/rgb/readme.md +13 -11
@@ 1,4 1,4 @@
#RGB backlight for MinOrca
# RGB backlight for MinOrca

![wiring](https://i.imgur.com/jyYyiSS.jpg)



@@ 8,16 8,18 @@ http://www.40percent.club/2016/08/tiny-whale.html

The keymap is a work in progress. The RGB functions are accessed by holding down the TAB key. 

* Tab + Z		Toggle on/off
* Tab + X		Mode
* Tab + C		Hue+
* Tab + V		Hue-
* Tab + B		Saturation+
* Tab + N		Saturation-
* Tab + M		Brightness+
* Tab + ,		Brightness-

Example wiring:
Shortcut | Function
:------- | :-----
Tab + Z  | Toggle on/off
Tab + X  | Mode
Tab + C  | Hue+
Tab + V  | Hue-
Tab + B  | Saturation+
Tab + N  | Saturation-
Tab + M  | Brightness+
Tab + ,  | Brightness-

## Example wiring:

WS2812 data pin is connected to D5


M keyboards/handwired/minorca/keymaps/rgb/rules.mk => keyboards/handwired/minorca/keymaps/rgb/rules.mk +1 -21
@@ 1,21 1,1 @@


# 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 = yes      # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
CONSOLE_ENABLE = no         # Console for debug(+400)
COMMAND_ENABLE = yes        # Commands for debug and configuration
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. 

# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
RGBLIGHT_ENABLE = yes       # Enable WS2812 RGB underlight

M keyboards/handwired/minorca/minorca.c => keyboards/handwired/minorca/minorca.c +0 -5
@@ 1,6 1,1 @@
#include "minorca.h"

void matrix_init_kb(void) {

	matrix_init_user();
}
\ No newline at end of file

M keyboards/handwired/minorca/minorca.h => keyboards/handwired/minorca/minorca.h +9 -12
@@ 1,18 1,15 @@
#ifndef MINORCA_H
#define MINORCA_H
#pragma once

#include "quantum.h"

#define LAYOUT( \
    KA00, KA01, KA02, KA03, KA04, KA05, KA06, KA07, KA08, KA09, KA10, KA11, \
    KB00,  KB01, KB02, KB03, KB04, KB05, KB06, KB07, KB08, KB09,    KB11,   \
    KC00,    KC02, KC03, KC04, KC05, KC06, KC07, KC08, KC09, KC10,   KC11,  \
    KD00,  KD02,  KD03,          KD04, KD07,           KD09,  KD10,  KD11   \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
    K10,  K11, K12, K13, K14, K15, K16, K17, K18, K19,     K1B, \
    K20,    K22, K23, K24, K25, K26, K27, K28, K29, K2A,   K2B, \
    K30,  K32,  K33,         K34, K37,         K39,  K3A,  K3B  \
) { \
  {  KA00,  KA01,   KA02,  KA03,  KA04,  KA05,   KA06,   KA07,  KA08,   KA09,  KA10,   KA11  }, \
  {  KB00,  KB01,   KB02,  KB03,  KB04,  KB05,   KB06,   KB07,  KB08,   KB09,  KC_NO,  KB11  }, \
  {  KC00,  KC_NO,  KC02,  KC03,  KC04,  KC05,   KC06,   KC07,  KC08,   KC09,  KC10,   KC11  }, \
  {  KD00,  KC_NO,  KD02,  KD03,  KD04,  KC_NO,  KC_NO,  KD07,  KC_NO,  KD09,  KD10,   KD11  } \
    { K00, K01,   K02, K03, K04, K05,   K06,   K07, K08,   K09, K0A,   K0B }, \
    { K10, K11,   K12, K13, K14, K15,   K16,   K17, K18,   K19, KC_NO, K1B }, \
    { K20, KC_NO, K22, K23, K24, K25,   K26,   K27, K28,   K29, K2A,   K2B }, \
    { K30, KC_NO, K32, K33, K34, KC_NO, KC_NO, K37, KC_NO, K39, K3A,   K3B } \
}

#endif

M keyboards/handwired/minorca/readme.md => keyboards/handwired/minorca/readme.md +4 -4
@@ 1,10 1,10 @@
# minorca
# Minorca

A handwired 40% keyboard by panc.co.

Keyboard Maintainer: [The QMK Community](https://github.com/qmk)  
Hardware Supported: panc.co minorca  
Hardware Availability: [panc.co](https://www.panc.co/blog/minorcasebright-information-page)
* Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
* Hardware Supported: panc.co Minorca, Teensy 2.0
* Hardware Availability: [panc.co](https://www.panc.co/blog/minorcasebright-information-page)

Make example for this keyboard (after setting up your build environment):


M keyboards/handwired/minorca/rules.mk => keyboards/handwired/minorca/rules.mk +14 -13
@@ 12,21 12,22 @@ MCU = atmega32u4
BOOTLOADER = halfkay

# 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
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = yes      # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
CONSOLE_ENABLE = no         # Console for debug(+400)
BOOTMAGIC_ENABLE = yes      # 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 = yes        # Commands for debug and configuration
NKRO_ENABLE = yes           # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
# 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
MIDI_ENABLE = no            # MIDI controls
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight
MIDI_ENABLE = no            # MIDI support
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no           # Audio output on port C6
FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
HD44780_ENABLE = no         # Enable support for HD44780 based LCDs
UNICODE_ENABLE = no         # Unicode
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes       # Enable WS2812 RGB underlight. 

# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend