Shawn Meier
a956143b29
better ifdef to handle non split kb
2 years ago
Shawn Meier
a6909e8d75
fix hid deprication warnings with crides 6ca7298730859ef2ebab1c970cac7f9550bef14b, add missing method declaration to hog.h
2 years ago
Shawn Meier
995e286016
ifdefs for link errors when compiling non-central, some includes, other minor hacks to compile, cleanup is needed later
2 years ago
Shawn Meier
afeaf8fb66
changes from krikun98/mouse-pr rebased on zmkfirmware/main
2 years ago
Caleb Goates
0d5bb100ba
feat(behavior): Add key toggle
2 years ago
Okke Formsma
c5922fae56
refactor(hid): add mask to HID_USAGE_PAGE macro
2 years ago
Okke Formsma
57fca34dc0
refactor(hid): Move hid logic into hid.c
...
Move the logic for picking the correct hid function into hid.c.
2 years ago
Peter Johanson
6539b3ae25
refactor(split): Clean up Kconfig organization.
...
* Seperated configs for split role (central/peripheral)
and transport (BLE only for now).
* Split the configs to align on structure.
2 years ago
Peter Johanson
16ab6df18d
feat(display): Add new peripheral status/display
...
* Add new API/status to track state of the
peripheral connection to the central.
* Add new peripheral status widget for displaying
the current status of the connection to
the central.
3 years ago
Stefán Páll Sturluson
d7ba7a1bee
fix(codes): typo in C_SUBTITLES.
3 years ago
Peter Johanson
40cd8da743
fix(usb): Split HID from core USB, logging fix.
...
* Split core USB init from USB HID init.
* Tweak logging to avoid "log loop" causing
spurious buffer messages on startup.
3 years ago
Peter Johanson
1dccb7fe50
fix(hid): Use a full valid range for consumer page
...
* Switch to a logical max for the consumer page
that avoid signed issue, and still allows
full range of documented consumer page
values.
3 years ago
Peter Johanson
40d8470664
refactor: Handle HID macro/API changes in Zephyr.
3 years ago
Peter Johanson
3a6a249ad0
feat(behaviors): Add macro support.
...
* Fine grainted press/release/tap actions.
* TIming between actions can be controlled.
* Processed async, to avoid blocking.
3 years ago
Alessandro Bortolin
13a4515300
feat(backlight): add command to cycle brightness
3 years ago
Alessandro Bortolin
ce843825e8
refactor(backlight): code cleanup
3 years ago
ReFil
5614a8bb80
feat(backlight): initial split support
3 years ago
Alessandro Bortolin
85b2d30bd5
feat(lighting): add backlight behavior
3 years ago
Peter Johanson
7430750428
refactor(splits): Minor cleanups to periph invocation
...
* Add strlcpy from public domain version.
* Leverage strlcpy to detect truncation of behavior dev strs, and log.
* Use `offsetof` for cleaner detection on peripheral side.
3 years ago
Peter Johanson
fa110488b0
fix(split): Add define for local source.
...
* Add `ZMK_POSITION_STATE_CHANGE_SOURCE_LOCAL` and use
it consinstently to fix bug w/ local `&reset`, `&bootloader`, etc.
3 years ago
Peter Johanson
9297c5f2b4
refactor(splits): Use index for event source.
...
* Track peripherals by indexes slot, with all appropiate peripheral
state stored in the slot.
* Event sources tracked by peripheral slot index.
3 years ago
Peter Johanson
d486304f79
fix(underglow): Handle cycling effects on splits.
...
* Convert relative effect cycling to absolute effect selection.
3 years ago
Pete Johanson
47f873b038
feature(split): behavior locality support.
...
* GATT characteristic allowing passng data + behavior
label to invoke the behavior on the peripheral side.
* Behaviors have a locality setting to specify where they run.
* Build reset/power/RGB on peripheral.
3 years ago
Peter Johanson
ed48d1ae89
fix(ble): Restore BLE SC passkey entry for pairing.
...
* Handle capturing numeric inputs while pairing and sending
final passkey once six digits entered.
3 years ago
Peter Johanson
f8018b22d0
fix(hid): Basic consumer code fixes for signed logical max.
...
* Logical max values are signed, so for the report descriptor, use a two
byte logical max descriptor item to impart proper 0xFF max logical
value.
3 years ago
Peter Johanson
bc179b1030
feat(hid): Kconfig for basic/full consumer usages.
...
* Add ZMK_HID_CONSUMER_REPORT_USAGES choice to allow choosing
between full consumer usage range, with poor OS compat,
or basic consumer usage range, with broader compat.
3 years ago
Pete Johanson
91ba034896
feat(hid): Configurable NKRO HID report support.
...
* Add Kconfig settings for NKRO or HKRO (boot compatible), HID
report types for keyboard page.
* Updated report storage and set/unset for each config.
3 years ago
Peter Johanson
2128b2b55f
refactor(display): Output/layer/battery thread safety.
...
* Submit widget updates to display queue.
* Use mutex to control access to shared state for widgets.
3 years ago
Peter Johanson
063d98e3df
feat(display): Optional dedicated work queue.
...
* Add new Kconfig settingsx to allow selecting system or dedicated
work queue for performing UI updates.
* Allow UI updates to not block other system tasks when display is
updating, especially important for e-ink displays.
3 years ago
Peter Johanson
d05d7ec2d2
feat(endpoints): Add endpoint select changed event.
3 years ago
Dom H
4c1a71551b
feat(keys): Add LSHIFT and RSHIFT aliases
...
Using LSHIFT or RSHIFT instead of LSHFT or RSHFT was a common error.
3 years ago
JP Bonn
c643f1cd96
added battery.h, last_state_of_charge to uint8_t
4 years ago
JP Bonn
df4ec51f96
only send zmk_battery_state_changed on change
4 years ago
Pete Johanson
2af794eed3
feat(underglow): Convert HSB changes to absolute.
...
* Public type for HSB led color.
* New API for calculating "next" HSB based on current
state.
* Update behavior to convert the increment/decrement
commands to absolute command as well.
4 years ago
Pete Johanson
e6f168d6df
refactor(behaviors): Convert state dependent params.
...
* Allow each behavior to map a relative binding, e.g. "toggle",
to an absolute one, e.g. "on", before being invoked.
4 years ago
Pete Johanson
bb2c478af9
refactor(rgb): Expose explicit on/off command/API.
4 years ago
Okke Formsma
4e20bf5de1
refactor(behaviors): simplify hold-taps by not using _TRANSFORM_ENTRY
4 years ago
Okke Formsma
84d19fe79b
refactor(behaviors): factor out multiple uses of _TRANSFORM_ENTRY
4 years ago
Okke Formsma
7b7701ae90
feature(modifiers): add explicit modifiers
...
this makes LS(LEFT_CONTROL) work as if shift and control were both
pressed explicitly. Previously, the left shift would have been released
as soon as another key was pressed. The implicit behavior is useful in
case of LS(NUMBER_1) when rolling over to other keys.
Also see #361 .
4 years ago
Okke Formsma
0c30b49063
refactor(modifiers): define is_mods function
4 years ago
Ally Parker
a4aaa73f06
feat: Add WPM calculator and display widget
4 years ago
Okke Formsma
5eeb310b2f
feat(grave-escape): implement grave-escape
...
closes #85
4 years ago
Pete Johanson
3368a81057
refactor(core): Combine `is_` and `cast_` event functions.
...
* Use a single `as_foo` generated function to conditionally
return a certain event type from a generic `zmk_event_t*`
pointer.
4 years ago
Pete Johanson
3fe2acc2d1
refactor(core): Extra event payloads to own types, refactor API.
...
* Make it easier to use *just* event payloads by defining the data,
and then having event manager macros generate "wrapper structs"
* Improve is_*/cast_* APIs to hide details of full event struct.
* Create `zmk_event_t` typedef to pass to event handlers.
* Bring event names inline w/ consistent `zmk_` prefix.
4 years ago
Pete Johanson
003db892ad
refactor(core): Extra position state change data struct.
...
* Separate header and data struct for the event.
* Remove duplicate struct in split code.
4 years ago
innovaker
1d18900a99
refactor(core): define usage page as uint16_t
...
Aligns with the HID specification.
Usage page values were sometimes declared as uint8_t and sometimes uint16_t. This commit aligns all instances with the HID specification for consistency.
PR: #521
4 years ago
KemoNine
99f932a47d
(feat) Allow setting underglow color by key press
4 years ago
Pete Johanson
a55b1397c9
feat(keymap): API for retrieving label for a layer
4 years ago
Okke Formsma
fa07ba9d32
refactor(behaviors): use ZMK_BEHAVIOR_OPAQUE and ZMK_BEHAVIOR_TRANSPARENT
...
Use these instead of the magic return values 0 and 1 for
behavior_driver_api return values.
4 years ago
Okke Formsma
caa285852a
refactor(events): return 'ZMK_EV_EVENT_BUBBLE' instead of magic number 0
4 years ago