From b523c2e8b9354825c1b0d09a89946dff9c2d105d Mon Sep 17 00:00:00 2001 From: NiLuJe Date: Thu, 27 Oct 2022 02:01:51 +0200 Subject: [PATCH] InputContainer: Fall cleanup ;). Get rid of the doc & seqtext fields, as they are not actually used (nor are they particularly useful, the event handler's name should be pretty self-explanatory). Also, tweak the key_events documentation to highlight the quirks of the API, especially as far as array nesting is involved... Random drive-by cleanup of the declarations of key_events & ges_events to re-use the existing instance object (now that we know they're sane ;p) for tables with a single member (less GC pressure). --- frontend/apps/filemanager/filemanager.lua | 4 +- frontend/apps/filemanager/filemanagermenu.lua | 4 +- frontend/apps/reader/modules/readerback.lua | 2 +- .../apps/reader/modules/readerbookmark.lua | 6 +- frontend/apps/reader/modules/readerconfig.lua | 4 +- frontend/apps/reader/modules/readerfont.lua | 12 +-- .../apps/reader/modules/readerhighlight.lua | 26 +++--- frontend/apps/reader/modules/readerlink.lua | 33 ++++---- frontend/apps/reader/modules/readermenu.lua | 12 +-- frontend/apps/reader/modules/readerpaging.lua | 68 +++++++++------ .../apps/reader/modules/readerpanning.lua | 24 ++++-- .../apps/reader/modules/readerrolling.lua | 61 +++++++++----- .../apps/reader/modules/readerrotation.lua | 14 ++-- .../apps/reader/modules/readerstyletweak.lua | 4 +- frontend/apps/reader/modules/readertoc.lua | 6 +- .../apps/reader/modules/readerzooming.lua | 36 ++++---- frontend/apps/reader/readerui.lua | 4 +- frontend/device/key.lua | 6 +- frontend/ui/widget/bboxwidget.lua | 12 +-- frontend/ui/widget/bookmapwidget.lua | 70 ++++++++-------- frontend/ui/widget/bookstatuswidget.lua | 2 +- frontend/ui/widget/button.lua | 2 - frontend/ui/widget/buttondialog.lua | 4 +- frontend/ui/widget/buttondialogtitle.lua | 4 +- frontend/ui/widget/checkbutton.lua | 3 - frontend/ui/widget/closebutton.lua | 2 - frontend/ui/widget/configdialog.lua | 6 +- frontend/ui/widget/confirmbox.lua | 2 +- .../ui/widget/container/inputcontainer.lua | 39 +++++---- .../ui/widget/container/movablecontainer.lua | 17 ++-- .../widget/container/scrollablecontainer.lua | 17 ++-- frontend/ui/widget/datetimewidget.lua | 18 ++-- frontend/ui/widget/dictquicklookup.lua | 6 +- frontend/ui/widget/doublespinwidget.lua | 18 ++-- frontend/ui/widget/focusmanager.lua | 26 +++--- frontend/ui/widget/footnotewidget.lua | 4 +- frontend/ui/widget/frontlightwidget.lua | 2 +- frontend/ui/widget/htmlboxwidget.lua | 10 +-- frontend/ui/widget/iconbutton.lua | 3 - frontend/ui/widget/imageviewer.lua | 12 +-- frontend/ui/widget/infomessage.lua | 5 +- frontend/ui/widget/inputdialog.lua | 12 ++- frontend/ui/widget/keyboardlayoutdialog.lua | 2 +- frontend/ui/widget/keyvaluepage.lua | 6 +- frontend/ui/widget/menu.lua | 20 ++--- frontend/ui/widget/multiconfirmbox.lua | 2 +- frontend/ui/widget/networksetting.lua | 10 +-- frontend/ui/widget/notification.lua | 5 +- frontend/ui/widget/pagebrowserwidget.lua | 82 ++++++++++--------- frontend/ui/widget/physicalkeyboard.lua | 4 +- frontend/ui/widget/qrmessage.lua | 5 +- frontend/ui/widget/radiobuttonwidget.lua | 20 ++--- frontend/ui/widget/screensaverwidget.lua | 7 +- frontend/ui/widget/scrollhtmlwidget.lua | 4 +- frontend/ui/widget/scrolltextwidget.lua | 4 +- frontend/ui/widget/skimtowidget.lua | 22 +++-- frontend/ui/widget/sortwidget.lua | 6 +- frontend/ui/widget/spinwidget.lua | 20 ++--- frontend/ui/widget/textboxwidget.lua | 10 +-- frontend/ui/widget/textviewer.lua | 4 +- frontend/ui/widget/toggleswitch.lua | 2 - frontend/ui/widget/touchmenu.lua | 10 +-- frontend/ui/widget/trapwidget.lua | 23 +++--- frontend/ui/widget/virtualkeyboard.lua | 14 ++-- plugins/coverbrowser.koplugin/listmenu.lua | 2 - plugins/coverbrowser.koplugin/mosaicmenu.lua | 2 - plugins/gestures.koplugin/main.lua | 1 - plugins/statistics.koplugin/calendarview.lua | 6 +- .../statistics.koplugin/readerprogress.lua | 7 +- plugins/vocabbuilder.koplugin/main.lua | 10 +-- spec/unit/focusmanager_spec.lua | 4 +- tools/kobo_touch_probe.lua | 10 +-- tools/wbuilder.lua | 2 +- 73 files changed, 464 insertions(+), 484 deletions(-) diff --git a/frontend/apps/filemanager/filemanager.lua b/frontend/apps/filemanager/filemanager.lua index ed97624cd..4d6e863a5 100644 --- a/frontend/apps/filemanager/filemanager.lua +++ b/frontend/apps/filemanager/filemanager.lua @@ -463,9 +463,9 @@ function FileManager:setupLayout() } if Device:hasKeys() then - self.key_events.Home = { {"Home"}, doc = "go home" } + 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}, doc = "go back" } + self.file_chooser.key_events.Back = { { Device.input.group.Back } } if not Device:hasFewKeys() then -- Also remove the handler assigned to the "Back" key by menu.lua self.file_chooser.key_events.Close = nil diff --git a/frontend/apps/filemanager/filemanagermenu.lua b/frontend/apps/filemanager/filemanagermenu.lua index 48fd5a553..efb2d1c19 100644 --- a/frontend/apps/filemanager/filemanagermenu.lua +++ b/frontend/apps/filemanager/filemanagermenu.lua @@ -49,9 +49,7 @@ function FileManagerMenu:init() self.registered_widgets = {} if Device:hasKeys() then - self.key_events = { - ShowMenu = { { "Menu" }, doc = "show menu" }, - } + self.key_events.ShowMenu = { { "Menu" } } end self.activation_menu = G_reader_settings:readSetting("activate_menu") if self.activation_menu == nil then diff --git a/frontend/apps/reader/modules/readerback.lua b/frontend/apps/reader/modules/readerback.lua index 8f69bdc6b..9b406712c 100644 --- a/frontend/apps/reader/modules/readerback.lua +++ b/frontend/apps/reader/modules/readerback.lua @@ -21,7 +21,7 @@ local ReaderBack = EventListener:extend{ function ReaderBack:init() if Device:hasKeys() then - self.ui.key_events.Back = { {Device.input.group.Back}, doc = "Reader back" } + self.ui.key_events.Back = { { Device.input.group.Back } } end -- Regular function wrapping our method, to avoid re-creating -- an anonymous function at each page turn diff --git a/frontend/apps/reader/modules/readerbookmark.lua b/frontend/apps/reader/modules/readerbookmark.lua index bf647459c..04522c0e5 100644 --- a/frontend/apps/reader/modules/readerbookmark.lua +++ b/frontend/apps/reader/modules/readerbookmark.lua @@ -38,11 +38,7 @@ local ReaderBookmark = InputContainer:extend{ function ReaderBookmark:init() if Device:hasKeyboard() then - self.key_events = { - ShowBookmark = { - { "B" }, - doc = "show bookmarks" }, - } + self.key_events.ShowBookmark = { { "B" } } end if G_reader_settings:hasNot("bookmarks_items_per_page") then diff --git a/frontend/apps/reader/modules/readerconfig.lua b/frontend/apps/reader/modules/readerconfig.lua index 6b36a02e2..079253222 100644 --- a/frontend/apps/reader/modules/readerconfig.lua +++ b/frontend/apps/reader/modules/readerconfig.lua @@ -20,9 +20,7 @@ function ReaderConfig:init() self.configurable:loadDefaults(self.options) if Device:hasKeys() then - self.key_events = { - ShowConfigMenu = { {{"Press","AA"}}, doc = "show config dialog" }, - } + self.key_events.ShowConfigMenu = { { { "Press", "AA" } } } end self:initGesListener() if G_reader_settings:has("activate_menu") then diff --git a/frontend/apps/reader/modules/readerfont.lua b/frontend/apps/reader/modules/readerfont.lua index c66d05cee..fb1373eda 100644 --- a/frontend/apps/reader/modules/readerfont.lua +++ b/frontend/apps/reader/modules/readerfont.lua @@ -34,15 +34,17 @@ function ReaderFont:init() if Device:hasKeyboard() then -- add shortcut for keyboard self.key_events = { - ShowFontMenu = { {"F"}, doc = "show font menu" }, + ShowFontMenu = { { "F" } }, IncreaseSize = { { "Shift", Input.group.PgFwd }, - doc = "increase font size", - event = "ChangeSize", args = 0.5 }, + event = "ChangeSize", + args = 0.5 + }, DecreaseSize = { { "Shift", Input.group.PgBack }, - doc = "decrease font size", - event = "ChangeSize", args = -0.5 }, + event = "ChangeSize", + args = -0.5 + }, } end -- Build face_table for menu diff --git a/frontend/apps/reader/modules/readerhighlight.lua b/frontend/apps/reader/modules/readerhighlight.lua index 974c539ba..283d6b1fd 100644 --- a/frontend/apps/reader/modules/readerhighlight.lua +++ b/frontend/apps/reader/modules/readerhighlight.lua @@ -55,19 +55,19 @@ function ReaderHighlight:init() if Device:hasDPad() then -- Used for text selection with dpad/keys local QUICK_INDICTOR_MOVE = true - self.key_events.StopHighlightIndicator = { {Device.input.group.Back}, doc = "Stop non-touch highlight", args = true } -- true: clear highlight selection - self.key_events.UpHighlightIndicator = { {"Up"}, doc = "move indicator up", event = "MoveHighlightIndicator", args = {0, -1} } - self.key_events.DownHighlightIndicator = { {"Down"}, doc = "move indicator down", event = "MoveHighlightIndicator", args = {0, 1} } + 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 FewKeys device can move indicator left - self.key_events.LeftHighlightIndicator = { {"Left"}, doc = "move indicator left", event = "MoveHighlightIndicator", args = {-1, 0} } - self.key_events.RightHighlightIndicator = { {"Right"}, doc = "move indicator right", event = "MoveHighlightIndicator", args = {1, 0} } - self.key_events.HighlightPress = { {"Press"}, doc = "highlight start or end" } + 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" } } if Device:hasKeys() then - self.key_events.QuickUpHighlightIndicator = { {"Shift", "Up"}, doc = "quick move indicator up", event = "MoveHighlightIndicator", args = {0, -1, QUICK_INDICTOR_MOVE} } - self.key_events.QuickDownHighlightIndicator = { {"Shift", "Down"}, doc = "quick move indicator down", event = "MoveHighlightIndicator", args = {0, 1, QUICK_INDICTOR_MOVE} } - self.key_events.QuickLeftHighlightIndicator = { {"Shift", "Left"}, doc = "quick move indicator left", event = "MoveHighlightIndicator", args = {-1, 0, QUICK_INDICTOR_MOVE} } - self.key_events.QuickRightHighlightIndicator = { {"Shift", "Right"}, doc = "quick move indicator right", event = "MoveHighlightIndicator", args = {1, 0, QUICK_INDICTOR_MOVE} } - self.key_events.StartHighlightIndicator = { {"H"}, doc = "start non-touch highlight" } + self.key_events.QuickUpHighlightIndicator = { { "Shift", "Up" }, event = "MoveHighlightIndicator", args = {0, -1, QUICK_INDICTOR_MOVE} } + self.key_events.QuickDownHighlightIndicator = { { "Shift", "Down" }, event = "MoveHighlightIndicator", args = {0, 1, QUICK_INDICTOR_MOVE} } + self.key_events.QuickLeftHighlightIndicator = { { "Shift", "Left" }, event = "MoveHighlightIndicator", args = {-1, 0, QUICK_INDICTOR_MOVE} } + self.key_events.QuickRightHighlightIndicator = { { "Shift", "Right" }, event = "MoveHighlightIndicator", args = {1, 0, QUICK_INDICTOR_MOVE} } + self.key_events.StartHighlightIndicator = { { "H" } } end end @@ -233,8 +233,8 @@ function ReaderHighlight:init() end function ReaderHighlight:setupTouchZones() - -- deligate gesture listener to readerui - self.ges_events = {} + -- delegate gesture listener to readerui + self.ges_events = nil self.onGesture = nil if not Device:isTouchDevice() then return end diff --git a/frontend/apps/reader/modules/readerlink.lua b/frontend/apps/reader/modules/readerlink.lua index 77aa3bd4f..687906f29 100644 --- a/frontend/apps/reader/modules/readerlink.lua +++ b/frontend/apps/reader/modules/readerlink.lua @@ -27,24 +27,23 @@ local ReaderLink = InputContainer:extend{ function ReaderLink:init() if Device:hasKeys() then - self.key_events.SelectNextPageLink = { - {"Tab" }, - doc = "select next page link", - event = "SelectNextPageLink", - } - self.key_events.SelectPrevPageLink = { - {"Shift", "Tab" }, - {"Sym", "Tab" }, -- Right Shift + Tab - doc = "select previous page link", - event = "SelectPrevPageLink", - } - self.key_events.GotoSelectedPageLink = { - { "Press" }, - doc = "go to selected page link", - event = "GotoSelectedPageLink", + self.key_events = { + SelectNextPageLink = { + { "Tab" }, + event = "SelectNextPageLink", + }, + SelectPrevPageLink = { + { "Shift", "Tab" }, + { "Sym", "Tab" }, -- Shift or Sym + Tab + event = "SelectPrevPageLink", + }, + GotoSelectedPageLink = { + { "Press" }, + event = "GotoSelectedPageLink", + }, + -- "Back" is handled by ReaderBack, which will call our onGoBackLink() + -- when G_reader_settings:readSetting("back_in_reader") == "previous_location" } - -- "Back" is handled by ReaderBack, which will call our onGoBackLink() - -- when G_reader_settings:readSetting("back_in_reader") == "previous_location" end if Device:isTouchDevice() then self.ui:registerTouchZones({ diff --git a/frontend/apps/reader/modules/readermenu.lua b/frontend/apps/reader/modules/readermenu.lua index eeb4a1861..fd9d75702 100644 --- a/frontend/apps/reader/modules/readermenu.lua +++ b/frontend/apps/reader/modules/readermenu.lua @@ -58,16 +58,16 @@ function ReaderMenu:init() if Device:hasKeys() then if Device:isTouchDevice() then - self.key_events.TapShowMenu = { { "Menu" }, doc = "show menu", } + self.key_events.TapShowMenu = { { "Menu" } } if Device:hasFewKeys() then - self.key_events.TapShowMenu = { { { "Menu", "Right" } }, doc = "show menu", } + self.key_events.TapShowMenu = { { { "Menu", "Right" } } } end else -- map menu key to only top menu because bottom menu is only -- designed for touch devices - self.key_events.ShowMenu = { { "Menu" }, doc = "show menu", } + self.key_events.ShowMenu = { { "Menu" } } if Device:hasFewKeys() then - self.key_events.ShowMenu = { { { "Menu", "Right" } }, doc = "show menu", } + self.key_events.ShowMenu = { { { "Menu", "Right" } } } end end end @@ -83,8 +83,8 @@ function ReaderMenu:getPreviousFile() end function ReaderMenu:onReaderReady() - -- deligate gesture listener to readerui - self.ges_events = {} + -- delegate gesture listener to readerui + self.ges_events = nil self.onGesture = nil if not Device:isTouchDevice() then return end diff --git a/frontend/apps/reader/modules/readerpaging.lua b/frontend/apps/reader/modules/readerpaging.lua index 88b2edd99..1f37b9eb6 100644 --- a/frontend/apps/reader/modules/readerpaging.lua +++ b/frontend/apps/reader/modules/readerpaging.lua @@ -41,60 +41,79 @@ local ReaderPaging = InputContainer:extend{ } function ReaderPaging:init() - self.key_events = {} if Device:hasKeys() then self.key_events.GotoNextPage = { - { {"RPgFwd", "LPgFwd", "Right" } }, doc = "go to next page", - event = "GotoViewRel", args = 1, + { { "RPgFwd", "LPgFwd", not Device:hasFewKeys() and "Right" } }, + event = "GotoViewRel", + args = 1, } self.key_events.GotoPrevPage = { - { { "RPgBack", "LPgBack", "Left" } }, doc = "go to previous page", - event = "GotoViewRel", args = -1, + { { "RPgBack", "LPgBack", not Device:hasFewKeys() and "Left" } }, + event = "GotoViewRel", + args = -1, } - if Device:hasFewKeys() then - table.remove(self.key_events.GotoNextPage[1][1], 3) -- right - table.remove(self.key_events.GotoPrevPage[1][1], 3) -- left - end self.key_events.GotoNextPos = { - { {"Down" } }, doc = "go to next position", - event = "GotoPosRel", args = 1, + { "Down" }, + event = "GotoPosRel", + args = 1, } self.key_events.GotoPrevPos = { - { { "Up" } }, doc = "go to previous position", - event = "GotoPosRel", args = -1, + { "Up" }, + event = "GotoPosRel", + args = -1, } end if Device:hasKeyboard() then self.key_events.GotoFirst = { - {"1"}, doc = "go to start", event = "GotoPercent", args = 0, + { "1" }, + event = "GotoPercent", + args = 0, } self.key_events.Goto11 = { - {"2"}, doc = "go to 11%", event = "GotoPercent", args = 11, + { "2" }, + event = "GotoPercent", + args = 11, } self.key_events.Goto22 = { - {"3"}, doc = "go to 22%", event = "GotoPercent", args = 22, + { "3" }, + event = "GotoPercent", + args = 22, } self.key_events.Goto33 = { - {"4"}, doc = "go to 33%", event = "GotoPercent", args = 33, + { "4" }, + event = "GotoPercent", + args = 33, } self.key_events.Goto44 = { - {"5"}, doc = "go to 44%", event = "GotoPercent", args = 44, + { "5" }, + event = "GotoPercent", + args = 44, } self.key_events.Goto55 = { - {"6"}, doc = "go to 55%", event = "GotoPercent", args = 55, + { "6" }, + event = "GotoPercent", + args = 55, } self.key_events.Goto66 = { - {"7"}, doc = "go to 66%", event = "GotoPercent", args = 66, + { "7" }, + event = "GotoPercent", + args = 66, } self.key_events.Goto77 = { - {"8"}, doc = "go to 77%", event = "GotoPercent", args = 77, + { "8" }, + event = "GotoPercent", + args = 77, } self.key_events.Goto88 = { - {"9"}, doc = "go to 88%", event = "GotoPercent", args = 88, + { "9" }, + event = "GotoPercent", + args = 88, } self.key_events.GotoLast = { - {"0"}, doc = "go to end", event = "GotoPercent", args = 100, + { "0" }, + event = "GotoPercent", + args = 100, } end self.pan_interval = time.s(1 / self.pan_rate) @@ -106,7 +125,8 @@ function ReaderPaging:onReaderReady() end function ReaderPaging:setupTouchZones() - self.ges_events = {} + -- delegate gesture listener to readerui + self.ges_events = nil self.onGesture = nil if not Device:isTouchDevice() then return end diff --git a/frontend/apps/reader/modules/readerpanning.lua b/frontend/apps/reader/modules/readerpanning.lua index 4ba4a30a8..05fb1bec1 100644 --- a/frontend/apps/reader/modules/readerpanning.lua +++ b/frontend/apps/reader/modules/readerpanning.lua @@ -17,17 +17,25 @@ function ReaderPanning:init() self.key_events = { -- these will all generate the same event, just with different arguments MoveUp = { - { "Up" }, doc = "move visible area up", - event = "Panning", args = {0, -1} }, + { "Up" }, + event = "Panning", + args = {0, -1} + }, MoveDown = { - { "Down" }, doc = "move visible area down", - event = "Panning", args = {0, 1} }, + { "Down" }, + event = "Panning", + args = {0, 1} + }, MoveLeft = { - { "Left" }, doc = "move visible area left", - event = "Panning", args = {-1, 0} }, + { "Left" }, + event = "Panning", + args = {-1, 0} + }, MoveRight = { - { "Right" }, doc = "move visible area right", - event = "Panning", args = {1, 0} }, + { "Right" }, + event = "Panning", + args = {1, 0} + }, } end end diff --git a/frontend/apps/reader/modules/readerrolling.lua b/frontend/apps/reader/modules/readerrolling.lua index 6b86dae2d..e2c5b966d 100644 --- a/frontend/apps/reader/modules/readerrolling.lua +++ b/frontend/apps/reader/modules/readerrolling.lua @@ -60,58 +60,78 @@ function ReaderRolling:init() self.key_events = {} if Device:hasKeys() then self.key_events.GotoNextView = { - { {"RPgFwd", "LPgFwd", "Right" } }, - doc = "go to next view", - event = "GotoViewRel", args = 1, + { { "RPgFwd", "LPgFwd", "Right" } }, + event = "GotoViewRel", + args = 1, } self.key_events.GotoPrevView = { { { "RPgBack", "LPgBack", "Left" } }, - doc = "go to previous view", - event = "GotoViewRel", args = -1, + event = "GotoViewRel", + args = -1, } end if Device:hasDPad() then self.key_events.MoveUp = { { "Up" }, - doc = "move view up", - event = "Panning", args = {0, -1}, + event = "Panning", + args = {0, -1}, } self.key_events.MoveDown = { { "Down" }, - doc = "move view down", - event = "Panning", args = {0, 1}, + event = "Panning", + args = {0, 1}, } end if Device:hasKeyboard() then self.key_events.GotoFirst = { - {"1"}, doc = "go to start", event = "GotoPercent", args = 0, + { "1" }, + event = "GotoPercent", + args = 0, } self.key_events.Goto11 = { - {"2"}, doc = "go to 11%", event = "GotoPercent", args = 11, + { "2" }, + event = "GotoPercent", + args = 11, } self.key_events.Goto22 = { - {"3"}, doc = "go to 22%", event = "GotoPercent", args = 22, + { "3" }, + event = "GotoPercent", + args = 22, } self.key_events.Goto33 = { - {"4"}, doc = "go to 33%", event = "GotoPercent", args = 33, + { "4" }, + event = "GotoPercent", + args = 33, } self.key_events.Goto44 = { - {"5"}, doc = "go to 44%", event = "GotoPercent", args = 44, + { "5" }, + event = "GotoPercent", + args = 44, } self.key_events.Goto55 = { - {"6"}, doc = "go to 55%", event = "GotoPercent", args = 55, + { "6" }, + event = "GotoPercent", + args = 55, } self.key_events.Goto66 = { - {"7"}, doc = "go to 66%", event = "GotoPercent", args = 66, + { "7" }, + event = "GotoPercent", + args = 66, } self.key_events.Goto77 = { - {"8"}, doc = "go to 77%", event = "GotoPercent", args = 77, + { "8" }, + event = "GotoPercent", + args = 77, } self.key_events.Goto88 = { - {"9"}, doc = "go to 88%", event = "GotoPercent", args = 88, + { "9" }, + event = "GotoPercent", + args = 88, } self.key_events.GotoLast = { - {"0"}, doc = "go to end", event = "GotoPercent", args = 100, + { "0" }, + event = "GotoPercent", + args = 100, } end self.pan_interval = time.s(1 / self.pan_rate) @@ -311,7 +331,8 @@ function ReaderRolling:onReaderReady() end function ReaderRolling:setupTouchZones() - self.ges_events = {} + -- delegate gesture listener to readerui + self.ges_events = nil self.onGesture = nil if not Device:isTouchDevice() then return end diff --git a/frontend/apps/reader/modules/readerrotation.lua b/frontend/apps/reader/modules/readerrotation.lua index 96041fe5a..bab9b22b9 100644 --- a/frontend/apps/reader/modules/readerrotation.lua +++ b/frontend/apps/reader/modules/readerrotation.lua @@ -12,13 +12,15 @@ function ReaderRotation:init() self.key_events = { -- these will all generate the same event, just with different arguments RotateLeft = { - {"J"}, - doc = "rotate left by 90 degrees", - event = "Rotate", args = -90 }, + { "J" }, + event = "Rotate", + args = -90 + }, RotateRight = { - {"K"}, - doc = "rotate right by 90 degrees", - event = "Rotate", args = 90 }, + { "K" }, + event = "Rotate", + args = 90 + }, } end end diff --git a/frontend/apps/reader/modules/readerstyletweak.lua b/frontend/apps/reader/modules/readerstyletweak.lua index 099c2dbef..93bfe9ef7 100644 --- a/frontend/apps/reader/modules/readerstyletweak.lua +++ b/frontend/apps/reader/modules/readerstyletweak.lua @@ -51,9 +51,7 @@ function TweakInfoWidget:init() } end if Device:hasKeys() then - self.key_events = { - Close = { {Device.input.group.Back}, doc = "cancel" } - } + self.key_events.Close = { { Device.input.group.Back } } end local content = VerticalGroup:new{ diff --git a/frontend/apps/reader/modules/readertoc.lua b/frontend/apps/reader/modules/readertoc.lua index 41c2695fd..a80e90aa5 100644 --- a/frontend/apps/reader/modules/readertoc.lua +++ b/frontend/apps/reader/modules/readertoc.lua @@ -36,11 +36,7 @@ local ReaderToc = InputContainer:extend{ function ReaderToc:init() if Device:hasKeyboard() then - self.key_events = { - ShowToc = { - { "T" }, - doc = "show Table of Content menu" }, - } + self.key_events.ShowToc = { { "T" } } end if G_reader_settings:hasNot("toc_items_per_page") then diff --git a/frontend/apps/reader/modules/readerzooming.lua b/frontend/apps/reader/modules/readerzooming.lua index c19f42b57..e9d0109b4 100644 --- a/frontend/apps/reader/modules/readerzooming.lua +++ b/frontend/apps/reader/modules/readerzooming.lua @@ -95,48 +95,48 @@ function ReaderZooming:init() self.key_events = { ZoomIn = { { "Shift", Input.group.PgFwd }, - doc = "zoom in", - event = "Zoom", args = "in" + event = "Zoom", + args = "in", }, ZoomOut = { { "Shift", Input.group.PgBack }, - doc = "zoom out", - event = "Zoom", args = "out" + event = "Zoom", + args = "out", }, ZoomToFitPage = { { "A" }, - doc = "zoom to fit page", - event = "SetZoomMode", args = "page" + event = "SetZoomMode", + args = "page", }, ZoomToFitContent = { { "Shift", "A" }, - doc = "zoom to fit content", - event = "SetZoomMode", args = "content" + event = "SetZoomMode", + args = "content", }, ZoomToFitPageWidth = { { "S" }, - doc = "zoom to fit page width", - event = "SetZoomMode", args = "pagewidth" + event = "SetZoomMode", + args = "pagewidth", }, ZoomToFitContentWidth = { { "Shift", "S" }, - doc = "zoom to fit content width", - event = "SetZoomMode", args = "contentwidth" + event = "SetZoomMode", + args = "contentwidth", }, ZoomToFitPageHeight = { { "D" }, - doc = "zoom to fit page height", - event = "SetZoomMode", args = "pageheight" + event = "SetZoomMode", + args = "pageheight", }, ZoomToFitContentHeight = { { "Shift", "D" }, - doc = "zoom to fit content height", - event = "SetZoomMode", args = "contentheight" + event = "SetZoomMode", + args = "contentheight", }, ZoomManual = { { "Shift", "M" }, - doc = "manual zoom mode", - event = "SetZoomMode", args = "manual" + event = "SetZoomMode", + args = "manual", }, } end diff --git a/frontend/apps/reader/readerui.lua b/frontend/apps/reader/readerui.lua index 8360553f4..b57fd4740 100644 --- a/frontend/apps/reader/readerui.lua +++ b/frontend/apps/reader/readerui.lua @@ -123,8 +123,8 @@ function ReaderUI:init() SettingsMigration:migrateSettings(self.doc_settings) if Device:hasKeys() then - self.key_events.Home = { {"Home"}, doc = "open file browser" } - self.key_events.Reload = { {"F5"}, doc = "reload document" } + self.key_events.Home = { { "Home" } } + self.key_events.Reload = { { "F5" } } end -- a view container (so it must be child #1!) diff --git a/frontend/device/key.lua b/frontend/device/key.lua index 5589ac91b..c6aa617d3 100644 --- a/frontend/device/key.lua +++ b/frontend/device/key.lua @@ -51,8 +51,10 @@ least one key in this table must match. E.g.: -Key:match({ "Alt", "K" }) -- match Alt-K -Key:match({ "Alt", { "K", "L" }}) -- match Alt-K _or_ Alt-L +Key:match({ "K" }) -- match K +Key:match({ { "K", "L" } }) -- match K _or_ L +Key:match({ "Alt", "K" }) -- match Alt+K +Key:match({ "Alt", { "K", "L" }}) -- match Alt+K _or_ Alt+L ]] function Key:match(sequence) local mod_keys = {} -- a hash table for checked modifiers diff --git a/frontend/ui/widget/bboxwidget.lua b/frontend/ui/widget/bboxwidget.lua index d6a6a77cf..3ed7eb479 100644 --- a/frontend/ui/widget/bboxwidget.lua +++ b/frontend/ui/widget/bboxwidget.lua @@ -51,14 +51,14 @@ function BBoxWidget:init() } else self._confirm_stage = 1 -- 1 for left-top, 2 for right-bottom - self.key_events.MoveIndicatorUp = { { "Up" }, doc="Move indicator up", event="MoveIndicator", args = { 0, -1 } } - self.key_events.MoveIndicatorDown = { { "Down" }, doc="Move indicator down", event="MoveIndicator", args = { 0, 1 } } - self.key_events.MoveIndicatorLeft = { { "Left" }, doc="Move indicator left", event="MoveIndicator", args = { -1, 0 } } - self.key_events.MoveIndicatorRight = { { "Right" }, doc="Move indicator right", event="MoveIndicator", args = { 1, 0 } } + self.key_events.MoveIndicatorUp = { { "Up" }, event="MoveIndicator", args = { 0, -1 } } + self.key_events.MoveIndicatorDown = { { "Down" }, event="MoveIndicator", args = { 0, 1 } } + self.key_events.MoveIndicatorLeft = { { "Left" }, event="MoveIndicator", args = { -1, 0 } } + self.key_events.MoveIndicatorRight = { { "Right" }, event="MoveIndicator", args = { 1, 0 } } end if Device:hasKeys() then - self.key_events.Close = { {Device.input.group.Back}, doc = "close windows" } - self.key_events.Select = { {"Press"}, doc = "confirm adjust" } + self.key_events.Close = { { Device.input.group.Back } } + self.key_events.Select = { { "Press" } } end end diff --git a/frontend/ui/widget/bookmapwidget.lua b/frontend/ui/widget/bookmapwidget.lua index 0fa94eff0..9a0a68148 100644 --- a/frontend/ui/widget/bookmapwidget.lua +++ b/frontend/ui/widget/bookmapwidget.lua @@ -548,43 +548,45 @@ function BookMapWidget:init() if Device:hasKeys() then self.key_events = { - Close = { {Input.group.Back}, doc = "close page" }, - ScrollRowUp = {{"Up"}, doc = "scroll up"}, - ScrollRowDown = {{"Down"}, doc = "scrol down"}, - ScrollPageUp = {{Input.group.PgBack}, doc = "prev page"}, - ScrollPageDown = {{Input.group.PgFwd}, doc = "next page"}, + Close = { { Input.group.Back } }, + ScrollRowUp = { { "Up" } }, + ScrollRowDown = { { "Down" } }, + ScrollPageUp = { { Input.group.PgBack } }, + ScrollPageDown = { { Input.group.PgFwd } }, } end if Device:isTouchDevice() then - self.ges_events.Swipe = { - GestureRange:new{ - ges = "swipe", - range = self.dimen, - } - } - self.ges_events.MultiSwipe = { - GestureRange:new{ - ges = "multiswipe", - range = self.dimen, - } - } - self.ges_events.Tap = { - GestureRange:new{ - ges = "tap", - range = self.dimen, - } - } - self.ges_events.Pinch = { - GestureRange:new{ - ges = "pinch", - range = self.dimen, - } - } - self.ges_events.Spread = { - GestureRange:new{ - ges = "spread", - range = self.dimen, - } + self.ges_events = { + Swipe = { + GestureRange:new{ + ges = "swipe", + range = self.dimen, + } + }, + MultiSwipe = { + GestureRange:new{ + ges = "multiswipe", + range = self.dimen, + } + }, + Tap = { + GestureRange:new{ + ges = "tap", + range = self.dimen, + } + }, + Pinch = { + GestureRange:new{ + ges = "pinch", + range = self.dimen, + } + }, + Spread = { + GestureRange:new{ + ges = "spread", + range = self.dimen, + } + }, } -- No need for any long-press handler: page slots may be small and we can't -- really target a precise page slot with our fat finger above it... diff --git a/frontend/ui/widget/bookstatuswidget.lua b/frontend/ui/widget/bookstatuswidget.lua index fffe55d05..07e125e70 100644 --- a/frontend/ui/widget/bookstatuswidget.lua +++ b/frontend/ui/widget/bookstatuswidget.lua @@ -98,7 +98,7 @@ function BookStatusWidget:init() } if Device:hasKeys() then - self.key_events.Close = { { Device.input.group.Back }, doc = "close dialog" } + self.key_events.Close = { { Device.input.group.Back } } end if Device:isTouchDevice() then self.ges_events.Swipe = { diff --git a/frontend/ui/widget/button.lua b/frontend/ui/widget/button.lua index ef9df5bc6..d431ac92b 100644 --- a/frontend/ui/widget/button.lua +++ b/frontend/ui/widget/button.lua @@ -190,14 +190,12 @@ function Button:init() ges = "tap", range = self.dimen, }, - doc = "Tap Button", }, HoldSelectButton = { GestureRange:new{ ges = "hold", range = self.dimen, }, - doc = "Hold Button", }, -- Safe-guard for when used inside a MovableContainer HoldReleaseSelectButton = { diff --git a/frontend/ui/widget/buttondialog.lua b/frontend/ui/widget/buttondialog.lua index ee344481b..93cf65412 100644 --- a/frontend/ui/widget/buttondialog.lua +++ b/frontend/ui/widget/buttondialog.lua @@ -62,9 +62,7 @@ local ButtonDialog = InputContainer:extend{ function ButtonDialog:init() if Device:hasKeys() then local close_keys = Device:hasFewKeys() and { "Back", "Left" } or Device.input.group.Back - self.key_events = { - Close = { { close_keys }, doc = "close button dialog" } - } + self.key_events.Close = { { close_keys } } end if Device:isTouchDevice() then self.ges_events.TapClose = { diff --git a/frontend/ui/widget/buttondialogtitle.lua b/frontend/ui/widget/buttondialogtitle.lua index 6961f12c6..3a72a80e3 100644 --- a/frontend/ui/widget/buttondialogtitle.lua +++ b/frontend/ui/widget/buttondialogtitle.lua @@ -45,9 +45,7 @@ function ButtonDialogTitle:init() if self.dismissable then if Device:hasKeys() then local close_keys = Device:hasFewKeys() and { "Back", "Left" } or Device.input.group.Back - self.key_events = { - Close = { { close_keys }, doc = "close button dialog" } - } + self.key_events.Close = { { close_keys } } end if Device:isTouchDevice() then self.ges_events.TapClose = { diff --git a/frontend/ui/widget/checkbutton.lua b/frontend/ui/widget/checkbutton.lua index 12ac54f86..ff45e7164 100644 --- a/frontend/ui/widget/checkbutton.lua +++ b/frontend/ui/widget/checkbutton.lua @@ -103,14 +103,12 @@ function CheckButton:initCheckButton(checked) ges = "tap", range = self.dimen, }, - doc = "Tap Button", }, HoldCheckButton = { GestureRange:new{ ges = "hold", range = self.dimen, }, - doc = "Hold Button", }, -- Safe-guard for when used inside a MovableContainer HoldReleaseCheckButton = { @@ -118,7 +116,6 @@ function CheckButton:initCheckButton(checked) ges = "hold_release", range = self.dimen, }, - doc = "Hold Release Button", } } end diff --git a/frontend/ui/widget/closebutton.lua b/frontend/ui/widget/closebutton.lua index aecfc8c90..c57aaebb9 100644 --- a/frontend/ui/widget/closebutton.lua +++ b/frontend/ui/widget/closebutton.lua @@ -57,7 +57,6 @@ function CloseButton:init() -- drawn. so use callback to get range at runtime. range = function() return self.dimen end, }, - doc = "Tap on close button", } self.ges_events.HoldClose = { @@ -65,7 +64,6 @@ function CloseButton:init() ges = "hold_release", range = function() return self.dimen end, }, - doc = "Hold on close button", } end diff --git a/frontend/ui/widget/configdialog.lua b/frontend/ui/widget/configdialog.lua index 1db7729cd..1e4feaaf2 100644 --- a/frontend/ui/widget/configdialog.lua +++ b/frontend/ui/widget/configdialog.lua @@ -60,14 +60,12 @@ function OptionTextItem:init() ges = "tap", range = self.dimen, }, - doc = "Select Option Item", }, HoldSelect = { GestureRange:new{ ges = "hold", range = self.dimen, }, - doc = "Hold Option Item", }, } end @@ -134,14 +132,12 @@ function OptionIconItem:init() ges = "tap", range = self.dimen, }, - doc = "Select Option Item", }, HoldSelect = { GestureRange:new{ ges = "hold", range = self.dimen, }, - doc = "Hold Option Item", }, } @@ -898,7 +894,7 @@ function ConfigDialog:init() if Device:hasKeys() then -- set up keyboard events local close_keys = Device:hasFewKeys() and { "Back", "Left" } or Device.input.group.Back - self.key_events.Close = { { close_keys }, doc = "close config menu" } + self.key_events.Close = { { close_keys } } end end diff --git a/frontend/ui/widget/confirmbox.lua b/frontend/ui/widget/confirmbox.lua index 1ef9e22b3..8618584c2 100644 --- a/frontend/ui/widget/confirmbox.lua +++ b/frontend/ui/widget/confirmbox.lua @@ -72,7 +72,7 @@ function ConfirmBox:init() } end if Device:hasKeys() then - self.key_events.Close = { {Device.input.group.Back}, doc = "cancel" } + self.key_events.Close = { { Device.input.group.Back } } end end local text_widget = TextBoxWidget:new{ diff --git a/frontend/ui/widget/container/inputcontainer.lua b/frontend/ui/widget/container/inputcontainer.lua index 7f5adf259..82a41b558 100644 --- a/frontend/ui/widget/container/inputcontainer.lua +++ b/frontend/ui/widget/container/inputcontainer.lua @@ -1,23 +1,33 @@ --[[-- -An InputContainer is a WidgetContainer that handles user input events including multi touches -and key presses. +An InputContainer is a WidgetContainer that handles user input events including multi touches and key presses. See @{InputContainer:registerTouchZones} for examples of how to listen for multi touch input. -This example illustrates how to listen for a key press input event: +This example illustrates how to listen for a key press input event via the `key_events` hashmap: - PanBy20 = { - { "Shift", Input.group.Cursor }, - seqtext = "Shift+Cursor", - doc = "pan by 20px", - event = "Pan", args = 20, is_inactive = true, - }, - PanNormal = { - { Input.group.Cursor }, - seqtext = "Cursor", - doc = "pan by 10 px", event = "Pan", args = 10, + key_events = { + PanBy20 = { + { "Shift", Input.group.Cursor }, -- Shift + (any member of) Cursor + event = "Pan", + args = 20, + is_inactive = true, + }, + PanNormal = { + { Input.group.Cursor }, -- Any member of Cursor (itself an array) + event = "Pan", + args = 10, + }, + Exit = { + { "Alt", "F4" }, -- Alt + F4 + { "Ctrl", "Q" }, -- Ctrl + Q + }, + Home = { + { { "Home", "H" } }, -- Any of Home or H (note the extra nesting!) + }, + End = { + { "End" }, -- NOTE: For a *single* key, we can forgo the nesting (c.f., match @ device/key). + }, }, - Quit = { {"Home"} }, It is recommended to reference configurable sequences from another table and to store that table as a configuration setting. @@ -214,6 +224,7 @@ function InputContainer:onKeyPress(key) for name, seq in pairs(self.key_events) do if not seq.is_inactive then for _, oneseq in ipairs(seq) do + -- NOTE: key is a device/key object, this isn't string.match! if key:match(oneseq) then local eventname = seq.event or name return self:handleEvent(Event:new(eventname, seq.args, key)) diff --git a/frontend/ui/widget/container/movablecontainer.lua b/frontend/ui/widget/container/movablecontainer.lua index 931e7f01c..375066fdd 100644 --- a/frontend/ui/widget/container/movablecontainer.lua +++ b/frontend/ui/widget/container/movablecontainer.lua @@ -74,14 +74,15 @@ function MovableContainer:init() -- which is somehow nice and gives a kind of magnetic move that -- stick the widget to some invisible rulers. -- (Touch is needed for accurate pan) - self.ges_events = {} - self.ges_events.MovableTouch = not ignore.touch and { GestureRange:new{ ges = "touch", range = range } } or nil - self.ges_events.MovableSwipe = not ignore.swipe and { GestureRange:new{ ges = "swipe", range = range } } or nil - self.ges_events.MovableHold = not ignore.hold and { GestureRange:new{ ges = "hold", range = range } } or nil - self.ges_events.MovableHoldPan = not ignore.hold_pan and { GestureRange:new{ ges = "hold_pan", range = range } } or nil - self.ges_events.MovableHoldRelease = not ignore.hold_release and { GestureRange:new{ ges = "hold_release", range = range } } or nil - self.ges_events.MovablePan = not ignore.pan and { GestureRange:new{ ges = "pan", range = range } } or nil - self.ges_events.MovablePanRelease = not ignore.pan_release and { GestureRange:new{ ges = "pan_release", range = range } } or nil + self.ges_events = { + MovableTouch = not ignore.touch and { GestureRange:new{ ges = "touch", range = range } } or nil, + MovableSwipe = not ignore.swipe and { GestureRange:new{ ges = "swipe", range = range } } or nil, + MovableHold = not ignore.hold and { GestureRange:new{ ges = "hold", range = range } } or nil, + MovableHoldPan = not ignore.hold_pan and { GestureRange:new{ ges = "hold_pan", range = range } } or nil, + MovableHoldRelease = not ignore.hold_release and { GestureRange:new{ ges = "hold_release", range = range } } or nil, + MovablePan = not ignore.pan and { GestureRange:new{ ges = "pan", range = range } } or nil, + MovablePanRelease = not ignore.pan_release and { GestureRange:new{ ges = "pan_release", range = range } } or nil, + } end end diff --git a/frontend/ui/widget/container/scrollablecontainer.lua b/frontend/ui/widget/container/scrollablecontainer.lua index b73e432b0..e644b4068 100644 --- a/frontend/ui/widget/container/scrollablecontainer.lua +++ b/frontend/ui/widget/container/scrollablecontainer.lua @@ -79,14 +79,15 @@ function ScrollableContainer:init() -- Pan happens if he doesn't hold at start, but holds at end -- Swipe happens if he doesn't hold at any moment -- (Touch is needed for accurate pan) - self.ges_events = {} - self.ges_events.ScrollableTouch = not ignore.touch and { GestureRange:new{ ges = "touch", range = range } } or nil - self.ges_events.ScrollableSwipe = not ignore.swipe and { GestureRange:new{ ges = "swipe", range = range } } or nil - self.ges_events.ScrollableHold = not ignore.hold and { GestureRange:new{ ges = "hold", range = range } } or nil - self.ges_events.ScrollableHoldPan = not ignore.hold_pan and { GestureRange:new{ ges = "hold_pan", range = range } } or nil - self.ges_events.ScrollableHoldRelease = not ignore.hold_release and { GestureRange:new{ ges = "hold_release", range = range } } or nil - self.ges_events.ScrollablePan = not ignore.pan and { GestureRange:new{ ges = "pan", range = range } } or nil - self.ges_events.ScrollablePanRelease = not ignore.pan_release and { GestureRange:new{ ges = "pan_release", range = range } } or nil + self.ges_events = { + ScrollableTouch = not ignore.touch and { GestureRange:new{ ges = "touch", range = range } } or nil, + ScrollableSwipe = not ignore.swipe and { GestureRange:new{ ges = "swipe", range = range } } or nil, + ScrollableHold = not ignore.hold and { GestureRange:new{ ges = "hold", range = range } } or nil, + ScrollableHoldPan = not ignore.hold_pan and { GestureRange:new{ ges = "hold_pan", range = range } } or nil, + ScrollableHoldRelease = not ignore.hold_release and { GestureRange:new{ ges = "hold_release", range = range } } or nil, + ScrollablePan = not ignore.pan and { GestureRange:new{ ges = "pan", range = range } } or nil, + ScrollablePanRelease = not ignore.pan_release and { GestureRange:new{ ges = "pan_release", range = range } } or nil, + } end end diff --git a/frontend/ui/widget/datetimewidget.lua b/frontend/ui/widget/datetimewidget.lua index 2789cb059..59ad73c21 100644 --- a/frontend/ui/widget/datetimewidget.lua +++ b/frontend/ui/widget/datetimewidget.lua @@ -117,18 +117,16 @@ function DateTimeWidget:init() end self.width = self.width or math.floor(math.min(self.screen_width, self.screen_height) * width_scale_factor) if Device:hasKeys() then - self.key_events.Close = { {Device.input.group.Back}, doc = "close date widget" } + self.key_events.Close = { { Device.input.group.Back } } end if Device:isTouchDevice() then - self.ges_events = { - TapClose = { - GestureRange:new{ - ges = "tap", - range = Geom:new{ - w = self.screen_width, - h = self.screen_height, - } - }, + self.ges_events.TapClose = { + GestureRange:new{ + ges = "tap", + range = Geom:new{ + w = self.screen_width, + h = self.screen_height, + } }, } end diff --git a/frontend/ui/widget/dictquicklookup.lua b/frontend/ui/widget/dictquicklookup.lua index d2474fbe4..575862bc0 100644 --- a/frontend/ui/widget/dictquicklookup.lua +++ b/frontend/ui/widget/dictquicklookup.lua @@ -96,9 +96,9 @@ function DictQuickLookup:init() self.image_alt_face = Font:getFace("cfont", font_size_alt) if Device:hasKeys() then self.key_events = { - ReadPrevResult = {{Input.group.PgBack}, doc = "read prev result"}, - ReadNextResult = {{Input.group.PgFwd}, doc = "read next result"}, - Close = { {Input.group.Back}, doc = "close quick lookup" } + ReadPrevResult = { { Input.group.PgBack } }, + ReadNextResult = { { Input.group.PgFwd } }, + Close = { { Input.group.Back } }, } end if Device:isTouchDevice() then diff --git a/frontend/ui/widget/doublespinwidget.lua b/frontend/ui/widget/doublespinwidget.lua index 8bdc2289a..560bba4a2 100644 --- a/frontend/ui/widget/doublespinwidget.lua +++ b/frontend/ui/widget/doublespinwidget.lua @@ -67,18 +67,16 @@ function DoubleSpinWidget:init() self.width = math.floor(math.min(self.screen_width, self.screen_height) * self.width_factor) end if Device:hasKeys() then - self.key_events.Close = { {Device.input.group.Back}, doc = "close doublespin widget" } + self.key_events.Close = { { Device.input.group.Back } } end if Device:isTouchDevice() then - self.ges_events = { - TapClose = { - GestureRange:new{ - ges = "tap", - range = Geom:new{ - w = self.screen_width, - h = self.screen_height, - } - }, + self.ges_events.TapClose = { + GestureRange:new{ + ges = "tap", + range = Geom:new{ + w = self.screen_width, + h = self.screen_height, + } }, } end diff --git a/frontend/ui/widget/focusmanager.lua b/frontend/ui/widget/focusmanager.lua index e967cdc6d..e388a9e29 100644 --- a/frontend/ui/widget/focusmanager.lua +++ b/frontend/ui/widget/focusmanager.lua @@ -46,26 +46,26 @@ local function populateEventMappings() if Device:hasDPad() then local event_keys = {} -- these will all generate the same event, just with different arguments - table.insert(event_keys, {"FocusUp", { {"Up"}, doc = "move focus up", event = "FocusMove", args = {0, -1} } }) - table.insert(event_keys, {"FocusRight", { {"Right"}, doc = "move focus right", event = "FocusMove", args = {1, 0} } }) - table.insert(event_keys, {"FocusDown", { {"Down"}, doc = "move focus down", event = "FocusMove", args = {0, 1} } }) - table.insert(event_keys, {"Press", { {"Press"}, doc = "tap the widget", event="Press" }}) + table.insert(event_keys, { "FocusUp", { { "Up" }, event = "FocusMove", args = {0, -1} } }) + table.insert(event_keys, { "FocusRight", { { "Right" }, event = "FocusMove", args = {1, 0} } }) + table.insert(event_keys, { "FocusDown", { { "Down" }, event = "FocusMove", args = {0, 1} } }) + table.insert(event_keys, { "Press", { { "Press" }, event = "Press" } }) local FEW_KEYS_END_INDEX = #event_keys -- Few keys device: only setup up, down, right and press - table.insert(event_keys, {"FocusLeft", { {"Left"}, doc = "move focus left", event = "FocusMove", args = {-1, 0} } }) + table.insert(event_keys, { "FocusLeft", { { "Left" }, event = "FocusMove", args = {-1, 0} } }) local NORMAL_KEYS_END_INDEX = #event_keys -- Advanced Feature: following event handlers can be enabled via settings.reader.lua - -- Key combinations (Sym, Alt+Up, Tab, Shift+Tab and so on) are not used but shown as examples here - table.insert(event_keys, {"Hold", { {"Sym", "AA"}, doc = "tap and hold the widget", event="Hold" } }) + -- Key combinations (Sym+AA, Alt+Up, Tab, Shift+Tab and so on) are not used but shown as examples here + table.insert(event_keys, { "Hold", { { "Sym", "AA" }, event = "Hold" } }) -- half rows/columns move, it is helpful for slow device like Kindle DX to move quickly - table.insert(event_keys, {"HalfFocusUp", { {"Alt", "Up"}, doc = "move focus half columns up", event = "FocusHalfMove", args = {"up"} } }) - table.insert(event_keys, {"HalfFocusRight", { {"Alt", "Right"}, doc = "move focus half rows right", event = "FocusHalfMove", args = {"right"} } }) - table.insert(event_keys, {"HalfFocusDown", { {"Alt", "Down"}, doc = "move focus half columns down", event = "FocusHalfMove", args = {"down"} } }) - table.insert(event_keys, {"HalfFocusLeft", { {"Alt", "Left"}, doc = "move focus half rows left", event = "FocusHalfMove", args = {"left"} } }) + table.insert(event_keys, { "HalfFocusUp", { { "Alt", "Up" }, event = "FocusHalfMove", args = {"up"} } }) + table.insert(event_keys, { "HalfFocusRight", { { "Alt", "Right" }, event = "FocusHalfMove", args = {"right"} } }) + table.insert(event_keys, { "HalfFocusDown", { { "Alt", "Down" }, event = "FocusHalfMove", args = {"down"} } }) + table.insert(event_keys, { "HalfFocusLeft", { { "Alt", "Left" }, event = "FocusHalfMove", args = {"left"} } }) -- for PC navigation behavior support - table.insert(event_keys, {"FocusNext", { {"Tab"}, doc = "move focus to next widget", event="FocusNext"} }) - table.insert(event_keys, {"FocusPrevious", { {"Shift", "Tab"}, doc = "move focus to previous widget", event="FocusPrevious"} }) + table.insert(event_keys, { "FocusNext", { { "Tab" }, event = "FocusNext" } }) + table.insert(event_keys, { "FocusPrevious", { { "Shift", "Tab" }, event = "FocusPrevious" } }) for i = 1, FEW_KEYS_END_INDEX do local key_name = event_keys[i][1] diff --git a/frontend/ui/widget/footnotewidget.lua b/frontend/ui/widget/footnotewidget.lua index 232e0e52d..22b13625f 100644 --- a/frontend/ui/widget/footnotewidget.lua +++ b/frontend/ui/widget/footnotewidget.lua @@ -188,8 +188,8 @@ function FootnoteWidget:init() end if Device:hasKeys() then self.key_events = { - Close = { {Device.input.group.Back}, doc = "cancel" }, - Follow = { {"Press"}, doc = "follow link" }, + Close = { { Device.input.group.Back } }, + Follow = { { "Press" } }, } end diff --git a/frontend/ui/widget/frontlightwidget.lua b/frontend/ui/widget/frontlightwidget.lua index fb76bc854..ef83dfcfd 100644 --- a/frontend/ui/widget/frontlightwidget.lua +++ b/frontend/ui/widget/frontlightwidget.lua @@ -80,7 +80,7 @@ function FrontLightWidget:init() -- Input if Device:hasKeys() then - self.key_events.Close = { {Device.input.group.Back}, doc = "close frontlight" } + self.key_events.Close = { { Device.input.group.Back } } end if Device:isTouchDevice() then self.ges_events = { diff --git a/frontend/ui/widget/htmlboxwidget.lua b/frontend/ui/widget/htmlboxwidget.lua index 3477ef3d3..9c2be7e20 100644 --- a/frontend/ui/widget/htmlboxwidget.lua +++ b/frontend/ui/widget/htmlboxwidget.lua @@ -27,12 +27,10 @@ local HtmlBoxWidget = InputContainer:extend{ function HtmlBoxWidget:init() if Device:isTouchDevice() then - self.ges_events = { - TapText = { - GestureRange:new{ - ges = "tap", - range = function() return self.dimen end, - }, + self.ges_events.TapText = { + GestureRange:new{ + ges = "tap", + range = function() return self.dimen end, }, } end diff --git a/frontend/ui/widget/iconbutton.lua b/frontend/ui/widget/iconbutton.lua index 8b6957c44..3a9cfbc64 100644 --- a/frontend/ui/widget/iconbutton.lua +++ b/frontend/ui/widget/iconbutton.lua @@ -81,21 +81,18 @@ function IconButton:initGesListener() ges = "tap", range = self.dimen, }, - doc = "Tap IconButton", }, HoldIconButton = { GestureRange:new{ ges = "hold", range = self.dimen, }, - doc = "Hold IconButton", }, HoldReleaseIconButton = { GestureRange:new{ ges = "hold_release", range = self.dimen, }, - doc = "Hold Release IconButton", } } end diff --git a/frontend/ui/widget/imageviewer.lua b/frontend/ui/widget/imageviewer.lua index 5a0eaa199..a782d5a53 100644 --- a/frontend/ui/widget/imageviewer.lua +++ b/frontend/ui/widget/imageviewer.lua @@ -84,16 +84,16 @@ function ImageViewer:init() if type(self.image) == "table" then -- if self.image is a table, then use hardware keys to change image self.key_events = { - Close = { {Device.input.group.Back}, doc = "close viewer" }, - ShowPrevImage = { {Device.input.group.PgBack}, doc = "Previous image" }, - ShowNextImage = { {Device.input.group.PgFwd}, doc = "Next image" }, + Close = { { Device.input.group.Back } }, + ShowPrevImage = { { Device.input.group.PgBack } }, + ShowNextImage = { { Device.input.group.PgFwd } }, } else -- otherwise, use hardware keys to zoom in/out self.key_events = { - Close = { {Device.input.group.Back}, doc = "close viewer" }, - ZoomIn = { {Device.input.group.PgBack}, doc = "Zoom In" }, - ZoomOut = { {Device.input.group.PgFwd}, doc = "Zoom out" }, + Close = { { Device.input.group.Back } }, + ZoomIn = { { Device.input.group.PgBack } }, + ZoomOut = { { Device.input.group.PgFwd } }, } end end diff --git a/frontend/ui/widget/infomessage.lua b/frontend/ui/widget/infomessage.lua index ede09fcf5..e9f8a2e5f 100644 --- a/frontend/ui/widget/infomessage.lua +++ b/frontend/ui/widget/infomessage.lua @@ -79,10 +79,7 @@ local InfoMessage = InputContainer:extend{ function InfoMessage:init() if self.dismissable then if Device:hasKeys() then - self.key_events = { - AnyKeyPressed = { { Input.group.Any }, - seqtext = "any key", doc = "close dialog" } - } + self.key_events.AnyKeyPressed = { { Input.group.Any } } end if Device:isTouchDevice() then self.ges_events.TapClose = { diff --git a/frontend/ui/widget/inputdialog.lua b/frontend/ui/widget/inputdialog.lua index 6d8963bef..a91bab307 100644 --- a/frontend/ui/widget/inputdialog.lua +++ b/frontend/ui/widget/inputdialog.lua @@ -433,17 +433,15 @@ function InputDialog:init() frame } if Device:isTouchDevice() then -- is used to hide the keyboard with a tap outside of inputbox - self.ges_events = { - Tap = { - GestureRange:new{ - ges = "tap", - range = self[1].dimen, -- screen above the keyboard - }, + self.ges_events.Tap = { + GestureRange:new{ + ges = "tap", + range = self[1].dimen, -- screen above the keyboard }, } end if Device:hasKeys() then - self.key_events.CloseDialog = { {Device.input.group.Back}, doc = "close dialog" } + self.key_events.CloseDialog = { { Device.input.group.Back } } end if self._added_widgets then for _, widget in ipairs(self._added_widgets) do diff --git a/frontend/ui/widget/keyboardlayoutdialog.lua b/frontend/ui/widget/keyboardlayoutdialog.lua index 07205f4e8..f3eb9791d 100644 --- a/frontend/ui/widget/keyboardlayoutdialog.lua +++ b/frontend/ui/widget/keyboardlayoutdialog.lua @@ -168,7 +168,7 @@ function KeyboardLayoutDialog:init() self.movable, } if Device:hasKeys() then - self.key_events.CloseDialog = { {Device.input.group.Back}, doc = "close dialog" } + self.key_events.CloseDialog = { { Device.input.group.Back } } end end diff --git a/frontend/ui/widget/keyvaluepage.lua b/frontend/ui/widget/keyvaluepage.lua index 0de3df5f8..f86e61010 100644 --- a/frontend/ui/widget/keyvaluepage.lua +++ b/frontend/ui/widget/keyvaluepage.lua @@ -302,9 +302,9 @@ function KeyValuePage:init() end if Device:hasKeys() then - self.key_events.Close = {{Input.group.Back}, doc = "close page" } - self.key_events.NextPage = {{Input.group.PgFwd}, doc = "next page"} - self.key_events.PrevPage = {{Input.group.PgBack}, doc = "prev page"} + self.key_events.Close = { { Input.group.Back } } + self.key_events.NextPage = { { Input.group.PgFwd } } + self.key_events.PrevPage = { { Input.group.PgBack } } end if Device:isTouchDevice() then self.ges_events.Swipe = { diff --git a/frontend/ui/widget/menu.lua b/frontend/ui/widget/menu.lua index 4b78325c1..c6120c48e 100644 --- a/frontend/ui/widget/menu.lua +++ b/frontend/ui/widget/menu.lua @@ -128,14 +128,12 @@ function MenuItem:init() ges = "tap", range = self.dimen, }, - doc = "Select Menu Item", }, HoldSelect = { GestureRange:new{ ges = "hold", range = self.dimen, }, - doc = "Hold Menu Item", }, } @@ -923,16 +921,12 @@ function Menu:init() if Device:hasKeys() then -- set up keyboard events - self.key_events.Close = { {Input.group.Back}, doc = "close menu" } + self.key_events.Close = { { Input.group.Back } } if Device:hasFewKeys() then - self.key_events.Close = { {"Left"}, doc = "close menu" } + self.key_events.Close = { { "Left" } } end - self.key_events.NextPage = { - {Input.group.PgFwd}, doc = "goto next page of the menu" - } - self.key_events.PrevPage = { - {Input.group.PgBack}, doc = "goto previous page of the menu" - } + self.key_events.NextPage = { { Input.group.PgFwd } } + self.key_events.PrevPage = { { Input.group.PgBack } } end if Device:hasDPad() then @@ -940,11 +934,9 @@ function Menu:init() self.key_events.FocusRight = nil -- shortcut icon is not needed for touch device if self.is_enable_shortcut then - self.key_events.SelectByShortCut = { {self.item_shortcuts} } + self.key_events.SelectByShortCut = { { self.item_shortcuts } } end - self.key_events.Right = { - {"Right"}, doc = "hold menu item" - } + self.key_events.Right = { { "Right" } } end if #self.item_table > 0 then diff --git a/frontend/ui/widget/multiconfirmbox.lua b/frontend/ui/widget/multiconfirmbox.lua index 1ba6d2c53..e261ff000 100644 --- a/frontend/ui/widget/multiconfirmbox.lua +++ b/frontend/ui/widget/multiconfirmbox.lua @@ -71,7 +71,7 @@ function MultiConfirmBox:init() } end if Device:hasKeys() then - self.key_events.Close = { {Device.input.group.Back}, doc = "cancel" } + self.key_events.Close = { { Device.input.group.Back } } end end local content = HorizontalGroup:new{ diff --git a/frontend/ui/widget/networksetting.lua b/frontend/ui/widget/networksetting.lua index 27afe9810..efb06c94e 100644 --- a/frontend/ui/widget/networksetting.lua +++ b/frontend/ui/widget/networksetting.lua @@ -204,12 +204,10 @@ function NetworkItem:init() } if Device:isTouchDevice() then - self.ges_events = { - TapSelect = { - GestureRange:new{ - ges = "tap", - range = self.dimen, - } + self.ges_events.TapSelect = { + GestureRange:new{ + ges = "tap", + range = self.dimen, } } end diff --git a/frontend/ui/widget/notification.lua b/frontend/ui/widget/notification.lua index f0eea3350..a0e8fd706 100644 --- a/frontend/ui/widget/notification.lua +++ b/frontend/ui/widget/notification.lua @@ -71,10 +71,7 @@ function Notification:init() if not self.toast then -- If not toast, closing is handled in here if Device:hasKeys() then - self.key_events = { - AnyKeyPressed = { { Input.group.Any }, - seqtext = "any key", doc = "close dialog" } - } + self.key_events.AnyKeyPressed = { { Input.group.Any } } end if Device:isTouchDevice() then self.ges_events.TapClose = { diff --git a/frontend/ui/widget/pagebrowserwidget.lua b/frontend/ui/widget/pagebrowserwidget.lua index bc7bae200..9739fe5f2 100644 --- a/frontend/ui/widget/pagebrowserwidget.lua +++ b/frontend/ui/widget/pagebrowserwidget.lua @@ -52,49 +52,51 @@ function PageBrowserWidget:init() if Device:hasKeys() then self.key_events = { - Close = { {Device.input.group.Back}, doc = "close page" }, - ScrollRowUp = {{"Up"}, doc = "scroll up"}, - ScrollRowDown = {{"Down"}, doc = "scrol down"}, - ScrollPageUp = {{Input.group.PgBack}, doc = "prev page"}, - ScrollPageDown = {{Input.group.PgFwd}, doc = "next page"}, + Close = { { Device.input.group.Back } }, + ScrollRowUp = { { "Up" } }, + ScrollRowDown = { { "Down" } }, + ScrollPageUp = { { Input.group.PgBack } }, + ScrollPageDown = { { Input.group.PgFwd } }, } end if Device:isTouchDevice() then - self.ges_events.Swipe = { - GestureRange:new{ - ges = "swipe", - range = self.dimen, - } - } - self.ges_events.MultiSwipe = { - GestureRange:new{ - ges = "multiswipe", - range = self.dimen, - } - } - self.ges_events.Tap = { - GestureRange:new{ - ges = "tap", - range = self.dimen, - } - } - self.ges_events.Hold = { - GestureRange:new{ - ges = "hold", - range = self.dimen, - } - } - self.ges_events.Pinch = { - GestureRange:new{ - ges = "pinch", - range = self.dimen, - } - } - self.ges_events.Spread = { - GestureRange:new{ - ges = "spread", - range = self.dimen, - } + self.ges_events = { + Swipe = { + GestureRange:new{ + ges = "swipe", + range = self.dimen, + } + }, + MultiSwipe = { + GestureRange:new{ + ges = "multiswipe", + range = self.dimen, + } + }, + Tap = { + GestureRange:new{ + ges = "tap", + range = self.dimen, + } + }, + Hold = { + GestureRange:new{ + ges = "hold", + range = self.dimen, + } + }, + Pinch = { + GestureRange:new{ + ges = "pinch", + range = self.dimen, + } + }, + Spread = { + GestureRange:new{ + ges = "spread", + range = self.dimen, + } + }, } end diff --git a/frontend/ui/widget/physicalkeyboard.lua b/frontend/ui/widget/physicalkeyboard.lua index 7a38f535c..b16f1af4d 100644 --- a/frontend/ui/widget/physicalkeyboard.lua +++ b/frontend/ui/widget/physicalkeyboard.lua @@ -83,9 +83,7 @@ function PhysicalKeyboard:init() for _,row in ipairs(Device.keyboard_layout) do util.arrayAppend(all_keys, row) end - self.key_events = { - KeyPress = { { all_keys }, } - } + self.key_events.KeyPress = { { all_keys } } self.dimen = Geom:new{ x = 0, y = 0, w = 0, h = 0 } diff --git a/frontend/ui/widget/qrmessage.lua b/frontend/ui/widget/qrmessage.lua index 8e5c65984..328df8627 100644 --- a/frontend/ui/widget/qrmessage.lua +++ b/frontend/ui/widget/qrmessage.lua @@ -43,10 +43,7 @@ local QRMessage = InputContainer:extend{ function QRMessage:init() if Device:hasKeys() then - self.key_events = { - AnyKeyPressed = { { Input.group.Any }, - seqtext = "any key", doc = "close dialog" } - } + self.key_events.AnyKeyPressed = { { Input.group.Any } } end if Device:isTouchDevice() then self.ges_events.TapClose = { diff --git a/frontend/ui/widget/radiobuttonwidget.lua b/frontend/ui/widget/radiobuttonwidget.lua index e1c1d149a..85a64974b 100644 --- a/frontend/ui/widget/radiobuttonwidget.lua +++ b/frontend/ui/widget/radiobuttonwidget.lua @@ -49,19 +49,17 @@ function RadioButtonWidget:init() self.width = math.floor(math.min(self.screen_width, self.screen_height) * self.width_factor) end if Device:hasKeys() then - self.key_events.Close = { {Device.input.group.Back}, doc = "close widget" } + self.key_events.Close = { { Device.input.group.Back } } end - self.ges_events = { - TapClose = { - GestureRange:new{ - ges = "tap", - range = Geom:new{ - w = self.screen_width, - h = self.screen_height, - } - }, + self.ges_events.TapClose = { + GestureRange:new{ + ges = "tap", + range = Geom:new{ + w = self.screen_width, + h = self.screen_height, + } }, - } + } self:update() end diff --git a/frontend/ui/widget/screensaverwidget.lua b/frontend/ui/widget/screensaverwidget.lua index 6fb708ce5..72f19eaa3 100644 --- a/frontend/ui/widget/screensaverwidget.lua +++ b/frontend/ui/widget/screensaverwidget.lua @@ -18,12 +18,9 @@ local ScreenSaverWidget = InputContainer:extend{ function ScreenSaverWidget:init() if Device:hasKeys() then - self.key_events = { - AnyKeyPressed = { { Device.input.group.Any }, seqtext = "any key", doc = "close widget" }, - } + self.key_events.AnyKeyPressed = { { Device.input.group.Any } } end if Device:isTouchDevice() then - self.ges_events = {} if G_reader_settings:readSetting("screensaver_delay") == "gesture" then self:setupGestureEvents() end @@ -34,7 +31,7 @@ function ScreenSaverWidget:init() w = Screen:getWidth(), h = Screen:getHeight(), } - self.ges_events["Tap"] = { GestureRange:new{ ges = "tap", range = range } } + self.ges_events.Tap = { GestureRange:new{ ges = "tap", range = range } } end end self:update() diff --git a/frontend/ui/widget/scrollhtmlwidget.lua b/frontend/ui/widget/scrollhtmlwidget.lua index b63539d08..ce5e5372a 100644 --- a/frontend/ui/widget/scrollhtmlwidget.lua +++ b/frontend/ui/widget/scrollhtmlwidget.lua @@ -79,8 +79,8 @@ function ScrollHtmlWidget:init() if Device:hasKeys() then self.key_events = { - ScrollDown = {{Input.group.PgFwd}, doc = "scroll down"}, - ScrollUp = {{Input.group.PgBack}, doc = "scroll up"}, + ScrollDown = { { Input.group.PgFwd } }, + ScrollUp = { { Input.group.PgBack } }, } end end diff --git a/frontend/ui/widget/scrolltextwidget.lua b/frontend/ui/widget/scrolltextwidget.lua index 6480a5953..611ee9944 100644 --- a/frontend/ui/widget/scrolltextwidget.lua +++ b/frontend/ui/widget/scrolltextwidget.lua @@ -118,8 +118,8 @@ function ScrollTextWidget:init() end if Device:hasKeys() then self.key_events = { - ScrollDown = {{Input.group.PgFwd}, doc = "scroll down"}, - ScrollUp = {{Input.group.PgBack}, doc = "scroll up"}, + ScrollDown = { { Input.group.PgFwd } }, + ScrollUp = { { Input.group.PgBack } }, } end end diff --git a/frontend/ui/widget/skimtowidget.lua b/frontend/ui/widget/skimtowidget.lua index 65f97102b..b870fe853 100644 --- a/frontend/ui/widget/skimtowidget.lua +++ b/frontend/ui/widget/skimtowidget.lua @@ -27,21 +27,19 @@ function SkimToWidget:init() local screen_height = Screen:getHeight() if Device:hasKeys() then - self.key_events.Close = { {Device.input.group.Back}, doc = "close skimto page" } + self.key_events.Close = { { Device.input.group.Back } } end if Device:isTouchDevice() then - self.ges_events = { - TapProgress = { - GestureRange:new{ - ges = "tap", - range = Geom:new{ - x = 0, y = 0, - w = screen_width, - h = screen_height, - } - }, + self.ges_events.TapProgress = { + GestureRange:new{ + ges = "tap", + range = Geom:new{ + x = 0, y = 0, + w = screen_width, + h = screen_height, + } }, - } + } end self.buttons_layout = {} diff --git a/frontend/ui/widget/sortwidget.lua b/frontend/ui/widget/sortwidget.lua index 832417c09..81562a12a 100644 --- a/frontend/ui/widget/sortwidget.lua +++ b/frontend/ui/widget/sortwidget.lua @@ -141,9 +141,9 @@ function SortWidget:init() h = self.height or Screen:getHeight(), } if Device:hasKeys() then - self.key_events.Close = { { Device.input.group.Back }, doc = "close dialog" } - self.key_events.NextPage = { { Device.input.group.PgFwd}, doc = "next page"} - self.key_events.PrevPage = { { Device.input.group.PgBack}, doc = "prev page"} + self.key_events.Close = { { Device.input.group.Back } } + self.key_events.NextPage = { { Device.input.group.PgFwd } } + self.key_events.PrevPage = { { Device.input.group.PgBack } } end if Device:isTouchDevice() then self.ges_events.Swipe = { diff --git a/frontend/ui/widget/spinwidget.lua b/frontend/ui/widget/spinwidget.lua index a9c7c0986..aeb65351b 100644 --- a/frontend/ui/widget/spinwidget.lua +++ b/frontend/ui/widget/spinwidget.lua @@ -65,20 +65,18 @@ function SpinWidget:init() self.width = math.floor(math.min(self.screen_width, self.screen_height) * self.width_factor) end if Device:hasKeys() then - self.key_events.Close = { {Device.input.group.Back}, doc = "close spin widget" } + self.key_events.Close = { { Device.input.group.Back } } end if Device:isTouchDevice() then - self.ges_events = { - TapClose = { - GestureRange:new{ - ges = "tap", - range = Geom:new{ - w = self.screen_width, - h = self.screen_height, - } - }, + self.ges_events.TapClose = { + GestureRange:new{ + ges = "tap", + range = Geom:new{ + w = self.screen_width, + h = self.screen_height, + } }, - } + } end if self.unit and self.unit ~= "" then diff --git a/frontend/ui/widget/textboxwidget.lua b/frontend/ui/widget/textboxwidget.lua index 7795df2cd..65cca2fdf 100644 --- a/frontend/ui/widget/textboxwidget.lua +++ b/frontend/ui/widget/textboxwidget.lua @@ -162,12 +162,10 @@ function TextBoxWidget:init() self.dimen = Geom:new(self:getSize()) if Device:isTouchDevice() then - self.ges_events = { - TapImage = { - GestureRange:new{ - ges = "tap", - range = function() return self.dimen end, - }, + self.ges_events.TapImage = { + GestureRange:new{ + ges = "tap", + range = function() return self.dimen end, }, } end diff --git a/frontend/ui/widget/textviewer.lua b/frontend/ui/widget/textviewer.lua index 9c083acff..71e2ff30e 100644 --- a/frontend/ui/widget/textviewer.lua +++ b/frontend/ui/widget/textviewer.lua @@ -82,9 +82,7 @@ function TextViewer:init() self._old_virtual_line_num = 1 if Device:hasKeys() then - self.key_events = { - Close = { {Device.input.group.Back}, doc = "close text viewer" } - } + self.key_events.Close = { { Device.input.group.Back } } end if Device:isTouchDevice() then diff --git a/frontend/ui/widget/toggleswitch.lua b/frontend/ui/widget/toggleswitch.lua index 550690463..a92abc521 100644 --- a/frontend/ui/widget/toggleswitch.lua +++ b/frontend/ui/widget/toggleswitch.lua @@ -118,14 +118,12 @@ function ToggleSwitch:init() ges = "tap", range = self.dimen, }, - doc = "Toggle switch", }, HoldSelect = { GestureRange:new{ ges = "hold", range = self.dimen, }, - doc = "Hold switch", }, } end diff --git a/frontend/ui/widget/touchmenu.lua b/frontend/ui/widget/touchmenu.lua index 4b554722d..16b2f87a4 100644 --- a/frontend/ui/widget/touchmenu.lua +++ b/frontend/ui/widget/touchmenu.lua @@ -55,14 +55,12 @@ function TouchMenuItem:init() ges = "tap", range = self.dimen, }, - doc = "Select Menu Item", }, HoldSelect = { GestureRange:new{ ges = "hold", range = self.dimen, }, - doc = "Hold Menu Item", }, } @@ -496,12 +494,12 @@ function TouchMenu:init() } } - self.key_events.Back = { {Input.group.Back}, doc = "back to upper menu or close touchmenu" } + self.key_events.Back = { { Input.group.Back } } if Device:hasFewKeys() then - self.key_events.Back = { {"Left"}, doc = "back to upper menu or close touchmenu" } + self.key_events.Back = { { "Left" } } end - self.key_events.NextPage = { {Input.group.PgFwd}, doc = "next page" } - self.key_events.PrevPage = { {Input.group.PgBack}, doc = "previous page" } + self.key_events.NextPage = { { Input.group.PgFwd } } + self.key_events.PrevPage = { { Input.group.PgBack } } local icons = {} for _, v in ipairs(self.tab_item_table) do diff --git a/frontend/ui/widget/trapwidget.lua b/frontend/ui/widget/trapwidget.lua index 2188a485c..bfc708f07 100644 --- a/frontend/ui/widget/trapwidget.lua +++ b/frontend/ui/widget/trapwidget.lua @@ -41,20 +41,19 @@ function TrapWidget:init() h = Screen:getHeight(), } if Device:hasKeys() then - self.key_events = { - AnyKeyPressed = { { Input.group.Any }, - seqtext = "any key", doc = "dismiss" } - } + self.key_events.AnyKeyPressed = { { Input.group.Any } } end if Device:isTouchDevice() then - self.ges_events.TapDismiss = { - GestureRange:new{ ges = "tap", range = full_screen, } - } - self.ges_events.HoldDismiss = { - GestureRange:new{ ges = "hold", range = full_screen, } - } - self.ges_events.SwipeDismiss = { - GestureRange:new{ ges = "swipe", range = full_screen, } + self.ges_events = { + TapDismiss = { + GestureRange:new{ ges = "tap", range = full_screen, } + }, + HoldDismiss = { + GestureRange:new{ ges = "hold", range = full_screen, } + }, + SwipeDismiss = { + GestureRange:new{ ges = "swipe", range = full_screen, } + }, } end if self.text then diff --git a/frontend/ui/widget/virtualkeyboard.lua b/frontend/ui/widget/virtualkeyboard.lua index 95f51fdee..87a3d19a0 100644 --- a/frontend/ui/widget/virtualkeyboard.lua +++ b/frontend/ui/widget/virtualkeyboard.lua @@ -666,17 +666,15 @@ function VirtualKeyPopup:init() } keyboard_frame.dimen = keyboard_frame:getSize() - self.ges_events = { - TapClose = { - GestureRange:new{ - ges = "tap", - } - }, + self.ges_events.TapClose = { + GestureRange:new{ + ges = "tap", + } } self.tap_interval_override = time.ms(G_reader_settings:readSetting("ges_tap_interval_on_keyboard_ms", 0)) if Device:hasKeys() then - self.key_events.Close = { {Device.input.group.Back}, doc = "close keyboard" } + self.key_events.Close = { { Device.input.group.Back } } end local offset_x = 2*keyboard_frame.bordersize + keyboard_frame.padding + parent_key.keyboard.key_padding @@ -801,7 +799,7 @@ function VirtualKeyboard:init() self:initLayer(self.keyboard_layer) self.tap_interval_override = time.ms(G_reader_settings:readSetting("ges_tap_interval_on_keyboard_ms", 0)) if Device:hasKeys() then - self.key_events.Close = { {"Back"}, doc = "close keyboard" } + self.key_events.Close = { { "Back" } } end if keyboard.wrapInputBox then self.uwrap_func = keyboard.wrapInputBox(self.inputbox) or self.uwrap_func diff --git a/plugins/coverbrowser.koplugin/listmenu.lua b/plugins/coverbrowser.koplugin/listmenu.lua index 7db9cedbc..aa79b7d05 100644 --- a/plugins/coverbrowser.koplugin/listmenu.lua +++ b/plugins/coverbrowser.koplugin/listmenu.lua @@ -141,14 +141,12 @@ function ListMenuItem:init() ges = "tap", range = self.dimen, }, - doc = "Select Menu Item", }, HoldSelect = { GestureRange:new{ ges = "hold", range = self.dimen, }, - doc = "Hold Menu Item", }, } diff --git a/plugins/coverbrowser.koplugin/mosaicmenu.lua b/plugins/coverbrowser.koplugin/mosaicmenu.lua index 5a736e635..ad8ae857d 100644 --- a/plugins/coverbrowser.koplugin/mosaicmenu.lua +++ b/plugins/coverbrowser.koplugin/mosaicmenu.lua @@ -391,14 +391,12 @@ function MosaicMenuItem:init() ges = "tap", range = self.dimen, }, - doc = "Select Menu Item", }, HoldSelect = { GestureRange:new{ ges = "hold", range = self.dimen, }, - doc = "Hold Menu Item", }, } diff --git a/plugins/gestures.koplugin/main.lua b/plugins/gestures.koplugin/main.lua index c022a8a65..b7b99e4e1 100644 --- a/plugins/gestures.koplugin/main.lua +++ b/plugins/gestures.koplugin/main.lua @@ -369,7 +369,6 @@ function Gestures:multiswipeRecorder(touchmenu_instance) w = Screen:getWidth(), h = Screen:getHeight(), }, - doc = "Multiswipe in gesture creator" } } diff --git a/plugins/statistics.koplugin/calendarview.lua b/plugins/statistics.koplugin/calendarview.lua index 928c1780a..757f41f44 100644 --- a/plugins/statistics.koplugin/calendarview.lua +++ b/plugins/statistics.koplugin/calendarview.lua @@ -396,9 +396,9 @@ function CalendarView:init() end if Device:hasKeys() then - self.key_events.Close = {{Input.group.Back}, doc = "close page" } - self.key_events.NextMonth = {{Input.group.PgFwd}, doc = "next page"} - self.key_events.PrevMonth = {{Input.group.PgBack}, doc = "prev page"} + self.key_events.Close = { { Input.group.Back } } + self.key_events.NextMonth = { { Input.group.PgFwd } } + self.key_events.PrevMonth = { { Input.group.PgBack } } end if Device:isTouchDevice() then self.ges_events.Swipe = { diff --git a/plugins/statistics.koplugin/readerprogress.lua b/plugins/statistics.koplugin/readerprogress.lua index 8ead74e09..277c69cc8 100644 --- a/plugins/statistics.koplugin/readerprogress.lua +++ b/plugins/statistics.koplugin/readerprogress.lua @@ -59,11 +59,8 @@ function ReaderProgress:init() return "ui", self.dimen end) if Device:hasKeys() then - self.key_events = { - --don't get locked in on non touch devices - AnyKeyPressed = { { Device.input.group.Any }, - seqtext = "any key", doc = "close dialog" } - } + -- don't get locked in on non touch devices + self.key_events.AnyKeyPressed = { { Device.input.group.Any } } end if Device:isTouchDevice() then self.ges_events.Swipe = { diff --git a/plugins/vocabbuilder.koplugin/main.lua b/plugins/vocabbuilder.koplugin/main.lua index cddb79ed6..e4a48fa60 100644 --- a/plugins/vocabbuilder.koplugin/main.lua +++ b/plugins/vocabbuilder.koplugin/main.lua @@ -154,7 +154,7 @@ local MenuDialog = FocusManager:extend{ function MenuDialog:init() self.layout = {} if Device:hasKeys() then - self.key_events.Close = { { Device.input.group.Back }, doc = "close dialog" } + self.key_events.Close = { { Device.input.group.Back } } end if Device:isTouchDevice() then self.ges_events.Tap = { @@ -412,7 +412,7 @@ local word_info_dialog_width function WordInfoDialog:init() if self.dismissable then if Device:hasKeys() then - self.key_events.Close = { { Device.input.group.Back }, doc = "close dialog" } + self.key_events.Close = { { Device.input.group.Back } } end if Device:isTouchDevice() then self.ges_events.Tap = { @@ -1022,9 +1022,9 @@ function VocabularyBuilderWidget:init() h = self.height or Screen:getHeight(), } if Device:hasKeys() then - self.key_events.Close = { { Device.input.group.Back }, doc = "close dialog" } - self.key_events.NextPage = { { Device.input.group.PgFwd}, doc = "next page"} - self.key_events.PrevPage = { { Device.input.group.PgBack}, doc = "prev page"} + self.key_events.Close = { { Device.input.group.Back } } + self.key_events.NextPage = { { Device.input.group.PgFwd } } + self.key_events.PrevPage = { { Device.input.group.PgBack } } end if Device:isTouchDevice() then self.ges_events.Swipe = { diff --git a/spec/unit/focusmanager_spec.lua b/spec/unit/focusmanager_spec.lua index 3cd050fed..8af9a5a67 100644 --- a/spec/unit/focusmanager_spec.lua +++ b/spec/unit/focusmanager_spec.lua @@ -216,8 +216,8 @@ describe("FocusManager module", function() it("alternative key", function() local focusmanager = FocusManager:new{} focusmanager.extra_key_events = { - Hold = { {"Sym", "AA"}, doc = "tap and hold the widget", event="Hold" }, - HalfFocusUp = { {"Alt", "Up"}, doc = "move focus half columns up", event = "FocusHalfMove", args = {"up"} }, + Hold = { { "Sym", "AA" }, event="Hold" }, + HalfFocusUp = { { "Alt", "Up" }, event = "FocusHalfMove", args = {"up"} }, } local m = Input.modifiers m.Sym = true diff --git a/tools/kobo_touch_probe.lua b/tools/kobo_touch_probe.lua index 6c6a8e6ee..dbebdb15a 100755 --- a/tools/kobo_touch_probe.lua +++ b/tools/kobo_touch_probe.lua @@ -39,12 +39,10 @@ local TouchProbe = InputContainer:extend{ } function TouchProbe:init() - self.ges_events = { - TapProbe = { - GestureRange:new{ - ges = "tap", - } - }, + self.ges_events.TapProbe = { + GestureRange:new{ + ges = "tap", + } } self.image_widget = ImageWidget:new{ file = "tools/kobo-touch-probe.png", diff --git a/tools/wbuilder.lua b/tools/wbuilder.lua index dbcac7bdd..b0f4fd98d 100755 --- a/tools/wbuilder.lua +++ b/tools/wbuilder.lua @@ -129,7 +129,7 @@ Background = InputContainer:new{ key_events = { OpenDialog = { { "Press" } }, OpenConfirmBox = { { "Del" } }, - QuitApplication = { { {"Home","Back"} } } + QuitApplication = { { { "Home", "Back" } } }, }, -- contains a gray rectangular desktop FrameContainer:new{