Non-touch DPad improvements (#11749)

Closes #11295.
This commit is contained in:
SomeGuy
2024-05-20 20:20:50 +01:00
committed by GitHub
parent 36d2e3cf74
commit 577c5d454f
13 changed files with 223 additions and 20 deletions

View File

@@ -228,7 +228,7 @@ end
function ReaderLink:onGesture() end
function ReaderLink:registerKeyEvents()
if Device:hasKeys() then
if Device:hasKeys() and not Device:hasFiveWay() then
self.key_events = {
SelectNextPageLink = {
{ "Tab" },
@@ -247,6 +247,18 @@ function ReaderLink:registerKeyEvents()
-- when G_reader_settings:readSetting("back_in_reader") == "previous_location"
}
end
if Device:hasFiveWay() then
self.key_events.GotoSelectedPageLink = { { "Press" }, event = "GotoSelectedPageLink" }
if Device:hasKeyboard() then
self.key_events.AddCurrentLocationToStack = { { "Shift", "Down" } }
self.key_events.SelectNextPageLink = { { "Shift", "LPgFwd" }, event = "SelectNextPageLink" }
self.key_events.SelectPrevPageLink = { { "Shift", "LPgBack" }, event = "SelectPrevPageLink" }
else
self.key_events.AddCurrentLocationToStack = { { "ScreenKB", "Down" } }
self.key_events.SelectNextPageLink = { { "ScreenKB", "LPgFwd" }, event = "SelectNextPageLink" }
self.key_events.SelectPrevPageLink = { { "ScreenKB", "LPgBack" }, event = "SelectPrevPageLink" }
end
end
end
ReaderLink.onPhysicalKeyboardConnected = ReaderLink.registerKeyEvents