aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/mxss/templates/keymap.c
diff options
context:
space:
mode:
authorMxBlu <mundekkat@hotmail.com>2018-07-08 12:33:36 +1000
committerDrashna Jaelre <drashna@live.com>2018-07-07 19:33:36 -0700
commite661f1559ebdf90c3bb806b6f5940c5363720738 (patch)
treed4104b21c10e6522d3c03339687354092de49e5e /keyboards/mxss/templates/keymap.c
parentdf8b564518930969f6ee319edeee2fcb0d715db6 (diff)
downloadfirmware-e661f1559ebdf90c3bb806b6f5940c5363720738.tar.gz
firmware-e661f1559ebdf90c3bb806b6f5940c5363720738.tar.bz2
firmware-e661f1559ebdf90c3bb806b6f5940c5363720738.zip
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
Diffstat (limited to 'keyboards/mxss/templates/keymap.c')
-rw-r--r--keyboards/mxss/templates/keymap.c42
1 files changed, 42 insertions, 0 deletions
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 <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__
+}; \ No newline at end of file