FreeCalypso > hg > fc-tourmaline
view src/ui/bmi/AUITextEntry.h @ 244:96784b8974eb
Switch_ON(): detect charging mode by CHGPRES bit
Consider the following scenario: the phone is on, the user plugs in
the charger, and then executes the power-off operation. In the Iota
VRPC this sequence translates to a switch-off immediately followed
by another switch-on - but the CHGSTS bit doesn't get set on the second
switch-on cycle! Disassembly of Pirelli's fw shows that they check
the CHGPRES bit, and furthermore, if both CHGPRES and ONBSTS are set,
the code they pass to their modified Power_ON_Button() function is
the one for charging - so let's adopt the same CHGPRES check and
the same priority order for switch-on causes.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 03 May 2021 06:51:29 +0000 |
parents | cbd9aaba48db |
children |
line wrap: on
line source
#ifndef AUITEXTENTRY_H #define AUITEXTENTRY_H /* Key entry information*/ typedef struct { T_MFW_HND win; /* The editor window */ U32 update; /* Event to be sent to the window to update it */ T_ED_DATA *editor; /* Pointer to editor data */ UBYTE Level; /* Alpha level selected */ UBYTE Key; /* Alpha mode current key */ T_MFW_HND editTim; /* The timer for multi-tap */ } T_AUI_ENTRY_DATA; T_AUI_ENTRY_DATA *AUI_entry_Create(T_MFW_HND win, T_ED_DATA *editor, U32 update); void AUI_entry_Destroy(T_AUI_ENTRY_DATA *entry_data); USHORT AUI_entry_EditChar (T_AUI_ENTRY_DATA *entry_data, USHORT alphachar, BOOL multitap); USHORT AUI_entry_EditDigit (T_AUI_ENTRY_DATA *entry_data, UBYTE code); USHORT AUI_entry_EventKey (T_AUI_ENTRY_DATA *entry_data, MfwEvt event, MfwKbd *key); USHORT AUI_entry_GetKeyChar(T_AUI_ENTRY_DATA *entry_data, T_ED_CASE_PREF casePref); void AUI_entry_StopMultitap(T_AUI_ENTRY_DATA *entry_data); #endif