diff --git a/frontend/ui/widget/inputdialog.lua b/frontend/ui/widget/inputdialog.lua index 5600910bd..8ab3340af 100644 --- a/frontend/ui/widget/inputdialog.lua +++ b/frontend/ui/widget/inputdialog.lua @@ -614,7 +614,6 @@ function InputDialog:onShowKeyboard(ignore_first_hold_release) end -- NOTE: There's no VirtualKeyboard widget instantiated at all when readonly, -- and our input widget handles that itself, so we don't need any guards here. - -- (In which case, isKeyboardVisible will return `nil`, same as if we had a VK instantiated but *never* shown). self._input_widget:onShowKeyboard(ignore_first_hold_release) -- There's a bit of a chicken or egg issue in init where we would like to check the actual keyboard's visibility state, -- but the widget might not exist or be shown yet, so we'll just have to keep this in sync... diff --git a/frontend/ui/widget/inputtext.lua b/frontend/ui/widget/inputtext.lua index 8a080cddf..6c75a0bd1 100644 --- a/frontend/ui/widget/inputtext.lua +++ b/frontend/ui/widget/inputtext.lua @@ -777,6 +777,8 @@ function InputText:isKeyboardVisible() if self.keyboard then return self.keyboard:isVisible() end + -- NOTE: Never return `nil`, to avoid inheritance issues in (Multi)InputDialog's keyboard_visible flag. + return false end function InputText:lockKeyboard(toggle) diff --git a/frontend/ui/widget/virtualkeyboard.lua b/frontend/ui/widget/virtualkeyboard.lua index 37de4bd4a..cf2ff3bb1 100644 --- a/frontend/ui/widget/virtualkeyboard.lua +++ b/frontend/ui/widget/virtualkeyboard.lua @@ -781,7 +781,7 @@ end local VirtualKeyboard = FocusManager:extend{ name = "VirtualKeyboard", - visible = nil, + visible = false, lock_visibility = false, covers_footer = true, modal = true,