Added a Kconfig option to enable SOC_DCDC_NRF52X_HV for nice_nano_v2
and mikoto. According to Nordic's documentation, the DC/DC regulator is
more efficient than the LDO regulator, so this is enabled by default.
The following boards do not support this mode and were not changed:
- nice_nano
- nice60
- nrfmicro_11, nrfmicro_13
- nrf52840_m2
- bluemicro840
I could not find schematics to confirm whether the following boards
support this mode:
- bt60_v1, bt60_v2
- bt65_v1
- bt75_v1
- corneish_zen_v1, corneish_zen_v2
- pillbug
- puchi_ble_v1
- s40nc
The devicetree pulls always add on to the extra pulls configured by toggle mode, so these should not have pulls defined in the devicetree. Saved ~200uA avg on another board with a 3t toggle switch
* In order to be sure the rest of the system is fully ready before
intializing, because init may result in immediate events being
triggered when used with toggle direct kscan inner devices.
* Add dedicated init priority for the sideband kscan.
* Refactor sideband code for clarity.
* Tweaks to direct kscan for clarity.
* Make sideband behavior row optional for brevity.
* Allow overriding ZMK Uno sideband behaviors.
* Instead of gpio key behavior trigger, add new kscan driver that
decorates/wraps a given kscan driver and will invoke basic system
behavior assigned to a given row + column, without the need for keymap
mapping in the matrix transform, bypassing keymaps entirely.
* Better naming for gpio-key behavior triggers.
* Tweaks to scanned behavior trigger to avoid bad semaphore use,
and reduce chance of issues with slowly scanned matrixes.
* Various code cleanups of style issues.
* Move to explicit enable of `ZMK_PM_SOFT_OFF` to turn
on the feature and use the behaviors, which matches
how other features work, and helps with split and
testing schemes.
Initial work on a soft on/off support for ZMK. Triggering soft off
puts the device into deep sleep with only a specific GPIO pin
configured to wake the device, avoiding waking from other key
presses in the matrix like the normal deep sleep.
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
* To be able to use the Zephyr `voltage-divider` driver,
add a mode for fetching raw voltage from the sensor
and do state of charge calculation outside of the driver.
* Add a dedicated settings reset on start init priority and default
it to lower priority (high number) than default FLASH_INIT_PRIORITY
to be sure flash is initialized before we open the area.
Added a shift-list property to caps word to allow adding more keys to
be shifted aside from alpha keys.
Added a &prog_word behavior, which is the same as &caps_word, except it
adds MINUS to shift-list (this matches QMK's caps word behavior).
Added a no-default-keys property to caps_word, which removes the
implicit alphanumeric keys from continue-list and shift-list so you can
fully customize the lists.
Also adjusted the default continue keys to include numpad numbers,
since those are numbers too.
Unified devicetree key code parameter decoding between key press and
caps word behaviors.
Reordered zmk_keycode_state_changed fields for better packing.
Changed behavior_caps_word.c to be conditionally compiled instead of
wrapping the entire contents of the file in an #if.
Renamed macros that still referred to "break" instead of "continuation".
Changed the type of the continuations count field to allow for more than
255 continuation keys.
Reordered a struct to allow for better packing.
Switched to statically initializing the devs[] array instead of using an
index field in each device's config struct and the init function.
Refactored caps_word_keycode_state_changed_listener() and
caps_word_enhance_usage() to allow for more easily changing
the conditions for what breaks a word and whether mods should be applied
in future commits.