Nick Winans
687e91ab18
feat(boards): Remove usage of pro_micro_a/d nodes
3 years ago
Nick Winans
4a03214e06
feat(boards): Add D18-21 to Pro Micro pin mappings
3 years ago
Peter Johanson
014e5ba93c
refactor(boards): Remove leftover right split name
3 years ago
Nick Winans
478cf94374
refactor(boards): Remove "left" from split keyboard names
3 years ago
Nick Winans
36ced48e53
refactor(boards): Remove split right keyboard names
3 years ago
Peter Johanson
3e6a3758ed
refactor(display): Saner font selection/defaults.
...
* Only select fonts for the default built in status screen
* Leverage theme default fonts, instead of hardcoding theme
details in each component.
3 years ago
Peter Johanson
2128b2b55f
refactor(display): Output/layer/battery thread safety.
...
* Submit widget updates to display queue.
* Use mutex to control access to shared state for widgets.
3 years ago
Peter Johanson
063d98e3df
feat(display): Optional dedicated work queue.
...
* Add new Kconfig settingsx to allow selecting system or dedicated
work queue for performing UI updates.
* Allow UI updates to not block other system tasks when display is
updating, especially important for e-ink displays.
3 years ago
Xudong Zheng
212a05feb3
fix(hog): use OR instead of AND for bitmap
3 years ago
Dom H
db4bbbf9eb
fix(shield): Update URL in A. Dux metadata
3 years ago
Dom H
80b01c7265
refactor(shield): "Architeuthis Dux" to "A. Dux"
...
The shorter name is more user-friendly.
3 years ago
Dom H
0c15c2291e
feat(shield): Add Architeuthis Dux shield
3 years ago
Peter Johanson
a7908a94de
fix(hog): encrypt perm for HID report map/ref.
...
* Workaround for ensuring macOS pairing happens early enough,
for their stack, we require encryption for the hids report map and
report ref characteristics as well, to trigger pairing ealier in the
connection process for macOS.
3 years ago
Pete Johanson
c9a671d8d5
fix(kscan): Allow composite driver to handle missing children.
...
For split keyboards using an IO expander over TRRS/i2c, if the
right half isn't connected, we should be able to gracefully
fallback to the left side still working.
3 years ago
Peter Johanson
e42590a049
feat(board): Add Ferris 0.2 boards
...
* Onboard stm32f072 with mcp23018 IO expander.
* No underglow support yet.
* Miryoku inspired default layout.
3 years ago
Pete Johanson
647110e5e5
feat(drivers): Add mcp23017 driver based on upstream mcp23s17 one.
...
* Upstream Zephyr has in progress driver, so doing this locally here,
until we can move over to that driver.
3 years ago
Peter Johanson
c7e513634d
feat(metadata): Add YAML check/format npm scripts.
3 years ago
Peter Johanson
39eb80562d
feat(metadata): Add MakerDiary nRF52840 M.2 interconnect
...
* Add interconnect details.
* Add m60 and nrf52840_m2 metadata files.
3 years ago
Peter Johanson
0c3f1309c6
refactor(boards): Add metadata for boards.
...
* Standalone and pro-micro format board metadata added.
3 years ago
Peter Johanson
2907704f9f
refactor(shields): Add pro-micro shield metadata.
3 years ago
Peter Johanson
b52835ffbf
feat: Add a few sample hardware metadata files.
3 years ago
Peter Johanson
1d69bdda60
feat: Add hardware metadata schema.
...
* Initial hardware metadata JSON schema.
* GH Action to validate all schemas for boards/shields.
3 years ago
Dom H
4a5454b0f9
fix(shields): Add note about Cradio pin arrangement
3 years ago
Joel Spadin
82cb762698
refactor(kscan): Demacroify GPIO matrix driver
...
Refactored the GPIO matrix kscan driver so that only the data and config
structures are defined in the foreach macro. Functionality is unchanged
except for the addition of DT properties to adjust polling speed.
This should make it easier to add other enhancements later, like
improved and customizable debounce behavior.
3 years ago
Peter Johanson
e491c282e7
fix(display): Add proper LVGL label dep.
3 years ago
Darryldh
a124eb9f9e
feat(display): IL0323 driver for EPD displays.
...
* Basic driver, using the GD7965 driver as a basis, since the ICs
are very similar.
3 years ago
Martin Aumüller
08078210da
fix: Planck rev 6.1
...
My Planck rev 6.1 would not register any keys without "col2row".
I also had to apply a matrix_transform in order to move them to the
correct position. Peeking into #228 helped for finding this.
I also add transforms for the 2u spacebar layouts.
3 years ago
Peter Johanson
08687b1709
fix(display): Update output status on endpoint selection change.
3 years ago
Peter Johanson
d05d7ec2d2
feat(endpoints): Add endpoint select changed event.
3 years ago
Peter Johanson
9d34cf561e
fix(usb): USB state changes in system thhread.
...
* Use a `k_work` to send usb status events from the system
workqueue thread, not the USB work thread.
3 years ago
Nick Winans
cf5c56c4f1
feat(boards): Use the nRF VDDH driver for the nice!nano v2
3 years ago
Nick Winans
1cafbd8069
fix(power): Manually trigger pm_low_power_devices() before sleep
3 years ago
Nick Winans
2b9deb824b
feat(power): Update device power management Kconfig
3 years ago
Devon Allie
f31ffd8acb
fix(shields): Clean up default corne keymap.
3 years ago
Joel Spadin
a6de43e665
feat: Add nrf VDDH battery driver
...
Added a driver which uses the nRF52's ADC channel on the VDDH pin to
read the battery voltage when using high voltage mode.
3 years ago
Peter Johanson
65ff995033
fix(display): Avoid fault w/ LVGL API usage.
...
* Increment the tick from within the ISR itself.
* Don't call task handler until in the display callback.
PR: https://github.com/zmkfirmware/zmk/pull/736
3 years ago
Peter Johanson
b2d64fe598
refactor(boards): Switch proton_c to newer pinmux approach.
...
See: https://github.com/zephyrproject-rtos/zephyr/issues/28999
PR: https://github.com/zmkfirmware/zmk/pull/736
3 years ago
Pete Johanson
d7475f792f
fix(boards): Enable pinmux for bdn9_rev2 by default.
...
See: https://github.com/zephyrproject-rtos/zephyr/issues/28999
PR: https://github.com/zmkfirmware/zmk/pull/736
3 years ago
Pete Johanson
6c23bb5c11
fix(tests): Revert default to previous formatter.
...
* new cbprintf formatter causes issues for our use of string formatting.
See: https://github.com/zephyrproject-rtos/zephyr/pull/29876
PR: https://github.com/zmkfirmware/zmk/pull/736
3 years ago
Pete Johanson
2a69f31eb0
refactor(core): Move away from deprecated DT API.
...
* Move to `DEVICE_DT_INST_DEFINE` everywhere.
See: https://docs.zephyrproject.org/2.5.0/releases/release-notes-2.5.html#deprecated-in-this-release
PR: https://github.com/zmkfirmware/zmk/pull/736
3 years ago
innovaker
ad981c3bbd
refactor(core): update power API to Zephyr v2.5.0
...
See: https://github.com/zephyrproject-rtos/zephyr/pull/29410
PR: https://github.com/zmkfirmware/zmk/pull/736
3 years ago
innovaker
71a85a0c8e
feat: bump `zephyr` to `v2.5.0+zmk-fixes`
...
PR: https://github.com/zmkfirmware/zmk/pull/736
3 years ago
Nick Winans
edb3ff1bb1
feat(boards): Add nice!nano v2
3 years ago
Okke Formsma
efa497c69b
fix(behaviors): Fix timing of delayed hold-tap trigger
...
A hold-tap timer event would be triggered too soon if the hold-tap
was delayed for longer than its tapping-term. This may cause
accidental hold behavior when the correct behavior would be tap.
By queuing the timer event instead of executing it immediately,
other delayed events get a chance to be processed properly.
4 years ago
David Barr
0f28130493
fix(shields): Cradio v2 keymap/shield improvements
...
* fix cradio dtsi add new keymap and readme
Co-authored-by: Dom H <dom@hxy.io>
4 years ago
Alexander Krikun
e8b42221cf
fix(shields): added right alt and layer quick tap to Jian
4 years ago
Jay Greco
f3bb90f9e1
fix(kscan): Fix nibble demux scan errors on encoder row
...
+ Add a 1us sleep to let the column selection settle in order to avoid spurious keypresses when row capacitance is high (like on the encoder row)
4 years ago
Dom H
4c1a71551b
feat(keys): Add LSHIFT and RSHIFT aliases
...
Using LSHIFT or RSHIFT instead of LSHFT or RSHFT was a common error.
4 years ago
Jonathan Rascher
4e69a32103
fix(combos): Check each combo key, not just last
...
The current combo completion check only makes sure the last key in the
combo is set. This works when the combo is typed correctly initially, or
when reraising events in a combo of length two. However, it fails for
longer combos since the last event in pressed_keys might be set, but the
first (or subsequent) event in pressed_keys can be NULL thanks to
release_pressed_keys.
Also added a regression test.
4 years ago
Jonathan Rascher
eecc12c980
test(combo): Add unit test for complete long combo
4 years ago