diff options
author | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2019-02-19 20:57:15 -0800 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2019-02-19 20:57:15 -0800 |
commit | 67495ae24a98a2d7965ba5dda9b1d133caf606ca (patch) | |
tree | a29830c94dde2e13786b672ee58cb9c480cc78ce /keyboards/alf/x11/x11.c | |
parent | 8ae83b490eb3f8ebc696c9531dff49bdfecd26ed (diff) |
[Keyboard] Alf X1.1 QMK Support (#5189)
* initial commit
* get rid of vanilla cookie cutter code and replace with more correct info
* edit config file for pins and switch matrix size
* turn on bootmagic lite, and backlight/rgb settings
* copy pasta switch matrix from noroads tool
* create an appropriate keymap (copy pasta)
* disable some features to decrease firmware file size
* add qmk configurator support
* add in support for caps lock, scroll lock, and num lock leds
Diffstat (limited to 'keyboards/alf/x11/x11.c')
-rw-r--r-- | keyboards/alf/x11/x11.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/keyboards/alf/x11/x11.c b/keyboards/alf/x11/x11.c new file mode 100644 index 0000000000..b91de016e2 --- /dev/null +++ b/keyboards/alf/x11/x11.c @@ -0,0 +1,63 @@ +/* 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 "x11.h" + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + setPinOutput(C6); + setPinOutput(E6); + setPinOutput(C7); + 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(C6); + } else { + writePinHigh(C6); + } + + if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { + writePinLow(E6); + } else { + writePinHigh(E6); + } + + if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { + writePinLow(C7); + } else { + writePinHigh(C7); + } + + led_set_user(usb_led); +} |