mirror of
https://github.com/CTCaer/hekate
synced 2024-11-16 00:49:27 +00:00
autoboot: Support VOL-+ combo for fastboot
This is conditional: In order to not cancel booting while trying to enter fastboot in android, the combo MUST be initiated with `VOL+` (hold) -> `VOL-` (hold)
This commit is contained in:
parent
35e853fd03
commit
943477fdde
2 changed files with 15 additions and 6 deletions
|
@ -998,7 +998,7 @@ skip_list:
|
|||
// Wait before booting. If VOL- is pressed go into bootloader menu.
|
||||
if (!h_cfg.sept_run && !(b_cfg.boot_cfg & BOOT_CFG_FROM_LAUNCH))
|
||||
{
|
||||
btn = btn_wait_timeout(h_cfg.bootwait * 1000, BTN_VOL_DOWN);
|
||||
btn = btn_wait_timeout(h_cfg.bootwait * 1000, BTN_VOL_DOWN | BTN_SINGLE);
|
||||
|
||||
if (btn & BTN_VOL_DOWN)
|
||||
goto out;
|
||||
|
|
|
@ -61,16 +61,25 @@ u8 btn_wait()
|
|||
|
||||
u8 btn_wait_timeout(u32 time_ms, u8 mask)
|
||||
{
|
||||
u8 single_button = mask & BTN_SINGLE;
|
||||
mask &= ~BTN_SINGLE;
|
||||
|
||||
u32 timeout = get_tmr_ms() + time_ms;
|
||||
u8 res = btn_read() & mask;
|
||||
u8 res = btn_read();
|
||||
|
||||
while (get_tmr_ms() < timeout)
|
||||
{
|
||||
if (res == mask)
|
||||
break;
|
||||
if ((res & mask) == mask)
|
||||
{
|
||||
if (single_button && (res & ~mask)) // Undesired button detected.
|
||||
res = btn_read();
|
||||
else
|
||||
return (res & mask);
|
||||
}
|
||||
else
|
||||
res = btn_read() & mask;
|
||||
res = btn_read();
|
||||
};
|
||||
|
||||
return res;
|
||||
// Timed out.
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue