keychron_qmk_firmware/keyboards/mxss/templates/keymap.c
MxBlu e661f1559e 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
2018-07-07 19:33:36 -07:00

42 lines
1.4 KiB
C

/* 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 <http://www.gnu.org/licenses/>.
*/
#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__
};