Commit graph

1646 commits

Author SHA1 Message Date
y4m4ym
9205ea1c70
fix(setup): Fix index to MakerDiary m.2 board 2021-02-03 23:10:47 -05:00
Okke Formsma
9a7908b632 behaviors(hold-tap): Implement quick_tap_ms (TAPPING_FORCE_HOLD)
Tap-and-hold a hold-tap to hold the tap behavior so it can repeat.
After a tap, if the same key is pressed within `quick_tap_ms`, the
tap behavior is always picked.

This is useful for things like `&ht LSHFT BACKSPACE` where holding
the backspace is required.

Implements #288.
2021-02-02 15:28:16 -05:00
Pete Johanson
6c7ab0ce53 refactor(kscan): Fix polling of GPIO matrices.
* Add easier macros for conditional polling/interrupt code.
* Properly continue polling on intervals, without extra
  enable/disable code for pins that is superfluous when not trying to
  deal with interupts firing.
* Fix to allow multiple GPIO drivers when doing splits w/ IO expanders
2021-02-02 14:04:10 -05:00
Pete Johanson
2f352788c1 refactor(kscan): Remove explicit default n from kscan configs.
* Actually allow defaulting yes in other places.
2021-02-02 14:04:10 -05:00
Aaron Nunley
bcc3d9b5a6 Update build/flash documentation.
Updated docs for the build and flash to have similar content to the new board page.

Added a bit about DFU in case someone were searching for that term.
2021-02-02 01:02:54 -05:00
Aaron Nunley
592b98cd12 npm run prettier:format 2021-02-02 01:02:54 -05:00
Aaron Nunley
100d06ae8b Update docs for testing a new shield.
Clarifying the need for `west flash` in a dockerized environment and providing a high-level overview of testing a board with UF2 support.
2021-02-02 01:02:54 -05:00
Nick Winans
33cd2caced fix(boards): Shorten keyboard names that are too long 2021-02-02 00:59:17 -05:00
Nick Winans
82173f354e fix(core): Assert BLE device name is correct length 2021-02-02 00:59:17 -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
Nick Winans
f39121f82e fix(docs): Remove comment about here being four profiles for splits 2021-01-30 00:36:18 -05:00
Jeff Rizzo
4f040fecdf Add a missing log_strdup() 2021-01-30 00:31:07 -05:00
innovaker
40694a0969 docs: remove redundant slash from "docs/" navigation item
Aligns with the blog item.

PR: #608
2021-01-30 00:02:11 -05:00
Nick Winans
ddc5cbdca2 fix(docs): Set description to our tagline 2021-01-29 23:58:42 -05:00
Nick Winans
cba85d400d fix(docs): Only show push workflow builds in link 2021-01-29 22:09:22 -05:00
KemoNine
1adb2d5f84 feat(docs): add information on how to update the documentation to the docs 2021-01-29 20:44:39 -06:00
dependabot[bot]
64a85b7a3f chore(deps): bump DoozyX/clang-format-lint-action from v0.9 to v0.11
Bumps [DoozyX/clang-format-lint-action](https://github.com/DoozyX/clang-format-lint-action) from v0.9 to v0.11.
- [Release notes](https://github.com/DoozyX/clang-format-lint-action/releases)
- [Commits](https://github.com/DoozyX/clang-format-lint-action/compare/v0.9...84b814a54950e27ac65a62069802df099405ef77)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-28 22:16:07 -05:00
Okke Formsma
c925cf02dd feature(sticky_keys): add quick-release
when quick-release is enabled, the sticky key is released immediately after another key is pressed
2021-01-28 17:10:04 -05:00
Pete Johanson
a89d8a6ea4 fix(blog): Updated link to combos docs. 2021-01-27 22:49:57 -05:00
Pete Johanson
1addfb9769 feat(blog): Add SOTF #4 2021-01-27 22:48:14 -05:00
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