<feed xmlns='http://www.w3.org/2005/Atom'>
<title>zmk.git/app/src/behaviors, branch core/peripheral-behavior-invocation</title>
<subtitle>ZMK Bluetooth keyboard firmware.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/'/>
<entry>
<title>feature(split): behavior locality support.</title>
<updated>2021-11-22T16:42:13+00:00</updated>
<author>
<name>Pete Johanson</name>
<email>peter@peterjohanson.com</email>
</author>
<published>2020-12-20T14:49:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=fd609695ae510344c5dbb88f1d253565bd588ea3'/>
<id>fd609695ae510344c5dbb88f1d253565bd588ea3</id>
<content type='text'>
* GATT characteristic allowing passng data + behavior
  label to invoke the behavior on the peripheral side.
* Behaviors have a locality setting to specify where they run.
* Build reset/power/RGB on peripheral.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* GATT characteristic allowing passng data + behavior
  label to invoke the behavior on the peripheral side.
* Behaviors have a locality setting to specify where they run.
* Build reset/power/RGB on peripheral.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: hold/tap flavor tap-unless-interrupted</title>
<updated>2021-11-09T06:07:05+00:00</updated>
<author>
<name>jding</name>
<email>jding@roblox.com</email>
</author>
<published>2021-11-06T21:31:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=4e62319982ea258741eca2b79cf952fe7b8d6b3b'/>
<id>4e62319982ea258741eca2b79cf952fe7b8d6b3b</id>
<content type='text'>
Implements new hold/tap flavor, tap-unless-interrupted
Adds tests
Adds docs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implements new hold/tap flavor, tap-unless-interrupted
Adds tests
Adds docs
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(behavior): Properly break in decision switch statement.</title>
<updated>2021-11-01T17:51:12+00:00</updated>
<author>
<name>jmding8</name>
<email>44815547+jmding8@users.noreply.github.com</email>
</author>
<published>2021-11-01T17:51:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=73fd4b9230bec4333fc3ecc74e455af78016f0e2'/>
<id>73fd4b9230bec4333fc3ecc74e455af78016f0e2</id>
<content type='text'>
Co-authored-by: jding &lt;jding@roblox.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: jding &lt;jding@roblox.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>feat(behaviors) Required keys for tap-hold behaviors</title>
<updated>2021-11-01T16:37:20+00:00</updated>
<author>
<name>jmding8</name>
<email>44815547+jmding8@users.noreply.github.com</email>
</author>
<published>2021-11-01T16:37:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=19ee7849f80e18d8f29ac47ffeee3bb223c35a80'/>
<id>19ee7849f80e18d8f29ac47ffeee3bb223c35a80</id>
<content type='text'>
* 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. </content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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. </pre>
</div>
</content>
</entry>
<entry>
<title>refactor(core): Move away from deprecated DT API.</title>
<updated>2021-07-17T21:04:25+00:00</updated>
<author>
<name>Pete Johanson</name>
<email>peter@peterjohanson.com</email>
</author>
<published>2021-03-22T14:31:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=2a69f31eb0d3af1290152afb1517142100b3316d'/>
<id>2a69f31eb0d3af1290152afb1517142100b3316d</id>
<content type='text'>
* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(behaviors): Fix timing of delayed hold-tap trigger</title>
<updated>2021-06-13T14:44:18+00:00</updated>
<author>
<name>Okke Formsma</name>
<email>okke@formsma.nl</email>
</author>
<published>2021-03-07T13:50:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=efa497c69b813852d3704dbd96207f1186eb941a'/>
<id>efa497c69b813852d3704dbd96207f1186eb941a</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(behaviors): Fix sticky keys quick-release for normal keypresses</title>
<updated>2021-05-09T11:52:41+00:00</updated>
<author>
<name>Okke Formsma</name>
<email>okke@formsma.nl</email>
</author>
<published>2021-04-05T18:07:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=de4979bf58a628692547b056c80a75678005a647'/>
<id>de4979bf58a628692547b056c80a75678005a647</id>
<content type='text'>
Quick release for sticky keys failed for non-layer keys. The sticky key
was released just before the key that was supposed to be modified was
handled.

The issue was caused by an error in the sticky key logic, which released
the sticky key before handling the key up event.

Fixes #696.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Quick release for sticky keys failed for non-layer keys. The sticky key
was released just before the key that was supposed to be modified was
handled.

The issue was caused by an error in the sticky key logic, which released
the sticky key before handling the key up event.

Fixes #696.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(behaviors): Add missing hold-tap trigger</title>
<updated>2021-02-27T14:20:20+00:00</updated>
<author>
<name>Okke Formsma</name>
<email>okke@formsma.nl</email>
</author>
<published>2021-02-27T13:53:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=32008825fe6893c52ed86c05fc64b780d3088a8f'/>
<id>32008825fe6893c52ed86c05fc64b780d3088a8f</id>
<content type='text'>
A hold-tap trigger was missing in the scenario where a hold-tap behavior
was queued for a while and it's timer should've run out.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A hold-tap trigger was missing in the scenario where a hold-tap behavior
was queued for a while and it's timer should've run out.
</pre>
</div>
</content>
</entry>
<entry>
<title>feature(hold-tap): no-hold-flash for retro taps</title>
<updated>2021-02-24T12:24:27+00:00</updated>
<author>
<name>Okke Formsma</name>
<email>okke@formsma.nl</email>
</author>
<published>2021-02-09T19:20:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=0c1940bb799ec8d97bb2f80661778a1396e9277e'/>
<id>0c1940bb799ec8d97bb2f80661778a1396e9277e</id>
<content type='text'>
This is an improvement on retro-tap, solving the 'flashing hold' issue
users people experience.

When the tapping-term expires, the hold key is normally pressed. When
retro-tap is enabled, this is undesirable; only an interrupted hold-tap
should trigger the hold behavior.

This change disables the hold behavior for the 'STATUS_HOLD_TIMER'
state when retro-tap is enabled, and makes sure the
'STATUS_HOLD_INTERRUPT' state will be triggered when appropriate.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is an improvement on retro-tap, solving the 'flashing hold' issue
users people experience.

When the tapping-term expires, the hold key is normally pressed. When
retro-tap is enabled, this is undesirable; only an interrupted hold-tap
should trigger the hold behavior.

This change disables the hold behavior for the 'STATUS_HOLD_TIMER'
state when retro-tap is enabled, and makes sure the
'STATUS_HOLD_INTERRUPT' state will be triggered when appropriate.
</pre>
</div>
</content>
</entry>
<entry>
<title>feature(hold-tap): Retro tapping</title>
<updated>2021-02-24T12:24:27+00:00</updated>
<author>
<name>Okke Formsma</name>
<email>okke@formsma.nl</email>
</author>
<published>2021-02-06T19:58:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=89ed816c670abdc74fe02b484fe148bc5658564c'/>
<id>89ed816c670abdc74fe02b484fe148bc5658564c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
