diff options
Diffstat (limited to 'app/src/behaviors')
-rw-r--r-- | app/src/behaviors/behavior_hid.c | 131 | ||||
-rw-r--r-- | app/src/behaviors/behavior_mod_tap.c | 1 | ||||
-rw-r--r-- | app/src/behaviors/behavior_momentary_layer.c | 1 |
3 files changed, 0 insertions, 133 deletions
diff --git a/app/src/behaviors/behavior_hid.c b/app/src/behaviors/behavior_hid.c deleted file mode 100644 index 9e1fb6b..0000000 --- a/app/src/behaviors/behavior_hid.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com> - * - * SPDX-License-Identifier: MIT - */ - -#define DT_DRV_COMPAT zmk_behavior_hid - -#include <device.h> -#include <power/reboot.h> -#include <drivers/behavior.h> -#include <logging/log.h> - -LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); - -#include <zmk/event-manager.h> -#include <zmk/events/keycode-state-changed.h> -#include <zmk/events/modifiers-state-changed.h> -#include <zmk/hid.h> -#include <zmk/endpoints.h> - -struct behavior_hid_config { }; -struct behavior_hid_data { }; - - -static int behaviour_hid_keycode_pressed(u8_t usage_page, u32_t keycode) -{ - int err; - LOG_DBG("keycode %d", keycode); - - switch (usage_page) { - case USAGE_KEYPAD: - err = zmk_hid_keypad_press(keycode); - if (err) { - LOG_ERR("Unable to press keycode"); - return err; - } - break; - case USAGE_CONSUMER: - err = zmk_hid_consumer_press(keycode); - if (err) { - LOG_ERR("Unable to press keycode"); - return err; - } - break; - } - - return zmk_endpoints_send_report(usage_page); -} - -static int behaviour_hid_keycode_released(u8_t usage_page, u32_t keycode) -{ - int err; - LOG_DBG("keycode %d", keycode); - - switch (usage_page) { - case USAGE_KEYPAD: - err = zmk_hid_keypad_release(keycode); - if (err) { - LOG_ERR("Unable to release keycode"); - return err; - } - break; - case USAGE_CONSUMER: - err = zmk_hid_consumer_release(keycode); - if (err) { - LOG_ERR("Unable to release keycode"); - return err; - } - break; - } - return zmk_endpoints_send_report(usage_page); -} - -static int behavior_hid_modifiers_pressed(zmk_mod_flags modifiers) -{ - LOG_DBG("modifiers %d", modifiers); - - zmk_hid_register_mods(modifiers); - return zmk_endpoints_send_report(USAGE_KEYPAD); -} - -static int behavior_hid_modifiers_released(zmk_mod_flags modifiers) -{ - LOG_DBG("modifiers %d", modifiers); - - zmk_hid_unregister_mods(modifiers); - return zmk_endpoints_send_report(USAGE_KEYPAD); -} - -int behavior_hid_listener(const struct zmk_event_header *eh) -{ - if (is_keycode_state_changed(eh)) { - const struct keycode_state_changed *ev = cast_keycode_state_changed(eh); - if (ev->state) { - behaviour_hid_keycode_pressed(ev->usage_page, ev->keycode); - } else { - behaviour_hid_keycode_released(ev->usage_page, ev->keycode); - } - } else if (is_modifiers_state_changed(eh)) { - const struct modifiers_state_changed *ev = cast_modifiers_state_changed(eh); - if (ev->state) { - behavior_hid_modifiers_pressed(ev->modifiers); - } else { - behavior_hid_modifiers_released(ev->modifiers); - } - } - return 0; -} - -ZMK_LISTENER(behavior_hid, behavior_hid_listener); -ZMK_SUBSCRIPTION(behavior_hid, keycode_state_changed); -ZMK_SUBSCRIPTION(behavior_hid, modifiers_state_changed); - -static int behavior_hid_init(struct device *dev) -{ - return 0; -}; - -static const struct behavior_driver_api behavior_hid_driver_api = { -}; - -static const struct behavior_hid_config behavior_hid_config = {}; - -static struct behavior_hid_data behavior_hid_data; - -DEVICE_AND_API_INIT(behavior_hid, DT_INST_LABEL(0), behavior_hid_init, - &behavior_hid_data, - &behavior_hid_config, - APPLICATION, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, - &behavior_hid_driver_api);
\ No newline at end of file diff --git a/app/src/behaviors/behavior_mod_tap.c b/app/src/behaviors/behavior_mod_tap.c index 3746183..62604eb 100644 --- a/app/src/behaviors/behavior_mod_tap.c +++ b/app/src/behaviors/behavior_mod_tap.c @@ -13,7 +13,6 @@ #include <zmk/event-manager.h> #include <zmk/events/keycode-state-changed.h> #include <zmk/events/modifiers-state-changed.h> -#include <zmk/events.h> LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); diff --git a/app/src/behaviors/behavior_momentary_layer.c b/app/src/behaviors/behavior_momentary_layer.c index 904051e..8a8584a 100644 --- a/app/src/behaviors/behavior_momentary_layer.c +++ b/app/src/behaviors/behavior_momentary_layer.c @@ -10,7 +10,6 @@ #include <drivers/behavior.h> #include <logging/log.h> -#include <zmk/events.h> #include <zmk/keymap.h> LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); |