summaryrefslogtreecommitdiffstats
path: root/keyboards/canoe/canoe.c
diff options
context:
space:
mode:
authorKenneth Aloysius <krusli@users.noreply.github.com>2018-05-31 17:32:05 +0200
committerDrashna Jaelre <drashna@live.com>2018-05-31 17:32:05 +0200
commitd27855665a349f9afe5c1b457461078f85cf6ffb (patch)
treedfa82603c5ed7fea9227e9f6370644aa3003044a /keyboards/canoe/canoe.c
parentee9a7aba396160929604aca54a23ad5534d59940 (diff)
downloadqmk_firmware-d27855665a349f9afe5c1b457461078f85cf6ffb.tar.gz
qmk_firmware-d27855665a349f9afe5c1b457461078f85cf6ffb.tar.xz
Updated matrix.c for some PS2AVRGB boards and templates for new_project script (#2992)
* Add M6-A keymap * Update XD60 keymap * Update XD60 keymap readme * Update JJ40 and Let's Split keymaps * Add readme for M6-A * Fix typo, update JJ40 README * Update jj40 readme * Cleanup jj40 keymap * Revert Let's Split QWERTY layer to default before #2010 * Update numpad layers * Fix: Let's Split keymap getting stuck mods due to having keycodes assigned on the Raise layer * Keep ASCII art consistent with keymap * Staryu: initial port * Add personal keymap * Added and updated READMEs * Fix: default keymap for staryu * Rudimentary backlight support. * Enabled mousekeys for default keymap * use QMK_KEYBOARD_H and LAYOUT * Update readme.md for NIU mini: flash using avrdude * Fix missing linebreaks for Staryu README * Update readme.md * Update PS2AVRGB boards with new matrix.c * Update canoe matrix.c; untested * Fix canoe.c for building (needs matrix_scan_user and matrix_init_user) * Add personal Iris keymap * Update keymap * Update keymap * Update keymap, disable backlighting and underglow * Move PrintScreen button * Add README
Diffstat (limited to 'keyboards/canoe/canoe.c')
-rw-r--r--keyboards/canoe/canoe.c49
1 files changed, 40 insertions, 9 deletions
diff --git a/keyboards/canoe/canoe.c b/keyboards/canoe/canoe.c
index bc69df2e5..a7427e152 100644
--- a/keyboards/canoe/canoe.c
+++ b/keyboards/canoe/canoe.c
@@ -42,24 +42,55 @@ void backlight_init_ports(void) {
#endif
+// for keyboard subdirectory level init functions
+// @Override
+void matrix_init_kb(void) {
+ // call user level keymaps, if any
+ matrix_init_user();
+}
+
#ifdef RGBLIGHT_ENABLE
extern rgblight_config_t rgblight_config;
+// custom RGB driver
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;
- }
+ 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_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM);
+}
+bool rgb_init = false;
+
+void matrix_scan_kb(void) {
+ // if LEDs were previously on before poweroff, turn them back on
+ if (rgb_init == false && rgblight_config.enable) {
i2c_init();
i2c_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM);
+ rgb_init = true;
+ }
+
+ rgblight_task();
+#else
+void matrix_scan_kb(void) {
+#endif
+ matrix_scan_user();
+ /* Nothing else for now. */
}
-__attribute__ ((weak))
+__attribute__((weak)) // overridable
+void matrix_init_user(void) {
+
+}
+
+
+__attribute__((weak)) // overridable
void matrix_scan_user(void) {
- rgblight_task();
+
}
-#endif