⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scvkengus1.cpp

📁 Windows CE 6.0 BSP for VOIPAC Board (PXA270) Version 2b.
💻 CPP
📖 第 1 页 / 共 3 页
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright (c) 1995-1998  Microsoft Corporation

@doc    EXTERNAL

@module scvkengus1.cpp |

Sample implementation of the keyboard platform dependent scan code to
Virtual Key mapping for keyboard driver.

Exports ScanCodeToVKey for the PDD to use to map scan codes to virtual
keys.  A version of this will be needed for every physical/virtual key
configuration.

*/

#include <windows.h>
#include <keybddr.h>

#ifdef OSV_SP
#include <winuserm.h>
#endif

#define PROFILE 1
#ifdef PROFILE
extern "C" void ProfileStart(DWORD,DWORD);
extern "C" void ProfileStop(void);
#endif

#define	ScanCodeTableLast	0xBf

#ifdef BSP_NOFASTTAPKP
#ifdef OSV_SP
const UINT8  ScanCodeToVKeyTable[ScanCodeTableLast+1] =
{
	VK_T1,			// Scan Code 0x0		//	Bulverde KeyPad	'1'
	VK_T2,			// Scan Code 0x1		//	Bulverde KeyPad	'2'
	VK_T3,			// Scan Code 0x2		//	Bulverde KeyPad	'3'	
	'2',			// Scan Code 0x3
	VK_UP,			// Scan Code 0x4		
	'4',			// Scan Code 0x5
	VK_DOWN,		// Scan Code 0x6		
	'6',			// Scan Code 0x7
	VK_LEFT,		// Scan Code 0x8		
	'8',			// Scan Code 0x9
	VK_TEND,		// Scan Code 0xA		//	Bulverde Keypad Rotary key scroll up		
	VK_TBACK,		// Scan Code 0xB		//	Bulverde keypad Rotary key scroll down
	VK_TTALK,		// Scan Code 0xC		//	Bulverde keypad Rotary key Action.
	VK_EQUAL,		// Scan Code 0xD
	'3',			// Scan Code 0xE		
	VK_TAB,			// Scan Code 0xF


	VK_T4,			// Scan Code 0x10		//	Bulverde KeyPad	'4'		
	VK_T5,			// Scan Code 0x11		//	Bulverde KeyPad	'5'
	VK_T6,			// Scan Code 0x12		//	Bulverde KeyPad	'6'		
	'R',			// Scan Code 0x13
	'T',			// Scan Code 0x14
	'Y',			// Scan Code 0x15
	'U',			// Scan Code 0x16
	'I',			// Scan Code 0x17
	'O',			// Scan Code 0x18
	'P',			// Scan Code 0x19
	VK_LBRACKET,	// Scan Code 0x1A
	VK_RBRACKET,	// Scan Code 0x1B
	VK_RETURN,		// Scan Code 0x1C
	VK_LCONTROL,	// Scan Code 0x1D
	'A',			// Scan Code 0x1E
	'S',			// Scan Code 0x1F


	VK_T7,			// Scan Code 0x20		//	Bulverde KeyPad	'7'		
	VK_T8,			// Scan Code 0x21		//	Bulverde KeyPad	'8'
	VK_T9,			// Scan Code 0x22		//	Bulverde KeyPad	'9'
	'H',			// Scan Code 0x23
	'6',			// Scan Code 0x24		
	'K',			// Scan Code 0x25
	'5',			// Scan Code 0x26		
	VK_SEMICOLON,	// Scan Code 0x27
	'4',			// Scan Code 0x28		
	VK_BACKQUOTE,	// Scan Code 0x29
	VK_F2,			// Scan Code 0x2A		
	VK_BACKSLASH,	// Scan Code 0x2B
	'C',			// Scan Code 0x2C		
	'X',			// Scan Code 0x2D
	'9',			// Scan Code 0x2E		
	'V',			// Scan Code 0x2F


	VK_TSTAR,		// Scan Code 0x30		// Bulverde KeyPad '*'		
	VK_T0,			// Scan Code 0x31		// Bulverde KeyPad '0'
	VK_TPOUND,		// Scan Code 0x32		// Bulverde KeyPad '#'
	VK_COMMA,		// Scan Code 0x33
	VK_PERIOD,		// Scan Code 0x34
	VK_SLASH,		// Scan Code 0x35
	VK_RSHIFT,		// Scan Code 0x36
	VK_MULTIPLY,	// Scan Code 0x37
	VK_LMENU,		// Scan Code 0x38
	VK_SPACE,		// Scan Code 0x39
	VK_CAPITAL,		// Scan Code 0x3A
	VK_F1,			// Scan Code 0x3B
	VK_F2,			// Scan Code 0x3C
	VK_F3,			// Scan Code 0x3D
	VK_F4,			// Scan Code 0x3E
	VK_F5,			// Scan Code 0x3F


	VK_TSOFT1,		// Scan Code 0x40		// Bvd Keypad '1' remapped to F1			
	VK_TUP,			// Scan Code 0x41		// Bvd Keypad '2' remapped to up arrow			
	VK_TSOFT2,		// Scan Code 0x42		// Bvd Keypad '3' remapped to F2			
	VK_F9,			// Scan Code 0x43										
	VK_OFF,			// Scan Code 0x44		
	VK_NUMLOCK,		// Scan Code 0x45
	'0',			// Scan Code 0x46		
	VK_NUMPAD7,		// Scan Code 0x47
	VK_MULTIPLY,	// Scan Code 0x48		
	VK_NUMPAD9,		// Scan Code 0x49
 	VK_TVOLUMEUP,	// Scan Code 0x4A		// Bvd Keypad SCROLL UP remapped to VOLUME UP			
	VK_TVOLUMEDOWN,	// Scan Code 0x4B		// Bvd Keypad SCROLL DOWN remapped to VOLUME DOWN			
	VK_TACTION,		// Scan Code 0x4C		// Bvd Keypad ACTION remapped to ACTION for now , change to POWER later			
	VK_NUMPAD6,		// Scan Code 0x4D
	VK_ADD,			// Scan Code 0x4E
	VK_NUMPAD1,		// Scan Code 0x4F


	VK_TLEFT,		// Scan Code 0x50		// Bvd Keypad '4' remapped to left arrow			
	VK_TACTION,		// Scan Code 0x51		// Bvd Keypad '5' remapped to action			
	VK_TRIGHT,		// Scan Code 0x52		// Bvd Keypad '6' remapped to right arrow		
	VK_DECIMAL,		// Scan Code 0x53
	VK_SNAPSHOT,	// Scan Code 0x54
	0,				// Scan Code 0x55
	0,				// Scan Code 0x56
	VK_F11,			// Scan Code 0x57
	VK_F12,			// Scan Code 0x58
	0,				// Scan Code 0x59
	0,				// Scan Code 0x5A
	VK_LWIN,		// Scan Code 0x5B
	VK_RWIN,		// Scan Code 0x5C
	VK_APPS,		// Scan Code 0x5D
	0,				// Scan Code 0x5E
	0,				// Scan Code 0x5F

	VK_THOME,		// Scan Code 0x60		// Bvd Keypad '7' remapped to HOME		
	VK_TDOWN,		// Scan Code 0x61		// Bvd Keypad '8' remapped to DOWN		
	VK_TBACK,		// Scan Code 0x62		// Bvd Keypad '9' remapped to BACK		
	VK_HELP,		// Scan Code 0x63
	VK_F13,			// Scan Code 0x64
	VK_F14,			// Scan Code 0x65
	VK_F15,			// Scan Code 0x66
	VK_F16,			// Scan Code 0x67
	VK_F17,			// Scan Code 0x68
	VK_F18,			// Scan Code 0x69
	VK_F19,			// Scan Code 0x6A
	VK_F20,			// Scan Code 0x6B
	VK_F21,			// Scan Code 0x6C
	VK_F22,			// Scan Code 0x6D
	VK_F23,			// Scan Code 0x6E
	0,				// Scan Code 0x6F

	VK_TTALK,		// Scan Code 0x70		// Bvd Keypad '*' remapped to TALK		
	VK_T0,			// Scan Code 0x71		// Bvd Keypad '0' remapped to HOME		
	VK_TEND,		// Scan Code 0x72		// Bvd Keypad '#' remapped to END		
	0,				// Scan Code 0x73
	0,				// Scan Code 0x74
	0,				// Scan Code 0x75
	VK_F24,			// Scan Code 0x76
	0,				// Scan Code 0x77
	0,				// Scan Code 0x78
	0,				// Scan Code 0x79
	0,				// Scan Code 0x7A
	0,				// Scan Code 0x7B
	0,				// Scan Code 0x7C
	0,				// Scan Code 0x7D
	0,				// Scan Code 0x7E
	0,				// Scan Code 0x7F
};

#else // else #ifdef OSV_SP

const UINT8  ScanCodeToVKeyTable[ScanCodeTableLast+1] =
{
	'1',			// Scan Code 0x0		//	Bulverde KeyPad	'1'
	'2',			// Scan Code 0x1		//	Bulverde KeyPad	'2'
	'3',			// Scan Code 0x2		//	Bulverde KeyPad	'3'	
	'2',			// Scan Code 0x3
	VK_UP,			// Scan Code 0x4		
	'4',			// Scan Code 0x5
	VK_DOWN,		// Scan Code 0x6		
	'6',			// Scan Code 0x7
	VK_LEFT,		// Scan Code 0x8		
	'8',			// Scan Code 0x9
	VK_UP,			// Scan Code 0xA		//	Bulverde Keypad Rotary key scroll up		
	VK_DOWN,		// Scan Code 0xB		//	Bulverde keypad Rotary key scroll down
	VK_RETURN,		// Scan Code 0xC		//	Bulverde keypad Rotary key Action.
	VK_EQUAL,		// Scan Code 0xD
	'3',			// Scan Code 0xE		
	VK_TAB,			// Scan Code 0xF


	'4',			// Scan Code 0x10		//	Bulverde KeyPad	'4'		
	'5',			// Scan Code 0x11		//	Bulverde KeyPad	'5'
	'6',			// Scan Code 0x12		//	Bulverde KeyPad	'6'		
	'R',			// Scan Code 0x13
	'T',			// Scan Code 0x14
	'Y',			// Scan Code 0x15
	'U',			// Scan Code 0x16
	'I',			// Scan Code 0x17
	'O',			// Scan Code 0x18
	'P',			// Scan Code 0x19
	VK_LBRACKET,	// Scan Code 0x1A
	VK_RBRACKET,	// Scan Code 0x1B
	VK_RETURN,		// Scan Code 0x1C
	VK_LCONTROL,	// Scan Code 0x1D
	'A',			// Scan Code 0x1E
	'S',			// Scan Code 0x1F


	'7',			// Scan Code 0x20		//	Bulverde KeyPad	'7'		
	'8',			// Scan Code 0x21		//	Bulverde KeyPad	'8'
	'9',			// Scan Code 0x22		//	Bulverde KeyPad	'9'
	'H',			// Scan Code 0x23
	'6',			// Scan Code 0x24		
	'K',			// Scan Code 0x25
	'5',			// Scan Code 0x26		
	VK_SEMICOLON,	// Scan Code 0x27
	'4',			// Scan Code 0x28		
	VK_BACKQUOTE,	// Scan Code 0x29
	VK_F2,			// Scan Code 0x2A		
	VK_BACKSLASH,	// Scan Code 0x2B
	'C',			// Scan Code 0x2C		
	'X',			// Scan Code 0x2D
	'9',			// Scan Code 0x2E		
	'V',			// Scan Code 0x2F


	VK_MULTIPLY,	// Scan Code 0x30		// Bulverde KeyPad '*'		
	'0',			// Scan Code 0x31		// Bulverde KeyPad '0'
	'A',			// Scan Code 0x32		// Bulverde KeyPad '#'
	VK_COMMA,		// Scan Code 0x33
	VK_PERIOD,		// Scan Code 0x34
	VK_SLASH,		// Scan Code 0x35
	VK_RSHIFT,		// Scan Code 0x36
	VK_MULTIPLY,	// Scan Code 0x37
	VK_LMENU,		// Scan Code 0x38
	VK_SPACE,		// Scan Code 0x39
	VK_CAPITAL,		// Scan Code 0x3A
	VK_F1,			// Scan Code 0x3B
	VK_F2,			// Scan Code 0x3C
	VK_F3,			// Scan Code 0x3D
	VK_F4,			// Scan Code 0x3E
	VK_F5,			// Scan Code 0x3F


	VK_LWIN,		// Scan Code 0x40		// For Merlin remapped to Windows key
	VK_UP,			// Scan Code 0x41		// For Merlin remapped to UP key
	VK_TAB,			// Scan Code 0x42		// For Merlin remapped to Tab key
	VK_F9,			// Scan Code 0x43										
	VK_OFF,			// Scan Code 0x44		
	VK_NUMLOCK,		// Scan Code 0x45
	'0',			// Scan Code 0x46		
	VK_NUMPAD7,		// Scan Code 0x47
	VK_MULTIPLY,	// Scan Code 0x48		
	VK_NUMPAD9,		// Scan Code 0x49
 	VK_UP,			// Scan Code 0x4A		// For Merlin remapped to UP key
	VK_DOWN,		// Scan Code 0x4B		// For Merlin remapped to DOWN key
	VK_ESCAPE,		// Scan Code 0x4C		// For Merlin remapped to Return key
	VK_NUMPAD6,		// Scan Code 0x4D
	VK_ADD,			// Scan Code 0x4E
	VK_NUMPAD1,		// Scan Code 0x4F


	VK_LEFT,		// Scan Code 0x50		// For Merlin remapped to Backspace key
	VK_RETURN,		// Scan Code 0x51		// For Merlin remapped to Enter key
	VK_RIGHT,		// Scan Code 0x52		// For Merlin remapped to Right Arrow key
	VK_DECIMAL,		// Scan Code 0x53
	VK_SNAPSHOT,	// Scan Code 0x54
	0,				// Scan Code 0x55
	0,				// Scan Code 0x56
	VK_F11,			// Scan Code 0x57
	VK_F12,			// Scan Code 0x58
	0,				// Scan Code 0x59
	0,				// Scan Code 0x5A
	VK_LWIN,		// Scan Code 0x5B
	VK_RWIN,		// Scan Code 0x5C
	VK_APPS,		// Scan Code 0x5D
	0,				// Scan Code 0x5E
	0,				// Scan Code 0x5F

	VK_BACK,		// Scan Code 0x60		// For Merlin remapped to Back space key
	VK_DOWN,		// Scan Code 0x61		// For Merlin remapped to Down Arrow key
	VK_SPACE,		// Scan Code 0x62		// For Merlin remapped to Space key
	VK_HELP,		// Scan Code 0x63
	VK_F13,			// Scan Code 0x64
	VK_F14,			// Scan Code 0x65
	VK_F15,			// Scan Code 0x66
	VK_F16,			// Scan Code 0x67
	VK_F17,			// Scan Code 0x68
	VK_F18,			// Scan Code 0x69
	VK_F19,			// Scan Code 0x6A
	VK_F20,			// Scan Code 0x6B
	VK_F21,			// Scan Code 0x6C
	VK_F22,			// Scan Code 0x6D
	VK_F23,			// Scan Code 0x6E
	0,				// Scan Code 0x6F

	VK_HOME,			// Scan Code 0x70		// For Merlin remapped to ALT key
	VK_LCONTROL,		// Scan Code 0x71		// For Merlin remapped to Control key
	VK_END,			// Scan Code 0x72		// For Merlin remapped to F4 key
	0,				// Scan Code 0x73
	0,				// Scan Code 0x74
	0,				// Scan Code 0x75
	VK_F24,			// Scan Code 0x76
	0,				// Scan Code 0x77
	0,				// Scan Code 0x78
	0,				// Scan Code 0x79
	0,				// Scan Code 0x7A
	0,				// Scan Code 0x7B
	0,				// Scan Code 0x7C
	0,				// Scan Code 0x7D
	0,				// Scan Code 0x7E
	0,				// Scan Code 0x7F
};
#endif	// end #ifdef OSV_SP

#else  //  else #ifdef BSP_NOFASTTAPKP

// fast tap key pad scan codes
#ifndef OSV_SP
const UINT8  ScanCodeToVKeyTable[ScanCodeTableLast+1] =
{
	'A',			// Scan Code 0x0		//	Bulverde KeyPad	'1'
	'G',			// Scan Code 0x1		//	Bulverde KeyPad	'2'
	'M',			// Scan Code 0x2		//	Bulverde KeyPad	'3'	
	'S',			// Scan Code 0x3
	VK_PERIOD,		// Scan Code 0x4		
	VK_HOME,		// Scan Code 0x5
	VK_UP,		   	// Scan Code 0x6		
	0,				// Scan Code 0x7
	0,				// Scan Code 0x8		
	0,				// Scan Code 0x9
	VK_UP,			// Scan Code 0xA		//	Bulverde Keypad Rotary key scroll up		
	VK_DOWN,		// Scan Code 0xB		//	Bulverde keypad Rotary key scroll down
	VK_RETURN,		// Scan Code 0xC		//	Bulverde keypad Rotary key Action.
	0,				// Scan Code 0xD
	0,				// Scan Code 0xE		
    0,				// Scan Code 0xF


	'B',			// Scan Code 0x10		//	Bulverde KeyPad	'4'		
	'H',			// Scan Code 0x11		//	Bulverde KeyPad	'5'
	'N',			// Scan Code 0x12		//	Bulverde KeyPad	'6'		
	'T',			// Scan Code 0x13
	VK_NUMPAD2,	 	// Scan Code 0x14
	VK_CAPITAL,	   	// Scan Code 0x15
	VK_DOWN,   		// Scan Code 0x16
	0,				// Scan Code 0x17
	0,				// Scan Code 0x18
	0,				// Scan Code 0x19
	0,				// Scan Code 0x1A
	0,				// Scan Code 0x1B
	0,				// Scan Code 0x1C
	0,				// Scan Code 0x1D
	0,				// Scan Code 0x1E
	0,				// Scan Code 0x1F


	'C',			// Scan Code 0x20		//	Bulverde KeyPad	'7'		
	'I',			// Scan Code 0x21		//	Bulverde KeyPad	'8'
	'O',			// Scan Code 0x22		//	Bulverde KeyPad	'9'
	'U',			// Scan Code 0x23
	'Y',			// Scan Code 0x24		
	VK_SPACE,	 	// Scan Code 0x25
	VK_LEFT,		// Scan Code 0x26		
	0,				// Scan Code 0x27
	0,				// Scan Code 0x28		
	0,				// Scan Code 0x29
	0,				// Scan Code 0x2A		
	0,				// Scan Code 0x2B
	0,				// Scan Code 0x2C		
	0,				// Scan Code 0x2D
	0,				// Scan Code 0x2E		
	0,				// Scan Code 0x2F

	'D',			// Scan Code 0x30		// Bulverde KeyPad '*'		
	'J',			// Scan Code 0x31		// Bulverde KeyPad '0'
	'P',			// Scan Code 0x32		// Bulverde KeyPad '#'
	'V',			// Scan Code 0x33
	'Z',			// Scan Code 0x34
	VK_SPACE,		// Scan Code 0x35
	VK_RIGHT,		// Scan Code 0x36
	0,				// Scan Code 0x37
	0,				// Scan Code 0x38
	0,				// Scan Code 0x39
	0,				// Scan Code 0x3A
	0,				// Scan Code 0x3B
	0,				// Scan Code 0x3C
	0,				// Scan Code 0x3D
	0,				// Scan Code 0x3E
	0,				// Scan Code 0x3F


	'E',			// Scan Code 0x40		// Bvd Keypad '1' remapped to F1			
	'K',			// Scan Code 0x41		// Bvd Keypad '2' remapped to up arrow			
	'Q',			// Scan Code 0x42		// Bvd Keypad '3' remapped to F2			
	'W',			// Scan Code 0x43										
	VK_SLASH,		// Scan Code 0x44		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -