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

@@ -31,22 +31,7 @@ local ReaderFont = InputContainer:extend{
}
function ReaderFont:init()
if Device:hasKeyboard() then
-- add shortcut for keyboard
self.key_events = {
ShowFontMenu = { { "F" } },
IncreaseSize = {
{ "Shift", Input.group.PgFwd },
event = "ChangeSize",
args = 0.5
},
DecreaseSize = {
{ "Shift", Input.group.PgBack },
event = "ChangeSize",
args = -0.5
},
}
end
self:registerKeyEvents(true)
-- Build face_table for menu
self.face_table = {}
-- Font settings
@@ -133,6 +118,30 @@ end
function ReaderFont:onGesture() end
function ReaderFont:registerKeyEvents(init)
if Device:hasKeyboard() then
-- add shortcut for keyboard
self.key_events = {
ShowFontMenu = { { "F" } },
IncreaseSize = {
{ "Shift", Input.group.PgFwd },
event = "ChangeSize",
args = 0.5
},
DecreaseSize = {
{ "Shift", Input.group.PgBack },
event = "ChangeSize",
args = -0.5
},
}
elseif not init then
self.key_events = {}
end
end
ReaderFont.onPhysicalKeyboardConnected = ReaderFont.registerKeyEvents
ReaderFont.onPhysicalKeyboardDisconnected = ReaderFont.registerKeyEvents
function ReaderFont:onSetDimensions(dimen)
self.dimen = dimen
end