~ruther/qmk_firmware

039434caf96c77a8584f03ab2b27ed255e7adae5 — noroadsleft 6 years ago bb5262d
Keyboard: Bpiphany Pegasus Hoof Refactor, Configurator support (#4649)

* Pegasus Hoof: layout macro refactor

- Renamed KEYMAP to LAYOUT
- Added LAYOUT_tkl_ansi macro
- white space changes (changed tabs for 2 spaces)

* Pegasus Hoof: keymap refactor

- updated layout macro names
- changed to #include QMK_KEYBOARD_H
- removed redundant KC_TRNS definitions
- white space changes (changed tabs to spaces)
- removed deprecated build script instructions from rules.mk files
- updated config.h to #pragma once

* Pegasus Hoof: Configurator support

* Pegasus Hoof: readme cleanup

- Reformat header and description paragraph
- Fix Hardware Availability link (was 404)
- renamed filename to lowercase

* Pegasus Hoof: add LAYOUTS = tkl_ansi to rules.mk

* Pegasus Hoof: fix LAYOUT_tkl_jis macro
A keyboards/bpiphany/pegasushoof/info.json => keyboards/bpiphany/pegasushoof/info.json +192 -0
@@ 0,0 1,192 @@
{
  "keyboard_name": "Pegasus Hoof",
  "url": "",
  "maintainer": "qmk",
  "width": 18.25,
  "height": 6.5,
  "layouts": {
    "LAYOUT": {
      "layout": [
        {"label":"Esc", "x":0, "y":0},
        {"label":"F1", "x":2, "y":0},
        {"label":"F2", "x":3, "y":0},
        {"label":"F3", "x":4, "y":0},
        {"label":"F4", "x":5, "y":0},
        {"label":"F5", "x":6.5, "y":0},
        {"label":"F6", "x":7.5, "y":0},
        {"label":"F7", "x":8.5, "y":0},
        {"label":"F8", "x":9.5, "y":0},
        {"label":"F9", "x":11, "y":0},
        {"label":"F10", "x":12, "y":0},
        {"label":"F11", "x":13, "y":0},
        {"label":"F12", "x":14, "y":0},
        {"label":"Print Screen", "x":15.25, "y":0},
        {"label":"Scroll Lock", "x":16.25, "y":0},
        {"label":"Pause", "x":17.25, "y":0},
        {"label":"`", "x":0, "y":1.5},
        {"label":"1", "x":1, "y":1.5},
        {"label":"2", "x":2, "y":1.5},
        {"label":"3", "x":3, "y":1.5},
        {"label":"4", "x":4, "y":1.5},
        {"label":"5", "x":5, "y":1.5},
        {"label":"6", "x":6, "y":1.5},
        {"label":"7", "x":7, "y":1.5},
        {"label":"8", "x":8, "y":1.5},
        {"label":"9", "x":9, "y":1.5},
        {"label":"0", "x":10, "y":1.5},
        {"label":"-", "x":11, "y":1.5},
        {"label":"=", "x":12, "y":1.5},
        {"label":"Backspace", "x":13, "y":1.5, "w":2},
        {"label":"Insert", "x":15.25, "y":1.5},
        {"label":"Home", "x":16.25, "y":1.5},
        {"label":"Page Up", "x":17.25, "y":1.5},
        {"label":"Tab", "x":0, "y":2.5, "w":1.5},
        {"label":"Q", "x":1.5, "y":2.5},
        {"label":"W", "x":2.5, "y":2.5},
        {"label":"E", "x":3.5, "y":2.5},
        {"label":"R", "x":4.5, "y":2.5},
        {"label":"T", "x":5.5, "y":2.5},
        {"label":"Y", "x":6.5, "y":2.5},
        {"label":"U", "x":7.5, "y":2.5},
        {"label":"I", "x":8.5, "y":2.5},
        {"label":"O", "x":9.5, "y":2.5},
        {"label":"P", "x":10.5, "y":2.5},
        {"label":"[", "x":11.5, "y":2.5},
        {"label":"]", "x":12.5, "y":2.5},
        {"label":"\\", "x":13.5, "y":2.5, "w":1.5},
        {"label":"Delete", "x":15.25, "y":2.5},
        {"label":"End", "x":16.25, "y":2.5},
        {"label":"Page Down", "x":17.25, "y":2.5},
        {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
        {"label":"A", "x":1.75, "y":3.5},
        {"label":"S", "x":2.75, "y":3.5},
        {"label":"D", "x":3.75, "y":3.5},
        {"label":"F", "x":4.75, "y":3.5},
        {"label":"G", "x":5.75, "y":3.5},
        {"label":"H", "x":6.75, "y":3.5},
        {"label":"J", "x":7.75, "y":3.5},
        {"label":"K", "x":8.75, "y":3.5},
        {"label":"L", "x":9.75, "y":3.5},
        {"label":";", "x":10.75, "y":3.5},
        {"label":"'", "x":11.75, "y":3.5},
        {"label":"Enter", "x":12.75, "y":3.5, "w":2.25},
        {"label":"Shift", "x":0, "y":4.5, "w":1.25},
        {"label":"ISO \\", "x":1.25, "y":4.5},
        {"label":"Z", "x":2.25, "y":4.5},
        {"label":"X", "x":3.25, "y":4.5},
        {"label":"C", "x":4.25, "y":4.5},
        {"label":"V", "x":5.25, "y":4.5},
        {"label":"B", "x":6.25, "y":4.5},
        {"label":"N", "x":7.25, "y":4.5},
        {"label":"M", "x":8.25, "y":4.5},
        {"label":",", "x":9.25, "y":4.5},
        {"label":".", "x":10.25, "y":4.5},
        {"label":"/", "x":11.25, "y":4.5},
        {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
        {"label":"Up", "x":16.25, "y":4.5},
        {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
        {"label":"GUI", "x":1.25, "y":5.5, "w":1.25},
        {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
        {"x":3.75, "y":5.5, "w":6.25},
        {"label":"AltGr", "x":10, "y":5.5, "w":1.25},
        {"label":"GUI", "x":11.25, "y":5.5, "w":1.25},
        {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
        {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
        {"label":"Left", "x":15.25, "y":5.5},
        {"label":"Down", "x":16.25, "y":5.5},
        {"label":"Right", "x":17.25, "y":5.5}
      ]
    },
    "LAYOUT_tkl_ansi": {
      "layout": [
        {"label":"Esc", "x":0, "y":0},
        {"label":"F1", "x":2, "y":0},
        {"label":"F2", "x":3, "y":0},
        {"label":"F3", "x":4, "y":0},
        {"label":"F4", "x":5, "y":0},
        {"label":"F5", "x":6.5, "y":0},
        {"label":"F6", "x":7.5, "y":0},
        {"label":"F7", "x":8.5, "y":0},
        {"label":"F8", "x":9.5, "y":0},
        {"label":"F9", "x":11, "y":0},
        {"label":"F10", "x":12, "y":0},
        {"label":"F11", "x":13, "y":0},
        {"label":"F12", "x":14, "y":0},
        {"label":"Print Screen", "x":15.25, "y":0},
        {"label":"Scroll Lock", "x":16.25, "y":0},
        {"label":"Pause", "x":17.25, "y":0},
        {"label":"`", "x":0, "y":1.5},
        {"label":"1", "x":1, "y":1.5},
        {"label":"2", "x":2, "y":1.5},
        {"label":"3", "x":3, "y":1.5},
        {"label":"4", "x":4, "y":1.5},
        {"label":"5", "x":5, "y":1.5},
        {"label":"6", "x":6, "y":1.5},
        {"label":"7", "x":7, "y":1.5},
        {"label":"8", "x":8, "y":1.5},
        {"label":"9", "x":9, "y":1.5},
        {"label":"0", "x":10, "y":1.5},
        {"label":"-", "x":11, "y":1.5},
        {"label":"=", "x":12, "y":1.5},
        {"label":"Backspace", "x":13, "y":1.5, "w":2},
        {"label":"Insert", "x":15.25, "y":1.5},
        {"label":"Home", "x":16.25, "y":1.5},
        {"label":"Page Up", "x":17.25, "y":1.5},
        {"label":"Tab", "x":0, "y":2.5, "w":1.5},
        {"label":"Q", "x":1.5, "y":2.5},
        {"label":"W", "x":2.5, "y":2.5},
        {"label":"E", "x":3.5, "y":2.5},
        {"label":"R", "x":4.5, "y":2.5},
        {"label":"T", "x":5.5, "y":2.5},
        {"label":"Y", "x":6.5, "y":2.5},
        {"label":"U", "x":7.5, "y":2.5},
        {"label":"I", "x":8.5, "y":2.5},
        {"label":"O", "x":9.5, "y":2.5},
        {"label":"P", "x":10.5, "y":2.5},
        {"label":"[", "x":11.5, "y":2.5},
        {"label":"]", "x":12.5, "y":2.5},
        {"label":"\\", "x":13.5, "y":2.5, "w":1.5},
        {"label":"Delete", "x":15.25, "y":2.5},
        {"label":"End", "x":16.25, "y":2.5},
        {"label":"Page Down", "x":17.25, "y":2.5},
        {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
        {"label":"A", "x":1.75, "y":3.5},
        {"label":"S", "x":2.75, "y":3.5},
        {"label":"D", "x":3.75, "y":3.5},
        {"label":"F", "x":4.75, "y":3.5},
        {"label":"G", "x":5.75, "y":3.5},
        {"label":"H", "x":6.75, "y":3.5},
        {"label":"J", "x":7.75, "y":3.5},
        {"label":"K", "x":8.75, "y":3.5},
        {"label":"L", "x":9.75, "y":3.5},
        {"label":";", "x":10.75, "y":3.5},
        {"label":"'", "x":11.75, "y":3.5},
        {"label":"Enter", "x":12.75, "y":3.5, "w":2.25},
        {"label":"Shift", "x":0, "y":4.5, "w":2.25},
        {"label":"Z", "x":2.25, "y":4.5},
        {"label":"X", "x":3.25, "y":4.5},
        {"label":"C", "x":4.25, "y":4.5},
        {"label":"V", "x":5.25, "y":4.5},
        {"label":"B", "x":6.25, "y":4.5},
        {"label":"N", "x":7.25, "y":4.5},
        {"label":"M", "x":8.25, "y":4.5},
        {"label":",", "x":9.25, "y":4.5},
        {"label":".", "x":10.25, "y":4.5},
        {"label":"/", "x":11.25, "y":4.5},
        {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
        {"label":"Up", "x":16.25, "y":4.5},
        {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
        {"label":"GUI", "x":1.25, "y":5.5, "w":1.25},
        {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
        {"x":3.75, "y":5.5, "w":6.25},
        {"label":"AltGr", "x":10, "y":5.5, "w":1.25},
        {"label":"GUI", "x":11.25, "y":5.5, "w":1.25},
        {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
        {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
        {"label":"Left", "x":15.25, "y":5.5},
        {"label":"Down", "x":16.25, "y":5.5},
        {"label":"Right", "x":17.25, "y":5.5}
      ]
    }
  }
}

M keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c => keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c +5 -7
@@ 15,9 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/>.
*/

#include "pegasushoof.h"

#define _______ KC_TRNS
#include QMK_KEYBOARD_H

/* Swedish keys */
#define SE_HALF KC_GRV


@@ 44,7 42,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
	/* Layer 0: Blowrak ISO layer, a Swedish take on Dvorak */
	[KM_BLOWRAK] = KEYMAP( \
	[KM_BLOWRAK] = LAYOUT( \
		KC_ESC,          KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  KC_F7,  KC_F8,  KC_F9,  KC_F10, KC_F11, KC_F12,    KC_PSCR,KC_SLCK,KC_PAUS, \
		SE_HALF, KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,   KC_9,   KC_0,   SE_PLUS,SE_ACUT,KC_BSPC,   KC_INS, KC_HOME,KC_PGUP, \
		KC_TAB,  SE_AO,  SE_AE,  SE_OE,  KC_P,   KC_Y,   KC_F,   KC_G,   KC_C,   KC_R,   KC_L,   KC_COMM,SE_CIRC,SE_QUOT,   KC_DEL, KC_END, KC_PGDN, \


@@ 52,7 50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
		KC_LSFT, SE_LTGT,KC_DOT, KC_Q,   KC_J,   KC_K,   KC_B,   KC_X,   KC_M,   KC_W,   KC_V,   KC_Z,           KC_RSFT,           KC_UP,           \
		KC_FN0,  KC_LGUI,KC_LALT,                       KC_SPC,                          KC_RALT,KC_RGUI,KC_MENU,KC_FN1,    KC_LEFT,KC_DOWN,KC_RGHT),
	/* Layer 1: Standard ISO layer */
	[KM_QWERTY] = KEYMAP( \
	[KM_QWERTY] = LAYOUT( \
		KC_ESC,          KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  KC_F7,  KC_F8,  KC_F9,  KC_F10, KC_F11, KC_F12,    KC_PSCR,KC_SLCK,KC_PAUS, \
		SE_HALF, KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,   KC_9,   KC_0,   SE_PLUS,SE_ACUT,KC_BSPC,   KC_INS, KC_HOME,KC_PGUP, \
		KC_TAB,  KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,   KC_O,   KC_P,   SE_AO,  SE_CIRC,SE_QUOT,   KC_DEL, KC_END, KC_PGDN, \


@@ 60,7 58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
		KC_LSFT, SE_LTGT,KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM,KC_DOT, SE_MINS,        KC_RSFT,           KC_UP,           \
		KC_FN0,  KC_LGUI,KC_LALT,                       KC_SPC,                          KC_RALT,KC_RGUI,KC_MENU,KC_FN1,    KC_LEFT,KC_DOWN,KC_RGHT),
	/* Layer 2: Media layer */
	[KM_MEDIA] = KEYMAP( \
	[KM_MEDIA] = LAYOUT( \
		_______,        _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,   KC_WAKE,KC_PWR, KC_SLEP, \
		_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,   _______,_______,KC_VOLU, \
		_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,   KC_MUTE,_______,KC_VOLD, \


@@ 68,7 66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
		_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,        _______,           KC_MPLY,         \
		_______,_______,_______,                        _______,                        _______,_______,RESET  ,_______,   KC_MPRV,KC_MSTP,KC_MNXT),
	/* Layer 3: Programming layer */
	[KM_HAXHAX] = KEYMAP( \
	[KM_HAXHAX] = LAYOUT( \
		_______,        _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,   _______,_______,_______, \
		_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,   _______,_______,_______, \
		_______,SE_LCBR,SE_PIPE,SE_RCBR,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,   _______,_______,_______, \

M keyboards/bpiphany/pegasushoof/keymaps/blowrak/rules.mk => keyboards/bpiphany/pegasushoof/keymaps/blowrak/rules.mk +2 -7
@@ 1,5 1,5 @@
# Build Options
#   change to "no" to disable the options, or define them in the Makefile in 
#   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)


@@ 14,9 14,4 @@ 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. 


ifndef QUANTUM_DIR
	include ../../../../Makefile
endif
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.

M keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h => keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h +1 -6
@@ 1,11 1,6 @@
#ifndef CONFIG_USER_H
#define CONFIG_USER_H

#include "../../config.h"
#pragma once

/* overridden settings: */

#undef PRODUCT
#define PRODUCT Pegasus Hoof Citadel

#endif

M keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c => keyboards/bpiphany/pegasushoof/keymaps/citadel/keymap.c +4 -4
@@ 14,7 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "pegasushoof.h"
#include QMK_KEYBOARD_H

/* Allow shortcuts for combos like RALT(KC_RBRC) that don't take up more than 7 characters: */
#define G(kc) RALT(KC_##kc)


@@ 58,7 58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 * '------------------------------------------------------------------------' '--------------'
 *                                                                                                  NUHS = true position of KC_NUHS
 */
[DEF] = KEYMAP( \
[DEF] = LAYOUT( \
  KC_ESC,         KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  KC_F7,  KC_F8,  KC_F9,  KC_F10, KC_F11, KC_F12,   KC_PSCR,KC_SLCK,TD(AF4), \
  KC_GRV, KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,   KC_9,   KC_0,   KC_MINS,KC_EQL, KC_BSPC,  KC_INS, KC_HOME,KC_PGUP, \
  KC_TAB, KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,   KC_O,   KC_P,   KC_LBRC,KC_RBRC,KC_NUHS,  KC_DEL, KC_END, KC_PGDN, \


@@ 89,7 89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 * '------------------------------------------------------------------------' '--------------'
 *
 */
[FUN] = KEYMAP( \
[FUN] = LAYOUT( \
  CTALDEL,        KC_MYCM,KC_WHOM,KC_CALC,KC_MSEL,KC_MPRV,KC_MNXT,KC_MPLY,KC_MSTP,KC_MUTE,KC_VOLD,KC_VOLU,MO(RES),  _______,KC_SLCK,KC_PAUS, \
  _______,_______,_______,_______,_______,_______,_______,G(7),   G(8),   G(9),   G(0),   G(MINS),_______,_______,  _______,_______,KC_WH_U, \
  _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,G(RBRC),_______,  _______,_______,KC_WH_D, \


@@ 99,7 99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {


/* Layer 3: Reset layer (prevents accidental resets) */
[RES] = KEYMAP( \
[RES] = LAYOUT( \
  _______,        _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,  _______,_______,_______, \
  _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,  _______,_______,_______, \
  _______,_______,_______,_______,RESET,  _______,_______,_______,_______,_______,_______,_______,_______,_______,  _______,_______,_______, \

M keyboards/bpiphany/pegasushoof/keymaps/citadel/rules.mk => keyboards/bpiphany/pegasushoof/keymaps/citadel/rules.mk +1 -6
@@ 13,10 13,5 @@ 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. 
RGBLIGHT_ENABLE  = no   # Enable WS2812 RGB underlight.
TAP_DANCE_ENABLE = yes  # see https://docs.qmk.fm/#/feature_tap_dance (+1000)


ifndef QUANTUM_DIR
  include ../../../../Makefile
endif

M keyboards/bpiphany/pegasushoof/keymaps/default/keymap.c => keyboards/bpiphany/pegasushoof/keymaps/default/keymap.c +30 -34
@@ 15,46 15,42 @@ 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 "pegasushoof.h"

#define _______ KC_TRNS
#include QMK_KEYBOARD_H

#define KM_QWERTY  0
#define KM_MEDIA   1

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
	/* Layer 0: Standard ISO layer */
	[KM_QWERTY] = KEYMAP( \
		KC_ESC,          KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  KC_F7,  KC_F8,  KC_F9,  KC_F10, KC_F11, KC_F12,   KC_PSCR,KC_SLCK,KC_PAUS, \
		KC_GRV,  KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,   KC_9,   KC_0,   KC_MINS,KC_EQL, KC_BSPC,  KC_INS, KC_HOME,KC_PGUP, \
		KC_TAB,  KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,   KC_O,   KC_P,   KC_LBRC,KC_RBRC,KC_BSLS,  KC_DEL, KC_END, KC_PGDN, \
		KC_CLCK, KC_A,   KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,   KC_L,   KC_SCLN,KC_QUOT,        KC_ENT,                            \
		KC_LSFT, KC_NUBS,KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM,KC_DOT, KC_SLSH,        KC_RSFT,          KC_UP,           \
		KC_LCTL, KC_LGUI,KC_LALT,                       KC_SPC,                          KC_RALT,KC_RGUI,KC_MENU,KC_FN0,   KC_LEFT,KC_DOWN,KC_RGHT),
	/* Layer 1: Function layer */
	[KM_MEDIA] = KEYMAP( \
		_______,        _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,   KC_WAKE,KC_PWR, KC_SLEP, \
		_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,   _______,_______,KC_VOLU, \
		_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,   _______,_______,KC_VOLD, \
		_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,        _______,                            \
		_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,        _______,           KC_MPLY,         \
		_______,_______,_______,                        _______,                        _______,_______,RESET  ,_______,   KC_MPRV,KC_MSTP,KC_MNXT)
};

const uint16_t PROGMEM fn_actions[] = {
	[0] = ACTION_LAYER_MOMENTARY(KM_MEDIA)
  /* Layer 0: Standard ISO layer */
  [KM_QWERTY] = LAYOUT( \
    KC_ESC,           KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,     KC_PSCR, KC_SLCK, KC_PAUS, \
    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,    KC_INS,  KC_HOME, KC_PGUP, \
    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,    KC_DEL,  KC_END,  KC_PGDN, \
    KC_CLCK, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT,                                \
    KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT,             KC_UP,            \
    KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             KC_RALT, KC_RGUI, KC_MENU, MO(1),      KC_LEFT, KC_DOWN, KC_RGHT  \
  ),
  /* Layer 1: Function layer */
  [KM_MEDIA] = LAYOUT( \
    _______,          _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    KC_WAKE, KC_PWR,  KC_SLEP, \
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, KC_VOLU, \
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, KC_VOLD, \
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,                               \
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,             KC_MPLY,          \
    _______, _______, _______,                            _______,                            _______, _______, RESET,   _______,    KC_MPRV, KC_MSTP, KC_MNXT  \
  )
};

void led_set_user(uint8_t usb_led) {
	if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
		ph_caps_led_on();
	} else {
		ph_caps_led_off();
	}

	if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
		ph_sclk_led_on();
	} else {
		ph_sclk_led_off();
	}
  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
    ph_caps_led_on();
  } else {
    ph_caps_led_off();
  }

  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
    ph_sclk_led_on();
  } else {
    ph_sclk_led_off();
  }
}

M keyboards/bpiphany/pegasushoof/keymaps/default/rules.mk => keyboards/bpiphany/pegasushoof/keymaps/default/rules.mk +2 -7
@@ 1,5 1,5 @@
# Build Options
#   change to "no" to disable the options, or define them in the Makefile in 
#   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)


@@ 14,9 14,4 @@ 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. 


ifndef QUANTUM_DIR
	include ../../../../Makefile
endif
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.

M keyboards/bpiphany/pegasushoof/pegasushoof.h => keyboards/bpiphany/pegasushoof/pegasushoof.h +40 -26
@@ 21,25 21,39 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#include "matrix.h"
#include "quantum.h"

#define  ___ KC_NO
#define LAYOUT( \
    KG6,      KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0,   KN5, KN7, KP7, \
    KG4, KG5, KH5, KI5, KJ5, KJ4, KK4, KK5, KL5, KM5, KF5, KF4, KL4, KO2,   KR4, KC4, KE4, \
    KG2, KG7, KH7, KI7, KJ7, KJ2, KK2, KK7, KL7, KM7, KF7, KF2, KL2, KO3,   KQ4, KC5, KE5, \
    KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6,      KO1,                  \
    KB2, KH6, KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0,      KB3,        KC6,      \
    KP4, KD2, KN6,                KQ6,                KN0, KA3, KM0, KP1,   KC0, KQ0, KR0    \
    ) { /*         00-A    01-B    02-C    03-D    04-E    05-F    06-G    07-H    08-I    09-J    10-K    11-L    12-M    13-N    14-O    15-P    16-Q    17-R */  \
        /* 0 */  { KC_NO , KC_NO , KC0   , KC_NO , KC_NO , KF0   , KC_NO , KC_NO , KC_NO , KJ0   , KK0   , KC_NO , KM0   , KN0   , KO0   , KC_NO , KQ0   , KR0   }, \
        /* 1 */  { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KG1   , KH1   , KI1   , KJ1   , KK1   , KL1   , KM1   , KC_NO , KO1   , KP1   , KC_NO , KC_NO }, \
        /* 2 */  { KC_NO , KB2   , KC_NO , KD2   , KC_NO , KF2   , KG2   , KH2   , KI2   , KJ2   , KK2   , KL2   , KM2   , KC_NO , KO2   , KC_NO , KC_NO , KC_NO }, \
        /* 3 */  { KA3   , KB3   , KC_NO , KC_NO , KC_NO , KF3   , KG3   , KH3   , KI3   , KJ3   , KK3   , KL3   , KM3   , KC_NO , KO3   , KC_NO , KC_NO , KC_NO }, \
        /* 4 */  { KC_NO , KC_NO , KC4   , KC_NO , KE4   , KF4   , KG4   , KH4   , KI4   , KJ4   , KK4   , KL4   , KM4   , KC_NO , KO4   , KP4   , KQ4   , KR4   }, \
        /* 5 */  { KC_NO , KC_NO , KC5   , KC_NO , KE5   , KF5   , KG5   , KH5   , KI5   , KJ5   , KK5   , KL5   , KM5   , KN5   , KO5   , KP5   , KC_NO , KC_NO }, \
        /* 6 */  { KC_NO , KC_NO , KC6   , KC_NO , KC_NO , KF6   , KG6   , KH6   , KI6   , KJ6   , KK6   , KL6   , KC_NO , KN6   , KO6   , KC_NO , KQ6   , KC_NO }, \
        /* 7 */  { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KF7   , KG7   , KH7   , KI7   , KJ7   , KK7   , KL7   , KM7   , KN7   , KC_NO , KP7   , KC_NO , KC_NO }  \
    }

#define KEYMAP( \
	KG6,      KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0,   KN5, KN7, KP7, \
	KG4, KG5, KH5, KI5, KJ5, KJ4, KK4, KK5, KL5, KM5, KF5, KF4, KL4, KO2,   KR4, KC4, KE4, \
	KG2, KG7, KH7, KI7, KJ7, KJ2, KK2, KK7, KL7, KM7, KF7, KF2, KL2, KO3,   KQ4, KC5, KE5, \
	KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6,      KO1,                  \
	KB2, KH6, KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0,      KB3,        KC6,      \
	KP4, KD2, KN6,                KQ6,                KN0, KA3, KM0, KP1,   KC0, KQ0, KR0  \
	) { /*        00-A  01-B  02-C  03-D  04-E  05-F  06-G  07-H  08-I  09-J  10-K  11-L  12-M  13-N  14-O  15-P  16-Q  17-R */ \
		/* 0 */  { ___ , ___ , KC0 , ___ , ___ , KF0 , ___ , ___ , ___ , KJ0 , KK0 , ___ , KM0 , KN0 , KO0 , ___ , KQ0 , KR0 }, \
		/* 1 */  { ___ , ___ , ___ , ___ , ___ , ___ , KG1 , KH1 , KI1 , KJ1 , KK1 , KL1 , KM1 , ___ , KO1 , KP1 , ___ , ___ }, \
		/* 2 */  { ___ , KB2 , ___ , KD2 , ___ , KF2 , KG2 , KH2 , KI2 , KJ2 , KK2 , KL2 , KM2 , ___ , KO2 , ___ , ___ , ___ }, \
		/* 3 */  { KA3 , KB3 , ___ , ___ , ___ , KF3 , KG3 , KH3 , KI3 , KJ3 , KK3 , KL3 , KM3 , ___ , KO3 , ___ , ___ , ___ }, \
		/* 4 */  { ___ , ___ , KC4 , ___ , KE4 , KF4 , KG4 , KH4 , KI4 , KJ4 , KK4 , KL4 , KM4 , ___ , KO4 , KP4 , KQ4 , KR4 }, \
		/* 5 */  { ___ , ___ , KC5 , ___ , KE5 , KF5 , KG5 , KH5 , KI5 , KJ5 , KK5 , KL5 , KM5 , KN5 , KO5 , KP5 , ___ , ___ }, \
		/* 6 */  { ___ , ___ , KC6 , ___ , ___ , KF6 , KG6 , KH6 , KI6 , KJ6 , KK6 , KL6 , ___ , KN6 , KO6 , ___ , KQ6 , ___ }, \
		/* 7 */  { ___ , ___ , ___ , ___ , ___ , KF7 , KG7 , KH7 , KI7 , KJ7 , KK7 , KL7 , KM7 , KN7 , ___ , KP7 , ___ , ___ }, \
	}
#define LAYOUT_tkl_ansi( \
    KG6,      KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0,   KN5, KN7, KP7, \
    KG4, KG5, KH5, KI5, KJ5, KJ4, KK4, KK5, KL5, KM5, KF5, KF4, KL4, KO2,   KR4, KC4, KE4, \
    KG2, KG7, KH7, KI7, KJ7, KJ2, KK2, KK7, KL7, KM7, KF7, KF2, KL2, KO3,   KQ4, KC5, KE5, \
    KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6,      KO1,                  \
    KB2,      KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0,      KB3,        KC6,      \
    KP4, KD2, KN6,                KQ6,                KN0, KA3, KM0, KP1,   KC0, KQ0, KR0  \
    ) LAYOUT( \
        KG6,      KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0,   KN5, KN7, KP7, \
        KG4, KG5, KH5, KI5, KJ5, KJ4, KK4, KK5, KL5, KM5, KF5, KF4, KL4, KO2,   KR4, KC4, KE4, \
        KG2, KG7, KH7, KI7, KJ7, KJ2, KK2, KK7, KL7, KM7, KF7, KF2, KL2, KO3,   KQ4, KC5, KE5, \
        KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6,      KO1,                  \
        KB2,KC_NO,KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0,      KB3,        KC6,      \
        KP4, KD2, KN6,                KQ6,                KN0, KA3, KM0, KP1,   KC0, KQ0, KR0  \
    )

#define LAYOUT_tkl_jis( \
  KG6,      KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0,        KN5, KN7, KP7, \


@@ 49,14 63,14 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  KB2, KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0, KL0,      KB3,             KC6,      \
  KP4, KD2, KN6, KG0,           KQ6,           KH0, KI0, KN0, KM0, KP1,        KC0, KQ0, KR0  \
  ) { /*        00-A  01-B  02-C  03-D  04-E  05-F  06-G  07-H  08-I  09-J  10-K  11-L  12-M  13-N  14-O  15-P  16-Q  17-R */ \
     /* 0 */  { ___ , ___ , KC0 , ___ , ___ , KF0 , KG0 , KH0 , KI0 , KJ0 , KK0 , KL0 , KM0 , KN0 , KO0 , ___ , KQ0 , KR0 }, \
     /* 1 */  { ___ , ___ , ___ , ___ , ___ , ___ , KG1 , KH1 , KI1 , KJ1 , KK1 , KL1 , KM1 , ___ , KO1 , KP1 , ___ , ___ }, \
     /* 2 */  { ___ , KB2 , ___ , KD2 , ___ , KF2 , KG2 , KH2 , KI2 , KJ2 , KK2 , KL2 , KM2 , ___ , KO2 , ___ , ___ , ___ }, \
     /* 3 */  { ___ , KB3 , ___ , ___ , ___ , KF3 , KG3 , KH3 , KI3 , KJ3 , KK3 , KL3 , KM3 , ___ , KO3 , ___ , ___ , ___ }, \
     /* 4 */  { ___ , ___ , KC4 , ___ , KE4 , KF4 , KG4 , KH4 , KI4 , KJ4 , KK4 , KL4 , KM4 , ___ , KO4 , KP4 , KQ4 , KR4 }, \
     /* 5 */  { ___ , ___ , KC5 , ___ , KE5 , KF5 , KG5 , KH5 , KI5 , KJ5 , KK5 , KL5 , KM5 , KN5 , KO5 , KP5 , ___ , ___ }, \
     /* 6 */  { ___ , ___ , KC6 , ___ , ___ , KF6 , KG6 , ___ , KI6 , KJ6 , KK6 , KL6 , ___ , KN6 , KO6 , ___ , KQ6 , ___ }, \
     /* 7 */  { ___ , ___ , ___ , ___ , ___ , KF7 , KG7 , KH7 , KI7 , KJ7 , KK7 , KL7 , KM7 , KN7 , KO7 , KP7 , ___ , ___ }, \
     /* 0 */  { KC_NO,  KC_NO,  KC0,    KC_NO,  KC_NO,  KF0,    KG0,    KH0,    KI0,    KJ0,    KK0,    KL0,    KM0,    KN0,    KO0,    KC_NO,  KQ0,    KR0   }, \
     /* 1 */  { KC_NO,  KC_NO,  KC_NO,  KC_NO,  KC_NO,  KC_NO,  KG1,    KH1,    KI1,    KJ1,    KK1,    KL1,    KM1,    KC_NO,  KO1,    KP1,    KC_NO,  KC_NO }, \
     /* 2 */  { KC_NO,  KB2,    KC_NO,  KD2,    KC_NO,  KF2,    KG2,    KH2,    KI2,    KJ2,    KK2,    KL2,    KM2,    KC_NO,  KO2,    KC_NO,  KC_NO,  KC_NO }, \
     /* 3 */  { KC_NO,  KB3,    KC_NO,  KC_NO,  KC_NO,  KF3,    KG3,    KH3,    KI3,    KJ3,    KK3,    KL3,    KM3,    KC_NO,  KO3,    KC_NO,  KC_NO,  KC_NO }, \
     /* 4 */  { KC_NO,  KC_NO,  KC4,    KC_NO,  KE4,    KF4,    KG4,    KH4,    KI4,    KJ4,    KK4,    KL4,    KM4,    KC_NO,  KO4,    KP4,    KQ4,    KR4   }, \
     /* 5 */  { KC_NO,  KC_NO,  KC5,    KC_NO,  KE5,    KF5,    KG5,    KH5,    KI5,    KJ5,    KK5,    KL5,    KM5,    KN5,    KO5,    KP5,    KC_NO,  KC_NO }, \
     /* 6 */  { KC_NO,  KC_NO,  KC6,    KC_NO,  KC_NO,  KF6,    KG6,    KC_NO,  KI6,    KJ6,    KK6,    KL6,    KC_NO,  KN6,    KO6,    KC_NO,  KQ6,    KC_NO }, \
     /* 7 */  { KC_NO,  KC_NO,  KC_NO,  KC_NO,  KC_NO,  KF7,    KG7,    KH7,    KI7,    KJ7,    KK7,    KL7,    KK7,    KL7,    KO7,    KP7,    KC_NO,  KC_NO }  \
}

inline void ph_caps_led_on(void)  { DDRC |=  (1<<6); PORTC &= ~(1<<6); }

R keyboards/bpiphany/pegasushoof/README.md => keyboards/bpiphany/pegasushoof/readme.md +4 -3
@@ 1,9 1,10 @@
Pegasus Hoof Controller
===
# Pegasus Hoof Controller

A replacement controller that turns your Filco Majestouch 87/88 mechanical keyboard into a fully programmable keyboard.

Keyboard Maintainer: QMK Community  
Hardware Supported: Pegasus Hoof  
Hardware Availability: https://1upkeyboards.com/filco-pegasus-hoof-controller.html
Hardware Availability: [1upkeyboards](https://www.1upkeyboards.com/shop/controllers/filco-pegasus-hoof-controller/)

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


M keyboards/bpiphany/pegasushoof/rules.mk => keyboards/bpiphany/pegasushoof/rules.mk +2 -1
@@ 60,8 60,9 @@ 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. 
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.

LAYOUTS = tkl_ansi

CUSTOM_MATRIX = yes
SRC = matrix.c