From e661f1559ebdf90c3bb806b6f5940c5363720738 Mon Sep 17 00:00:00 2001 From: MxBlu Date: Sun, 8 Jul 2018 12:33:36 +1000 Subject: Add MxSS keyboard (#3335) * Added basic MxSS support * Fixed split RSHFT for ISO layouts * Updated readme.md for MxSS * Added initial support for individual control of front RGB LEDs * Changed RGBLED color selection to work using hue and saturation rather than RGB Added code for LED state change on layer change * Avoid needing an entire 8 bits to store the brightness value * Added custom keycodes, along with their handlers * Added EEPROM storage for front LED config * Fixed up ability to use QMK Configurator and updated readme.md * Applied suggested changes from pull request: https://github.com/standard/standard/issues/452 Updated name in license descriptions Updated layouts to snake case Corrected mistakes in info.json Updated layer_colors to a weak attributed array in mxss.c * Defined a new safe range for custom keycodes in keymap.c --- keyboards/mxss/templates/keymap.c | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 keyboards/mxss/templates/keymap.c (limited to 'keyboards/mxss/templates') diff --git a/keyboards/mxss/templates/keymap.c b/keyboards/mxss/templates/keymap.c new file mode 100644 index 000000000..86a0f231d --- /dev/null +++ b/keyboards/mxss/templates/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2018 REPLACE_WITH_YOUR_NAME + * + * 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 +#include "mxss_frontled.h" + +// Helpful defines +#define _______ KC_TRNS + +// Predefined colors for layers +// Format: {hue, saturation} +// {0, 0} to turn off the LED +// Add additional rows to handle more layers +hs_set layer_colors[] = { + [0] = {0, 0}, // Color for Layer 0 + [1] = {86, 255}, // Color for Layer 1 + [2] = {36, 255}, // Color for Layer 2 + [3] = {185, 255}, // Color for Layer 3 +}; +const size_t lc_size = sizeof(layer_colors) / sizeof(uint16_t); + +// Use NEW_SAFE_RANGE to define new custom keycodes in order to not overwrite the ones used for front LED control +enum custom_keycodes { + MY_KEYCODE = NEW_SAFE_RANGE, +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +__KEYMAP_GOES_HERE__ +}; \ No newline at end of file -- cgit v1.2.3-24-g4f1b