Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-touch DPad improvements, largely kindle. #11749

Merged
merged 56 commits into from
May 20, 2024
Merged
Show file tree
Hide file tree
Changes from 46 commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
39b37bc
hasPageUpDownKeys added
Commodore64user May 3, 2024
ca49d82
hasPageUpDownKeys = yes for kindles
Commodore64user May 3, 2024
b87c59b
Update readerrolling.lua
Commodore64user May 3, 2024
93b2e27
Update readerpaging.lua
Commodore64user May 3, 2024
0c10bd9
content selection mapped to up/down
Commodore64user May 4, 2024
dc0ba58
greppability fix
Commodore64user May 4, 2024
9e84bc6
readertoc mapped to "ScreenKB" key
Commodore64user May 4, 2024
0a32a31
content selection adjustments to powerful (-ish) non-touch devices
Commodore64user May 14, 2024
bef0b01
adjustment to ToC shortcut
Commodore64user May 14, 2024
f688ec4
shortcut for bookmarks
Commodore64user May 14, 2024
d22af65
speed-up rate setting added
Commodore64user May 14, 2024
d377a50
nilOrTrue and fixes
Commodore64user May 14, 2024
dbcce60
useDPadAsExtraButtons introduced
Commodore64user May 14, 2024
fbcd112
typo
Commodore64user May 14, 2024
a49e04b
if Device:useDPadAsExtraButtons() then
Commodore64user May 14, 2024
358a4ec
Update readerpaging dPad support
Commodore64user May 14, 2024
5780db6
Update readerrolling dPad support
Commodore64user May 14, 2024
8f2c767
content selection, user adjustments added
Commodore64user May 14, 2024
62c55e5
reverting changes
Commodore64user May 15, 2024
6d3447d
reverting changes
Commodore64user May 15, 2024
3579632
Apply suggestions from code review (hius07)
Commodore64user May 15, 2024
74fc56e
Update frontend/apps/reader/modules/readerhighlight.lua
Commodore64user May 15, 2024
dc0e401
Apply suggestions from code review
Commodore64user May 15, 2024
e8452b5
Apply suggestions from review (hasFiveWay)
Commodore64user May 15, 2024
281f1bd
Update Frenzie's suggestion to remove comment
Commodore64user May 16, 2024
8939045
Apply suggestions from Frenzie's code review
Commodore64user May 16, 2024
515fb04
panning is back: ScreenKB + PgTurner
Commodore64user May 17, 2024
8bd68d0
stop docswitch input inhibition from eating release
Commodore64user May 17, 2024
456fdd2
open last doc goes live
Commodore64user May 17, 2024
36e3a94
remove args
Commodore64user May 17, 2024
dc39874
content selection removed from menu (kindle only)
Commodore64user May 18, 2024
4d20bcc
AddCurrentLocationToStack
Commodore64user May 18, 2024
dcb5b35
keep walking, nothing to see here
Commodore64user May 18, 2024
8482123
-open last book- shortcut from file manager
Commodore64user May 18, 2024
a677de9
poire-z insulting people, Again. ;)
Commodore64user May 18, 2024
8d6f372
toggle wifi from reader
Commodore64user May 18, 2024
cc03cc6
exit menu with "Menu" key
Commodore64user May 19, 2024
a4def06
wifi shortcut on filemanager
Commodore64user May 19, 2024
746a9bb
Update frontend/apps/filemanager/filemanager.lua
Commodore64user May 19, 2024
a9b7687
Home, takes you to home folder
Commodore64user May 19, 2024
cb115c3
Apply suggestions from poire-z's code review
Commodore64user May 19, 2024
5f2fc59
Update readerrolling to avoid duplication
Commodore64user May 19, 2024
2a882c3
Update readerpaging.lua to avoid duplication
Commodore64user May 19, 2024
dc04dbd
Update readerui.lua
Commodore64user May 19, 2024
bb79800
Update readerui.lua
Commodore64user May 20, 2024
74abaed
Update frontend/apps/reader/readerui.lua
Frenzie May 20, 2024
576f6af
Update frontend/apps/reader/modules/readerrolling.lua
Frenzie May 20, 2024
301ead0
remove whitespace
Commodore64user May 20, 2024
27e8ce0
duplicated Home key_event removed
Commodore64user May 20, 2024
2a75d4a
ToggleWifi from filemanager
Commodore64user May 20, 2024
c87fe5a
Update frontend/apps/filemanager/filemanager.lua
Commodore64user May 20, 2024
8f172d6
last minute addition to support link selection
Commodore64user May 20, 2024
3dcef43
Apply suggestions from code review
Commodore64user May 20, 2024
00f1740
Update frontend/apps/reader/modules/readerlink.lua
Commodore64user May 20, 2024
bc6829b
Content selection mapping moved to reader highlight
Commodore64user May 20, 2024
5119f7f
Update readerui to remove content selection
Commodore64user May 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 10 additions & 0 deletions frontend/apps/filemanager/filemanager.lua
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ local InputDialog = require("ui/widget/inputdialog")
local LanguageSupport = require("languagesupport")
local Menu = require("ui/widget/menu")
local MultiConfirmBox = require("ui/widget/multiconfirmbox")
local NetworkListener = require("ui/network/networklistener")
Commodore64user marked this conversation as resolved.
Show resolved Hide resolved
local PluginLoader = require("pluginloader")
local ReadCollection = require("readcollection")
local ReaderDeviceStatus = require("apps/reader/modules/readerdevicestatus")
Expand Down Expand Up @@ -379,6 +380,10 @@ function FileManager:registerKeyEvents()
self.key_events.Home = { { "Home" } }
-- Override the menu.lua way of handling the back key
self.file_chooser.key_events.Back = { { Device.input.group.Back } }
Commodore64user marked this conversation as resolved.
Show resolved Hide resolved
self.key_events.Home = { { "Home" } }
if Device:hasFiveWay() and not Device:hasKeyboard() then
self.key_events.KeyToggleWifi = { { "ScreenKB", "Home" } }
Commodore64user marked this conversation as resolved.
Show resolved Hide resolved
end
if not Device:hasFewKeys() then
-- Also remove the handler assigned to the "Back" key by menu.lua
self.file_chooser.key_events.Close = nil
Expand Down Expand Up @@ -423,6 +428,7 @@ function FileManager:init()
self:registerModule("wikipedia", ReaderWikipedia:new{ ui = self })
self:registerModule("devicestatus", ReaderDeviceStatus:new{ ui = self })
self:registerModule("devicelistener", DeviceListener:new{ ui = self })
self:registerModule("networklistener", NetworkListener:new{ ui = self })
Commodore64user marked this conversation as resolved.
Show resolved Hide resolved

-- koreader plugins
for _, plugin_module in ipairs(PluginLoader:loadPlugins()) do
Expand Down Expand Up @@ -455,6 +461,10 @@ function FileManager:init()
FileManager.instance = self
end

function FileManager:onKeyToggleWifi()
return self.networklistener:onToggleWifi()
end
Commodore64user marked this conversation as resolved.
Show resolved Hide resolved

Commodore64user marked this conversation as resolved.
Show resolved Hide resolved
function FileChooser:onBack()
local back_to_exit = G_reader_settings:readSetting("back_to_exit", "prompt")
local back_in_filemanager = G_reader_settings:readSetting("back_in_filemanager", "default")
Expand Down
3 changes: 3 additions & 0 deletions frontend/apps/filemanager/filemanagermenu.lua
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ end
function FileManagerMenu:registerKeyEvents()
if Device:hasKeys() then
self.key_events.ShowMenu = { { "Menu" } }
if Device:hasFiveWay() and not Device:hasKeyboard() then
self.key_events.OpenLastDoc = { { "ScreenKB", "Back" } }
end
end
end

Expand Down
3 changes: 3 additions & 0 deletions frontend/apps/reader/modules/readerbookmark.lua
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ function ReaderBookmark:onGesture() end
function ReaderBookmark:registerKeyEvents()
if Device:hasKeyboard() then
self.key_events.ShowBookmark = { { "B" } }
elseif Device:hasFiveWay() then
self.key_events.ShowBookmark = { { "ScreenKB", "Left" } }
self.key_events.ToggleBookmark = { { "ScreenKB", "Right" } }
end
end

Expand Down
117 changes: 100 additions & 17 deletions frontend/apps/reader/modules/readerhighlight.lua
Original file line number Diff line number Diff line change
Expand Up @@ -229,23 +229,29 @@ end
function ReaderHighlight:onGesture() end

function ReaderHighlight:registerKeyEvents()
if Device:hasKeys() then
if Device:hasDPad() then
self.key_events.StopHighlightIndicator = { { Device.input.group.Back }, args = true } -- true: clear highlight selection
self.key_events.UpHighlightIndicator = { { "Up" }, event = "MoveHighlightIndicator", args = {0, -1} }
self.key_events.DownHighlightIndicator = { { "Down" }, event = "MoveHighlightIndicator", args = {0, 1} }
-- let hasFewKeys device move the indicator left
self.key_events.LeftHighlightIndicator = { { "Left" }, event = "MoveHighlightIndicator", args = {-1, 0} }
self.key_events.RightHighlightIndicator = { { "Right" }, event = "MoveHighlightIndicator", args = {1, 0} }
self.key_events.HighlightPress = { { "Press" } }
end
if Device:hasKeyboard() then
-- Used for text selection with dpad/keys
local QUICK_INDICATOR_MOVE = true
self.key_events.QuickUpHighlightIndicator = { { "Shift", "Up" }, event = "MoveHighlightIndicator", args = {0, -1, QUICK_INDICATOR_MOVE} }
self.key_events.QuickDownHighlightIndicator = { { "Shift", "Down" }, event = "MoveHighlightIndicator", args = {0, 1, QUICK_INDICATOR_MOVE} }
self.key_events.QuickLeftHighlightIndicator = { { "Shift", "Left" }, event = "MoveHighlightIndicator", args = {-1, 0, QUICK_INDICATOR_MOVE} }
self.key_events.QuickRightHighlightIndicator = { { "Shift", "Right" }, event = "MoveHighlightIndicator", args = {1, 0, QUICK_INDICATOR_MOVE} }
self.key_events.StartHighlightIndicator = { { "H" } }
if Device:hasDPad() then
self.key_events.StopHighlightIndicator = { { Device.input.group.Back }, args = true } -- true: clear highlight selection
self.key_events.UpHighlightIndicator = { { "Up" }, event = "MoveHighlightIndicator", args = {0, -1} }
self.key_events.DownHighlightIndicator = { { "Down" }, event = "MoveHighlightIndicator", args = {0, 1} }
-- let hasFewKeys device move the indicator left
self.key_events.LeftHighlightIndicator = { { "Left" }, event = "MoveHighlightIndicator", args = {-1, 0} }
self.key_events.RightHighlightIndicator = { { "Right" }, event = "MoveHighlightIndicator", args = {1, 0} }
self.key_events.HighlightPress = { { "Press" } }
end
elseif Device:hasFiveWay() then
local QUICK_INDICATOR_MOVE = true
self.key_events.QuickUpHighlightIndicator = { { "ScreenKB", "Up" }, event = "MoveHighlightIndicator", args = {0, -1, QUICK_INDICATOR_MOVE} }
self.key_events.QuickDownHighlightIndicator = { { "ScreenKB", "Down" }, event = "MoveHighlightIndicator", args = {0, 1, QUICK_INDICATOR_MOVE} }
self.key_events.QuickLeftHighlightIndicator = { { "ScreenKB", "Left" }, event = "MoveHighlightIndicator", args = {-1, 0, QUICK_INDICATOR_MOVE} }
self.key_events.QuickRightHighlightIndicator = { { "ScreenKB", "Right" }, event = "MoveHighlightIndicator", args = {1, 0, QUICK_INDICATOR_MOVE} }
end
end

Expand Down Expand Up @@ -367,7 +373,7 @@ local highlight_dialog_position = {

function ReaderHighlight:addToMainMenu(menu_items)
-- insert table to main reader menu
if not Device:isTouchDevice() and Device:hasDPad() then
if not Device:isTouchDevice() and Device:hasDPad() and not Device:hasFiveWay() then
menu_items.start_content_selection = {
text = _("Start content selection"),
callback = function()
Expand Down Expand Up @@ -575,6 +581,7 @@ function ReaderHighlight:addToMainMenu(menu_items)
help_text = _([[
Auto-scroll to show part of the previous page when your text selection reaches the top left corner, or of the next page when it reaches the bottom right corner.
Except when in two columns mode, where this is limited to showing only the previous or next column.]]),
separator = true,
checked_func = function()
if self.ui.paging then return false end
return not self.view.highlight.disabled and G_reader_settings:nilOrTrue("highlight_corner_scroll")
Expand All @@ -588,6 +595,76 @@ Except when in two columns mode, where this is limited to showing only the previ
self.allow_corner_scroll = G_reader_settings:nilOrTrue("highlight_corner_scroll")
end,
})
-- we allow user to select the rate at which the content selection tool moves through screen
if not Device:isTouchDevice() and Device:hasDPad() then
table.insert(menu_items.long_press.sub_item_table, {
text_func = function()
return T(_("Rate of movement in content selection: %1"), G_reader_settings:readSetting("highlight_non_touch_factor", 4))
end,
callback = function(touchmenu_instance)
local SpinWidget = require("ui/widget/spinwidget")
local curr_val = G_reader_settings:readSetting("highlight_non_touch_factor", 4)
local spin_widget = SpinWidget:new{
value = curr_val,
value_min = 0.25,
value_max = 5,
precision = "%.2f",
value_step = 0.25,
default_value = 4,
title_text = _("Rate of movement"),
info_text = _("Select a decimal value from 0.25 to 5. A smaller value results in a larger travel distance per keystroke. Font size and this value are inversely correlated, meaning a smaller font size requires a larger value and vice versa."),
callback = function(spin)
G_reader_settings:saveSetting("highlight_non_touch_factor", spin.value)
if touchmenu_instance then touchmenu_instance:updateItems() end
end
}
UIManager:show(spin_widget)
end,
})
table.insert(menu_items.long_press.sub_item_table, {
text = _("Speed-up rate on multiple keystrokes"),
checked_func = function()
return G_reader_settings:nilOrTrue("highlight_non_touch_spedup")
end,
enabled_func = function()
return not self.view.highlight.disabled
end,
callback = function()
G_reader_settings:flipNilOrTrue("highlight_non_touch_spedup")
end,
})
table.insert(menu_items.long_press.sub_item_table, {
text_func = function()
if G_reader_settings:readSetting("highlight_non_touch_interval") == 1 then
return T(_("Interval to speed-up rate: %1 second"), G_reader_settings:readSetting("highlight_non_touch_interval", 1))
else
return T(_("Interval to speed-up rate: %1 seconds"), G_reader_settings:readSetting("highlight_non_touch_interval", 1))
end
end,
enabled_func = function()
return not self.view.highlight.disabled and G_reader_settings:nilOrTrue("highlight_non_touch_spedup")
end,
callback = function(touchmenu_instance)
local SpinWidget = require("ui/widget/spinwidget")
local curr_val = G_reader_settings:readSetting("highlight_non_touch_interval", 1)
local spin_widget = SpinWidget:new{
value = curr_val,
value_min = 0.1,
value_max = 1,
precision = "%.1f",
value_step = 0.1,
default_value = 1,
title_text = _("Time interval"),
info_text = _("Select a decimal value up to 1 second. This is the period of time within which multiple keystrokes will speed-up rate of travel."),
callback = function(spin)
G_reader_settings:saveSetting("highlight_non_touch_interval", spin.value)
if touchmenu_instance then touchmenu_instance:updateItems() end
end
}
UIManager:show(spin_widget)
end,
})
end

-- long_press menu is under taps_and_gestures menu which is not available for non touch device
-- Clone long_press menu and change label making much meaning for non touch devices
Expand Down Expand Up @@ -2131,6 +2208,8 @@ function ReaderHighlight:onHighlightPress()
end

function ReaderHighlight:onStartHighlightIndicator()
-- disable long-press icon (poke-ball), as it is triggered constantly due to NT devices needing a workaround for text selection to work.
Commodore64user marked this conversation as resolved.
Show resolved Hide resolved
self.long_hold_reached_action = function() end
if self.view.visible_area and not self._current_indicator_pos then
-- set start position to centor of page
local rect = self._previous_indicator_pos
Expand Down Expand Up @@ -2170,8 +2249,8 @@ function ReaderHighlight:onMoveHighlightIndicator(args)
local dx, dy, quick_move = unpack(args)
local quick_move_distance_dx = self.view.visible_area.w * (1/5) -- quick move distance: fifth of visible_area
local quick_move_distance_dy = self.view.visible_area.h * (1/5)
-- single move distance, small and capable to move on word with small font size and narrow line height
local move_distance = Size.item.height_default / 4
-- single move distance, user adjustable, default value (4) capable to move on word with small font size and narrow line height
local move_distance = Size.item.height_default / G_reader_settings:readSetting("highlight_non_touch_factor")
local rect = self._current_indicator_pos:copy()
if quick_move then
rect.x = rect.x + quick_move_distance_dx * dx
Expand All @@ -2180,12 +2259,16 @@ function ReaderHighlight:onMoveHighlightIndicator(args)
local now = time:now()
if dx == self._last_indicator_move_args.dx and dy == self._last_indicator_move_args.dy then
local diff = now - self._last_indicator_move_args.time
-- if press same arrow key in 1 second, speed up
-- if user presses same arrow key within 1 second (default, user adjustable), speed up
-- double press: 4 single move distances, usually move to next word or line
-- triple press: 16 single distances, usually skip several words or lines
-- quadruple press: 54 single distances, almost move to screen edge
if diff < time.s(1) then
move_distance = self._last_indicator_move_args.distance * 4
-- quadruple press: 64 single distances, almost move to screen edge
if G_reader_settings:nilOrTrue("highlight_non_touch_spedup") then
-- user selects whether to use 'constant' or [this] 'sped up' rate (speed-up on by default)
local x_inter = G_reader_settings:readSetting("highlight_non_touch_interval")
if diff < time.s( x_inter ) then
move_distance = self._last_indicator_move_args.distance * 4
end
end
end
rect.x = rect.x + move_distance * dx
Expand Down
7 changes: 7 additions & 0 deletions frontend/apps/reader/modules/readerlink.lua
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,13 @@ function ReaderLink:registerKeyEvents()
-- when G_reader_settings:readSetting("back_in_reader") == "previous_location"
}
end
if Device:hasFiveWay() then
if Device:hasKeyboard() then
self.key_events.AddCurrentLocationToStack = { { "Shift", "Down" } }
else
self.key_events.AddCurrentLocationToStack = { { "ScreenKB", "Down" } }
end
end
end

ReaderLink.onPhysicalKeyboardConnected = ReaderLink.registerKeyEvents
Expand Down
24 changes: 23 additions & 1 deletion frontend/apps/reader/modules/readerpaging.lua
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,29 @@ end
function ReaderPaging:onGesture() end

function ReaderPaging:registerKeyEvents()
if Device:hasKeys() then
if Device:hasFiveWay() then
-- this targets all devices (kindles) non-touch with dPads (i.e dx, kk, k4 and others)
self.key_events.GotoNextPos = {
{ { "RPgFwd", "LPgFwd" } },
event = "GotoPosRel",
args = 1,
}
self.key_events.GotoPrevPos = {
{ { "RPgBack", "LPgBack" } },
event = "GotoPosRel",
args = -1,
}
self.key_events.GotoNextChapter = {
{ "Right" },
event = "GotoNextChapter",
args = 1,
}
self.key_events.GotoPrevChapter = {
{ "Left" },
event = "GotoPrevChapter",
args = -1,
}
elseif Device:hasKeys() then
self.key_events.GotoNextPage = {
{ { "RPgFwd", "LPgFwd", not Device:hasFewKeys() and "Right" } },
event = "GotoViewRel",
Expand Down
51 changes: 49 additions & 2 deletions frontend/apps/reader/modules/readerrolling.lua
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,30 @@ end
function ReaderRolling:onGesture() end

function ReaderRolling:registerKeyEvents()
if Device:hasKeys() then
if Device:hasFiveWay() then
self.key_events.GotoNextView = {
{ { "RPgFwd", "LPgFwd" } },
event = "GotoViewRel",
args = 1,
}
self.key_events.GotoPrevView = {
{ { "RPgBack", "LPgBack" } },
event = "GotoViewRel",
args = -1,
}
if Device:hasKeyboard() then
self.key_events.MoveUp = {
{ "Shift", { "RPgBack", "LPgBack" } },
Commodore64user marked this conversation as resolved.
Show resolved Hide resolved
event = "Panning",
args = {0, -1},
}
self.key_events.MoveDown = {
{ "Shift", { "RPgFwd", "LPgFwd" } },
Commodore64user marked this conversation as resolved.
Show resolved Hide resolved
event = "Panning",
args = {0, 1},
}
end
elseif Device:hasKeys() then
self.key_events.GotoNextView = {
{ { "RPgFwd", "LPgFwd", "Right" } },
event = "GotoViewRel",
Expand All @@ -128,7 +151,18 @@ function ReaderRolling:registerKeyEvents()
args = -1,
}
end
if Device:hasDPad() then
if Device:hasFiveWay() then
self.key_events.GotoNextChapter = {
{ "Right" },
event = "GotoNextChapter",
args = 1,
}
self.key_events.GotoPrevChapter = {
{ "Left" },
event = "GotoPrevChapter",
args = -1,
}
elseif Device:hasDPad() then
self.key_events.MoveUp = {
{ "Up" },
event = "Panning",
Expand All @@ -140,6 +174,19 @@ function ReaderRolling:registerKeyEvents()
args = {0, 1},
}
end

Frenzie marked this conversation as resolved.
Show resolved Hide resolved
if Device:hasFiveWay() and not Device:hasKeyboard() then
self.key_events.MoveUp = {
{ "ScreenKB", { "RPgBack", "LPgBack" } },
Commodore64user marked this conversation as resolved.
Show resolved Hide resolved
event = "Panning",
args = {0, -1},
}
self.key_events.MoveDown = {
{ "ScreenKB", { "RPgFwd", "LPgFwd" } },
Commodore64user marked this conversation as resolved.
Show resolved Hide resolved
event = "Panning",
args = {0, 1},
}
Commodore64user marked this conversation as resolved.
Show resolved Hide resolved
end
if Device:hasKeyboard() then
self.key_events.GotoFirst = {
{ "1" },
Expand Down
2 changes: 2 additions & 0 deletions frontend/apps/reader/modules/readertoc.lua
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ function ReaderToc:onGesture() end
function ReaderToc:registerKeyEvents()
if Device:hasKeyboard() then
self.key_events.ShowToc = { { "T" } }
elseif Device:hasFiveWay() then
self.key_events.ShowToc = { { "ScreenKB", "Up" } }
end
end

Expand Down
10 changes: 10 additions & 0 deletions frontend/apps/reader/readerui.lua
Original file line number Diff line number Diff line change
Expand Up @@ -524,6 +524,16 @@ function ReaderUI:registerKeyEvents()
if Device:hasKeys() then
self.key_events.Home = { { "Home" } }
self.key_events.Reload = { { "F5" } }
if Device:hasFiveWay() then
self.key_events.KeyContentSelection = { { { "Up", "Down" } }, event = "StartHighlightIndicator" }
Commodore64user marked this conversation as resolved.
Show resolved Hide resolved
if Device:hasKeyboard() then
self.key_events.KeyToggleWifi = { { "Shift", "Home" }, event = "ToggleWifi" }
self.key_events.OpenLastDoc = { { "Shift", "Back" } }
else -- Currently exclusively targets Kindle 4.
self.key_events.KeyToggleWifi = { { "ScreenKB", "Home" }, event = "ToggleWifi" }
self.key_events.OpenLastDoc = { { "ScreenKB", "Back" } }
end
end
end
end

Expand Down
1 change: 1 addition & 0 deletions frontend/device/generic/device.lua
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ local Device = {
hasAuxBattery = no,
hasKeyboard = no,
hasKeys = no,
hasFiveWay = no,
canKeyRepeat = no,
hasDPad = no,
hasExitOptions = yes,
Expand Down