support or devices that do not have a trackball or enter button.
diff --git a/default_recovery_ui.c b/default_recovery_ui.c
index d97caa1..f189da4 100644
--- a/default_recovery_ui.c
+++ b/default_recovery_ui.c
@@ -37,7 +37,11 @@
     if (alt && key_code == KEY_L)
         return 1;
     // allow toggling of the display if the correct key is pressed, and the display toggle is allowed or the display is currently off
+#ifdef KEY_POWER_IS_SELECT_ITEM
+    return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_END);
+#else
     return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_POWER || key_code == KEY_END);
+#endif
 }
 
 int device_reboot_now(volatile char* key_pressed, int key_code) {
@@ -55,6 +59,9 @@
             case KEY_VOLUMEUP:
                 return HIGHLIGHT_UP;
 
+#ifdef KEY_POWER_IS_SELECT_ITEM
+            case KEY_POWER:
+#endif
             case KEY_ENTER:
             case BTN_MOUSE:
             case KEY_CENTER:
@@ -63,7 +70,9 @@
             case KEY_SEND:
                 return SELECT_ITEM;
             
+#ifndef KEY_POWER_IS_SELECT_ITEM
             case KEY_POWER:
+#endif
             case KEY_END:
             case KEY_BACKSPACE:
             case KEY_BACK: