From 03bca5c54d0eb5e57ec06a9b4fb4ec2b3521535e Mon Sep 17 00:00:00 2001 From: Jason Choi Date: Tue, 30 Apr 2024 00:17:52 +0800 Subject: [PATCH] Add dispatchable setting for rotating by 180 degrees --- frontend/device/devicelistener.lua | 5 ++--- frontend/dispatcher.lua | 6 ++++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/frontend/device/devicelistener.lua b/frontend/device/devicelistener.lua index 2235fc052..f54cc8752 100644 --- a/frontend/device/devicelistener.lua +++ b/frontend/device/devicelistener.lua @@ -212,9 +212,8 @@ if not Device:isAlwaysFullscreen() then end end -function DeviceListener:onIterateRotation(ccw) - -- Simply rotate by 90° CW or CCW - local step = ccw and -1 or 1 +function DeviceListener:onIterateRotation(step) + -- Simply rotate by 90° CW (1) or CCW (-1), or 180° (2) local arg = bit.band(Screen:getRotationMode() + step, 3) self.ui:handleEvent(Event:new("SetRotationMode", arg)) return true diff --git a/frontend/dispatcher.lua b/frontend/dispatcher.lua index 3afb94687..fcc364869 100644 --- a/frontend/dispatcher.lua +++ b/frontend/dispatcher.lua @@ -84,8 +84,9 @@ local settingsList = { toggle_gsensor = {category="none", event="ToggleGSensor", title=_("Toggle accelerometer"), device=true, condition=Device:hasGSensor()}, toggle_rotation = {category="none", event="SwapRotation", title=_("Toggle orientation"), device=true}, invert_rotation = {category="none", event="InvertRotation", title=_("Invert rotation"), device=true}, - iterate_rotation = {category="none", event="IterateRotation", title=_("Rotate by 90° CW"), device=true}, - iterate_rotation_ccw = {category="none", event="IterateRotation", arg=true, title=_("Rotate by 90° CCW"), device=true, separator=true}, + iterate_rotation = {category="none", event="IterateRotation", arg=1, title=_("Rotate by 90° CW"), device=true}, + iterate_rotation_ccw = {category="none", event="IterateRotation", arg=-1, title=_("Rotate by 90° CCW"), device=true}, + iterate_rotation_180 = {category="none", event="IterateRotation", arg=2, title=_("Rotate by 180°"), device=true, separator=true}, ---- wifi_on = {category="none", event="InfoWifiOn", title=_("Turn on Wi-Fi"), device=true, condition=Device:hasWifiToggle()}, wifi_off = {category="none", event="InfoWifiOff", title=_("Turn off Wi-Fi"), device=true, condition=Device:hasWifiToggle()}, @@ -306,6 +307,7 @@ local dispatcher_menu_order = { "invert_rotation", "iterate_rotation", "iterate_rotation_ccw", + "iterate_rotation_180", ---- "wifi_on", "wifi_off",