常用键的标准名称和分类:
1导航键:包括四个方向键和中间的选择键.
Navigation keys
Arrow up
Arrow down
Arrow left
Arrow right
The Selection key
2软键:包括左软件和右软键.
Softkeys
The left softkey
The right softkey
3电话键:包括拨号键和挂机键
Call handling keys
The Call creation key
The Call termination key
4其他:
应用键(也叫功能键,长按功能键会弹出当前运行的应用的列表,通过其他间实现在应用间切换
按一次功能键可切换到功能表,然后再按可切换到电话待机界面)
ITU-T数字键盘和字母键
删除键(c键)
编辑键(笔形键)
关机键
Other keys
The Applications key
Alphanumeric keypad, with ITU-T numeric
keypad (0-9, *, #) as default.
The Clear key
The Edit key
The Power key
在e32stdkeys.h里面有两个枚举定义TStdScanCode和TKeyCode,
也就是通常说的扫描码和键码。
并不是所有的按键都能够产生键码,但是只要是手机上的按键就有对应的扫描码。
enum TStdScanCode
{
EStdKeyNull=0x00,
EStdKeyBackspace=0x01,
EStdKeyTab=0x02,
EStdKeyEnter=0x03,
EStdKeyEscape=0x04,
EStdKeySpace=0x05,
EStdKeyPrintScreen=0x06,
EStdKeyPause=0x07,
EStdKeyHome=0x08,
EStdKeyEnd=0x09,
EStdKeyPageUp=0x0a,
EStdKeyPageDown=0x0b,
EStdKeyInsert=0x0c,
EStdKeyDelete=0x0d,
EStdKeyLeftArrow=0x0e,
EStdKeyRightArrow=0x0f,
EStdKeyUpArrow=0x10,
EStdKeyDownArrow=0x11,
EStdKeyLeftShift=0x12,
EStdKeyRightShift=0x13,
EStdKeyLeftAlt=0x14,
EStdKeyRightAlt=0x15,
EStdKeyLeftCtrl=0x16,
EStdKeyRightCtrl=0x17,
EStdKeyLeftFunc=0x18,
EStdKeyRightFunc=0x19,
EStdKeyCapsLock=0x1a,
EStdKeyNumLock=0x1b,
EStdKeyScrollLock=0x1c,
EStdKeyF1=0x60,
EStdKeyF2=0x61,
EStdKeyF3=0x62,
EStdKeyF4=0x63,
EStdKeyF5=0x64,
EStdKeyF6=0x65,
EStdKeyF7=0x66,
EStdKeyF8=0x67,
EStdKeyF9=0x68,
EStdKeyF10=0x69,
EStdKeyF11=0x6a,
EStdKeyF12=0x6b,
EStdKeyF13=0x6c,
EStdKeyF14=0x6d,
EStdKeyF15=0x6e,
EStdKeyF16=0x6f,
EStdKeyF17=0x70,
EStdKeyF18=0x71,
EStdKeyF19=0x72,
EStdKeyF20=0x73,
EStdKeyF21=0x74,
EStdKeyF22=0x75,
EStdKeyF23=0x76,
EStdKeyF24=0x77,
EStdKeyXXX=0x78,
EStdKeyComma=0x79,
EStdKeyFullStop=0x7a,
EStdKeyForwardSlash=0x7b,
EStdKeyBackSlash=0x7c,
EStdKeySemiColon=0x7d,
EStdKeySingleQuote=0x7e,
EStdKeyHash=0x7f,
EStdKeySquareBracketLeft=0x80,
EStdKeySquareBracketRight=0x81,
EStdKeyMinus=0x82,
EStdKeyEquals=0x83,
EStdKeyNkpForwardSlash=0x84,
EStdKeyNkpAsterisk=0x85,
EStdKeyNkpMinus=0x86,
EStdKeyNkpPlus=0x87,
EStdKeyNkpEnter=0x88,
EStdKeyNkp1=0x89,
EStdKeyNkp2=0x8a,
EStdKeyNkp3=0x8b,
EStdKeyNkp4=0x8c,
EStdKeyNkp5=0x8d,
EStdKeyNkp6=0x8e,
EStdKeyNkp7=0x8f,
EStdKeyNkp8=0x90,
EStdKeyNkp9=0x91,
EStdKeyNkp0=0x92,
EStdKeyNkpFullStop=0x93,
EStdKeyMenu=0x94,
EStdKeyBacklightOn=0x95,
EStdKeyBacklightOff=0x96,
EStdKeyBacklightToggle=0x97,
EStdKeyIncContrast=0x98,
EStdKeyDecContrast=0x99,
EStdKeySliderDown=0x9a,
EStdKeySliderUp=0x9b,
EStdKeyDictaphonePlay=0x9c,
EStdKeyDictaphoneStop=0x9d,
EStdKeyDictaphoneRecord=0x9e,
EStdKeyHelp=0x9f,
EStdKeyOff=0xa0,
EStdKeyDial=0xa1,
EStdKeyIncVolume=0xa2,
EStdKeyDecVolume=0xa3,
EStdKeyDevice0=0xa4,
EStdKeyDevice1=0xa5,
EStdKeyDevice2=0xa6,
EStdKeyDevice3=0xa7,
EStdKeyDevice4=0xa8,
EStdKeyDevice5=0xa9,
EStdKeyDevice6=0xaa,
EStdKeyDevice7=0xab,
EStdKeyDevice8=0xac,
EStdKeyDevice9=0xad,
EStdKeyDeviceA=0xae,
EStdKeyDeviceB=0xaf,
EStdKeyDeviceC=0xb0,
EStdKeyDeviceD=0xb1,
EStdKeyDeviceE=0xb2,
EStdKeyDeviceF=0xb3,
EStdKeyApplication0=0xb4,
EStdKeyApplication1=0xb5,
EStdKeyApplication2=0xb6,
EStdKeyApplication3=0xb7,
EStdKeyApplication4=0xb8,
EStdKeyApplication5=0xb9,
EStdKeyApplication6=0xba,
EStdKeyApplication7=0xbb,
EStdKeyApplication8=0xbc,
EStdKeyApplication9=0xbd,
EStdKeyApplicationA=0xbe,
EStdKeyApplicationB=0xbf,
EStdKeyApplicationC=0xc0,
EStdKeyApplicationD=0xc1,
EStdKeyApplicationE=0xc2,
EStdKeyApplicationF=0xc3,
EStdKeyYes=0xc4,
EStdKeyNo=0xc5,
EStdKeyIncBrightness=0xc6,
EStdKeyDecBrightness=0xc7,
EStdKeyKeyboardExtend=0xc8
};
enum TKeyCode
{
EKeyNull=0x0000,
EKeyBell=0x0007,
EKeyBackspace=0x0008,
EKeyTab=0x0009,
EKeyLineFeed=0x000a,
EKeyVerticalTab=0x000b,
EKeyFormFeed=0x000c,
EKeyEnter=0x000d,
EKeyEscape=0x001b,
EKeySpace=0x0020,
EKeyDelete=0x007f,
EKeyPrintScreen=ENonCharacterKeyBase,
EKeyPause,
EKeyHome,
EKeyEnd,
EKeyPageUp,
EKeyPageDown,
EKeyInsert,
EKeyLeftArrow,
EKeyRightArrow,
EKeyUpArrow,
EKeyDownArrow,
EKeyLeftShift,
EKeyRightShift,
EKeyLeftAlt,
EKeyRightAlt,
EKeyLeftCtrl,
EKeyRightCtrl,
EKeyLeftFunc,
EKeyRightFunc,
EKeyCapsLock,
EKeyNumLock,
EKeyScrollLock,
EKeyF1,
EKeyF2,
EKeyF3,
EKeyF4,
EKeyF5,
EKeyF6,
EKeyF7,
EKeyF8,
EKeyF9,
EKeyF10,
EKeyF11,
EKeyF12,
EKeyF13,
EKeyF14,
EKeyF15,
EKeyF16,
EKeyF17,
EKeyF18,
EKeyF19,
EKeyF20,
EKeyF21,
EKeyF22,
EKeyF23,
EKeyF24,
EKeyOff,
EKeyIncContrast,
EKeyDecContrast,
EKeyBacklightOn,
EKeyBacklightOff,
EKeyBacklightToggle,
EKeySliderDown,
EKeySliderUp,
EKeyMenu,
EKeyDictaphonePlay,
EKeyDictaphoneStop,
EKeyDictaphoneRecord,
EKeyHelp,
EKeyDial,
EKeyScreenDimension0,
EKeyScreenDimension1,
EKeyScreenDimension2,
EKeyScreenDimension3,
EKeyIncVolume,
EKeyDecVolume,
EKeyDevice0,
EKeyDevice1,
EKeyDevice2,
EKeyDevice3,
EKeyDevice4,
EKeyDevice5,
EKeyDevice6,
EKeyDevice7,
EKeyDevice8,
EKeyDevice9,
EKeyDeviceA,
EKeyDeviceB,
EKeyDeviceC,
EKeyDeviceD,
EKeyDeviceE,
EKeyDeviceF,
EKeyApplication0,
EKeyApplication1,
EKeyApplication2,
EKeyApplication3,
EKeyApplication4,
EKeyApplication5,
EKeyApplication6,
EKeyApplication7,
EKeyApplication8,
EKeyApplication9,
EKeyApplicationA,
EKeyApplicationB,
EKeyApplicationC,
EKeyApplicationD,
EKeyApplicationE,
EKeyApplicationF,
EKeyYes,
EKeyNo,
EKeyIncBrightness,
EKeyDecBrightness,
EKeyKeyboardExtend
};
EStdKeyNkp0到EStdKeyNkp9和对应于数字键0到9
在uikon.hrh里面对TKeyCode又进行了一个映射定义:
#define EKeyOK EKeyDevice3
#define EKeyCBA1 EKeyDevice0
#define EKeyCBA2 EKeyDevice1
#define EKeyPhoneSend EKeyYes
#define EKeyPhoneEnd EKeyNo
#define EKeyApplication EKeyApplication0
#define EKeyPowerOff EKeyDevice2
#define EKeyGripOpen EKeyDevice4
#define EKeyGripClose EKeyDevice5
#define EKeySide EKeyDevice6 // Voice
key
#define EKeyCamera EKeyDevice7
#define EKeyVolumeUp EKeyIncVolume
#define EKeyVolumeDown EKeyDecVolume
#define EKeyFlipOpen EKeyDeviceA
#define EKeyFlipClose EKeyDeviceB
各个定义和键的关系如下图所示.