diff --git a/frontend/device/input.lua b/frontend/device/input.lua index 98f4e0099..0c580890b 100644 --- a/frontend/device/input.lua +++ b/frontend/device/input.lua @@ -324,7 +324,8 @@ function Input:handleKeyBoardEv(ev) end -- The hardware camera button is used in Android to toggle the touchscreen - if keycode == "Camera" and ev.value == EVENT_VALUE_KEY_RELEASE then + if keycode == "Camera" and ev.value == EVENT_VALUE_KEY_RELEASE + and G_reader_settings:isTrue("camera_key_toggles_touchscreen") then local isAndroid, android = pcall(require, "android") if isAndroid then -- toggle touchscreen behaviour diff --git a/frontend/ui/elements/common_settings_menu_table.lua b/frontend/ui/elements/common_settings_menu_table.lua index 6d5ffa31e..30453e5b0 100644 --- a/frontend/ui/elements/common_settings_menu_table.lua +++ b/frontend/ui/elements/common_settings_menu_table.lua @@ -220,6 +220,13 @@ if Device:isAndroid() then end, } + -- camera key events + common_settings.android_camera_key = { + text = _("Camera key toggles touchscreen support"), + checked_func = function() return G_reader_settings:isTrue("camera_key_toggles_touchscreen") end, + callback = function() G_reader_settings:flipNilOrFalse("camera_key_toggles_touchscreen") end, + } + -- fullscreen toggle on devices with compatible fullscreen methods (apis 14-18) if Device.firmware_rev < 19 then common_settings.fullscreen = { diff --git a/frontend/ui/elements/filemanager_menu_order.lua b/frontend/ui/elements/filemanager_menu_order.lua index a3f2bb4a4..16f89c37e 100644 --- a/frontend/ui/elements/filemanager_menu_order.lua +++ b/frontend/ui/elements/filemanager_menu_order.lua @@ -53,6 +53,7 @@ local order = { "back_in_filemanager", "enable_back_history", "android_volume_keys", + "android_camera_key", "----------------------------", "invert_page_turn_buttons", }, diff --git a/frontend/ui/elements/reader_menu_order.lua b/frontend/ui/elements/reader_menu_order.lua index bca477d3e..aef64ed21 100644 --- a/frontend/ui/elements/reader_menu_order.lua +++ b/frontend/ui/elements/reader_menu_order.lua @@ -72,6 +72,7 @@ local order = { "back_in_filemanager", "enable_back_history", "android_volume_keys", + "android_camera_key", "----------------------------", "invert_page_turn_gestures", "invert_page_turn_buttons",