~ruther/qmk_firmware

e6cc9cc78d40af1386f9a116d5fcc95c20233110 — fauxpark 5 years ago 1f6cb53
Template updates (#7221)

* Template updates

* Flesh out info.json & keymap.c, and turn double spaces section into a list

* Add enum to demonstrate layer naming

* Semicolon
M quantum/template/avr/readme.md => quantum/template/avr/readme.md +3 -3
@@ 4,9 4,9 @@

A short description of the keyboard/project

Keyboard Maintainer: [%YOUR_NAME%](https://github.com/yourusername)  
Hardware Supported: The PCBs, controllers supported  
Hardware Availability: links to where you can find this hardware
* Keyboard Maintainer: [%YOUR_NAME%](https://github.com/yourusername)
* Hardware Supported: The PCBs, controllers supported
* Hardware Availability: Links to where you can find this hardware

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


M quantum/template/avr/rules.mk => quantum/template/avr/rules.mk +1 -0
@@ 13,6 13,7 @@ BOOTLOADER = atmel-dfu

# If you don't know the bootloader type, then you can specify the
# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
# Otherwise, delete this section
#   Teensy halfKay      512
#   Teensy++ halfKay    1024
#   Atmel DFU loader    4096

M quantum/template/base/info.json => quantum/template/base/info.json +18 -0
@@ 0,0 1,18 @@
{
    "keyboard_name": "%KEYBOARD%",
    "url": "",
    "maintainer": "%YOUR_NAME%",
    "width": 3,
    "height": 2,
    "layouts": {
        "LAYOUT": {
            "layout": [
                {"label":"k00", "x":0, "y":0},
                {"label":"k01", "x":1, "y":0},
                {"label":"k02", "x":2, "y":0},
                {"label":"k10", "x":0, "y":1, "w":1.5},
                {"label":"k12", "x":1.5, "y":1, "w":1.5}
            ]
        }
    }
}

R quantum/template/avr/keyboard.c => quantum/template/base/keyboard.c +12 -13
@@ 13,6 13,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/>.
 */

#include "%KEYBOARD%.h"

// Optional override functions below.


@@ 20,32 21,30 @@
// These are only required if you want to perform custom actions.

/*

void matrix_init_kb(void) {
  // put your keyboard start-up code here
  // runs once when the firmware starts up
    // put your keyboard start-up code here
    // runs once when the firmware starts up

  matrix_init_user();
    matrix_init_user();
}

void matrix_scan_kb(void) {
  // put your looping keyboard code here
  // runs every cycle (a lot)
    // put your looping keyboard code here
    // runs every cycle (a lot)

  matrix_scan_user();
    matrix_scan_user();
}

bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
  // put your per-action keyboard code here
  // runs for every action, just before processing by the firmware
    // put your per-action keyboard code here
    // runs for every action, just before processing by the firmware

  return process_record_user(keycode, record);
    return process_record_user(keycode, record);
}

void led_set_kb(uint8_t usb_led) {
  // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
    // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here

  led_set_user(usb_led);
    led_set_user(usb_led);
}

*/

M quantum/template/base/keyboard.h => quantum/template/base/keyboard.h +4 -3
@@ 13,11 13,12 @@
 * 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 "quantum.h"

/* This a shortcut to help you visually see your layout.
/* This is a shortcut to help you visually see your layout.
 *
 * The first section contains all of the arguments representing the physical
 * layout of the board and position of the keys.


@@ 27,9 28,9 @@
 */
#define LAYOUT( \
    k00, k01, k02, \
      k10,  k11   \
      k10,  k12    \
) \
{ \
    { k00, k01,   k02 }, \
    { k10, KC_NO, k11 }, \
    { k10, KC_NO, k12 }  \
}

M quantum/template/base/keymaps/default/keymap.c => quantum/template/base/keymaps/default/keymap.c +16 -3
@@ 15,6 15,12 @@
 */
#include QMK_KEYBOARD_H

// Defines names for use in layer keycodes and the keymap
enum layer_names {
    _BASE,
    _FN
};

// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
    QMKBEST = SAFE_RANGE,


@@ 22,10 28,15 @@ enum custom_keycodes {
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT( /* Base */
        KC_A, KC_1, KC_H,
          KC_TAB, KC_SPC
    /* Base */
    [_BASE] = LAYOUT(
        KC_A,    KC_1,    MO(_FN),
            KC_TAB,   KC_SPC
    ),
    [_FN] = LAYOUT(
        QMKBEST, QMKURL,  _______,
            RESET,    XXXXXXX
    )
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {


@@ 50,6 61,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    return true;
}

/*
void matrix_init_user(void) {

}


@@ 61,3 73,4 @@ void matrix_scan_user(void) {
void led_set_user(uint8_t usb_led) {

}
*/

D quantum/template/ps2avrgb/keyboard.c => quantum/template/ps2avrgb/keyboard.c +0 -52
@@ 1,52 0,0 @@
/* Copyright %YEAR% %YOUR_NAME%
 *
 * 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 "%KEYBOARD%.h"

// Optional override functions below.
// You can leave any or all of these undefined.
// These are only required if you want to perform custom actions.

/*

void matrix_init_kb(void) {
  // put your keyboard start-up code here
  // runs once when the firmware starts up

  matrix_init_user();
}

void matrix_scan_kb(void) {
  // put your looping keyboard code here
  // runs every cycle (a lot)

  matrix_scan_user();
}

bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
  // put your per-action keyboard code here
  // runs for every action, just before processing by the firmware

  return process_record_user(keycode, record);
}

void led_set_kb(uint8_t usb_led) {
  // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here

  led_set_user(usb_led);
}

*/

M quantum/template/ps2avrgb/readme.md => quantum/template/ps2avrgb/readme.md +3 -3
@@ 4,9 4,9 @@

A short description of the keyboard/project

Keyboard Maintainer: [%YOUR_NAME%](https://github.com/yourusername)  
Hardware Supported: The PCBs, controllers supported  
Hardware Availability: links to where you can find this hardware
* Keyboard Maintainer: [%YOUR_NAME%](https://github.com/yourusername)
* Hardware Supported: The PCBs, controllers supported
* Hardware Availability: links to where you can find this hardware

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


M quantum/template/ps2avrgb/rules.mk => quantum/template/ps2avrgb/rules.mk +10 -8
@@ 11,14 11,16 @@ MCU = atmega32a
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options
BOOTMAGIC_ENABLE = no
MOUSEKEY_ENABLE = no
EXTRAKEY_ENABLE = yes
CONSOLE_ENABLE = yes
COMMAND_ENABLE = yes
BACKLIGHT_ENABLE = no
RGBLIGHT_ENABLE = yes
# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no        # Mouse keys
EXTRAKEY_ENABLE = yes       # Audio control and System control
CONSOLE_ENABLE = yes        # Console for debug
COMMAND_ENABLE = yes        # Commands for debug and configuration
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
WS2812_DRIVER = i2c

OPT_DEFS = -DDEBUG_LEVEL=0

M util/new_keyboard.sh => util/new_keyboard.sh +2 -0
@@ 86,6 86,7 @@ replace_year_placeholders() {
replace_keyboard_placeholders() {
    local replace_keyboard_filenames=(
        "${keyboard_dir}/config.h"
        "${keyboard_dir}/info.json"
        "${keyboard_dir}/readme.md"
        "${keyboard_dir}/${keyboard_name}.c"
        "${keyboard_dir}/keymaps/default/readme.md"


@@ 97,6 98,7 @@ replace_keyboard_placeholders() {
replace_name_placeholders() {
    local replace_name_filenames=(
        "${keyboard_dir}/config.h"
        "${keyboard_dir}/info.json"
        "${keyboard_dir}/readme.md"
        "${keyboard_dir}/${keyboard_name}.c"
        "${keyboard_dir}/${keyboard_name}.h"