Peter Johanson
f5690b8ab9
fix(behaviors): Capture mods for &key_repeat
...
* When tracking the last keycode, also capture the currently held
explicit modifiers to use when replaying the key later.
2021-12-02 21:33:09 +00:00
Peter Johanson
80ae9c9aa5
feat(behaviors): &key_repeat
behavior + tests.
...
* Add new `&key_repeat` behavior that captures and re-sends
the most recently triggered keycode.
Closes : #853
2021-12-02 21:33:09 +00:00
toddmok
9148ffd05d
feat(shields) Add Redox Shield Support ( #1002 )
...
* Add redox shield support
* typo
* Pull request fixes
* requested changes
add underglow, add copyright, remove display
* remove because of no display
* comment fix
* bt clear
2021-12-02 12:51:27 -06:00
Peter Johanson
6ef1e7034f
fix(hid): Implicit mods on non-key page events
...
* Properly send the KEY usage page report for modifier changes
when there are state changes to other usages pages that
include implicit modifiers.
2021-12-02 07:18:25 -05:00
ReFil
b877410379
fix(boards): BT60 Formatting tweaks
2021-11-30 15:33:12 -06:00
ReFil
99c5a8ee6f
feat(boards): Add BT60 Boards
2021-11-30 15:33:12 -06:00
Josh Johnson
66f90dae3a
feat(shield) Add Chalice support ( #1022 )
...
* add chalice
* add split bs transform
* Update app/boards/shields/chalice/chalice.zmk.yml
Co-authored-by: Nick Winans <nick@winans.codes>
Co-authored-by: Nick Winans <nick@winans.codes>
2021-11-29 11:39:46 -06:00
Cem Aksoylar
b9a35c6ae7
fix(keymaps): Locate shared conf and overlay for split boards.
2021-11-29 07:56:29 -05:00
Nick Winans
0b44321613
fix(shields): Fix typo on Quefrency .zmk.yml
2021-11-29 00:52:57 -05:00
Peter Johanson
54dabffd0d
feat(behaviors): Add caps word (&caps_word
).
...
* Add new `&caps_word` behavior that acts like caps lock, but
releases automatically when any "break" keycode is pressed.
2021-11-28 22:41:35 -05:00
Jonathan Rascher
30ed237533
test(conditional-layers): Add tests for edge cases
2021-11-15 05:49:23 -05:00
Jonathan Rascher
6cd1734851
test(conditional-layers): Add interleaved up/downs
2021-11-15 05:49:23 -05:00
Jonathan Rascher
a908396013
test(conditional-layers): Add multi-config tests
2021-11-15 05:49:23 -05:00
Jonathan Rascher
df110beac4
test(conditional-layers): Add basic unit tests
2021-11-15 05:49:23 -05:00
Jonathan Rascher
e9140b2da9
feat(conditional-layers): Implement feature
...
This is a generalization of the existing concept of tri-layer support
that's already well known. Essentially, a conditional-layer
configuration activates a particular layer (the then-layer) when one or
more other layers (the if-layers) are activated.
This is commonly used on ortho keyboards to activate a third "adjust"
layer while the primary two layers ("lower" and "raise") are active.
2021-11-15 05:49:23 -05:00
Peter Johanson
f8018b22d0
fix(hid): Basic consumer code fixes for signed logical max.
...
* Logical max values are signed, so for the report descriptor, use a two
byte logical max descriptor item to impart proper 0xFF max logical
value.
2021-11-09 10:38:49 -05:00
Viet (Drake) Tran
c412fad40d
fix(shields): Fix some keycodes in reviung41 keymap
...
Notice some keycodes are not matched with the expected keys.
2021-11-09 10:26:21 -05:00
jding
4e62319982
feat: hold/tap flavor tap-unless-interrupted
...
Implements new hold/tap flavor, tap-unless-interrupted
Adds tests
Adds docs
2021-11-09 01:07:05 -05:00
Hai-Ninh Dang
f2e0642291
feat(boards): Add Mikoto board
...
* Supports selecting from several possible charge currents
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2021-11-09 00:57:24 -05:00
Peter Johanson
0b0b49d626
fix(split): Properly rediscover peripherals.
...
* Handle disconnects of peripherals, and properly clean up
and resume discovering for when the peripheral re-appears.
2021-11-04 22:31:56 -04:00
jmding8
73fd4b9230
fix(behavior): Properly break in decision switch statement.
...
Co-authored-by: jding <jding@roblox.com>
2021-11-01 13:51:12 -04:00
jmding8
19ee7849f8
feat(behaviors) Required keys for tap-hold behaviors
...
* Add optional `hold-trigger-key-positions` hold-tap configuration
* Leverage configuration for decision making around when to trigger
hold decision in hold-taps.
* Add docs for new configuration.
* Tests for the new config/decision logic.
2021-11-01 12:37:20 -04:00
Joel Spadin
f946dc6893
feat(kscan): Improve matrix debouncing
...
Switched the GPIO matrix driver to debouncing using a simple integrator
algorithm. Whenever a key is pressed, we now scan at a rate controlled
by debounce-scan-period-ms (default 1 ms) until all keys are released,
then return to either waiting for an interrupt or polling more slowly.
The timers for key press and release can now be controlled separately,
so debounce-period is deprecated in favor of debounce-press-ms and
debounce-release-ms. Global Kconfig options
ZMK_KSCAN_DEBOUNCE_PRESS_MS and ZMK_KSCAN_DEBOUNCE_RELEASE_MS are also
added to make these easier to set.
Added documentation for debouncing options.
2021-10-26 23:52:13 -04:00
Jonathan Rascher
e3eb77dfc6
refactor(combos): Use ZMK_KEYMAP_EXTRACT_BINDING
...
Now that PR #506 is merged, we can address this TODO.
2021-10-20 23:36:31 -04:00
Peter Johanson
e6c815f1b0
fix: Properly find boards in user config repos.
2021-10-19 13:29:36 +00:00
Peter Johanson
0dc7d46eb1
fix: Only search for board one not found yet.
2021-10-18 20:08:35 -04:00
Peter Johanson
742f4c2826
fix(keymaps): Properly locate split board keymaps.
...
* Find the unified keymap filename for onboard controller split
keyboards.
2021-10-18 20:08:35 -04:00
eyenseo
6f29453041
[squash] implement feedback
2021-10-13 09:51:02 -07:00
eyenseo
51298f1d22
Add ergodash
2021-10-13 09:51:02 -07:00
Richard Kjerstadius
a774ce8555
fix(display): Increase char buffer size to fit all symbols
...
Recent refactoring of the font handling seems to have broken the display
of the last symbol of the output status widget. From my analysis the
last symbol is truncated because the buffer simply is too small.
Increasing the buffer size to 9 fits all three possible symbols.
2021-10-12 12:00:21 -04:00
git@jrhrsmit.nl
f221ff1dc7
add ranges and descriptions from #669
2021-10-11 09:46:17 -07:00
Nick Winans
f23f427cae
fix(underglow): Run clang-format
2021-10-10 17:43:57 -07:00
Simon Malinge
c5b8dd85fd
feat(underglow): Add support for configurable min/max brightness
...
Co-authored-by: jrhrsmit <jasper.770@gmail.com>
2021-10-10 17:43:57 -07:00
Peter Johanson
bc179b1030
feat(hid): Kconfig for basic/full consumer usages.
...
* Add ZMK_HID_CONSUMER_REPORT_USAGES choice to allow choosing
between full consumer usage range, with poor OS compat,
or basic consumer usage range, with broader compat.
2021-10-04 23:01:39 -04:00
Pete Johanson
91ba034896
feat(hid): Configurable NKRO HID report support.
...
* Add Kconfig settings for NKRO or HKRO (boot compatible), HID
report types for keyboard page.
* Updated report storage and set/unset for each config.
2021-10-04 23:01:39 -04:00
Aleblazer
063b496c26
feat(boards): Add Zodiark shield
2021-10-03 23:47:23 -04:00
Brandon Xie
3b8244e466
feat(shields): Add Naked60BMP shield
2021-10-03 23:23:54 -04:00
Nick Winans
687e91ab18
feat(boards): Remove usage of pro_micro_a/d nodes
2021-09-25 23:09:21 -04:00
Nick Winans
4a03214e06
feat(boards): Add D18-21 to Pro Micro pin mappings
2021-09-25 23:09:21 -04:00
Peter Johanson
014e5ba93c
refactor(boards): Remove leftover right split name
2021-09-26 01:21:49 +00:00
Nick Winans
478cf94374
refactor(boards): Remove "left" from split keyboard names
2021-09-25 21:17:24 -04:00
Nick Winans
36ced48e53
refactor(boards): Remove split right keyboard names
2021-09-25 21:17:24 -04:00
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.
2021-09-25 19:43:20 -04:00
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.
2021-09-25 17:17:04 -04:00
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.
2021-09-25 17:17:04 -04:00
Xudong Zheng
212a05feb3
fix(hog): use OR instead of AND for bitmap
2021-09-23 20:47:40 -04:00
Dom H
db4bbbf9eb
fix(shield): Update URL in A. Dux metadata
2021-09-23 14:57:40 -04:00
Dom H
80b01c7265
refactor(shield): "Architeuthis Dux" to "A. Dux"
...
The shorter name is more user-friendly.
2021-09-23 14:57:40 -04:00
Dom H
0c15c2291e
feat(shield): Add Architeuthis Dux shield
2021-09-23 14:57:40 -04:00
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.
2021-09-18 15:43:26 -04:00