mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
ReaderUI: Refresh key_events handlers on keyboard hotplug
This commit is contained in:
@@ -20,9 +20,7 @@ local ReaderBack = EventListener:extend{
|
||||
}
|
||||
|
||||
function ReaderBack:init()
|
||||
if Device:hasKeys() then
|
||||
self.ui.key_events.Back = { { Device.input.group.Back } }
|
||||
end
|
||||
self:registerKeyEvents(true)
|
||||
-- Regular function wrapping our method, to avoid re-creating
|
||||
-- an anonymous function at each page turn
|
||||
self._addPreviousLocationToStackCallback = function()
|
||||
@@ -30,6 +28,17 @@ function ReaderBack:init()
|
||||
end
|
||||
end
|
||||
|
||||
function ReaderBack:registerKeyEvents(init)
|
||||
if Device:hasKeys() then
|
||||
self.ui.key_events.Back = { { Device.input.group.Back } }
|
||||
elseif not init then
|
||||
self.ui.key_events.Back = nil
|
||||
end
|
||||
end
|
||||
|
||||
ReaderBack.onPhysicalKeyboardConnected = ReaderBack.registerKeyEvents
|
||||
ReaderBack.onPhysicalKeyboardDisconnected = ReaderBack.registerKeyEvents
|
||||
|
||||
function ReaderBack:_getCurrentLocation()
|
||||
if self.ui.document.info.has_pages then
|
||||
return self.ui.paging:getBookLocation()
|
||||
|
||||
Reference in New Issue
Block a user