Tobias Adolph
342d838913
fix(ble,hid): Fix smooth scrolling over BLE ( #2998 )
...
- Use correct MIN16 value in hid report. -32768 in 2's compliment is 8000(hex)
- Initialize resolution multiplier array
- Properly implement `read_hids_mouse_feature_report`
Fixes : #2957
Co-authored-by: Tobias Adolph <43353209+adolto@users.noreply.github.comgit >
2025-07-20 09:13:18 -06:00
Pete Johanson
6b40bfda53
feat(mouse): Add mouse move and scroll support ( #2477 )
...
* feat(mouse): Add mouse move and scroll support
* Use Zephyr input subsystem for all pointers.
* Input processors for modifying events, e.g. scaling, swapping
codes, temporary (mouse) layers, etc.
* Mouse move/scroll behaviors.
* Infrastructure in place for physical pointer input devices.
* feat: Add input split support.
* docs: Add initial pointer docs.
---------
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com >
Co-authored-by: Alexander Krikun <krikun98@gmail.com >
Co-authored-by: Robert U <urob@users.noreply.github.com >
Co-authored-by: Shawn Meier <ftc@users.noreply.github.com >
Co-authored-by: Chris Andreae <chris@andreae.gen.nz >
Co-authored-by: Anant Thazhemadam <47104651+thazhemadam@users.noreply.github.com >
Co-authored-by: Erik Tollerud <erik.tollerud@gmail.com >
Co-authored-by: Nicolas Munnich <98408764+Nick-Munnich@users.noreply.github.com >
2024-12-09 19:45:41 -05:00
Peter Johanson
96e55c8be6
fix: BLE refactor mouse keys fix.
2024-06-28 17:48:45 -06:00
Peter Johanson
f7c34c70ba
refactor(ble): Extract API to get active profile connection.
...
* Add `struct bt_conn *zmk_ble_active_profile_conn(void)` function for
fetching a connection for the current profile.
2024-06-28 14:43:17 -06:00
Peter Johanson
bf4008da02
refactor: All SYS_INIT functions are void args.
2024-02-09 14:32:46 -08:00
Peter Johanson
395ffaa790
fix(ble): Properly send mouse HoG using worker.
...
* Properly send mouse HoG reports using our worker to avoid thread issues.
2024-01-05 12:17:59 -08:00
Peter Johanson
74875314f8
feat(ble): Request encryption if notifying fails
...
* If attempting to notify and getting an EPERM return value, request
upgrading the security of the connection at that moment, since it
likely means we got a connection to a bonded host but the connection
hasn't been upgraded to encrypted yet.
2024-01-05 12:17:59 -08:00
Chris Andreae
7a5155f36e
lint: add (void) parameter to pass -Wstrict-prototypes
...
Note there was one place where a non-strict prototype was actually being used
with an argument, in `zmk_hog_init`. In this case, the actual argument type was
added instead.
2024-01-05 12:16:38 -08:00
Alessandro Bortolin
4e55c5f6e9
feat: handle LED indicators report
2023-11-27 16:03:18 -08:00
Alexander Krikun
d7d9eed317
feat(mouse): Initial mouse keys support.
...
* Add HID report/descriptor for a new report with mouse buttons,
and x/y/wheel deltas.
* New mouse key press behavior for press/release of mouse keys.
* Add constants for HID main item values (e.g. data/array/absolute)
* Define and use constants for our HID report IDs.
2023-11-15 11:16:59 -08:00
Peter Johanson
c2d220fbdf
refactor(hid): Use proper defines for HID values.
...
* Add report ID defines and use them consistently.
* Add defines for main item value flags to avoid magic constants.
2023-11-08 16:00:19 -08:00
Peter Johanson
3a958c667f
refactor: Move to zephyr/ include paths.
...
* Zephyr moved to properly namespaced headers, so major "rip
the bandaid" commit to move us to those everywhere.
2023-04-05 22:55:38 -07:00
Peter Johanson
2c5d5fde51
refactor: k_work_queue API updates.
2022-04-03 00:10:29 -04:00
Xudong Zheng
212a05feb3
fix(hog): use OR instead of AND for bitmap
2021-09-23 20:47:40 -04:00
Peter Johanson
a7908a94de
fix(hog): encrypt perm for HID report map/ref.
...
* Workaround for ensuring macOS pairing happens early enough,
for their stack, we require encryption for the hids report map and
report ref characteristics as well, to trigger pairing ealier in the
connection process for macOS.
2021-09-18 15:43:26 -04:00
Pete Johanson
a5c39dfa76
fix(ble): Perform GATT notifies from dedicated queue.
...
* Zephyr BT stack frees TX buffers from system workqueue,
and to avoid blocking waiting to allocate, perform notify
from a dedicated queue.
2021-01-15 13:50:36 -05:00
innovaker
bac1f17cf6
refactor(app): replace Zephyr integer types with C99 integer types
...
u8_t → uint8_t
u16_t → uint16_t
u32_t → uint32_t
u64_t → uint64_t
s8_t → int8_t
s16_t → int16_t
s32_t → int32_t
s64_t → int64_t
Prerequisite for #223
See: https://github.com/zephyrproject-rtos/zephyr/releases/tag/zephyr-v2.4.0
PR: #467
2020-12-14 12:41:25 -05:00
innovaker
3ac1a11a37
refactor: change keypad to keyboard
...
The application usage used by report 1 is `HID_USAGE_GD_KEYBOARD`. Moreover, the `keys` usage page (0x07) that primarily feeds into this report is predominantly keyboard codes. The rest of the system should align with this naming convention.
2020-11-21 15:52:16 -05:00
Joel Spadin
7798c974f6
fix: don't leak bt_conn refs
...
bt_conn_lookup_addr_le() gives us a new reference that must be released
with bt_conn_unref()
2020-10-11 17:04:34 -05:00
Pete Johanson
191a2d755a
chore: clang-format the codebase.
...
* Use the LLVM style
* Override indent width (8) and column limit (100)
* Fixes #142 .
2020-09-14 00:10:34 -04:00
Pete Johanson
39f980a06d
feat(bluetooth): Add back profiles, split fixes.
...
* Add back in profiles, not using Zephyr
BT identity infrastructure.
* Restore additional `&bt` commands for profile
operations.
* Fix for split pairing and subscriptions, since
Zephyr persists subscriptions across connects.
* Remove keymap from peripheral builds, reduces
firmware size, and avoids unneeded attempts
to send HID data.
2020-09-13 22:33:29 -04:00
Pete Johanson
68e72f9275
fix: Switch to single AUTHORS file.* Closes #164
2020-09-10 10:24:23 -04:00
Pete Johanson
7c5fb7adb5
Use SYS_INIT for BLE and USB init.
2020-07-07 10:20:23 -04:00
Pete Johanson
38f1dbd984
Move Zephyr app into subdirectory.
2020-06-08 21:07:16 -04:00