Pete Johanson
4 years ago
8 changed files with 16 additions and 146 deletions
@ -1,9 +0,0 @@ |
|||||||
/ { |
|
||||||
behaviors { |
|
||||||
hid_behavior: behavior_hid { |
|
||||||
compatible = "zmk,behavior-hid", "zmk,behavior-global"; |
|
||||||
label = "HID"; |
|
||||||
#binding-cells = <0>; |
|
||||||
}; |
|
||||||
}; |
|
||||||
}; |
|
@ -1,9 +0,0 @@ |
|||||||
#pragma once |
|
||||||
|
|
||||||
#include <zmk/keys.h> |
|
||||||
|
|
||||||
int zmk_events_modifiers_pressed(zmk_mod_flags modifiers); |
|
||||||
int zmk_events_modifiers_released(zmk_mod_flags modifiers); |
|
||||||
|
|
||||||
// TODO: Encoders?
|
|
||||||
// TODO: Sensors?
|
|
@ -1,83 +0,0 @@ |
|||||||
|
|
||||||
#include <zephyr.h> |
|
||||||
#include <drivers/behavior.h> |
|
||||||
#include <zmk/behavior.h> |
|
||||||
#include <zmk/events.h> |
|
||||||
#include <sys/util.h> |
|
||||||
|
|
||||||
#define DT_DRV_COMPAT zmk_behavior_global |
|
||||||
#define GLOBAL_BEHAVIOR_LEN DT_NUM_INST_STATUS_OKAY(DT_DRV_COMPAT) |
|
||||||
|
|
||||||
#define LABEL_ENTRY(i) DT_INST_LABEL(i), |
|
||||||
static const char *global_behaviors[] = { |
|
||||||
DT_INST_FOREACH_STATUS_OKAY(LABEL_ENTRY) |
|
||||||
}; |
|
||||||
|
|
||||||
int zmk_events_position_pressed(u32_t position) |
|
||||||
{ |
|
||||||
for (int i = 0; i < GLOBAL_BEHAVIOR_LEN; i++) { |
|
||||||
const char* label = global_behaviors[i]; |
|
||||||
struct device *dev = device_get_binding(label); |
|
||||||
behavior_position_pressed(dev, position); |
|
||||||
} |
|
||||||
return 0; |
|
||||||
}; |
|
||||||
|
|
||||||
int zmk_events_position_released(u32_t position) |
|
||||||
{ |
|
||||||
for (int i = 0; i < GLOBAL_BEHAVIOR_LEN; i++) { |
|
||||||
const char* label = global_behaviors[i]; |
|
||||||
struct device *dev = device_get_binding(label); |
|
||||||
behavior_position_released(dev, position); |
|
||||||
} |
|
||||||
return 0; |
|
||||||
}; |
|
||||||
|
|
||||||
int zmk_events_keycode_pressed(u8_t usage_page, u32_t keycode) |
|
||||||
{ |
|
||||||
for (int i = 0; i < GLOBAL_BEHAVIOR_LEN; i++) { |
|
||||||
const char* label = global_behaviors[i]; |
|
||||||
struct device *dev = device_get_binding(label); |
|
||||||
behavior_keycode_pressed(dev, usage_page, keycode); |
|
||||||
} |
|
||||||
return 0; |
|
||||||
}; |
|
||||||
|
|
||||||
int zmk_events_keycode_released(u8_t usage_page, u32_t keycode) |
|
||||||
{ |
|
||||||
for (int i = 0; i < GLOBAL_BEHAVIOR_LEN; i++) { |
|
||||||
const char* label = global_behaviors[i]; |
|
||||||
struct device *dev = device_get_binding(label); |
|
||||||
behavior_keycode_released(dev, usage_page, keycode); |
|
||||||
} |
|
||||||
return 0; |
|
||||||
}; |
|
||||||
|
|
||||||
int zmk_events_modifiers_pressed(zmk_mod_flags modifiers) |
|
||||||
{ |
|
||||||
for (int i = 0; i < GLOBAL_BEHAVIOR_LEN; i++) { |
|
||||||
const char* label = global_behaviors[i]; |
|
||||||
struct device *dev = device_get_binding(label); |
|
||||||
behavior_modifiers_pressed(dev, modifiers); |
|
||||||
} |
|
||||||
return 0; |
|
||||||
}; |
|
||||||
|
|
||||||
int zmk_events_modifiers_released(zmk_mod_flags modifiers) |
|
||||||
{ |
|
||||||
for (int i = 0; i < GLOBAL_BEHAVIOR_LEN; i++) { |
|
||||||
const char* label = global_behaviors[i]; |
|
||||||
struct device *dev = device_get_binding(label); |
|
||||||
behavior_modifiers_released(dev, modifiers); |
|
||||||
} |
|
||||||
return 0; |
|
||||||
}; |
|
||||||
|
|
||||||
int zmk_events_consumer_key_pressed(u32_t usage) |
|
||||||
{ |
|
||||||
return 0; |
|
||||||
}; |
|
||||||
int zmk_events_consumer_key_released(u32_t usage) |
|
||||||
{ |
|
||||||
return 0; |
|
||||||
}; |
|
Loading…
Reference in new issue