diff options
author | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2019-10-09 10:23:38 -0700 |
---|---|---|
committer | noroadsleft <18669334+noroadsleft@users.noreply.github.com> | 2019-10-09 10:23:38 -0700 |
commit | 3cb216f3816b9f0b2403ae5f015a6af3febc866b (patch) | |
tree | 29d62c224e7881ed4653f5e606ada982b93892be /keyboards/exent/exent.c | |
parent | 23cac6a606adc52a5956d878bbc9606b8cfdca88 (diff) | |
download | firmware-3cb216f3816b9f0b2403ae5f015a6af3febc866b.tar.gz firmware-3cb216f3816b9f0b2403ae5f015a6af3febc866b.tar.bz2 firmware-3cb216f3816b9f0b2403ae5f015a6af3febc866b.zip |
[Keyboard] New Keyboard: Exent (#6985)
* initial commit
* thank you mr keebs for making this easy. Added 65_ansi macro made from mrkeebs kle2qmk tool.
* split backspace requires an additional row
* change k43 to k42
* add in split space bar support for LAYOUT_all
* add QMK Configurator support
* make default keymap more usable
* update readme
* Update keyboards/exent/info.json
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/exent/keymaps/default/keymap.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/exent/keymaps/default/keymap.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/exent/rules.mk
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
Diffstat (limited to 'keyboards/exent/exent.c')
-rw-r--r-- | keyboards/exent/exent.c | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/keyboards/exent/exent.c b/keyboards/exent/exent.c new file mode 100644 index 000000000..00cd20aff --- /dev/null +++ b/keyboards/exent/exent.c @@ -0,0 +1,90 @@ +/* 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 "exent.h" + +#ifdef RGBLIGHT_ENABLE + +# include <string.h> +# include "i2c_master.h" +# include "rgblight.h" + +extern rgblight_config_t rgblight_config; + +void matrix_init_kb(void) { + i2c_init(); + // call user level keymaps, if any + matrix_init_user(); +} + +// custom RGB driver +void rgblight_set(void) { + if (!rgblight_config.enable) { + memset(led, 0, 3 * RGBLED_NUM); + } + + i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100); +} + +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_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100); + rgb_init = true; + } + + rgblight_task(); + matrix_scan_user(); +} + +#endif + +// 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 + + 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 + + led_set_user(usb_led); +} + +*/ |