<feed xmlns='http://www.w3.org/2005/Atom'>
<title>zmk.git/app/tests/combo, branch master</title>
<subtitle>ZMK Bluetooth keyboard firmware.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/'/>
<entry>
<title>fix(combos): Check each combo key, not just last</title>
<updated>2021-06-09T00:35:58+00:00</updated>
<author>
<name>Jonathan Rascher</name>
<email>jon@bcat.name</email>
</author>
<published>2021-06-08T15:56:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=4e69a32103a2905b9a32c80c8d3d798fbb0d9a0f'/>
<id>4e69a32103a2905b9a32c80c8d3d798fbb0d9a0f</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>test(combo): Add unit test for complete long combo</title>
<updated>2021-06-09T00:35:58+00:00</updated>
<author>
<name>Jonathan Rascher</name>
<email>jon@bcat.name</email>
</author>
<published>2021-06-08T15:47:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=eecc12c98022c1dce4a228914887ed328b1774c2'/>
<id>eecc12c98022c1dce4a228914887ed328b1774c2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(combos): Rename existing long combo test</title>
<updated>2021-06-09T00:35:58+00:00</updated>
<author>
<name>Jonathan Rascher</name>
<email>jon@bcat.name</email>
</author>
<published>2021-06-08T15:43:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=bba1599824dc98284656d96748c7f09f10d5a00e'/>
<id>bba1599824dc98284656d96748c7f09f10d5a00e</id>
<content type='text'>
This test doesn't test a long combo that completes, but rather one
that's incomplete (so the combo doesn't trigger). Renaming to avoid
confusion when we add more long combo tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This test doesn't test a long combo that completes, but rather one
that's incomplete (so the combo doesn't trigger). Renaming to avoid
confusion when we add more long combo tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(combos): Fix stuck keys when pressing long combos.</title>
<updated>2021-03-11T21:23:45+00:00</updated>
<author>
<name>Okke Formsma</name>
<email>okke@formsma.nl</email>
</author>
<published>2021-02-27T21:34:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=0df71100581d040178bd0fe8ec0382d84dc59a40'/>
<id>0df71100581d040178bd0fe8ec0382d84dc59a40</id>
<content type='text'>
To properly retrigger hold-taps when a combo is not activated, some
position down events are reraised instead of released. The corresponding
position up events were never reraised, causing a potential stuck key.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To properly retrigger hold-taps when a combo is not activated, some
position down events are reraised instead of released. The corresponding
position up events were never reraised, causing a potential stuck key.
</pre>
</div>
</content>
</entry>
<entry>
<title>Feat combo layers (#661)</title>
<updated>2021-02-04T04:33:09+00:00</updated>
<author>
<name>KemoNine</name>
<email>mcrosson@users.noreply.github.com</email>
</author>
<published>2021-02-04T04:33:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=cd503ed17bb141bd54a777a375b5706acf884318'/>
<id>cd503ed17bb141bd54a777a375b5706acf884318</id>
<content type='text'>
feat(combos): add layer filtering

Co-authored-by: KemoNine &lt;mcrosson@kemonine.info&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
feat(combos): add layer filtering

Co-authored-by: KemoNine &lt;mcrosson@kemonine.info&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>feature(modifiers): add explicit modifiers</title>
<updated>2021-01-25T04:30:41+00:00</updated>
<author>
<name>Okke Formsma</name>
<email>okke@formsma.nl</email>
</author>
<published>2021-01-22T16:00:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=7b7701ae90469b920cd78e2ab7aca0c470140b7a'/>
<id>7b7701ae90469b920cd78e2ab7aca0c470140b7a</id>
<content type='text'>
this makes LS(LEFT_CONTROL) work as if shift and control were both
pressed explicitly. Previously, the left shift would have been released
as soon as another key was pressed. The implicit behavior is useful in
case of LS(NUMBER_1) when rolling over to other keys.

Also see #361.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this makes LS(LEFT_CONTROL) work as if shift and control were both
pressed explicitly. Previously, the left shift would have been released
as soon as another key was pressed. The implicit behavior is useful in
case of LS(NUMBER_1) when rolling over to other keys.

Also see #361.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(combos): initial implementation</title>
<updated>2021-01-14T02:07:41+00:00</updated>
<author>
<name>Okke Formsma</name>
<email>okke@formsma.nl</email>
</author>
<published>2020-12-11T22:24:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nvandoorn.com/zmk.git/commit/?id=feb0d5b90cbbb1a1026bf356afd788c860824ccf'/>
<id>feb0d5b90cbbb1a1026bf356afd788c860824ccf</id>
<content type='text'>
closes #45
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
closes #45
</pre>
</div>
</content>
</entry>
</feed>
