mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-03 05:29:29 +00:00
Previously, if a key was pressed after the last polling but the interrupts were fully enabled, we were missing the edge. So dropping the key press event and seeing only the key release. Now we check if keys are down before waiting for the next interrupt, if any, we re-start polling immediatly. The row state reading code is unchanged, just moved to a function in order to re-use it. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> (Note: This patch was originally submitted in the firmware-snow-2695.B branch, but needed some re-factoring to merge cleanly into ToT) BRANCH=snow BUG=chrome-os-partner:7484 chrome-os-partner:12179 TEST=type on the keyboard and do not see any missing key presses. On instrumented board, record the the matrix scans with a logic analyzer and stare at the waveforms. Change-Id: I98dc4c3af9611a276b960887384a6304b91d8b30 Reviewed-on: https://gerrit.chromium.org/gerrit/35168 Commit-Ready: David Hendricks <dhendrix@chromium.org> Reviewed-by: David Hendricks <dhendrix@chromium.org> Tested-by: David Hendricks <dhendrix@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>