summaryrefslogtreecommitdiffstats
path: root/keyboards/doro67/rgb/rgb.c
diff options
context:
space:
mode:
authorMechMerlin <30334081+mechmerlin@users.noreply.github.com>2019-04-22 04:59:39 +0200
committerDrashna Jaelre <drashna@live.com>2019-04-22 04:59:39 +0200
commit81d8e6ef3e4d69dba8e9ba40db525ab4181ab3e3 (patch)
treec4ae5db53750a4a2bafe3efcf13686f1cba3973f /keyboards/doro67/rgb/rgb.c
parent98f7af6d3b0e8f1b9d2926de1a10f60661769cc0 (diff)
downloadqmk_firmware-81d8e6ef3e4d69dba8e9ba40db525ab4181ab3e3.tar.gz
qmk_firmware-81d8e6ef3e4d69dba8e9ba40db525ab4181ab3e3.tar.xz
[Keyboard] Doro67 RGB PCB (#5677)
* initial commit * get rid of some of the vanilla code * set up matrix and pins * Create LAYOUT macro and an appropriate keymap * support for caps lock LED * add some documentation to the doro67 parent readme * align the language used in the several readme files * initial commit * get rid of some of the vanilla code * set up matrix and pins * Create LAYOUT macro and an appropriate keymap * support for caps lock LED * add some documentation to the doro67 parent readme * align the language used in the several readme files * Use RGB Matrix and fix enter key bug * fix formatting * remove merge conflict artifacts * make a more useful default keymap * add configurator support for the RGB pcb * fix rgb matrix based on new info. Multipler should be reversed * forgot to actually set the pin output for caps lock led * fix offset keys in layer 1 keymap * code cleanup * use macros for the rgb_led calculations struct * set RGB led num to 67 as I mistakenly counted the caps lock led * cleanup config.h file * add RGB note in readme * get consistent naming in config file * fix some inconsistencies * readjust matrix and get rid of macros based on drashna's suggestions
Diffstat (limited to 'keyboards/doro67/rgb/rgb.c')
-rw-r--r--keyboards/doro67/rgb/rgb.c127
1 files changed, 127 insertions, 0 deletions
diff --git a/keyboards/doro67/rgb/rgb.c b/keyboards/doro67/rgb/rgb.c
new file mode 100644
index 000000000..6f39e00c6
--- /dev/null
+++ b/keyboards/doro67/rgb/rgb.c
@@ -0,0 +1,127 @@
+/* Copyright 2019 MechMerlin
+ *
+ * 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 "rgb.h"
+
+// Optional override functions below.
+// You can leave any or all of these undefined.
+// These are only required if you want to perform custom actions.
+
+
+
+void matrix_init_kb(void) {
+ // put your keyboard start-up code here
+ // runs once when the firmware starts up
+ setPinOutput(E6);
+ matrix_init_user();
+}
+
+void matrix_scan_kb(void) {
+ // put your looping keyboard code here
+ // runs every cycle (a lot)
+
+ matrix_scan_user();
+}
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ // put your per-action keyboard code here
+ // runs for every action, just before processing by the firmware
+
+ return process_record_user(keycode, record);
+}
+
+void led_set_kb(uint8_t usb_led) {
+ // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
+ if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
+ writePinLow(E6);
+ } else {
+ writePinHigh(E6);
+ }
+ led_set_user(usb_led);
+}
+
+const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
+ {{0|(0<<4)}, {15*0, 0}, 0}, // Esc
+ {{0|(1<<4)}, {15*1, 0}, 0}, // 1
+ {{0|(2<<4)}, {15*2, 0}, 0}, // 2
+ {{0|(3<<4)}, {15*3, 0}, 0}, // 3
+ {{0|(4<<4)}, {15*4, 0}, 0}, // 4
+ {{0|(5<<4)}, {15*5, 0}, 0}, // 5
+ {{0|(6<<4)}, {15*6, 0}, 0}, // 6
+ {{0|(7<<4)}, {15*7, 0}, 0}, // 7
+ {{0|(8<<4)}, {15*8, 0}, 0}, // 8
+ {{0|(9<<4)}, {15*9, 0}, 0}, // 9
+ {{0|(10<<4)}, {15*10, 0}, 0}, // 0
+ {{0|(11<<4)}, {15*11, 0}, 0}, // -
+ {{0|(12<<4)}, {15*12, 0}, 0}, // =
+ {{0|(13<<4)}, {15*13.5, 0}, 1}, // Backspace
+ {{0|(14<<4)}, {15*15, 0}, 1}, // Ins
+
+ {{1|(0<<4)}, {15*0.5, 16}, 1}, // Tab
+ {{1|(1<<4)}, {15*1.5, 16}, 0}, // Q
+ {{1|(2<<4)}, {15*2.5, 16}, 0}, // W
+ {{1|(3<<4)}, {15*3.5, 16}, 0}, // E
+ {{1|(4<<4)}, {15*4.5, 16}, 0}, // R
+ {{1|(5<<4)}, {15*5.5, 16}, 0}, // T
+ {{1|(6<<4)}, {15*6.5, 16}, 0}, // Y
+ {{1|(7<<4)}, {15*7.5, 16}, 0}, // U
+ {{1|(8<<4)}, {15*8.5, 16}, 0}, // I
+ {{1|(9<<4)}, {15*9.5, 16}, 0}, // O
+ {{1|(10<<4)}, {15*10.5, 16}, 0}, // P
+ {{1|(11<<4)}, {15*11.5, 16}, 0}, // [
+ {{1|(12<<4)}, {15*12.5, 16}, 0}, // ]
+ {{1|(13<<4)}, {15*13.75, 16}, 1}, //
+ {{1|(14<<4)}, {15*15, 16}, 1}, // Del
+
+ {{2|(0<<4)}, {15*0.75, 32}, 1}, // Capslock
+ {{2|(1<<4)}, {15*1.75, 32}, 0}, // A
+ {{2|(2<<4)}, {15*2.75, 32}, 0}, // S
+ {{2|(3<<4)}, {15*3.75, 32}, 0}, // D
+ {{2|(4<<4)}, {15*4.75, 32}, 0}, // F
+ {{2|(5<<4)}, {15*5.75, 32}, 0}, // G
+ {{2|(6<<4)}, {15*6.75, 32}, 0}, // H
+ {{2|(7<<4)}, {15*7.75, 32}, 0}, // J
+ {{2|(8<<4)}, {15*8.75, 32}, 0}, // K
+ {{2|(9<<4)}, {15*9.75, 32}, 0}, // L
+ {{2|(10<<4)}, {15*10.75, 32}, 0}, // ;
+ {{2|(11<<4)}, {15*11.75, 32}, 0}, // '
+ {{2|(13<<4)}, {15*13.25, 32}, 1}, // Enter
+ {{2|(14<<4)}, {15*15, 32}, 1}, // Pgup
+
+ {{3|(0<<4)}, {15*1.25, 48}, 1}, // LShift
+ {{3|(2<<4)}, {15*2, 48}, 0}, // Z
+ {{3|(3<<4)}, {15*3, 48}, 0}, // X
+ {{3|(4<<4)}, {15*4, 48}, 0}, // C
+ {{3|(5<<4)}, {15*5, 48}, 0}, // V
+ {{3|(6<<4)}, {15*6, 48}, 0}, // B
+ {{3|(7<<4)}, {15*7, 48}, 0}, // N
+ {{3|(8<<4)}, {15*8, 48}, 0}, // M
+ {{3|(9<<4)}, {15*9, 48}, 0}, // ,
+ {{3|(10<<4)}, {15*10, 48}, 0}, // .
+ {{3|(11<<4)}, {15*11, 48}, 0}, // /
+ {{3|(12<<4)}, {15*12.75, 48}, 1}, // Shift
+ {{3|(13<<4)}, {15*14, 48}, 1}, // Up
+ {{3|(14<<4)}, {15*15, 48}, 1}, // Pgdn
+
+ {{4|(0<<4)}, {15*0.25, 64}, 1}, // Ctrl
+ {{4|(1<<4)}, {15*1.5, 64}, 1}, // GUI
+ {{4|(2<<4)}, {15*2.25, 64}, 1}, // Alt
+ {{4|(3<<4)}, {15*6.75, 64}, 0}, // Space
+ {{4|(9<<4)}, {15*9, 64}, 1}, // RAlt
+ {{4|(10<<4)}, {15*10.25, 64}, 1}, // FN
+ {{4|(12<<4)}, {15*13, 64}, 1}, // Left
+ {{4|(13<<4)}, {15*14, 64}, 1}, // Down
+ {{4|(14<<4)}, {15*15, 64}, 1}, // Right
+};