Commit Graph

2036 Commits

Author SHA1 Message Date
Joel Spadin
a1e0607a22 fix: Don't specify default C formatter
Microsoft's C/C++ extension performs poorly on some systems, so this gives the option to use any other extension that supports formatting with clang-format.
2023-05-14 11:54:34 -06:00
Joel Spadin
d53cd19929 refactor: Add format on save for VS Code
Added settings to format various file types on save in VS Code.

Added some recommended VS Code extensions:

- Prettier for formatting various file types
- Python for formatting Python files
- C/C++ for formatting C files
- Devicetree for syntax highlighting
- CMake for syntax highlighting
2023-05-14 11:54:34 -06:00
Albert Y
48be2eedd0 fix(docs): Update QMK debounce references 2023-05-09 21:40:14 -07:00
Alexander Krikun
94789a092c fix(boards): unify board I2C configuration, use TWI driver 2023-05-04 22:51:54 -07:00
Cem Aksoylar
0239f18b61 feat(boards): Add Corne-ish Zen v1 2023-04-25 23:57:16 -07:00
Cem Aksoylar
39d7f86f70 refactor(boards): Make Zen dtsi non-v2 specific 2023-04-25 23:57:16 -07:00
Cem Aksoylar
4a9c59317f refactor(boards): Add back default matrix transform to Zen v2 chosen node 2023-04-25 23:57:16 -07:00
Cem Aksoylar
2c70048bee refactor(boards): Remove duplicated Zen v2 Kconfigs and unused font size 2023-04-25 23:57:16 -07:00
Cem Aksoylar
ab65ffc114 refactor(boards): Fix Zen v2 DTS spacing inconsistencies 2023-04-25 23:57:16 -07:00
Peter Johanson
a6787b08c7 refactor(underglow): Tad more logging. 2023-04-25 23:53:17 -07:00
Joel Spadin
9bd171ede4 fix(docs): Add key to interconnect tabs
Added a key property to interconnect tabs list items to fix a React
warning.
2023-04-25 15:50:38 -07:00
ReFil
db08e041c6
feat(boards): Polarity works CKP Series
Adds support for the CKP family of boards
BT60V2 ANSIHotswap, ISO Hotswap, ANSI Lowpro and soldered
BT65 ANSI Hotswap, ISO Hotswap and soldered
BT75 ANSI Hotswap and soldered

The BT65 and BT75 are stylised as btXX_v1 in order to maintain compatibility with customers existing zmk-config setups in the same way the BT60 V1 was handled when merged into main.

CKP boards have identical pinmapping between hotswap and soldered so there's only one set of defconfig, dts, keymap, yaml and yml files per size
2023-04-25 13:37:33 -04:00
Peter Johanson
e52e734480 chore: Fix formatting of Kconfig setting. 2023-04-24 23:01:48 -07:00
Peter Johanson
de152fe741 fix(bluetooth): Revert to Legacy LLCP
* Reports of constant/frequent disconnects, with HCI err 0x28,
  "instant passed", seem linked to newer LLCP that became default
  in Zephyr 3.2, so revert to the Legacy LLCP for now until a
  proper fix for new LLCP can be found.
2023-04-24 22:41:03 -07:00
Joel Spadin
7a352908ee docs: Add pre-commit documentation 2023-04-24 16:07:04 -07:00
Joel Spadin
5b07c86d05 chore: Update Prettier
Added a workaround to select the latest version of Prettier with
pre-commit, since the pre-commit mirror repo started tracking alpha
releases and doesn't have anything beyond 2.7.1.
2023-04-24 16:07:04 -07:00
Joel Spadin
94061bb916 refactor: Replace tabs with spaces
Standardized indentation to use spaces with a new pre-commit hook.
2023-04-24 16:07:04 -07:00
Joel Spadin
32ae776c42 refactor: Add more checks to pre-commit
Updated existing pre-commit hooks and added some new hooks:

- Remove trailing whitespace
- Ensure every non-empty file ends with a new line
- Check YAML file validity
- Prevent adding large files
- Ensure any scripts with shebangs are executable

Added a GitHub action to run pre-commit on every commit. Removed any
existing actions which duplicate pre-commit.

Ran pre-commit on the codebase.
2023-04-24 16:07:04 -07:00
Albert Y
9c4f1e02d1
fix(docs): Update references to QMK settings
* Remove TAPPING_FORCE_HOLD reference
* Remove IGNORE_MOD_TAP_INTERRUPT reference
2023-04-24 04:24:36 -04:00
Peter Johanson
53dea223b7 feat(shields): Add splitkb.com Kyria Rev3. 2023-04-24 01:20:51 -07:00
Nick Coutsos
9d64c2a3a0 fix(docs): switch sensor rotate parameter order 2023-04-22 17:30:10 -07:00
Nick Conway
3db163aa2c feat(behaviors): Add reusable sensor behaviors.
* Add new sensor behaviors that either take full bindings
  add definition, or accept parameters when bound in the
  keymap.
* Remove existing hard-coded key press sensor behavior
  and instead leverage new generic sensor behaviors to
  achieve the same functionality.

Co-authored-by: nick@conway.dev
2023-04-21 21:13:31 -07:00
Peter Johanson
9a73650041 fix(boards): Move nice!60 to SPI3 for underglow
* Move to SPI3 for underglow peripheral, needed after the
  move to pinctrl.
2023-04-21 11:41:10 -05:00
Joel Spadin
5c6f21b0e0 fix: Fix compiler warnings in sensor code 2023-04-18 00:20:57 -07:00
Joel Spadin
e7a6e4016d feat(behaviors): Add key position to key events
Extended the virtual key position system from combos so that each sensor
also gets a virtual key position. This allows sensor behaviors to use
the behavior queue API.
2023-04-16 23:53:12 -07:00
sporkus
83a151890c
fix(docs): Correct example keymap filename 2023-04-16 13:28:08 -07:00
Josep Roca
71855af14f
fix(docs): ignore-modifiers clarification
* Clarify the potential need of adding the ignore-modifiers setting for new sticky key behaviors.
* Add ignore-modifiers setting to skq example
* Update docs/docs/behaviors/sticky-key.md

Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2023-04-16 03:04:49 -04:00
Cem Aksoylar
f1b138cbf0 fix(boards): Fix Zen logo alignment 2023-04-14 14:39:54 -07:00
Purdea Andrei
309359b32f
fix(keymaps): fix keypresses that are not in the transform
Before this change, if a matrix position was not present in the transform,
various incorrect behaviors would happen:

1) In some cases out-of-bounds accesses:

Note that the size of the`transform[]` array does not necessarily match
the size of the matrix. So for example if key position
(ZMK_MATRIX_COLS-1, ZMK_MATRIX_ROWS-1) is not present in the transform,
but ends up being pressed, then the array will be accessed beyond its
size, and any data could be returned.

2) In other cases the 0th position in the keymap will be used because
the `transform[]` array is initialized to all zeros.
2023-04-10 03:27:19 -04:00
Xudong Zheng
ee9fcec3c9 feat(core): Process log every 100ms 2023-04-09 23:29:22 -07:00
Xudong Zheng
a20b9502bc feat(core): Add RTT logging Kconfig option 2023-04-09 23:29:22 -07:00
Xudong Zheng
3f48062225 feat(core): Add Kconfig option to exclude debug log messages 2023-04-09 23:29:22 -07:00
nguyendown
702d79c108
test(behaviors): add unit tests for sticky key quick-release
Duplicate the existing tests with `quick-release` enabled:
- 8-lsk-osk-combination-quick-release
- 10-callum-mods-quick-release
2023-04-10 01:50:57 -04:00
Cem Aksoylar
3c8f55ede0 fix(display): Do not override font size in status screen 2023-04-09 21:36:43 -07:00
Joel Spadin
064aff6bc0 fix(behaviors): Fix use after free in sticky key
Fixed an issue where the sticky key behavior would call
ZMK_EVENT_RAISE_AFTER(), which would free the provided event, but then
it would keep using that now-freed event data.
2023-04-09 20:17:40 -07:00
Peter Johanson
374104dec6 fix(underglow): Move to spi3 for underglow bus.
* Workaround Zephyr bug for Nordic SPI(M) driver after the
  pinctrl refactor by using spi3 peripheral for the SPI bus for
  the WS2812 led_strip driver.
2023-04-09 14:41:00 -07:00
Joel Spadin
b31b42018a fix: Remove deprecated labels from zmk_uno 2023-04-08 15:37:48 -07:00
Cem Aksoylar
7434a6b99b fix(shields): Fix nice!view for deep sleep 2023-04-08 00:41:19 -07:00
Hooky
9dcc3ac375
fix(shields): Fixup nice!view adapter pinctrl props.
`pinctrl-0` setting missing `<>`.
2023-04-07 06:53:10 -07:00
Peter Johanson
134b64ef5b fix(docs): Make link to keymap upgrader work. 2023-04-05 23:18:34 -07:00
Peter Johanson
2614b85634 feat(docs): Add blog post for Zephyr 3.2.
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2023-04-05 22:55:38 -07:00
Peter Johanson
313ed6adb6 fix(display): Tweak EPD driver init/blanking.
Ensure we only clear the display when turning blanking off the
first time, not every time, to avoid duplicate clears.
2023-04-05 22:55:38 -07:00
Peter Johanson
0c5bcf5fe4 feat(docs): Add BLE feature/config pages.
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2023-04-05 22:55:38 -07:00
Peter Johanson
1493620bf7 refactor(boards): Move to pinctrl. 2023-04-05 22:55:38 -07:00
Peter Johanson
518f9a550f fix(underglow): Use DT_HAS_CHOSEN properly. 2023-04-05 22:55:38 -07:00
Peter Johanson
198daaf524 fix(shields): Don't try to disable xiao_i2c on Hummingbird. 2023-04-05 22:55:38 -07:00
Peter Johanson
c3d06b22c8 fix(core): Bump system work queue stack on RP2040. 2023-04-05 22:55:38 -07:00
Peter Johanson
a6ebdb7180 fix(kscan): Default wait between outputs on RP2040. 2023-04-05 22:55:38 -07:00
Peter Johanson
2f9bc2f1f7 fix(logging): Disable USB driver logging.
When enabling our high level USB logging, disable the USB driver
logging itself entirely, to avoid logging in the driver causing
errors when USB isn't up yet to send the logs.
2023-04-05 22:55:38 -07:00
Peter Johanson
31f664ffec fix(boards): Base config/overlay for rp2040 boards
Baseline config and overlay for the following:

* `rpi_pico`
* `adafruit_kb2040`
* `sparkfun_pro_micro_rp2040`
* `adafruit_qt_py_rp2040`
* `seeeduino_xiao_rp2040`
* `boardsource_blok`
* `01space_rp2040_042lcd`

Co-authored-by: Joel Spadin <joelspadin@gmail.com>
2023-04-05 22:55:38 -07:00