Commit Graph

2288 Commits

Author SHA1 Message Date
Andrew Rae
2f6abff3bc refactor(behaviors): Giving global-quick-tap its own term
Detaching the global-quick-tap functionality from the quick-tap term.
This makes way for two improvements:

1. This functionality can be added to combos under a unified name
   'global-quick-tap-ms'.

2. This allows users to set a lower term for the 'global-quick-tap'
   (typically ~100ms), and a higher term for the regular
   quick-tap (typically ~200ms)

This deprecates the global-quick-tap option, however if it is set, the
quick-tap-ms value will be copied to global-quick-tap-ms.
2023-10-03 01:12:47 -07:00
Flo Kempenich
aa4cb143bf
fix(combos)Fix bug with overlapping combos timeouts (#1945)
* Fix bug with overlapping combos timeouts

* Fix trailing whitespace

* Fix log format
2023-10-03 04:03:59 -04:00
Joel Spadin
6a3cc914fc fix: Fix nice_view display widgets 2023-10-02 22:03:08 -07:00
Joel Spadin
b17d896c5c fix: Address review comments 2023-10-02 22:03:08 -07:00
Joel Spadin
651ed05e9a refactor: Split endpoint to transport and instance
Changed the endpoints code to rename the existing endpoint types to
"transport" and add the concept of "endpoint instances". A transport is
the method by which data is sent, while instances allow describing
multiple endpoints that use the same transport (e.g. bluetooth profiles)

Also added new APIs to get the total number of possible endpoint
instances and assign each instance a unique index, which can be used
for tracking separate state for each endpoint in other code files.
2023-10-02 22:03:08 -07:00
Andrew Rae
2f05ad55ca fix(core): Prevent pre-releasing explicit mods. 2023-10-02 12:28:02 -07:00
Andrew Rae
dffdb2365e test(core): Adding coverage for key pre-releasing.
Added cases for the two use cases I know of:
    1. Rolling with key-repeat behavior
    2. Rolling symbols that have the same base key, eg `+=`
2023-10-02 12:28:02 -07:00
Andrew Rae
933e369d7c feat(core): Adding pre-release for keys that were already pressed.
This fixes #1207 and #1076 (and maybe more?).
2023-10-02 12:28:02 -07:00
ReFil
c1ebadcd2a
feat(hid): Add apple globe keycode
* feat(hid): Add apple globe keycode
* Update docs/src/data/hid.js

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Co-authored-by: Nick Coutsos <nick@coutsos.com>
2023-09-29 13:14:31 -07:00
zhiayang
9b3d2cb99f
fix(driver): Fix broken compilation for MAX7318 driver 2023-09-28 12:19:14 -04:00
ClicketySplit
07c82836e0
fix(shields): Leeloo-Micro set status disabled for encoders. 2023-09-28 11:54:08 -04:00
zhiayang
8abc449cc2
feat(drivers): add driver for MAX17048 fuel gauge
Add driver for MAX17048 fuel gauge for battery reporting.
2023-09-25 21:04:03 -04:00
Peter Johanson
28ce23d489 chore(tests): Move to proper header name. 2023-09-16 11:52:40 -07:00
Peter Johanson
0ca7f69b6d refactor: Promote debounce to exposed mod lib.
* Promote previously local debounce code from kscan drivers to exposed
  module lib, for use with other drivers as needed.
* Refactor existing kscan driver to new "public" API.
2023-09-16 11:52:40 -07:00
Peter Johanson
c28ef1b61e refactor(drivers): Use proper init stage/priority.
* Avoid APPLICATION stage and use the proper earlier stage for
  kscan drivers.
2023-09-16 11:52:40 -07:00
Peter Johanson
690bc1bb44 refactor: Move drivers into properly module.
* Align our driver module layout to properly match Zephyr conventions,
  allowing proper CMake setup to amend the library for each type of driver.
2023-09-16 11:52:40 -07:00
Jeppe Klitgaard
eaeea4bdfa
feat(docs): Add missing &kp tip for devicetree_unfixed.h error 2023-09-11 23:32:09 -07:00
Cem Aksoylar
7f9e9f8c64 fix(boards): Disable QSPI for Xiao BLE
The GD25Q16 flash connected via QSPI seems to be causing issues
with excessive battery use and inability to sleep. Since ZMK doesn't
use it, disable it.

Resolves #1901
2023-09-05 22:40:25 -07:00
Cem Aksoylar
f442776fe2 feat(docs): Detail logging and note extra useful options 2023-09-04 23:30:52 -07:00
dependabot[bot]
8087fa3b2b chore(deps): bump @fortawesome/fontawesome-svg-core in /docs
Bumps [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) from 6.4.0 to 6.4.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.0...6.4.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-svg-core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 23:20:33 -07:00
Nate Eagleson
693875675f
fix(docs): Fix typo in caps-word.md (#1924) 2023-09-04 16:59:59 -07:00
Peter Johanson
718500543b feat(split): Use directed advertising.
* Split centrals to scan with their identity so they receive direct
  advertising packets.
* Split peripherals to use direct advertising if they have an existing
  bond to a split central.
2023-09-04 13:54:07 -07:00
dependabot[bot]
3936298260 chore(deps-dev): bump eslint-plugin-react from 7.32.2 to 7.33.2 in /docs
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.32.2 to 7.33.2.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.32.2...v7.33.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-03 22:39:26 -07:00
Peter Johanson
647945d9f8 feat(shields): Add splitkb.com Aurora Helix
* Add new shield for splitkb.com Aurora Helix, supporting
  keys, encoder(s), displays, and RGB.
2023-09-03 22:39:10 -07:00
dependabot[bot]
8984e12f0d chore(deps-dev): bump json-schema-to-typescript in /docs
Bumps [json-schema-to-typescript](https://github.com/bcherny/json-schema-to-typescript) from 12.0.0 to 13.1.1.
- [Changelog](https://github.com/bcherny/json-schema-to-typescript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bcherny/json-schema-to-typescript/commits)

---
updated-dependencies:
- dependency-name: json-schema-to-typescript
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-03 15:25:21 -07:00
dependabot[bot]
3de23938d6 chore(deps): bump word-wrap from 1.2.3 to 1.2.4 in /docs
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-02 23:11:02 -07:00
フィルターペーパー
ac0691471f feat(shields): Add Bluetooth bindings to kyria keymaps
Bluetooth bindings are useful for handling pairings with hosts. This
change adds the header and a few default commands as template for
new users to work with.
2023-09-02 23:08:17 -07:00
Xudong Zheng
544612c8c0 fix(split): reserve peripheral slot before stopping scanning
In the event that the peripheral MAC address does not match, this allows
scanning to continue.
2023-09-02 23:06:41 -07:00
Cem Aksoylar
4e18b879bd feat(docs): Document persisted settings and debouncing 2023-09-02 23:02:17 -07:00
Cem Aksoylar
b20d3178b9 feat(docs): Note devicetree limits re: macro bindings 2023-09-02 22:59:17 -07:00
Cem Aksoylar
369c7c1721 fix(docs): Correct default macro wait/tap ms 2023-09-02 22:59:17 -07:00
Cem Aksoylar
3d938033b0 feat(docs): Note GPIO flags and add examples 2023-09-02 20:49:19 -07:00
Cem Aksoylar
1e11e84d0d fix(docs): Fix row/col comments in matrix examples 2023-09-02 20:49:19 -07:00
Cem Aksoylar
fd47965838 fix(docs): Remove diode-direction from direct GPIO driver 2023-09-02 20:45:29 -07:00
Mikhail Stralenia
185457bc11
fix(shields): leeloo - proper encoder status for split encoders. 2023-08-29 08:53:30 -07:00
Peter Johanson
a92a4967aa fix(sensors): Only accept data once per behavior.
* Don't accept data for the same behavior on multiple layers more than
  once, to avoid duplicate/extraneous triggers.
2023-08-27 19:52:03 -07:00
Peter Johanson
dcb1f8f135 fix(docs): Update docs about split encoder support 2023-08-27 19:52:03 -07:00
Stephen Wan
9d44229800 feature(split): add support for sensors from peripheral
This commit adds a new GATT characteristics on the peripheral side
and wires it up to read sensor values. The central side subscribes
to this new characteristics and replays sensor values on its side.

Co-authored-by: Peter Johanson <peter@peterjohanson.com>
2023-08-27 19:52:03 -07:00
Seth Milliken
c957348e61 fix(docs): detail overriding the led_strip chain-length property
Quite a few people have struggled with setting the correct
`chain-length` for their `led_strip`. For some, this is their first time
needing to change a pre-defined devicetree property, and so they aren't
familiar with the technique. I commonly see folks adding a duplicate of
the entire `*.overlay` file with only the `chain-length` value changed.
Having clear documentation for this specific application of the property
override technique could help forestall these problems, and give those
of us helping out in Discord something to easily reference.
2023-08-15 11:04:01 +03:00
Jorge Villalobos
d17c473d45
feat(docs): Improve parameterized macros docs 2023-08-02 09:57:00 -07:00
Xudong Zheng
e65a7e3075 fix(battery): change nRF52 ADC gain
With ADC pin, maximum 3.6V input needs gain 1/6 to be less than the 0.6V
reference.

With VDDHDIV5, maximum 6V input corresponds to 1.2V so gain 1/2 will be less
than the 0.6V reference and be slightly more precise.
2023-07-29 23:04:35 -07:00
Xudong Zheng
cb9c573b53 refactor(underglow): turn underglow off in low priority work queue 2023-07-24 17:04:51 -07:00
Xudong Zheng
9a963abfc8 refactor: use low priority workqueue for underglow and battery reporting
Blocking operations on the high priority system workqueue may result in
deadlocks, particularly when Bluetooth is in use.
2023-07-24 17:04:51 -07:00
Peter Johanson
f743d57ff1 feat(shields): Add splitkb.com Aurora Sofle
* Add new shield for splitkb.com Aurora Sofle, supporting
  keys, encoder(s), displays, and RGB.

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2023-07-22 23:16:49 -07:00
Peter Johanson
147f7f23dc fix(shields): Make settings_reset more flexible.
* Don't reference `pro_micro` nexus node in settings_reset
  so it can be used with other controllers.
* Use mock kscan node instead.
2023-07-21 10:41:23 -07:00
Peter Johanson
5f6a13413b fix(bluetooth): Split improvements
* Proper usage of bt_uuid_cmp.
* Central's don't start scanning for peripherals if
  `ZMK_BLE_CLEAR_BONDS_ON_START` is enabled.
* Split peripherals don't advertize if
  `ZMK_BLE_CLEAR_BONDS_ON_START` is enabled.
2023-07-21 10:41:23 -07:00
Peter Johanson
54c2e8e155 feat: Add more logging to peripheral settings. 2023-07-21 10:41:23 -07:00
Peter Johanson
ed400c4feb fix(bluetooth): Corrected use of bt_addr_le_cmp
* Properly compare to zero when comparing LE addresses.
2023-07-21 10:41:23 -07:00
Peter Johanson
73e1b526d5 fix(bluetooth): Properly clear peripheral slots
* When the clear bonds Kconfig is set, also clear peripheral
  address slots addresses from settings as well.
2023-07-21 10:41:23 -07:00
dependabot[bot]
b945ffe943 chore(deps): bump semver from 5.7.1 to 5.7.2 in /docs
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-20 09:52:20 -07:00