Commit graph

1313 commits

Author SHA1 Message Date
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
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.
2021-01-20 07:06:11 -05:00
Pete Johanson
95acbd8859 fix(shields): Unflip left Microdox OLED. 2021-01-19 15:57:26 -05:00
innovaker
5978990e6d chore(core): replace Pete Johanson with The ZMK Contributors
Does not include boards and shields.
2021-01-16 11:30:37 -05:00
Pete Johanson
65e476df3e fix(splits): Send pos notify from dedicated thread
* Avoid deadlocks by using a deadicated workqueue for sending
  position state notifications from peripherals.
2021-01-15 13:50:36 -05:00
Pete Johanson
c11759bc79 fix(hid): Clear all matching usages, not just first.
* If various events get dropped, we can end up with duplicate
  codes in our report, so tweak to ensure we look for all matches
  and clear them when we have a keycode released.
2021-01-15 13:50:36 -05:00
Pete Johanson
a0c32bb47e fix(bluetooth): improve LE param update logging 2021-01-15 13:50:36 -05: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
Pete Johanson
4aa78a6f8d fix(split): Use queue/work for peripheral events.
* Avoid corruption by using work to process
  peripheral key position events on the main
  work thread, like local kscan events are.
* Fixes #221
2021-01-15 13:50:36 -05:00
Pete Johanson
969e5568af fix(boards): Define but don't enable uart0.
* Set pro-micro TX/RX pins, but don't enable the UART
  by default.
2021-01-15 01:51:44 -05:00
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
2021-01-15 01:48:39 -05:00
Okke Formsma
feb0d5b90c feat(combos): initial implementation
closes #45
2021-01-13 21:07:41 -05:00
innovaker
90c2c6672f fix(setup.sh): rename BF0-9000 to BFO-9000
Replaces BF0 (zero) with BFO.

Refs: dcd665999a
PR: #595
2021-01-13 21:00:38 -05:00
Pete Johanson
4cfe7885a0 chore: Initial simple CODEOWNERS. 2021-01-13 20:59:11 -05:00
Nick Winans
0c6686f6e8 docs(split): Remove USB configuration on right half 2021-01-08 16:51:50 -05:00
Nick Winans
002a89765f refactor(Kconfig): Set USB default based on hardware capabilities
Removes the USB default under every split right half in favor of a default based on hardware capabilities in the main app Kconfig.
2021-01-08 16:51:50 -05:00
KemoNine
af563e9dbc Fix parameter number 2021-01-08 16:08:13 -05:00
KemoNine
6345bd5468 Remove setting the animation/effect when setting hsv ; some of the effects like glowing will use the hsv color specified 2021-01-08 16:08:13 -05:00
KemoNine
79b4a0ea6f Add RGB_COLOR_HSB to lighting documentation 2021-01-08 16:08:13 -05:00
KemoNine
99f932a47d (feat) Allow setting underglow color by key press 2021-01-08 16:08:13 -05:00
Nick Winans
167600f01d docs(logging): Update documentation on USB logging 2021-01-08 13:03:39 -05:00
Nick Winans
97ed0cc733 feat(core): Add USB logging Kconfig option 2021-01-08 13:03:39 -05:00
Pete Johanson
964b613e98 fix(setup): Fix typo for split variable assignment 2021-01-08 11:11:20 -05:00
innovaker
f0312092c7 fix(setup.sh): add NIBBLE to options
This was missing from its original commit.

Refs: f3153b17d2
2021-01-08 11:02:35 -05:00
KemoNine
5880a284c1 feat(tg4x): Reconcile with official keymap and tidy-up 2021-01-08 10:14:43 +00:00
KemoNine
28bec8541b style(tg4x): Convert Kconfig spaces to tabs 2021-01-08 10:14:43 +00:00
KemoNine
7fd8561b45 fix(tg4x): Add tg4x.conf to mirror other shield setups 2021-01-08 10:14:43 +00:00
innovaker
7fc28328d0 refactor(tg4x): Cleanup tg4x overlay
Tidies pin definitions and map.
2021-01-08 10:14:43 +00:00
innovaker
de6ce05391 chore(tg4x): fix copyright header 2021-01-08 10:14:43 +00:00
KemoNine
185ff462d6 docs(tg4x): Add readme for tg4x 2021-01-08 10:14:43 +00:00
KemoNine
cd8567071b fix(tg4x): Fix tg4x keyboard name in Kconfig 2021-01-08 10:14:43 +00:00
KemoNine
3e4f2a3dc3 feat(tg4x): Add underglow support for tg4x + nice_nano 2021-01-08 10:14:43 +00:00
innovaker
561e535a58 refactor(shields): standardize README.md filenames
Renames instances of `readme.md` to `README.md` so that it's easily noticed.

PR: #561
2021-01-07 00:34:04 -05:00
innovaker
d9265fa470 ci: add dependabot
Checks (daily):
- github-actions
- npm (docs)
2021-01-07 00:29:48 -05:00
innovaker
f17584ca0e chore: standardize # style headers
Changes made with regex plus some manual tweaks.

Find:
/(?:(?<!#!\/bin\/sh\n)(?:^#\n))*^#.*?[Cc]opyright.*?(\d{4}) *([0-9A-z,_\- ]+).*?\n(?:^#\n)*^#.*?SPDX-License-Identifier:? *(.+) *?\n(?:^#\n)*/gm

Replace:
# Copyright (c) $1 $2
# SPDX-License-Identifier: $3

PR: #564
2021-01-06 17:00:44 -05:00
Nick Winans
56ec200bae docs(intro): Add 💡 to Mouse Keys and BLE Shell 2021-01-05 19:37:00 +00:00
Nick Winans
ad238d63df docs(intro): Update feature table 2021-01-05 19:37:00 +00:00
Okke Formsma
4c1f615714
docs(troubleshooting): fix reset uf2 download instructions
PR: #512
Co-authored-by: innovaker <66737976+innovaker@users.noreply.github.com>
2021-01-05 19:29:47 +00:00
KingCoinless
5c11962d98
feat(shields): add helix shield
PR: #429
2021-01-05 18:56:47 +00:00
Nick Winans
a470353760 docs(shield): Add docs based on #510 changes 2021-01-04 14:08:00 -05:00
Nick Winans
e5b1f1e1be fix(shield): BFO9000 uses USB on right 2021-01-04 14:08:00 -05:00
Pete Johanson
992cee1bac feat(display): Show layer label in widget. 2021-01-04 13:02:38 -05:00
Pete Johanson
a55b1397c9 feat(keymap): API for retrieving label for a layer 2021-01-04 13:02:38 -05:00
Pete Johanson
74b397ab91 fix(docs): Add closing bracket for new shield. 2021-01-04 11:59:25 -05:00
Nick Winans
4ddda7e024
docs(shield): Remove SPLIT_BLE_ROLE_PERIPHERAL
Removes CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL from the new shield docs

See: #510
Refs: 4db5b169bf
2021-01-04 00:13:49 +00:00
pbz
dcd665999a
feat(shields): add bfo9000 shield
PR: #472
2021-01-02 18:52:50 +00:00
Okke Formsma
319ce30270 chore(behavior): use ZMK_BEHAVIOR_OPAQUE in to-layer behavior 2021-01-02 08:08:51 -05:00
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.
2021-01-01 23:07:54 -05:00
Okke Formsma
caa285852a refactor(events): return 'ZMK_EV_EVENT_BUBBLE' instead of magic number 0 2021-01-01 23:07:54 -05:00
innovaker
5a72662898 chore: standardize C style headers
Changes made with regex plus some manual tweaks.

Find:
/^\/\*.*\n(?:^\*.*\n)*^.*\*.*?[Cc]opyright.*?(\d{4}) *([0-9A-z,_\- ]+).*?\n(?:^.*\*.*\n)*^.*\*.*?SPDX-License-Identifier:? *(.+) *?\n(?:^.*\*.*\n)*.*\*\//gm

Replace:
/*
 * Copyright (c) $1 $2
 *
 * SPDX-License-Identifier: $3
 */

PR: #565
2021-01-01 23:06:41 -05:00