~ruther/qmk_firmware

1be7485fa4d757ffef19611fc7ec04176280571c — Pascal Pfeil 4 years ago 19e2bb2
VIA Support: LFKPad (#11461)

* VIA Support: LFKPad

* Condense two mostly redundant rules.mk files

* Set BOOTMAGIC_ENABLE to lite as advised by VIA tutorial
M keyboards/lfkeyboards/lfkpad/config.h => keyboards/lfkeyboards/lfkpad/config.h +2 -2
@@ 20,8 20,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID       0xFEED
#define PRODUCT_ID      0x6060
#define VENDOR_ID       0x4C46 // LF
#define PRODUCT_ID      0x3231 // 21
#define DEVICE_VER      0x0001
#define MANUFACTURER    LFKeyboards
#define PRODUCT         LFKPad 21

D keyboards/lfkeyboards/lfkpad/keymaps/default/rules.mk => keyboards/lfkeyboards/lfkpad/keymaps/default/rules.mk +0 -42
@@ 1,42 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 = no           # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no            # Mouse keys
EXTRAKEY_ENABLE = yes           # Audio control and System control
CONSOLE_ENABLE = no             # Console for debug
COMMAND_ENABLE = no             # Commands for debug and configuration
NKRO_ENABLE = no               # 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.
RGBLIGHT_CUSTOM_DRIVER = yes    # RGB code is implemented in lefkeyboards, not qmk base
SLEEP_LED_ENABLE = yes          # Breathing sleep LED during USB suspend
TAP_DANCE_ENABLE = no

ISSI_ENABLE = yes           # If the I2C pullup resistors aren't install this must be disabled
WATCHDOG_ENABLE = no       # Resets keyboard if matrix_scan isn't run every 250ms




# # Set the LFK78 hardware version. This is defined in rules.mk, but can be overidden here if desired
# #
# # RevB - first public release, uses atmega32u4, has audio, ISSI matrix split between RGB and backlight
# # RevC/D - at90usb1286, no audio, ISSI device 0 is backlight, 4 is RGB
# #
# # Set to B, C or D
# LFK_REV = D

# ifeq ($(LFK_REV), B)
#   MCU = atmega32u4
# else
#   MCU = at90usb1286
# endif
# OPT_DEFS += -DLFK_REV_$(LFK_REV)
# OPT_DEFS += -DUSB_PRODUCT=\"LFK_Rev$(LFK_REV)\"

A keyboards/lfkeyboards/lfkpad/keymaps/via/keymap.c => keyboards/lfkeyboards/lfkpad/keymaps/via/keymap.c +56 -0
@@ 0,0 1,56 @@
/*
Copyright 2020 Pascal Pfeil
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 QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT_numpad_6x4(
        KC_ESC,  KC_TAB,  KC_PEQL, MO(1),
        KC_LNUM, KC_PSLS, KC_PAST, KC_PMNS,
        KC_P7,   KC_P8,   KC_P9,
        KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
        KC_P1,   KC_P2,   KC_P3,
            KC_P0,        KC_PDOT, KC_PENT
    ),

    /* RGB */
    [1] = LAYOUT_numpad_6x4(
        RGB_SAI, RGB_VAI, RGB_HUI, _______,
        RGB_SAD, RGB_VAD, RGB_HUD, _______,
        RGB_M_X, RGB_M_G, RGB_MOD,
        RGB_M_SW,RGB_M_SN,RGB_M_K, RGB_RMOD,
        RGB_M_P, RGB_M_B, RGB_M_R,
            XXXXXXX,      XXXXXXX, RGB_TOG
    ),

    /* VIA wants four keymaps */
    [2] = LAYOUT_numpad_6x4(
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______,
            _______,      _______, _______
    ),

    /* VIA wants four keymaps */
    [3] = LAYOUT_numpad_6x4(
        _______, _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______,
        _______, _______, _______, _______,
        _______, _______, _______,
            _______,      _______, _______
    ),
};

A keyboards/lfkeyboards/lfkpad/keymaps/via/readme.md => keyboards/lfkeyboards/lfkpad/keymaps/via/readme.md +1 -0
@@ 0,0 1,1 @@
# The VIA compatible keymap for the LFKPad 21

A keyboards/lfkeyboards/lfkpad/keymaps/via/rules.mk => keyboards/lfkeyboards/lfkpad/keymaps/via/rules.mk +2 -0
@@ 0,0 1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes

M keyboards/lfkeyboards/lfkpad/rules.mk => keyboards/lfkeyboards/lfkpad/rules.mk +3 -1
@@ 14,7 14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = no        # Virtual DIP switch configuration
BOOTMAGIC_ENABLE = lite      # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no         # Mouse keys
EXTRAKEY_ENABLE = yes        # Audio control and System control
CONSOLE_ENABLE = no          # Console for debug


@@ 30,6 30,8 @@ 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
UNICODE_ENABLE = no          # Unicode
TAP_DANCE_ENABLE = no

ISSI_ENABLE = yes            # If the I2C pullup resistors aren't installed this must be disabled
WATCHDOG_ENABLE = no         # Resets keyboard if matrix_scan() isn't run every 250ms