ReaderUI: Refresh key_events handlers on keyboard hotplug

This commit is contained in:
NiLuJe
2022-11-01 00:17:25 +01:00
parent e0bfebb0b5
commit 09498d4bbb
15 changed files with 288 additions and 113 deletions

View File

@@ -122,10 +122,7 @@ function ReaderUI:init()
-- Handle local settings migration
SettingsMigration:migrateSettings(self.doc_settings)
if Device:hasKeys() then
self.key_events.Home = { { "Home" } }
self.key_events.Reload = { { "F5" } }
end
self:registerKeyEvents(true)
-- a view container (so it must be child #1!)
-- all paintable widgets need to be a child of reader view
@@ -484,6 +481,19 @@ function ReaderUI:init()
ReaderUI.instance = self
end
function ReaderUI:registerKeyEvents(init)
if Device:hasKeys() then
self.key_events.Home = { { "Home" } }
self.key_events.Reload = { { "F5" } }
elseif not init then
self.key_events.Home = nil
self.key_events.Reload = nil
end
end
ReaderUI.onPhysicalKeyboardConnected = ReaderUI.registerKeyEvents
ReaderUI.onPhysicalKeyboardDisconnected = ReaderUI.registerKeyEvents
function ReaderUI:setLastDirForFileBrowser(dir)
if dir and #dir > 1 and dir:sub(-1) == "/" then
dir = dir:sub(1, -2)