Will Schaller
d0e6abef94
Merge pimoroni branch
2022-03-20 13:34:32 +01:00
Alessandro Bortolin
13a4515300
feat(backlight): add command to cycle brightness
2022-02-05 23:40:18 -05:00
Alessandro Bortolin
ce843825e8
refactor(backlight): code cleanup
2022-02-05 23:40:18 -05:00
ReFil
5614a8bb80
feat(backlight): initial split support
2022-02-05 23:40:18 -05:00
Alessandro Bortolin
85b2d30bd5
feat(lighting): add backlight behavior
2022-02-05 23:40:18 -05:00
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.
2022-01-31 23:03:34 -05:00
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.
2022-01-31 23:03:34 -05:00
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.
2022-01-31 23:03:34 -05:00
Peter Johanson
d486304f79
fix(underglow): Handle cycling effects on splits.
...
* Convert relative effect cycling to absolute effect selection.
2022-01-31 23:03:34 -05:00
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.
2022-01-31 23:03:34 -05:00
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.
2022-01-30 22:41:41 -05:00
Cedric VINCENT
e907e03271
feat(pim447): Add support for a lot of new driver properties.
2021-11-21 11:03:58 +01:00
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.
2021-11-09 10:38:49 -05:00
Alexander Krikun
5021a842cd
clang-format
2021-11-02 01:04:38 +03:00
krikun98
775117d590
Cleanup and acceleration fixes
2021-11-02 01:01:27 +03:00
krikun98
30581f7207
Added dedicated mouse work queue option
2021-11-02 01:01:23 +03:00
Okke Formsma
35eef63fa9
feat(mouse keys): add events, smoothing and acceleration
2021-11-02 00:59:03 +03:00
Okke Formsma
c55bd0fa27
Simplify binary arithmetic
2021-11-02 00:59:02 +03:00
krikun98
2d3f0e1d92
Report refactor (added macros)
2021-11-02 00:59:00 +03:00
krikun98
8e6fbdcc25
Reverted mouse buttons 9-16
2021-11-02 00:57:49 +03:00
krikun98
fdcd7241e3
Mouse movement coordinate signedness consistency
2021-11-02 00:57:48 +03:00
krikun98
33518ef5c9
Review edits: macro, event override fix, cosmetics
2021-11-02 00:57:47 +03:00
krikun98
a29ee0033a
Added new mouse movement macros
2021-11-02 00:57:46 +03:00
krikun98
b27b8e35ec
clang-format
2021-11-02 00:56:28 +03:00
Dmitry Tsykunov
5083b31296
Add mouse behaviour documentation
2021-11-02 00:54:40 +03:00
Dmitry Tsykunov
3eebe8657b
Continuous mouse movement prototype
2021-11-02 00:54:38 +03:00
Dmitry Tsykunov
400e24608b
Add mouse movement event
2021-11-02 00:54:37 +03:00
Dmitry Tsykunov
aefbd5edc9
Mouse-related behaviours
2021-11-02 00:54:35 +03:00
Alexander Krikun
e585af2aa1
Bluetooth tuning, mouse wheel and movement backend
2021-11-02 00:54:34 +03:00
Alexander Krikun
9b09974734
Fine-tuning report, 16 buttons
2021-11-02 00:54:32 +03:00
Alexander Krikun
d8d8b96992
Preliminary work for mouse click
2021-11-02 00:54:31 +03:00
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.
2021-10-04 23:01:39 -04:00
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.
2021-10-04 23:01:39 -04:00
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.
2021-09-25 17:17:04 -04:00
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.
2021-09-25 17:17:04 -04:00
Peter Johanson
d05d7ec2d2
feat(endpoints): Add endpoint select changed event.
2021-08-03 00:19:05 -04:00
Dom H
4c1a71551b
feat(keys): Add LSHIFT and RSHIFT aliases
...
Using LSHIFT or RSHIFT instead of LSHFT or RSHFT was a common error.
2021-06-08 20:57:40 -04:00
JP Bonn
c643f1cd96
added battery.h, last_state_of_charge to uint8_t
2021-03-10 18:07:18 -05:00
JP Bonn
df4ec51f96
only send zmk_battery_state_changed on change
2021-03-10 18:07:18 -05:00
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.
2021-02-09 01:27:50 -05:00
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.
2021-02-09 01:27:50 -05:00
Pete Johanson
bb2c478af9
refactor(rgb): Expose explicit on/off command/API.
2021-02-09 01:27:50 -05:00
Okke Formsma
4e20bf5de1
refactor(behaviors): simplify hold-taps by not using _TRANSFORM_ENTRY
2021-02-02 00:43:26 -05:00
Okke Formsma
84d19fe79b
refactor(behaviors): factor out multiple uses of _TRANSFORM_ENTRY
2021-02-02 00:43:26 -05:00
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 .
2021-01-24 23:30:41 -05:00
Okke Formsma
0c30b49063
refactor(modifiers): define is_mods function
2021-01-24 23:30:41 -05:00
Ally Parker
a4aaa73f06
feat: Add WPM calculator and display widget
2021-01-23 18:38:31 -05:00
Okke Formsma
5eeb310b2f
feat(grave-escape): implement grave-escape
...
closes #85
2021-01-22 19:27:18 -05:00
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.
2021-01-20 07:06:11 -05:00
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.
2021-01-20 07:06:11 -05:00