diff options
author | Florian Didron <fdidron@users.noreply.github.com> | 2019-05-20 15:53:11 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-20 15:53:11 +0900 |
commit | b58ea9ad0fb1ab7ea3dec14406105df089ecc923 (patch) | |
tree | 750be8ef9c0ce2534a3eef02607b71f41f2a12dc /tmk_core | |
parent | 5d9a4c4414b557ab6fb0d0ded35debeaf2c79a55 (diff) | |
parent | 09e6b949274fcb83de23792a02033cdeabec4d74 (diff) |
Merge branch 'master' into fix/split_common_i2c_backlight
Diffstat (limited to 'tmk_core')
-rw-r--r-- | tmk_core/common/keyboard.c | 19 | ||||
-rw-r--r-- | tmk_core/common/mousekey.c | 8 | ||||
-rw-r--r-- | tmk_core/protocol/arm_atsam/led_matrix.c | 10 |
3 files changed, 27 insertions, 10 deletions
diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index 52546866eb..85d2525480 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c @@ -75,6 +75,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef QWIIC_ENABLE # include "qwiic.h" #endif +#ifdef OLED_DRIVER_ENABLE + #include "oled_driver.h" +#endif #ifdef VELOCIKEY_ENABLE #include "velocikey.h" #endif @@ -205,6 +208,9 @@ void keyboard_init(void) { #ifdef QWIIC_ENABLE qwiic_init(); #endif +#ifdef OLED_DRIVER_ENABLE + oled_init(OLED_ROTATION_0); +#endif #ifdef PS2_MOUSE_ENABLE ps2_mouse_init(); #endif @@ -262,7 +268,11 @@ void keyboard_task(void) uint8_t keys_processed = 0; #endif +#if defined(OLED_DRIVER_ENABLE) && !defined(OLED_DISABLE_TIMEOUT) + uint8_t ret = matrix_scan(); +#else matrix_scan(); +#endif if (is_keyboard_master()) { for (uint8_t r = 0; r < MATRIX_ROWS; r++) { @@ -306,6 +316,15 @@ MATRIX_LOOP_END: qwiic_task(); #endif +#ifdef OLED_DRIVER_ENABLE + oled_task(); +#ifndef OLED_DISABLE_TIMEOUT + // Wake up oled if user is using those fabulous keys! + if (ret) + oled_on(); +#endif +#endif + #ifdef MOUSEKEY_ENABLE // mousekey repeat & acceleration mousekey_task(); diff --git a/tmk_core/common/mousekey.c b/tmk_core/common/mousekey.c index 5b85268a03..bb08576b9f 100644 --- a/tmk_core/common/mousekey.c +++ b/tmk_core/common/mousekey.c @@ -114,9 +114,9 @@ void mousekey_task(void) { /* diagonal move [1/sqrt(2)] */ if (mouse_report.x && mouse_report.y) { mouse_report.x = times_inv_sqrt2(mouse_report.x); - mouse_report.x = mouse_report.x == 0 ? 1 : mouse_report.x; + if (mouse_report.x == 0) { mouse_report.x = 1; } mouse_report.y = times_inv_sqrt2(mouse_report.y); - mouse_report.y = mouse_report.y == 0 ? 1 : mouse_report.y; + if (mouse_report.y == 0) { mouse_report.y = 1; } } if (mouse_report.v > 0) mouse_report.v = wheel_unit(); if (mouse_report.v < 0) mouse_report.v = wheel_unit() * -1; @@ -234,9 +234,9 @@ void adjust_speed(void) { // adjust for diagonals if (mouse_report.x && mouse_report.y) { mouse_report.x = times_inv_sqrt2(mouse_report.x); - mouse_report.x = mouse_report.x == 0 ? 1 : mouse_report.x; + if (mouse_report.x == 0) { mouse_report.x = 1; } mouse_report.y = times_inv_sqrt2(mouse_report.y); - mouse_report.y = mouse_report.y == 0 ? 1 : mouse_report.y; + if (mouse_report.y == 0) { mouse_report.y = 1; } } if (mouse_report.h && mouse_report.v) { mouse_report.h = times_inv_sqrt2(mouse_report.h); diff --git a/tmk_core/protocol/arm_atsam/led_matrix.c b/tmk_core/protocol/arm_atsam/led_matrix.c index e29fb6587c..42dfccbc50 100644 --- a/tmk_core/protocol/arm_atsam/led_matrix.c +++ b/tmk_core/protocol/arm_atsam/led_matrix.c @@ -27,8 +27,6 @@ led_instruction_t led_instructions[] = { { .end = 1 } }; static void led_matrix_massdrop_config_override(int i); #endif // USE_MASSDROP_CONFIGURATOR -extern rgb_config_t rgb_matrix_config; -extern rgb_counters_t g_rgb_counters; void SERCOM1_0_Handler( void ) { @@ -438,14 +436,14 @@ static void led_matrix_massdrop_config_override(int i) float bo = 0; float po = (led_animation_orientation) - ? (float)g_rgb_leds[i].point.y / 64.f * 100 - : (float)g_rgb_leds[i].point.x / 224.f * 100; + ? (float)g_led_config.point[i].y / 64.f * 100 + : (float)g_led_config.point[i].x / 224.f * 100; uint8_t highest_active_layer = biton32(layer_state); - if (led_lighting_mode == LED_MODE_KEYS_ONLY && g_rgb_leds[i].matrix_co.raw == 0xff) { + if (led_lighting_mode == LED_MODE_KEYS_ONLY && HAS_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { //Do not act on this LED - } else if (led_lighting_mode == LED_MODE_NON_KEYS_ONLY && g_rgb_leds[i].matrix_co.raw != 0xff) { + } else if (led_lighting_mode == LED_MODE_NON_KEYS_ONLY && !HAS_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { //Do not act on this LED } else if (led_lighting_mode == LED_MODE_INDICATORS_ONLY) { //Do not act on this LED (Only show indicators) |