| #include <linux/input.h> |
| |
| #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; |
| } |