From 33518ef5c9cf4c6c5b2708017d70d6e12e4cdf9a Mon Sep 17 00:00:00 2001 From: krikun98 Date: Mon, 3 May 2021 11:13:33 +0300 Subject: [PATCH] Review edits: macro, event override fix, cosmetics --- app/include/zmk/mouse.h | 2 +- app/src/behaviors/behavior_mouse_wheel.c | 11 ++++++---- app/src/hid.c | 4 ++-- app/src/hid_listener.c | 27 ++++++++++++------------ 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/app/include/zmk/mouse.h b/app/include/zmk/mouse.h index 32d3d03e..e749ac5d 100644 --- a/app/include/zmk/mouse.h +++ b/app/include/zmk/mouse.h @@ -10,4 +10,4 @@ #include typedef uint16_t zmk_mouse_button_flags_t; -typedef uint16_t zmk_mouse_button_t; \ No newline at end of file +typedef uint16_t zmk_mouse_button_t; diff --git a/app/src/behaviors/behavior_mouse_wheel.c b/app/src/behaviors/behavior_mouse_wheel.c index 1794a5c4..bd2cd29b 100644 --- a/app/src/behaviors/behavior_mouse_wheel.c +++ b/app/src/behaviors/behavior_mouse_wheel.c @@ -18,13 +18,16 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); +#define WHEEL_HORIZONTAL(encoded) (((encoded)&0xFF00) >> 8) +#define WHEEL_VERTICAL(encoded) ((encoded)&0x00FF) + static int behavior_mouse_wheel_init(const struct device *dev) { return 0; }; static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding, struct zmk_behavior_binding_event event) { LOG_DBG("position %d keycode 0x%02X", event.position, binding->param1); - int32_t x = (binding->param1 & 0xFF00) >> 8; - int32_t y = binding->param1 & 0x00FF; + int32_t x = WHEEL_HORIZONTAL(binding->param1); + int32_t y = WHEEL_VERTICAL(binding->param1); zmk_hid_mouse_wheel_press(x, y); return zmk_endpoints_send_mouse_report(); } @@ -32,8 +35,8 @@ static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding, static int on_keymap_binding_released(struct zmk_behavior_binding *binding, struct zmk_behavior_binding_event event) { LOG_DBG("position %d keycode 0x%02X", event.position, binding->param1); - int32_t x = (binding->param1 & 0xFF00) >> 8; - int32_t y = binding->param1 & 0x00FF; + int32_t x = WHEEL_HORIZONTAL(binding->param1); + int32_t y = WHEEL_VERTICAL(binding->param1); zmk_hid_mouse_wheel_release(x, y); return zmk_endpoints_send_mouse_report(); } diff --git a/app/src/hid.c b/app/src/hid.c index 55b39b74..7c5c8b1d 100644 --- a/app/src/hid.c +++ b/app/src/hid.c @@ -181,9 +181,9 @@ static int16_t curr_y = 0; static int8_t curr_hor = 0; static int8_t curr_vert = 0; -#define SET_MOUSE_BUTTONS(butts) \ +#define SET_MOUSE_BUTTONS(btns) \ { \ - mouse_report.body.buttons = butts; \ + mouse_report.body.buttons = btns; \ LOG_DBG("Mouse buttons set to 0x%02X", mouse_report.body.buttons); \ } diff --git a/app/src/hid_listener.c b/app/src/hid_listener.c index 921d68e7..eab48091 100644 --- a/app/src/hid_listener.c +++ b/app/src/hid_listener.c @@ -125,22 +125,23 @@ static int hid_listener_mouse_released(const struct zmk_mouse_state_changed *ev) } int hid_listener(const zmk_event_t *eh) { - const struct zmk_keycode_state_changed *ev = as_zmk_keycode_state_changed(eh); - if (ev) { - if (ev->state) { - hid_listener_keycode_pressed(ev); + const struct zmk_keycode_state_changed *kc_ev = as_zmk_keycode_state_changed(eh); + if (kc_ev) { + if (kc_ev->state) { + hid_listener_keycode_pressed(kc_ev); } else { - hid_listener_keycode_released(ev); + hid_listener_keycode_released(kc_ev); } - } else { - const struct zmk_mouse_state_changed *ev = as_zmk_mouse_state_changed(eh); - if (ev) { - if (ev->state) { - hid_listener_mouse_pressed(ev); - } else { - hid_listener_mouse_released(ev); - } + return 0; + } + const struct zmk_mouse_state_changed *ms_ev = as_zmk_mouse_state_changed(eh); + if (ms_ev) { + if (ms_ev->state) { + hid_listener_mouse_pressed(ms_ev); + } else { + hid_listener_mouse_released(ms_ev); } + return 0; } return 0; }