<story><title>Open-Sourcing our Firmware</title><url>https://frame.work/blog/open-sourcing-our-firmware</url></story><parent_chain><item><author>ad8e</author><text>I checked the keyboard debouncing logic [0] and it was fine. Some keyboards from other manufacturers, notably Lenovo Thinkpads, have absurd debouncing algorithms that scramble keys or add delays, so it&amp;#x27;s good to see Framework has a correct solution.&lt;p&gt;[0]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;FrameworkComputer&amp;#x2F;EmbeddedController&amp;#x2F;blob&amp;#x2F;6e38e82b9553240820c241c80a7d94fdc3ae5914&amp;#x2F;common&amp;#x2F;keyboard_scan.c#L510&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;FrameworkComputer&amp;#x2F;EmbeddedController&amp;#x2F;blob...&lt;/a&gt;</text></item></parent_chain><comment><author>ohazi</author><text>I&amp;#x27;ve noticed that I seem to miskey my unlock password immediately after resuming from sleep way more often than when I use that password at other times, or when using an external keyboard (Lenovo T480). I always suspected that something was wonky, but a weird debounce bug would totally explain it, especially as I tend to type that password very quickly.</text></comment>
<story><title>Open-Sourcing our Firmware</title><url>https://frame.work/blog/open-sourcing-our-firmware</url></story><parent_chain><item><author>ad8e</author><text>I checked the keyboard debouncing logic [0] and it was fine. Some keyboards from other manufacturers, notably Lenovo Thinkpads, have absurd debouncing algorithms that scramble keys or add delays, so it&amp;#x27;s good to see Framework has a correct solution.&lt;p&gt;[0]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;FrameworkComputer&amp;#x2F;EmbeddedController&amp;#x2F;blob&amp;#x2F;6e38e82b9553240820c241c80a7d94fdc3ae5914&amp;#x2F;common&amp;#x2F;keyboard_scan.c#L510&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;FrameworkComputer&amp;#x2F;EmbeddedController&amp;#x2F;blob...&lt;/a&gt;</text></item></parent_chain><comment><author>nrp</author><text>We used the chromium-ec logic as-is (checking git blame), but I believe did tune the debounce timer to match the characteristics of the keyboard itself.</text></comment>