1
0
Fork 0

[Keyboard] Move existing boards to Kingly_Keys and add more boards (#6879)

* try to fix and orginize to Kingly_Keys subfolder and add various keyboard support

* fixed layout nomenclature and rules.mk pref

* modified readme for smd_milk

* fixed layout name in little_foot.h

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* remove old stand-alone keyboard folders

* Fixed missing comma in littlefoot keymap

* remove OLED code in romac_plus.c

* Update rules.mk

* Update readme.md

* Apply suggestions from code review

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update rules.mk

* Update rules.mk

* Update keymap.c

* Update keymap.c

* Update keymap.c

* fix little_foot.h layouts, delete smd_milk readme.md

* Fix ALpha Edits

* Fix ALpha Edits p.2

* update little_foot.h

* fix little_foot.h p.2

* Update keyboards/kingly_keys/little_foot/little_foot.h

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update keyboards/kingly_keys/little_foot/keymaps/default/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Modify config.h for cleaned up PCB.
This commit is contained in:
Garret G 2019-10-08 13:24:20 -05:00 committed by Drashna Jaelre
parent 19584b92c5
commit 9fe7b406cb
51 changed files with 867 additions and 136 deletions

View file

@ -0,0 +1,58 @@
/* Copyright 2019 Garret G. (TheRoyalSweatshirt)
*
* 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
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x6060
#define DEVICE_VER 0x0001
#define MANUFACTURER Kingly-Keys
#define PRODUCT The Little Foot
#define DESCRIPTION A Mighty Small, 45-Percent, Ortholinear Keyboard.
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 10
/* key matrix pins */
#define MATRIX_ROW_PINS { F6, B6, B2, B3, B1 }
#define MATRIX_COL_PINS { F5, F7, B5, B4, E6, D7, C6, D4, D0, D1 }
#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
#define FORCE_NKRO
/* 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
/* ws2812 RGB LED */
#define RGB_DI_PIN F4
#define RGBLED_NUM 10 // Number of LEDs
#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_HUE_STEP 6
#define RGBLIGHT_SAT_STEP 4
#define RGBLIGHT_VAL_STEP 8

View file

@ -0,0 +1,16 @@
{
"keyboard_name": "Little Foot",
"url": "",
"maintainer": "TheRoyalSweatshirt",
"width": 10,
"height": 5,
"layouts": {
"LAYOUT_split_space_base": {
"key_count": 44,
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":1.5, "y":4, "w":1.5}, {"x":3, "y":4, "w":2}, {"x":5, "y":4, "w":2}, {"x":7, "y":4, "w":1.5}]
},
"LAYOUT_big_space_base": {
"key_count": 41,
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":1.5, "y":4, "w":7}]
}
}

View file

@ -0,0 +1,40 @@
#include QMK_KEYBOARD_H
// Layer names
enum{
// - Base layer:
_BASE,
// - Symbols, numbers, and functions:
_FN,
// - Alternate Function layer:
_LN
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_split_space_base(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT,
MO(_FN), KC_LSHIFT, KC_SPACE, RGB_MOD
),
[_FN] = LAYOUT_split_space_base(
LT(_LN, KC_ESC), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_BSPC,
KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LSFT(KC_MINS), KC_BSLS,
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_QUOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_LALT, KC_TRNS, KC_LCTRL
),
[_LN] = LAYOUT_split_space_base(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9,
KC_TRNS, KC_F4, KC_F5, KC_F6, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6,
KC_TRNS, KC_F7, KC_F8, KC_F9, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3,
KC_TRNS, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};

View file

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

View file

@ -0,0 +1,35 @@
#pragma once
#include "quantum.h"
#define XXX KC_NO
#define LAYOUT_split_space_base( \
k01, k02, k03, k04, k05, k06, k07, k08, k09, k010, \
k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, \
k21, k22, k23, k24, k25, k26, k27, k28, k29, k210, \
k31, k32, k33, k34, k35, k36, k37, k38, k39, k310, \
k42, k46, k47, k49 \
) \
{ \
{ k01, k02, k03, k04, k05, k06, k07, k08, k09, k010 }, \
{ k11, k12, k13, k14, k15, k16, k17, k18, k19, k110 }, \
{ k21, k22, k23, k24, k25, k26, k27, k28, k29, k210 }, \
{ k31, k32, k33, k34, k35, k36, k37, k38, k39, k310 }, \
{ XXX, k42, XXX, XXX, XXX, k46, k47, XXX, k49, XXX } \
}
#define LAYOUT_big_space_base( \
k01, k02, k03, k04, k05, k06, k07, k08, k09, k010, \
k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, \
k21, k22, k23, k24, k25, k26, k27, k28, k29, k210, \
k31, k32, k33, k34, k35, k36, k37, k38, k39, k310, \
k46 \
) \
{ \
{ k01, k02, k03, k04, k05, k06, k07, k08, k09, k010 }, \
{ k11, k12, k13, k14, k15, k16, k17, k18, k19, k110 }, \
{ k21, k22, k23, k24, k25, k26, k27, k28, k29, k210 }, \
{ k31, k32, k33, k34, k35, k36, k37, k38, k39, k310 }, \
{ XXX, k42, XXX, XXX, XXX, k46, XXX, XXX, k49, XXX } \
}

View file

@ -0,0 +1,17 @@
# Little Foot
![Little_Foot](https://i.imgur.com/M0Usdtg.jpg)
===
A mighty small keyboard.
Keyboard Maintainer: Garret G. - a.k.a. [The_Royal](https://www.reddit.com/user/The_Royal/) on Reddit, and [TheRoyalSweatshirt](https://github.com/TheRoyalSweatshirt) on GitHub
Hardware Supported: Little_Foot Rev1.2 & Rev1.4, Pro-Micro, and Elite-C
Hardware Availability: Through GB or Direct Message
Make example for this keyboard (after setting up your build environment):
make kingly_keys/little_foot: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).

View file

@ -0,0 +1,25 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# atmega32a bootloadHID
BOOTLOADER = caterina
# Build Options
# comment out to disable the options.
#
BOOTMAGIC_ENABLE = lite # 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 = no # Commands for debug and configuration
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB 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
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes

View file

@ -0,0 +1,40 @@
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x6060
#define DEVICE_VER 0x0001
#define MANUFACTURER TheRoyalSweatshirt
#define PRODUCT romac
#define DESCRIPTION A *Plaid inspired twelve-key macropad
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
/* key matrix pins */
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F7, B1, B3 }
#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* number of backlight levels */
#define BACKLIGHT_LEVELS 0
/* 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
#define RGBLED_NUM 0
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8

View file

@ -0,0 +1,13 @@
{
"keyboard_name": "RoMac",
"url": "",
"maintainer": "TheRoyalSweatshirt",
"width": 3,
"height": 4,
"layouts": {
"LAYOUT": {
"key_count": 12,
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}]
}
}
}

View file

@ -0,0 +1,37 @@
/* Copyright 2018 Jack Humbert
*
* 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
#define _BASE 0
#define _FN1 1
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_7, KC_8, KC_9, \
KC_4, KC_5, KC_6, \
KC_1, KC_2, KC_3, \
MO(1), KC_0, KC_DOT \
),
[_FN1] = LAYOUT(
KC_TRNS, KC_HOME, KC_PGUP, \
KC_TRNS, KC_END, KC_PGDN, \
KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_ENT \
)
};

View file

@ -0,0 +1,37 @@
/* Copyright 2019 Jarred Steenvoorden
*
* 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
#define _BASE 0
#define _FN1 1
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_7, KC_8, KC_9, \
KC_4, KC_5, KC_6, \
KC_1, KC_2, KC_3, \
LT(_FN1, KC_0), KC_ENT, KC_DOT \
),
[_FN1] = LAYOUT(
KC_HOME, KC_UP , KC_PGUP , \
KC_LEFT, KC_DOWN, KC_RIGHT, \
KC_END , KC_BSPC, KC_PGDN , \
KC_TRNS, XXXXXXX, KC_DEL \
)
};

View file

@ -0,0 +1,11 @@
#undef RGBLED_NUM
#define RGBLED_NUM 16
#define RGB_DI_PIN F4
#ifdef RGB_DI_PIN
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_ANIMATIONS
#endif

View file

@ -0,0 +1,78 @@
/* Copyright 2019 Stanrc85
*
* 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
#include "stanrc85.h"
enum keys {
U_LAYR = SAFE_RANGE,
D_LAYR
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NUMPAD] = LAYOUT(
KC_7, KC_8, KC_9,
KC_4, KC_5, KC_6,
KC_1, KC_2, KC_3,
U_LAYR, KC_0, KC_ENT),
[_NAVKEY] = LAYOUT(
KC_HOME, KC_INS, KC_PGUP,
KC_END, KC_UP, KC_PGDN,
KC_LEFT, KC_DOWN, KC_RGHT,
U_LAYR, TD_TWIN, D_LAYR),
[_MEDIA] = LAYOUT(
KC_MUTE, KC_VOLD, KC_VOLU,
CA_QUOT, KC_MPLY, CA_SCLN,
CA_COPY, CA_PSTE, KC_NO,
U_LAYR, KC_NO, D_LAYR),
[_RGB] = LAYOUT(
RGB_SAI, RGB_VAI, RGB_HUI,
RGB_SAD, RGB_VAD, RGB_HUD,
RGB_TOG, RGB_MOD, KC_NO,
U_LAYR, KC_NO, D_LAYR),
[_FN1PAD] = LAYOUT(
KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, RESET,
KC_NO, KC_NO, KC_MAKE,
KC_NO, KC_LSFT, D_LAYR)
};
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
keypos_t key;
uint8_t current_layer;
uint8_t next_layer;
switch (keycode) {
case U_LAYR: //cycles up the layers
if (!record->event.pressed) {
current_layer = layer_switch_get_layer(key);
next_layer = current_layer+1;
layer_move(next_layer);
}
break;
case D_LAYR: //cycles down the layers
if (!record->event.pressed) {
current_layer = layer_switch_get_layer(key);
next_layer = current_layer-1;
layer_move(next_layer);
}
break;
}
return true;
};

View file

@ -0,0 +1 @@
RGBLIGHT_ENABLE = yes

View file

@ -0,0 +1,16 @@
# RoMac
![RoMac](https://i.imgur.com/hAOyoqj.jpg)
A “Plaid” Inspired 12-Key (3x4) Macropad.
- Keyboard Maintainer: [Garret G.](https://github.com/TheRoyalSweatshirt)
- Hardware Supported: RoMac rev.1, rev.2, Pro Micro, Elite-C, Proton C, BlueMicro.
- Hardware Availability: Through GB or Direct Message (If extra stock is available).
Make example for this keyboard (after setting up your build environment):
make romac: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).

View file

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

View file

@ -0,0 +1,16 @@
#pragma once
#include "quantum.h"
#define LAYOUT( \
K00, K01, K02, \
K10, K11, K12, \
K20, K21, K22, \
K30, K31, K32 \
) \
{ \
{ K00, K01, K02 }, \
{ K10, K11, K12 }, \
{ K20, K21, K22 }, \
{ K30, K31, K32 } \
}

View file

@ -0,0 +1,26 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# atmega32a bootloadHID
BOOTLOADER = caterina
# Build Options
# comment out to disable the options.
#
BOOTMAGIC_ENABLE = full # 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 = no # Commands for debug and configuration
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB 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
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = no

View file

@ -0,0 +1,46 @@
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x6060
#define DEVICE_VER 0x0001
#define MANUFACTURER TheRoyalSweatshirt
#define PRODUCT RoMac+
#define DESCRIPTION A *Plaid inspired twelve-key macropad with upgraded features
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
/* key matrix pins */
#define MATRIX_ROW_PINS { C6, D4, D2, D3 }
#define MATRIX_COL_PINS { F6, F5, F4 }
#define UNUSED_PINS
#define ENCODERS_PAD_A { B3 }
#define ENCODERS_PAD_B { B2 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* number of backlight levels */
#define BACKLIGHT_LEVELS 0
/* 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
/* ws2812 RGB LED */
#define RGB_DI_PIN F7
#define RGBLED_NUM 4 // Number of LEDs
#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_HUE_STEP 6
#define RGBLIGHT_SAT_STEP 4
#define RGBLIGHT_VAL_STEP 8

View file

@ -0,0 +1,13 @@
{
"keyboard_name": "RoMac+",
"url": "",
"maintainer": "TheRoyalSweatshirt",
"width": 3,
"height": 4,
"layouts": {
"LAYOUT": {
"key_count": 12,
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}]
}
}
}

View file

@ -0,0 +1,65 @@
/* Copyright 2018 Jack Humbert
*
* 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
#define BASE 0
#define FN 1
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[BASE] = LAYOUT(
KC_7, KC_8, KC_9,
KC_4, KC_5, KC_6,
KC_1, KC_2, KC_3,
MO(1), KC_0, KC_DOT
),
[FN] = LAYOUT(
KC_TRNS, KC_HOME, KC_PGUP,
KC_TRNS, KC_END, KC_PGDN,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_ENT
)
};
#ifdef OLED_DRIVER_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
return OLED_ROTATION_270; // flips the display 180 degrees if offhand
}
void oled_task_user(void) {
// Host Keyboard Layer Status
oled_write_P(PSTR("Let's\nbuild\nsome-\nthing\nto-\nget-\nher!"), false);
switch (get_highest_layer(layer_state)) {
case BASE:
oled_write_ln_P(PSTR(""), false);
break;
case FN:
oled_write_ln_P(PSTR("FN"), false);
break;
default:
// Or use the write_ln shortcut over adding '\n' to the end of your string
oled_write_ln_P(PSTR("Undef"), false);
}
// Host Keyboard LED Status
uint8_t led_usb_state = host_keyboard_leds();
oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR("NLCK ") : PSTR(" "), false);
oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR("CAPS ") : PSTR(" "), false);
oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR("SCRLK") : PSTR(" "), false);
}
#endif

View file

@ -0,0 +1,16 @@
# RoMac+
![RoMac+](https://i.imgur.com/YJ2nCrS.png)
An Upgraded “Plaid” Inspired 12-Key (3x4) Macropad With Fancy Features.
- Keyboard Maintainer: [Garret G.](https://github.com/TheRoyalSweatshirt)
- Hardware Supported: RoMac+ Rev3.0, Pro Micro, Elite-C, Proton C, BlueMicro.
- Hardware Availability: Through Online Store [Kingly-Keys](https://kingly-keys.xyz/) (Stock Varies).
Make example for this keyboard (after setting up your build environment):
make romac_plus: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).

View file

@ -0,0 +1,2 @@
#include "romac_plus.h"

View file

@ -0,0 +1,16 @@
#pragma once
#include "quantum.h"
#define LAYOUT( \
K00, K01, K02, \
K10, K11, K12, \
K20, K21, K22, \
K30, K31, K32 \
) \
{ \
{ K00, K01, K02 }, \
{ K10, K11, K12 }, \
{ K20, K21, K22 }, \
{ K30, K31, K32 } \
}

View file

@ -0,0 +1,24 @@
MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
# 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 = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
UNICODE_ENABLE = no # Unicode
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 (+400)
ENCODER_ENABLE = yes # Enable support for EC11 Rotary Encoder
OLED_DRIVER_ENABLE = yes # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C

View file

@ -0,0 +1,60 @@
#pragma once
/* Copyright 2019 Garret G. (TheRoyalSweatshirt)
*
* 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 0x0002
#define DEVICE_VER 0x0001
#define MANUFACTURER Kingly-Keys
#define PRODUCT The_RoPro
#define DESCRIPTION A 75-key ortholinear keyboard with rotary encoder
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 14
#define ENCODERS_PAD_A { B7 }
#define ENCODERS_PAD_B { D5 }
/* key matrix pins */
#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, F1, NO_PIN }
#define MATRIX_COL_PINS { F0, D1, D0, D4, C6, D7, E6, B4, B5, B3, B2, B6, D2, C7 }
#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
/* ws2812 RGB LED --- DIN Pin Routed to VIA on main PCB marked "RGB" */
#define RGB_DI_PIN D3
#define RGBLED_NUM 18
#define RGBLIGHT_ANIMATIONS

View file

@ -0,0 +1,13 @@
{
"keyboard_name": "ropro",
"url": "https://github.com/TheRoyalSweatshirt/The_RoPro",
"maintainer": "[TheRoyalSweatshirt](https://github.com/TheRoyalSweatshirt)",
"width": 13,
"height": 6,
"layouts": {
"LAYOUT": {
"key_count": 76,
"layout": [{"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"Esc", "x":1, "y":1}, {"label":"1", "x":2, "y":1}, {"label":"2", "x":3, "y":1}, {"label":"3", "x":4, "y":1}, {"label":"4", "x":5, "y":1}, {"label":"5", "x":6, "y":1}, {"label":"6;", "x":7, "y":1}, {"label":"7", "x":8, "y":1}, {"label":"8", "x":9, "y":1}, {"label":"9", "x":10, "y":1}, {"label":"0", "x":11, "y":1}, {"label":"-", "x":12, "y":1}, {"label":"CAPS", "x":0, "y":2}, {"label":"Tab", "x":1, "y":2}, {"label":"Q", "x":2, "y":2}, {"label":"W", "x":3, "y":2}, {"label":"E", "x":4, "y":2}, {"label":"R", "x":5, "y":2}, {"label":"T", "x":6, "y":2}, {"label":"Y", "x":7, "y":2}, {"label":"U", "x":8, "y":2}, {"label":"I", "x":9, "y":2}, {"label":"O", "x":10, "y":2}, {"label":"P", "x":11, "y":2}, {"label":"Bksp", "x":12, "y":2}, {"label":"PgUp", "x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"A", "x":2, "y":3}, {"label":"S", "x":3, "y":3}, {"label":"D", "x":4, "y":3}, {"label":"F", "x":5, "y":3}, {"label":"G", "x":6, "y":3}, {"label":"H;", "x":7, "y":3}, {"label":"J", "x":8, "y":3}, {"label":"K", "x":9, "y":3}, {"label":"L", "x":10, "y":3}, {"label":";", "x":11, "y":3}, {"label":"'", "x":12, "y":3}, {"label":"Home", "x":0, "y":4}, {"label":"Shift", "x":1, "y":4}, {"label":"Z", "x":2, "y":4}, {"label":"X", "x":3, "y":4}, {"label":"C", "x":4, "y":4}, {"label":"V", "x":5, "y":4}, {"label":"B", "x":6, "y":4}, {"label":"N", "x":7, "y":4}, {"label":"M", "x":8, "y":4}, {"label":",", "x":9, "y":4}, {"label":".", "x":10, "y":4}, {"label":"/", "x":11, "y":4}, {"label":"Enter", "x":12, "y":4}, {"label":"PgDn", "x":0, "y":5}, {"label":"Del", "x":1, "y":5}, {"label":"Ctrl", "x":2, "y":5}, {"label":"GUI", "x":3, "y":5}, {"label":"Alt", "x":4, "y":5}, {"label":"Lower", "x":5, "y":5}, {"x":6, "y":5}, {"x":7, "y":5}, {"label":"End", "x":8, "y":5}, {"label":"Left", "x":9, "y":5}, {"label":"Down", "x":10, "y":5}, {"label":"Up", "x":11, "y":5}, {"label":"Right", "x":12, "y":5}]
}
}
}

View file

@ -0,0 +1,85 @@
/* Copyright 2019 Garret G. (TheRoyalSweatshirt)
*
* 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
enum layer_names {
_BASE,
_LOWER
};
#define LOWER MO(_LOWER)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* BASE
* ,-----------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |
* |+------+------+------+------+-----+------+------+------+------+------+------+------|
* RotEn | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* ,------+------+------+------+------+------+------+------+------+------+------+------+------|
* | PgUp | Ctrl | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------+-------------+------+------+------+------+------|
* | Lower| Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------+------|
* | PgDn | Del | Ctrl | GUI | ALT |Lower |SPACE |SPACE | End | Left | Down | Up |Right |
* `------------------------------------------------------------------------------------------'
*/
[_BASE] = LAYOUT(
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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
KC_NO, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_PGUP, KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_HOME, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
KC_PGDN, KC_DEL, KC_RCTRL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, KC_END, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* LOWER
* ,-----------------------------------------------------------------------------------.
* |TOGRGB| | | |Sat(-)|Hue(-)|Hue(+)|Sat(+)| | |Brght-|Brght+|
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | ` | | | | | | | | | | | = |
* |+------+------+------+------+-----+------+------+------+------+------+------+------|
* RotEn | | | Up | | | | | | | [ | ] | \ |
* ,------+------+------+------+------+------+------+------+------+------+------+------+------|
* | Home | | Left | Down |Right | | | | | | | | |
* |------+------+------+------+------+------+-------------+------+------+------+------+------|
* | | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------|
* | End | | | | | | | | | | | |PrScn |
* `------------------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT(
RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_HUI, RGB_SAI, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI,
KC_GRAVE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_EQUAL,
KC_NLCK, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_BSLS,
KC_HOME, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR
)
};
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
tap_code(KC_WH_L);
} else {
tap_code(KC_WH_R);
}
}
}

View file

@ -0,0 +1 @@
# The BASE Layout for the RoPro

View file

@ -0,0 +1,16 @@
The RoPro
===
![The_RoPro](https://i.imgur.com/hfOzBPI.jpg)
A Compact 75-Key + Rotary Encoder Ortholinear keyboard by [Garret G.](https://github.com/TheRoyalSweatshirt) a.k.a. [/u/The_Royal](https://www.reddit.com/user/The_Royal)
Keyboard Maintainer: [Garret G.](https://github.com/TheRoyalSweatshirt)
Hardware Supported: The_RoPro rev1.0, rev1.5, rev2.0 PCB; Elite-C & Proton-C Compatible.
Hardware Availability: [Kingly-Keys.xyz](https://kingly-keys.xyz/) - (Through GB or when in stock)
Make example for this keyboard (after setting up your build environment):
make ropro: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)

View file

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

View file

@ -0,0 +1,39 @@
/* Copyright 2019 Garret G. (TheRoyalSweatshirt)
*
* 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/>.
*
* Note: Matrix is a little wacky with the rotary encoder click mapping being
* on the opposite side of the board. Remember to pay attention to
* the 13th column where the lone key mapped for rotary encoder click (K132).
*/
#pragma once
#include "quantum.h"
#define LAYOUT( \
K10, K20, K30, K40, K50, K60, K70, K80, K90, K100, K110, K120, \
K11, K21, K31, K41, K51, K61, K71, K81, K91, K101, K111, K121, \
K132, K12, K22, K32, K42, K52, K62, K72, K82, K92, K102, K112, K122, \
K03, K13, K23, K33, K43, K53, K63, K73, K83, K93, K103, K113, K123, \
K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, K104, K114, K124, \
K05, K15, K25, K35, K45, K55, K65, K75, K85, K95, K105, K115, K125 \
) { \
{ KC_NO, K10, K20, K30, K40, K50, K60, K70, K80, K90, K100, K110, K120, KC_NO }, \
{ KC_NO, K11, K21, K31, K41, K51, K61, K71, K81, K91, K101, K111, K121, KC_NO }, \
{ KC_NO, K12, K22, K32, K42, K52, K62, K72, K82, K92, K102, K112, K122, K132 }, \
{ K03, K13, K23, K33, K43, K53, K63, K73, K83, K93, K103, K113, K123, KC_NO }, \
{ K04, K14, K24, K34, K44, K54, K64, K74, K84, K94, K104, K114, K124, KC_NO }, \
{ K05, K15, K25, K35, K45, K55, K65, K75, K85, K95, K105, K115, K125, KC_NO } \
}

View file

@ -0,0 +1,33 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = caterina
# Build Options
# 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)
COMMAND_ENABLE = no # Commands for debug and configuration
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
MIDI_ENABLE = no # MIDI controls
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
ENCODER_ENABLE = yes
RGBLIGHT_ENABLE = yes
LAYOUTS_HAS_RGB = yes

View file

@ -0,0 +1,16 @@
/* Copyright 2019 Sebastian Williams
*
* 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 "smd_milk.h"

View file

@ -0,0 +1,26 @@
/* Copyright 2019 Sebastian Williams
*
* 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 "quantum.h"
#define LAYOUT( \
K00, \
K01 \
) { \
{ K00 }, \
{ K01 } \
}

View file

@ -0,0 +1,56 @@
/* Copyright 2019 Sebastian Williams
*
* 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 0xB195
#define DEVICE_VER 0x0001
#define MANUFACTURER Kingly-Keys
#define PRODUCT SMD-2% Milk
#define DESCRIPTION The SMD Ed. of the Milk themed 2% Keyboard by rionlion100
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 1
/* key matrix pins */
#define MATRIX_ROW_PINS { C5, D2 }
#define MATRIX_COL_PINS { D3 }
#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
#define FORCE_NKRO
/* 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
/* ws2812 RGB LED */
#define RGB_DI_PIN B3
#define RGBLED_NUM 4 // Number of LEDs
#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_HUE_STEP 6
#define RGBLIGHT_SAT_STEP 4
#define RGBLIGHT_VAL_STEP 10

View file

@ -0,0 +1,15 @@
{
"keyboard_name": "smd_milk",
"keyboard_folder": "kinlgy_keys/smd_milk",
"url": "",
"maintainer": "TheRoyalSweatshirt",
"width": 1,
"height": 2,
"layouts": {
"LAYOUT": {
"key_count": 2,
"layout": [ {"x": 0, "y": 0 }, {"x": 0, "y": 1 }]
}
}
}

View file

@ -0,0 +1,8 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_HOME,
KC_END
)
};

View file

@ -0,0 +1,21 @@
# 2% Milk
![SMD_MILK](https://i.imgur.com/oAeKSGF.jpg)
An SMD Version of the 2% Meme board themed around a milk carton and love
Keyboard Maintainer: [Garret G.](https://github.com/TheRoyalSweatshirt) a.k.a. [/u/The_Royal](https://www.reddit.com/user/The_Royal)
Hardware Availability: Through GB
Make example for this keyboard (after setting up your build environment):
make kingly_keys/smd_milk: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).
### Credits
+ Original Concept by rionlion100
+ Case design by Soft
+ Original 2% Milk PCB by PyroL
+ new SMD PCB by The_Royal
+ Name by jetpacktuxedo

View file

@ -0,0 +1,26 @@
# MCU name
MCU = atmega32u2
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
#
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 = yes # Commands for debug and configuration
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Custom backlighting code is used, so this should not be enabled
AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
RGBLIGHT_ENABLE = yes # This can be enabled if a ws2812 strip is connected to the expansion port.

View file

@ -0,0 +1,16 @@
/* Copyright 2019 Sebastian Williams
*
* 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 "smd_milk.h"

View file

@ -0,0 +1,26 @@
/* Copyright 2019 Sebastian Williams
*
* 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 "quantum.h"
#define LAYOUT( \
K00, \
K01 \
) { \
{ K00 }, \
{ K01 } \
}

View file

@ -0,0 +1,16 @@
SOAP
===
![SOAP](https://i.imgur.com/6h6O4QP.png)
A Sanitary, "SOAP" Themed, Macro Pad by [Garret G.](https://github.com/TheRoyalSweatshirt) a.k.a. [/u/The_Royal](https://www.reddit.com/user/The_Royal)
Keyboard Maintainer: [Garret G.](https://github.com/TheRoyalSweatshirt) a.k.a. [/u/The_Royal](https://www.reddit.com/user/The_Royal/) of Reddit.
Hardware Supported: SOAP rev1.0, rev2.0 PCB
Hardware Availability: [Kingly-Keys.xyz](https://kingly-keys.xyz/) - (Through GB)
Make example for this keyboard (after setting up your build environment):
make kingly_keys/soap: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)

View file

@ -0,0 +1,54 @@
/* Copyright 2019 Garret G. (TheRoyalSweatshirt)
*
* 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 0x0003
#define DEVICE_VER 0x0004
#define MANUFACTURER Kingly-Keys
#define PRODUCT SOAP
#define DESCRIPTION A Sanitary "Soap" Themed Macropad with Rotary Encoder
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
#define ENCODERS_PAD_A { D6 }
#define ENCODERS_PAD_B { D7 }
/* key matrix pins */
#define MATRIX_ROW_PINS { C7, C6 }
#define MATRIX_COL_PINS { F4, F1, F0, D5 }
#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
/* ws2812 RGB LED --- DIN Pin Routed to VIA on main PCB marked "RGB" */
#define RGB_DI_PIN B6
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 3

View file

@ -0,0 +1,13 @@
{
"keyboard_name": "soap",
"url": "https://github.com/TheRoyalSweatshirt/SOAP",
"maintainer": "[TheRoyalSweatshirt](https://github.com/TheRoyalSweatshirt)",
"width": 4,
"height": 2,
"layouts": {
"LAYOUT": {
"key_count": 8,
"layout": [{"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1, "y":0}, {"label":"K02", "x":2, "y":0}, {"label":"K03", "x":4, "y":0}, {"label":"K10", "x":0, "y":1}, {"label":"K11", "x":1, "y":1}, {"label":"K12", "x":2, "y":1}, {"label":"K13", "x":4, "y":1}]
}
}
}

View file

@ -0,0 +1,62 @@
/* Copyright 2019 Garret G. (TheRoyalSweatshirt)
*
* 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
#define BASE 0
#define FN 1
#define RGB RGB_MOD
#define XXX KC_NO
#define KC_TR KC_TRANSPARENT
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* BASE
* ,----------------------------------------.
* | DEL | UP | ENTER | | RGB |
* |-------+-------+-------+-------+--------|
* | LEFT | DOWN | RIGHT | | FN |
* `----------------------------------------'
*/
[BASE] = LAYOUT(
KC_DEL, KC_UP, KC_ENT, RGB,
KC_LEFT, KC_DOWN, KC_RIGHT, MO(1)
),
/* FN
* ,----------------------------------------.
* | HU+ | Br+ | Sat+ | | |
* |-------+-------+-------+-------+--------|
* | HU- | Br- | Sat- | | |
* `----------------------------------------'
*/
[FN] = LAYOUT(
RGB_HUI, RGB_VAI, RGB_SAI, KC_TR,
RGB_HUD, RGB_VAD, RGB_SAD, KC_TR
)
};
/* Rotary Encoder Settings: */
/* - Current Value = Horizontal Scrolling */
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
tap_code(KC_WH_L);
} else {
tap_code(KC_WH_R);
}
}
}

View file

@ -0,0 +1,32 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
# Build Options
# 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)
COMMAND_ENABLE = no # Commands for debug and configuration
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
MIDI_ENABLE = no # MIDI controls
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
ENCODER_ENABLE = yes
RGBLIGHT_ENABLE = yes
LAYOUTS_HAS_RGB = yes

View file

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

View file

@ -0,0 +1,32 @@
/* Copyright 2019 Garret G. (TheRoyalSweatshirt)
*
* 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/>.
*
* Note: Matrix is a little wacky with the rotary encoder click mapping being
* on the opposite side of the board. Remember to pay attention to
* the 13th column where the lone key mapped for rotary encoder click (K132).
*/
#pragma once
#include "quantum.h"
#define LAYOUT( \
K00, K01, K02, K03, \
K10, K11, K12, K13 \
) { \
{ K00, K01, K02, K03 }, \
{ K10, K11, K12, K13 } \
}