Input: Process input events in batches (#7483)

Requires https://github.com/koreader/koreader-base/pull/1344 & https://github.com/koreader/koreader-base/pull/1346 (fix #7485)

Assorted input fixes:

* Actually handle errors in the "there's a callback timer" input polling loop.
* Don't break timerfd when the clock probe was inconclusive.

Not directly related, but noticed because of duplicate onInputEvent handlers:

* HookContainer: Fix deregistration to actually deregister properly. "Regression" extant since its inception in #2933 (!).
* Made sure the three plugins (basically the trio of AutoThingies ;p) that were using HookContainer actually unschedule their task on teardown.
This commit is contained in:
NiLuJe
2021-04-03 01:48:35 +02:00
committed by GitHub
parent 25aabd69d9
commit 03e9fac156
10 changed files with 134 additions and 78 deletions

View File

@@ -274,13 +274,15 @@ describe("device module", function()
mock_ffi_input = require('ffi/input')
stub(mock_ffi_input, "waitForEvent")
mock_ffi_input.waitForEvent.returns(true, {
type = 3,
time = {
usec = 450565,
sec = 1471081881
},
code = 24,
value = 16
{
type = 3,
time = {
usec = 450565,
sec = 1471081881
},
code = 24,
value = 16
}
})
local UIManager = require("ui/uimanager")