From 503cf18aedc8166bb5a84e15fb0c6c6da6d47f53 Mon Sep 17 00:00:00 2001 From: shohart Date: Sat, 23 May 2020 18:49:05 +0200 Subject: [PATCH] ymdk/bface - RGB config and minila layout (#9127) * Fix info about RGB LEDs on the bottom. * Added RGB LEDs support * Added RGB LEDs config options * Added minila layout with RGB keys * Create readme.md * Update keyboards/ymdk/bface/keymaps/minila/keymap.c Co-authored-by: Joel Challis * Update keyboards/ymdk/bface/keymaps/minila/keymap.c Co-authored-by: Joel Challis * Update keyboards/ymdk/bface/keymaps/minila/keymap.c Co-authored-by: Joel Challis * Update keyboards/ymdk/bface/keymaps/minila/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ymdk/bface/keymaps/minila/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> --- keyboards/ymdk/bface/README.md | 3 +- keyboards/ymdk/bface/config.h | 6 +++ keyboards/ymdk/bface/keymaps/minila/keymap.c | 42 +++++++++++++++++++ keyboards/ymdk/bface/keymaps/minila/readme.md | 11 +++++ keyboards/ymdk/bface/rules.mk | 3 +- 5 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 keyboards/ymdk/bface/keymaps/minila/keymap.c create mode 100644 keyboards/ymdk/bface/keymaps/minila/readme.md diff --git a/keyboards/ymdk/bface/README.md b/keyboards/ymdk/bface/README.md index 04ba680de..d99d4f9fb 100644 --- a/keyboards/ymdk/bface/README.md +++ b/keyboards/ymdk/bface/README.md @@ -5,8 +5,9 @@ A 60% keyboard that runs ps2avrgb natively and fits the popular GH60 form factor. Another "bfake" or clone of the original B.face PCB by [Winkeyless](https://winkeyless.kr/product/b-face-x2-pcb/). This PCB has slightly different switch matrix than the origninal B.face, and is also different than the bfake. It commonly comes as the PCB in 60% keyboard kits sold by YMDK on Aliexpress. * Keyboard Maintainer: QMK Community -* Hardware Supported: White Bface Mini USB PCB with no RGB. +* Hardware Supported: White Bface Mini USB PCB with 12 RGB LEDs on the bottom. * Hardware Availability: [Shenzhen YMD Tech Co. (YMDK) on Aliexpress](https://www.aliexpress.com/item/32799437588.html) +* Case capability: You can not use generic GH60 plastic cases with this board as RGB LEDs on the bottom is messing with the supportive ribs of the case, just like on DZ60. Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/ymdk/bface/config.h b/keyboards/ymdk/bface/config.h index dfcfbcaa1..e6006aeb4 100644 --- a/keyboards/ymdk/bface/config.h +++ b/keyboards/ymdk/bface/config.h @@ -36,3 +36,9 @@ along with this program. If not, see . #define BACKLIGHT_PIN D4 #define BACKLIGHT_LEVELS 6 + +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 12 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/ymdk/bface/keymaps/minila/keymap.c b/keyboards/ymdk/bface/keymaps/minila/keymap.c new file mode 100644 index 000000000..4038e8f76 --- /dev/null +++ b/keyboards/ymdk/bface/keymaps/minila/keymap.c @@ -0,0 +1,42 @@ +/* +Copyright 2019 Ethan Durrant (emdarcher) + +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 . +*/ + +#include QMK_KEYBOARD_H + +enum layer_names { + _BL, + _FL +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + //Base Layer + [_BL] = LAYOUT_all( + KC_ESC, 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_GRV, KC_BSPC, + 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, + LT(_FL, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, MT(MOD_RCTL, KC_ENT), + KC_LSPO, KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, MO(_FL), KC_SPC, MO(_FL), KC_RALT, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT + ), + //FN Layer + [_FL] = LAYOUT_all( + KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RESET, + _______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, NK_TOGG, KC_PSCR, KC_SLCK, KC_PAUS, _______, BL_STEP, BL_TOGG, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, KC_INS, KC_HOME, KC_PGUP, KC_BSPC, _______, _______, _______, + _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, _______, _______, + _______, _______, _______, _______, KC_ENT, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/ymdk/bface/keymaps/minila/readme.md b/keyboards/ymdk/bface/keymaps/minila/readme.md new file mode 100644 index 000000000..7b3760c13 --- /dev/null +++ b/keyboards/ymdk/bface/keymaps/minila/readme.md @@ -0,0 +1,11 @@ +Basically layout like on Filco Minila board, found here: https://geekboards.ru/product/filco-minila + +There is one single function layer that can be accessed by holding either FN key or Caps Lock. Enter is also a Right Control when held down. Shifts are also '(' and ')' respectively when tapped. + +You can control underglow RGBs: + +* FN+Z - Toggle +* FN+X - Effect +* FN+C - Color +* FN+V - Brightness lower +* FN+B - Brightness higher diff --git a/keyboards/ymdk/bface/rules.mk b/keyboards/ymdk/bface/rules.mk index 8cabca8ee..3d51be113 100644 --- a/keyboards/ymdk/bface/rules.mk +++ b/keyboards/ymdk/bface/rules.mk @@ -18,4 +18,5 @@ EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no COMMAND_ENABLE = yes BACKLIGHT_ENABLE = yes -RGBLIGHT_ENABLE = no +RGBLIGHT_ENABLE = yes +WS2812_DRIVER = i2c