summaryrefslogtreecommitdiff
path: root/tmk_core/common
diff options
context:
space:
mode:
authorFlorian Didron <fdidron@users.noreply.github.com>2019-05-20 15:54:53 +0900
committerGitHub <noreply@github.com>2019-05-20 15:54:53 +0900
commit680c966e8ef139de377c6e34ae85b87b7f78da2d (patch)
treeffa57d32c7160701bde762f2647937b0314bc44c /tmk_core/common
parent1e51f568ddb9a69231c4a5f9392d278231bfc849 (diff)
parent20218bebf54ddb429360a462229c7548f09fd3bc (diff)
Merge branch 'master' into fix/caps_lock_tap_hold_functions
Diffstat (limited to 'tmk_core/common')
-rw-r--r--tmk_core/common/keyboard.c19
-rw-r--r--tmk_core/common/mousekey.c8
2 files changed, 23 insertions, 4 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);