Fix KBDPad MKI backlight, Num Lock LEDs; clean up firmware a bit (#6883)
* Update keyboard kit URL * Replace custom RGB driver with new one from #7183 * Replace backlight with standard impl * Remove some unnecessary default settings * Disable COMMAND since docs want it off by default (There's no working IS_COMMAND set for this board anyway, so it's already a nop.)master
parent
e9c44e396d
commit
732d1dd4f6
|
@ -27,12 +27,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#define MATRIX_ROWS 6
|
#define MATRIX_ROWS 6
|
||||||
#define MATRIX_COLS 4
|
#define MATRIX_COLS 4
|
||||||
|
|
||||||
// 0 1 2 3 4 5
|
|
||||||
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5 }
|
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5 }
|
||||||
#define MATRIX_COL_PINS { A0, A1, A2, A3 }
|
#define MATRIX_COL_PINS { A0, A1, A2, A3 }
|
||||||
#define UNUSED_PINS
|
|
||||||
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
#define DIODE_DIRECTION COL2ROW
|
||||||
#define DEBOUNCE 5
|
|
||||||
|
|
||||||
#define BACKLIGHT_LEVELS 1
|
#define BACKLIGHT_PIN D4
|
||||||
|
#define BACKLIGHT_BREATHING
|
||||||
|
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLED_NUM 6
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"keyboard_name": "KBDFans KBDPad MKI",
|
"keyboard_name": "KBDfans KBDPad MKI",
|
||||||
"url": "",
|
"url": "https://kbdfans.com/products/kbdfans-pad-custom-mechanical-keyboard-diy-kit",
|
||||||
"maintainer": "qmk",
|
"maintainer": "qmk",
|
||||||
"width": 4,
|
"width": 4,
|
||||||
"height": 6.25,
|
"height": 6.25,
|
||||||
|
|
|
@ -13,76 +13,17 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
#include "i2c_master.h"
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#define NUMLOCK_PIN D0
|
||||||
#include "rgblight.h"
|
|
||||||
extern rgblight_config_t rgblight_config;
|
|
||||||
|
|
||||||
void rgblight_set(void) {
|
|
||||||
if (!rgblight_config.enable) {
|
|
||||||
for (uint8_t i = 0; i < RGBLED_NUM; i++) {
|
|
||||||
led[i].r = 0;
|
|
||||||
led[i].g = 0;
|
|
||||||
led[i].b = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
i2c_init();
|
|
||||||
i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void matrix_init_kb(void) {
|
void matrix_init_kb(void) {
|
||||||
#ifdef RGBLIGHT_ENABLE
|
setPinOutput(NUMLOCK_PIN);
|
||||||
if (rgblight_config.enable) {
|
|
||||||
i2c_init();
|
|
||||||
i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
// call user level keymaps, if any
|
|
||||||
matrix_init_user();
|
matrix_init_user();
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_scan_kb(void) {
|
void led_set_kb(uint8_t usb_led) {
|
||||||
#ifdef RGBLIGHT_ENABLE
|
writePin(NUMLOCK_PIN, IS_LED_ON(usb_led, USB_LED_NUM_LOCK));
|
||||||
rgblight_task();
|
led_set_user(usb_led);
|
||||||
#endif
|
|
||||||
matrix_scan_user();
|
|
||||||
/* Nothing else for now. */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
void backlight_init_ports(void) {
|
|
||||||
// initialize pins D0, D1, D4 and D6 as output
|
|
||||||
setPinOutput(D0);
|
|
||||||
setPinOutput(D1);
|
|
||||||
setPinOutput(D4);
|
|
||||||
setPinOutput(D6);
|
|
||||||
|
|
||||||
// turn backlight LEDs on
|
|
||||||
writePinHigh(D0);
|
|
||||||
writePinHigh(D1);
|
|
||||||
writePinHigh(D4);
|
|
||||||
writePinHigh(D6);
|
|
||||||
}
|
|
||||||
|
|
||||||
void backlight_set(uint8_t level) {
|
|
||||||
if (level == 0) {
|
|
||||||
// turn backlight LEDs off
|
|
||||||
writePinLow(D0);
|
|
||||||
writePinLow(D1);
|
|
||||||
writePinLow(D4);
|
|
||||||
writePinLow(D6);
|
|
||||||
} else {
|
|
||||||
// turn backlight LEDs on
|
|
||||||
writePinHigh(D0);
|
|
||||||
writePinHigh(D1);
|
|
||||||
writePinHigh(D4);
|
|
||||||
writePinHigh(D6);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -4,7 +4,7 @@ Custom numpad.
|
||||||
|
|
||||||
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
||||||
Hardware Supported: KBDPad MKI
|
Hardware Supported: KBDPad MKI
|
||||||
Hardware Availability: No longer available.
|
Hardware Availability: [KBDfans](https://kbdfans.com/products/kbdfans-pad-custom-mechanical-keyboard-diy-kit)
|
||||||
|
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
|
@ -31,11 +31,9 @@ BOOTMAGIC_ENABLE = no
|
||||||
MOUSEKEY_ENABLE = yes
|
MOUSEKEY_ENABLE = yes
|
||||||
EXTRAKEY_ENABLE = yes
|
EXTRAKEY_ENABLE = yes
|
||||||
CONSOLE_ENABLE = yes
|
CONSOLE_ENABLE = yes
|
||||||
COMMAND_ENABLE = yes
|
COMMAND_ENABLE = no
|
||||||
BACKLIGHT_ENABLE = yes
|
BACKLIGHT_ENABLE = yes
|
||||||
RGBLIGHT_ENABLE = no
|
RGBLIGHT_ENABLE = no # PCB has underglow LEDs, but case doesn't let them show.
|
||||||
RGBLIGHT_CUSTOM_DRIVER = no
|
WS2812_DRIVER = i2c
|
||||||
|
|
||||||
OPT_DEFS = -DDEBUG_LEVEL=0
|
OPT_DEFS = -DDEBUG_LEVEL=0
|
||||||
|
|
||||||
QUANTUM_LIB_SRC = i2c_master.c
|
|
||||||
|
|
Loading…
Reference in New Issue