#include #include "recovery_ui.h" #include "common.h" #include "extendedcommands.h" int device_toggle_display(volatile char* key_pressed, int key_code) { int alt = key_pressed[KEY_LEFTALT] || key_pressed[KEY_RIGHTALT]; 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 if (ui_get_showing_back_button()) { return 0; //return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_END); } return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_POWER || key_code == KEY_END); } int device_handle_key(int key_code, int visible) { if (visible) { switch (key_code) { case KEY_CAPSLOCK: case KEY_DOWN: case KEY_VOLUMEDOWN: case KEY_MENU: return HIGHLIGHT_DOWN; case KEY_LEFTSHIFT: case KEY_UP: case KEY_VOLUMEUP: case KEY_HOME: return HIGHLIGHT_UP; case KEY_POWER: if (ui_get_showing_back_button()) { return SELECT_ITEM; } if (!get_allow_toggle_display() && ui_menu_level > 0) { return GO_BACK; } break; case KEY_LEFTBRACE: case KEY_ENTER: case BTN_MOUSE: case KEY_CAMERA: case KEY_F21: case KEY_SEND: return SELECT_ITEM; case KEY_END: case KEY_BACKSPACE: case KEY_SEARCH: if (ui_get_showing_back_button()) { return SELECT_ITEM; } if (!get_allow_toggle_display() && ui_menu_level > 0) { return GO_BACK; } case KEY_BACK: if (ui_menu_level > 0) { return GO_BACK; } } } return NO_ACTION; }