Commit Graph

1525 Commits

Author SHA1 Message Date
Pete Johanson 7c24ab069c fix(behaviors): Updated grsec snapshots for new log format. 2021-01-25 16:11:01 -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
Okke Formsma df4a5c8613 refactor(hid_listener): pass event struct instead of parameters 2021-01-24 23:30:41 -05:00
Okke Formsma 89567d3150 docs(sticky keys): document sticky keys and sticky layers 2021-01-24 23:30:05 -05:00
Pete Johanson e8aa576781 refactor(docs): Move combos under Features.
* Since combos aren't a behavior, but a new high level keymap
  feature, move under Features section.
2021-01-24 16:42:44 -05:00
Ally Parker a4aaa73f06 feat: Add WPM calculator and display widget 2021-01-23 18:38:31 -05:00
Jeff Rizzo c0cab57c2d run-test.sh: use the POSIX '-L 1' for xargs
This allows tests to be run on platforms where '-l'
isn't implemented, like MacOS.
2021-01-23 18:32:18 -05:00
Okke Formsma 5eeb310b2f feat(grave-escape): implement grave-escape
closes #85
2021-01-22 19:27:18 -05:00
Jay Greco 58ad5d4e86 Fix offset in NIBBLE transformation and keymap
The NIBBLE transformation was missing RC(0,0), which was causing some strange behavior in the kscan driver.
2021-01-22 16:03:14 -05:00
innovaker 13e46bea81 docs(hold-tap): mark tapping_term_ms as code
Improves readability and consistency.
2021-01-21 07:57:33 -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
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