MHEG5  15.3.0
source/core/src/mh5keypress.c File Reference

Keypress functions. More...

#include <glue_memory.h>
#include <glue_debug.h>
#include <glue_queue.h>
#include <glue_main.h>
#include "mheg5_keypress.h"
#include "mh5application.h"
#include "mh5scene.h"
#include "mh5queue.h"
#include "mh5display.h"
#include "mh5entryfield.h"
#include "mh5hypertext.h"
#include "mh5slider.h"
#include "mh5profile.h"
#include "mh5support.h"
#include "mh5keypress.h"

Data Structures

struct  s_keyMask

Typedefs

typedef struct s_keyMask s_keyMask_t

Enumerations

enum  E_FunctionGroup {
  UK_KGRP_COLOURS, UK_KGRP_ARROWS, UK_KGRP_ARRS_DIGITS, UK_KGRP_COLS_ARROWS,
  UK_KGRP_COLS_ARRS_DIGITS, UK_KGRP_COLS_ARRS_DGTS_PVR, NZ_KGRP_COLOURS, NZ_KGRP_COLS_ARRS_DIGITS,
  NZ_KGRP_COLS_ARROWS, OZ_KGRP_COLOURS, OZ_KGRP_COLS_ARRS_DIGITS, OZ_KGRP_COLS_ARROWS
}

Functions

void MHEG5setInputEventRegister (MHEG5Int inputEventRegister)
 Change the input event register. This indicates which keypresses the MHEG-5 engine requires to be passed. See UK 1.05 profile section 3.6 for a description of which keypresses must be passed to MHEG-5 for the different input event register values. These values are likely to change for UK1.06 profile.
BOOLEAN MHEG5_IsKeyNeeded (E_MHEG5_KEY keyPress)
 Enquire from MHEG5 engine about whether a key is needed, without actually passing the key to it.
void MHEG5userInputEvent (S_KeyPressEvent *params)
 Process the UserInput from the system. According to the current profile and the UserInputRegister of the current screen the UserInput is processed. MHEG5mouseMoveEvent.
MHEG5Bool MHEG5IsInputMaskSupported (MHEG5String query_mask)
 Tell whether the set of keys indicated by the input mask is supported by the receiver (this means that every key in the mask is supported).
void MHEG5setInputEventMask (MHEG5String *inputEventMask)
 Change the input mask. This indicates which keypresses the MHEG-5 engine requires to be passed.
BOOLEAN MHEG5_NotifyKeyPress (E_MHEG5_KEY key)
 Notifies the MHEG-5 component of a user key press. The keys shown in section 2.3 of reference [1] are required by the MHEG-5 component. If the key is in a function group that the MHEG-5 application has disabled, then MHEG5_NotifyKeyPress() returns MHEG5_IGNOR_REQUEST. This is a non-blocking function.
void MHEG5PromotionalLinkControl (BOOLEAN isEnabled)
BOOLEAN MHEG5_IsPromotionalLinkingEnabled (void)
 This function is relevant to PVR products that support NativeApplicationExtension for broadcast-triggered native applications, The returned state indicates whether MHEG group 3 keys (CANCEL, RED, GREEN, YELLOW, BLUE, TEXT) may be intercepted by the external application for promotional linking. Only when the state is set to TRUE, can group 3 keys be used for broadcast-triggered native application. If the key is not consumed for this purpose, then it must be presented to MHEG5_NotifyKeyPress(), as normal.
void MHEG5_KeySupportDisabled (E_MHEG5_KEY key)
 Inform MHEG5 engine that key is not supported by the platform or product. By default MHEG5 engine assumes all keys are supported. Call this function after MHEG5_Open().
void MHEG5_KeySupportEnabled (E_MHEG5_KEY key)
 Key press support is enabled. May be called after the key has been disabled by MHEG5_KeySupportDisabled()

Variables

BOOLEAN key_mask_enable [TOTAL_MHEG5_KEYS]
BOOLEAN key_unsupported [TOTAL_MHEG5_KEYS]

Detailed Description

Keypress functions.

Date:
20/12/2012
Author:
Adam Sturtridge

Function Documentation

BOOLEAN MHEG5_IsKeyNeeded ( E_MHEG5_KEY  key)

Enquire from MHEG5 engine about whether a key is needed, without actually passing the key to it.

Parameters:
keyValue of Key press
Returns:
TRUE - MHEG5 is interested in key press

This function is relevant to PVR products that support NativeApplicationExtension for broadcast-triggered native applications, The returned state indicates whether MHEG group 3 keys (CANCEL, RED, GREEN, YELLOW, BLUE, TEXT) may be intercepted by the external application for promotional linking. Only when the state is set to TRUE, can group 3 keys be used for broadcast-triggered native application. If the key is not consumed for this purpose, then it must be presented to MHEG5_NotifyKeyPress(), as normal.

Returns:
TRUE - Promotional linking is allowed FALSE - disable promotional linking.
void MHEG5_KeySupportDisabled ( E_MHEG5_KEY  key)

Inform MHEG5 engine that key is not supported by the platform or product. By default MHEG5 engine assumes all keys are supported. Call this function after MHEG5_Open().

Parameters:
keyValue of Key press
void MHEG5_KeySupportEnabled ( E_MHEG5_KEY  key)

Key press support is enabled. May be called after the key has been disabled by MHEG5_KeySupportDisabled()

Parameters:
keyValue of Key press
BOOLEAN MHEG5_NotifyKeyPress ( E_MHEG5_KEY  key)

Notifies the MHEG-5 component of a user key press. The keys shown in section 2.3 of reference [1] are required by the MHEG-5 component. If the key is in a function group that the MHEG-5 application has disabled, then MHEG5_NotifyKeyPress() returns MHEG5_IGNOR_REQUEST. This is a non-blocking function.

Notify MHEG5 engine of a key press. If FALSE is returned, the external application may use the key.

Parameters:
keyPressEnumerated key press value.
Returns:
MHERR_OK - Success MHERR_REQUEST_IGNORED - key was not consumed MHERR_COMP_NOT_STARTED - Component not started. MHERR_BAD_PARAMETER - Invalid parameter.
MHEG5Bool MHEG5IsInputMaskSupported ( MHEG5String  query_mask)

Tell whether the set of keys indicated by the input mask is supported by the receiver (this means that every key in the mask is supported).

Parameters:
query_maskThe input key mask to check
Returns:
TRUE if the input key mask is supported, FALSE otherwise
void MHEG5setInputEventMask ( MHEG5String inputEventMask)

Change the input mask. This indicates which keypresses the MHEG-5 engine requires to be passed.

Parameters:
inputMaskNew input mask. The input mask is only valid if the input event register is 0.
Returns:
None.
void MHEG5setInputEventRegister ( MHEG5Int  inputEventRegister)

Change the input event register. This indicates which keypresses the MHEG-5 engine requires to be passed. See UK 1.05 profile section 3.6 for a description of which keypresses must be passed to MHEG-5 for the different input event register values. These values are likely to change for UK1.06 profile.

Parameters:
inputEventRegisterNew input event register value. 0 indicates that there is no scene currently running.
Returns:
None.

Process the UserInput from the system. According to the current profile and the UserInputRegister of the current screen the UserInput is processed. MHEG5mouseMoveEvent.

Parameters:
uiUser input.
Returns:
None.
 All Data Structures Files Functions Variables Typedefs Defines