📄 mfw_kbd.h
字号:
/*
+--------------------------------------------------------------------+
| PROJECT: MMI-Framework (8417) $Workfile:: mfw_kbd.h $|
| $Author: zhenggl $ CONDAT GmbH $Revision: 1.2 $|
| CREATED: 21.09.98 $Modtime:: 21.12.99 16:30 $|
| STATE : code |
+--------------------------------------------------------------------+
MODULE : MFW_KBD
PURPOSE : Keyboard types & constants
EXPORT :
TO DO :
$History:: mfw_kbd.h $
*
* ***************** Version 7 *****************
* User: Le Date: 6.01.00 Time: 9:23
* Updated in $/GSM/Condat/MS/SRC/MFW
* Alignment of MFW versions
*
* ***************** Version 2 *****************
* User: Es Date: 22.11.99 Time: 10:29
* Updated in $/GSM/Condat/SND-MMI/MFW
*
* ***************** Version 1 *****************
* User: Es Date: 18.11.99 Time: 16:35
* Created in $/GSM/Condat/SND-MMI/MFW
* Initial
*
* ***************** Version 6 *****************
* User: Es Date: 17.02.99 Time: 20:00
* Updated in $/GSM/DEV/MS/SRC/MFW
*
* ***************** Version 5 *****************
* User: Es Date: 23.12.98 Time: 16:19
* Updated in $/GSM/DEV/MS/SRC/MFW
*/
#ifndef _DEF_MFW_KBD_H_
#define _DEF_MFW_KBD_H_
#include "mfw_mfw.h"
#include "hall.h" //glowing: 2003-12-18 add here
/* KEYMAP DEFINITION */
#define KEY_0 0x00000001
#define KEY_1 0x00000002
#define KEY_2 0x00000004
#define KEY_3 0x00000008
#define KEY_4 0x00000010
#define KEY_5 0x00000020
#define KEY_6 0x00000040
#define KEY_7 0x00000080
#define KEY_8 0x00000100
#define KEY_9 0x00000200
#define KEY_STAR 0x00000400
#define KEY_HASH 0x00000800
#define KEY_VOLUP 0x00001000
#define KEY_VOLDOWN 0x00002000
#define KEY_MNUUP 0x00004000
#define KEY_MNUDOWN 0x00008000
#define KEY_LEFT 0x00010000
#define KEY_RIGHT 0x00020000
#define KEY_CALL 0x00040000
#define KEY_HUP 0x00080000
#define KEY_OK 0x00100000
#define KEY_CLEAR 0x00200000
#define KEY_ABC 0x00400000
#define KEY_POWER 0x00800000
#define KEY_MNULEFT 0x01000000 ///KEY_F1 ZYM
#define KEY_NNURIGHT 0x02000000 ///KEY_F2 ZYM
#define KEY_F3 0x04000000
#define KEY_F4 0x08000000
#define KEY_MAX 0x10000000
#define KEY_AUTO 0x20000000
#define KEY_LONG 0x40000000
#define KEY_MAKE 0x80000000
/* KEYGROUP DEFINITIONS */
#define KEY_DIGITS 0x000003ff
#define KEY_ALL 0x0fffffff
#define KEY_FLAGS 0xe0000000
/* KEYCODE DEFINITION */
#define KCD_0 0
#define KCD_1 1
#define KCD_2 2
#define KCD_3 3
#define KCD_4 4
#define KCD_5 5
#define KCD_6 6
#define KCD_7 7
#define KCD_8 8
#define KCD_9 9
#define KCD_STAR 10
#define KCD_HASH 11
#define KCD_VOLUP 12
#define KCD_VOLDOWN 13
#define KCD_MNUUP 14
#define KCD_MNUDOWN 15
#define KCD_LEFT 16
#define KCD_RIGHT 17
#define KCD_CALL 18
#define KCD_HUP 19
#define KCD_OK 20
#define KCD_CLEAR 21
#define KCD_ABC 22 //virtual key for charging
#define KCD_POWER 23
#define KCD_MNULEFT 24 ///KCD_F1 zym
#define KCD_MNURIGHT 25 ///KCD_F2 zym
//#define KCD_F3 99 /* 2004/06/07 sunsj modify */
#define KCD_F3 26 /* 2004/06/28 glowing modify */
#define KCD_F4 27 //virtual key for hall
#define KCD_MAX 28
#define KCD_AUTO 29
#define KCD_LONG 30
#define KCD_MAKE 31
//is not o.k, to have the same define like "KCD_MAKE"
//#define KCD_MAX 31
#define KEY_CONSUMED 1
#define KEY_PASSED 0
typedef struct MfwKbdTag /* KEYBOARD CONTROL BLOCK */
{
MfwEvt map; /* selection of keys */
MfwEvt key; /* current key */
U8 code; /* current key code */
MfwCb handler; /* event handler */
} MfwKbd;
/* PROTOTYPES */
MfwRes kbdInit (void);
MfwRes kbdExit (void);
MfwCb kbdAlways (MfwCb f);
void kbdTime (long tLong, long tAuto, long tRepeat);
MfwHnd kbdCreate (MfwHnd w, MfwEvt e, MfwCb f);
MfwRes kbdDelete (MfwHnd h);
void kbdSignal (char make, char key);
//Functions to access key presses in the queue
int kbd_getMakeAndKey( char* make, char* key);
int kbd_putMakeAndKey( char make, char key);
int kbd_getNumElements(void);
int kbd_processKeyInput(void);
int kbd_displayUpdateNeeded(void);
void kbd_setDisplayUpdateNeeded(int set);
int kbd_stillProcessingKeys(void);
int HallOnOff(void);
#define PROCESS_EVERY_KEY 1
#define QUEUE_EVERY_KEY 2
#define QUEUE_N_KEYS 3
//The define below also defines the number of keys to be queued
//NB Should be an odd number (above 1) so when swapping between screens,
//the displayed screen changes. (e.g. every third screen is shown)
#define NUM_QUEUE_KEYS 3
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -