diff --git a/plugins/goodreads.koplugin/doublekeyvaluepage.lua b/plugins/goodreads.koplugin/doublekeyvaluepage.lua index f770a00d1..488511a46 100644 --- a/plugins/goodreads.koplugin/doublekeyvaluepage.lua +++ b/plugins/goodreads.koplugin/doublekeyvaluepage.lua @@ -24,6 +24,7 @@ local UIManager = require("ui/uimanager") local VerticalGroup = require("ui/widget/verticalgroup") local VerticalSpan = require("ui/widget/verticalspan") local _ = require("gettext") +local Input = Device.input local Screen = Device.screen local T = require("ffi/util").template @@ -231,6 +232,13 @@ function DoubleKeyValuePage:init() w = self.width or self.screen_width, h = self.height or self.screen_height, } + if Device:hasKeys() then + self.key_events = { + Close = { {"Back"}, doc = "close page" }, + NextPage = {{Input.group.PgFwd}, doc = "next page"}, + PrevPage = {{Input.group.PgBack}, doc = "prev page"}, + } + end if Device:isTouchDevice() then self.ges_events.Swipe = { GestureRange:new{ @@ -410,6 +418,16 @@ function DoubleKeyValuePage:_nextPage() end end +function DoubleKeyValuePage:onNextPage() + self:_nextPage() + return true +end + +function DoubleKeyValuePage:onPrevPage() + self:prevPage() + return true +end + function DoubleKeyValuePage:onSwipe(arg, ges_ev) if ges_ev.direction == "west" then self:_nextPage()