41 #ifdef INCLUDE_SA_PROFILE 53 #define INCLUDE_AU_PROFILE 54 #define INCLUDE_NZ_PROFILE 204 static U32BIT last_keyset = 0;
214 #ifdef INCLUDE_FREESAT 217 #ifdef INCLUDE_NZ_PROFILE 223 #ifdef INCLUDE_AU_PROFILE 236 switch (key_input_reg)
301 if (last_keyset != keyset)
304 last_keyset = keyset;
322 switch (inputEventRegister)
326 inputAcceptFn = IsKeypressInMask;
342 inputAcceptFn = Register3Accept;
347 inputAcceptFn = Register4Accept;
352 inputAcceptFn = Register5Accept;
357 inputAcceptFn = Register6Accept;
360 #ifdef INCLUDE_FREESAT 365 inputAcceptFn = Register7Accept;
369 inputAcceptFn = Register3Accept;
374 #ifdef INCLUDE_NZ_PROFILE 379 inputAcceptFn = Register13Accept;
383 inputAcceptFn = Register3Accept;
390 inputAcceptFn = Register14Accept;
394 inputAcceptFn = Register4Accept;
401 inputAcceptFn = Register15Accept;
405 inputAcceptFn = Register5Accept;
413 inputAcceptFn = Register16Accept;
417 inputAcceptFn = Register6Accept;
422 #ifdef INCLUDE_AU_PROFILE 427 inputAcceptFn = Register33Accept;
431 inputAcceptFn = Register3Accept;
439 inputAcceptFn = Register34Accept;
443 inputAcceptFn = Register4Accept;
451 inputAcceptFn = Register35Accept;
455 inputAcceptFn = Register5Accept;
461 #ifdef NOTIFY_KEYPRESS_REQ 462 DVB_MhegSetInputRegister(inputEventRegister);
465 key_input_reg = inputEventRegister;
477 #ifdef INCLUDE_SA_PROFILE 488 accepted = inputAcceptFn(keyPress);
492 TRACE(TKEYS, (
"No scene for key %d", keyPress))
521 #ifdef INCLUDE_SA_PROFILE 531 MHEG5StartInfoApp(
FALSE);
537 TRACE(TKEYS, (
"No Scene - ignoring key %d", ui));
543 TRACE(TKEYS, (
"No Scene - ignoring key %d", ui))
546 else if (!inputAcceptFn(ui))
549 TRACE(TKEYS, (
"key %d not included in input register", ui))
569 TRACE(TKEYS, (
"got key %d", ui))
606 #ifndef INCLUDE_FREESAT 716 #ifdef INCLUDE_RECORD_KEY 750 #ifdef INCLUDE_RECORD_KEY 774 #ifdef INCLUDE_RECORD_KEY 818 #ifdef INCLUDE_RECORD_KEY 827 #ifdef INCLUDE_FREESAT 864 #ifdef INCLUDE_RECORD_KEY 875 #ifdef INCLUDE_NZ_PROFILE 991 #ifdef INCLUDE_AU_PROFILE 1089 mask_byte = key_mask_values[index].
byte;
1091 if (untested_bits.
len > mask_byte)
1093 if (untested_bits.
data[mask_byte] & key_mask_values[index].
bit)
1102 untested_bits.
data[mask_byte] &= ~key_mask_values[index].
bit;
1107 for (index = 0; index < untested_bits.
len; index++)
1110 if (untested_bits.
data[index])
1117 #ifdef NOTIFY_KEYSET 1120 return mask_supported;
1150 #ifdef NOTIFY_KEYPRESS_REQ 1156 keyMask = key_mask_values;
1157 len = inputEventMask->
len;
1160 byte = keyMask->
byte;
1161 if ((byte < len) && (keyMask->
bit & inputEventMask->
data[byte]) != 0)
1188 #ifdef NOTIFY_KEYPRESS_REQ 1202 #ifdef NOTIFY_KEYPRESS_REQ 1204 DVB_MhegSetInputMask(mask, count);
1220 TRACE(TKEYS | TMHAPI, (
"Keypress( %d ) IGNORED\n", key));
1226 TRACE(TKEYS | TMHAPI, (
"Keypress( %d ) IGNORED\n", key));
1232 TRACE(TKEYS | TMHAPI, (
"Keypress( %d ) IGNORED\n", key));
1241 TRACE(TKEYS | TMHAPI, (
"Keypress( %d ) IGNORED\n", key));
1250 if (promotional_linking_enabled != isEnabled)
1252 promotional_linking_enabled = isEnabled;
1271 return promotional_linking_enabled;
BOOLEAN key_mask_enable[TOTAL_MHEG5_KEYS]
Implement MHEG5 engine control functions (i.e. start/stop etc)
E_MhegErr VQ_PutMsg(S_MhegMessage *pMsg, E_PRIORITY priority)
Post event or section message on queue. Copies data into queue.
void MHEG5sliderEXIT(MHEG5Slider *slider)
Perform action of exit key on interacting Slider.
BOOLEAN MH5GlueActiveState(void)
MHEG5Interactible interactible
Implement the MHEG5 Hypertext Class. The HyperText class is a subclass of the Text class...
void MHEG5NotifyEvent(E_MhegEvent event, U32BIT data)
F_MSG_PROCESS proc_msg_func
void MHEG5_KeySupportDisabled(E_MHEG5_KEY key)
Inform MHEG5 engine that key is not supported by the platform or product. By default MHEG5 engine ass...
BOOLEAN MHEG5_IsPromotionalLinkingEnabled(void)
This function is relevant to PVR products that support NativeApplicationExtension for broadcast-trigg...
void MHEG5sliderUP(MHEG5Slider *slider)
Perform action of up arrow key on interacting Slider.
void DVB_MhegPromotionalLinkControl(BOOLEAN isEnabled)
This function is relevant to PVR products that support NativeApplicationExtension for broadcast-trigg...
struct s_keyMask s_keyMask_t
MHEG5String MHEG5stringCopy(MHEG5String source)
<Function description>="">
Implement the MHEG5 Slider Class. Slider Class. Defines the behaviour of sliders. Base class: Visible...
void MHEG5stringDestruct(MHEG5String *item)
Destruct a MHEG5String.
void MHEG5setInputEventMask(MHEG5String *inputEventMask)
Change the input mask. This indicates which keypresses the MHEG-5 engine requires to be passed...
void(* F_MSG_PROCESS)(void *data)
Function to Process voyager message.
void MHEG5hypertextUP(MHEG5Hypertext *hypertext)
This file defines the profile for the MHEG engine.
void MHEG5sliderDOWN(MHEG5Slider *slider)
Perform action of down arrow key on interacting Slider.
#define MHEG5displayRedraw(v)
void MHEG5PromotionalLinkControl(BOOLEAN isEnabled)
void MHEG5sliderRIGHT(MHEG5Slider *slider)
Perform action of right arrow key on interacting Slider.
BOOLEAN key_unsupported[TOTAL_MHEG5_KEYS]
Event handling. Implementation of a combined queue for events and actions. This is the eventsystem wh...
MHEG5Bool MHEG5IsInputMaskSupported(MHEG5String query_mask)
Tell whether the set of keys indicated by the input mask is supported by the receiver (this means tha...
void MHEG5hypertextDOWN(MHEG5Hypertext *hypertext)
MHEG5Bool interactionStatus
BOOLEAN MHEG5_IsKeyNeeded(E_MHEG5_KEY keyPress)
Enquire from MHEG5 engine about whether a key is needed, without actually passing the key to it...
Implementation of the MHEG5 Application Class Defines a set of Ingredient objects, which are shared within an application scope. Base class: Group Subclasses: None Status: Concrete class.
Implementation of the MHEG5 Scene Class Scene Class Defines a set of Ingredient objects to be activat...
void MHEG5interactibleInteractionCompleted(MHEG5Interactible *interactible, MHEG5Root *item)
MHEG5Bool MH5_SupportMhegProfile(E_MHEG_PROFILE profile)
Return whether Mheg profile (UK, NZ, AU, HK, SA, FREESAT) is currently supported. ...
MHEG5Scene * MHEG5getCurrentScene(void)
<Function description>="">
Key press interface with MHEG5 engine.
void MHEG5sendEvent(MHEG5Root *source, MHEG5EventType event, MHEG5Int data)
Store an event in the asynchronous event queue.
void MHEG5sliderLEFT(MHEG5Slider *slider)
Perform action of left arrow key on interacting Slider.
MHEG5Root * currentInteractible
BOOLEAN MH5GlueIsStarted(void)
void MHEG5userInputEvent(S_KeyPressEvent *params)
Process the UserInput from the system. According to the current profile and the UserInputRegister of ...
BOOLEAN MHEG5_NotifyKeyPress(E_MHEG5_KEY key)
Notify MHEG5 engine of a key press. If FALSE is returned, the external application may use the key...
Implement generic MHEG5-display functions - independent from the OSD These are generic functions used...
void MHEG5setInputEventRegister(MHEG5Int inputEventRegister)
Change the input event register. This indicates which keypresses the MHEG-5 engine requires to be pas...
union s_mhg_message::@13 data
void MHEG5_KeySupportEnabled(E_MHEG5_KEY key)
Key press support is enabled. May be called after the key has been disabled by MHEG5_KeySupportDisabl...
void MHEG5entryfieldUserInput(MHEG5Entryfield *entryfield, E_MHEG5_KEY ui)
Test user input and perform required actions.
void MHEG5hypertextSELECT(MHEG5Hypertext *hypertext)
Key Press related functionality.
void MH5GlueAddPostProcessFunc(F_PostProcess func)
Engine support utility functions for MHEG5.
Implement the MHEG5 EntryField Class. Defines an interaction widget used by the final user to edit an...
MHEG5Application * MHEG5getCurrentApplication(void)
<Function description>="">