view src/ui/bmi/mmiStart.h @ 280:82665effff30

keypad boot init overhaul: handle initially held-down keys This change fixes two previous behavioural defects: 1) On Compal phones, the PWR key had to be released before the boot sequence would proceed at all - it was stuck in an endless IRQ loop at the point of Nucleus enabling interrupts, before anything else. 2) On both Compal and sane platforms including Luna, if some regular non-PWR key was held down at boot time, the boot sequence would proceed and complete normally, but all non-PWR keypad buttons would be dead for the remainder of that boot cycle. The fix is a generic solution - no Compal-specific hack ended up being needed for the special case of their idiotic PWON-to-ROW4 hw wiring.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 24 Sep 2021 00:47:12 +0000
parents d80ee234a573
children
line wrap: on
line source

#ifndef _MMISTART_H_
#define _MMISTART_H_ 1

/*******************************************************************************

                    CONDAT (UK)

********************************************************************************

 This software product is the property of Condat (UK) Ltd and may not be
 disclosed to any third party without the express permission of the owner.

********************************************************************************

 $Project name: Basic MMI
 $Project code: BMI (6349)
 $Module:       Start
 $File:         MmiStart.h
 $Revision:     1.0

 $Author:       Condat(UK)
 $Date:         25/10/00

********************************************************************************

 Description:

    This provides the start code for the MMI

********************************************************************************
 $History: MmiStart.h

    25/10/00            Original Condat(UK) BMI version.

 $End

*******************************************************************************/



/*******************************************************************************

                                Include files

*******************************************************************************/

#include "mfw_win.h"


/*******************************************************************************

                                Interface constants

*******************************************************************************/

typedef enum
{
    PhoneInit = StartDummy,
    FirstTimeNMFound,
    NmSearching
}E_PHONE_EVENTS;


/*******************************************************************************

                                Public methods

*******************************************************************************/

/* pretty standard initialise, execute and exit methods
*/
void startInit( void );
void startExec( int reason, MmiState next );
void startExit( void );


/* returns the handle of the currently focussed window
*/
MfwHnd startWhoIsFocused(void);

/* SPR877 - SH - moved here from .c file */
void showwelcome(T_MFW_HND win);

int mmiStart_animationComplete( void );

/*******************************************************************************

                                End of File

*******************************************************************************/

#endif