qmk-keychron-q3-colemak-dh/keyboards/keebio/sinc/sinc.c
Danny 42c240f6cf
Add Sinc Rev. 3 (#18846)
* Initial work on adding Sinc Rev. 3

* Add RGB Matrix support

* Add encoder map support

* Set I2C pins

* Update LED locations for right half

* Move USB definitions to info.json

* Update RGB modes

* Replace pin mappings for right half with correct ones

* Move config.h back to rev1/rev2 due to addition of rev3

* Convert initial Rev. 3 config work to be data-driven

* Convert RGB Matrix config to DD format

* More config cleanup

* Use full-duplex PIO

* Add MCU/bootloader settings for Rev. 2

* Change ISO Enter location since it shares location with Backslash

* Adjust build settings to reduce flash/EEPROM usage
2022-10-26 21:44:06 +01:00

59 lines
1.6 KiB
C

/* Copyright 2021 Danny Nguyen <danny@keeb.io>
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 "sinc.h"
#include "split_util.h"
#ifdef BACKLIGHT_ENABLE
bool led_update_kb(led_t led_state) {
if (!led_update_user(led_state)) { return false; }
// Only update if left half
if (isLeftHand && led_update_user(led_state)) {
writePin(LED_CAPS_LOCK_PIN, !led_state.caps_lock);
}
return true;
}
#endif
void eeconfig_init_kb(void) {
#ifdef BACKLIGHT_ENABLE
backlight_enable();
backlight_level(3);
#endif
eeconfig_update_kb(0);
eeconfig_init_user();
}
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
if (index == 0) {
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
} else if (index == 1) {
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
}
return true;
}
#endif