Ejemplo n.º 1
0
uint32 FHTML5Misc::GetKeyMap(uint16* KeyCodes, FString* KeyNames, uint32 MaxMappings)
{
#define ADDKEYMAP(KeyCode, KeyName)		if (NumMappings<MaxMappings) { KeyCodes[NumMappings]=KeyCode; KeyNames[NumMappings]=KeyName; ++NumMappings; };

	uint32 NumMappings = 0;

	if (KeyCodes && KeyNames && (MaxMappings > 0))
	{
		ADDKEYMAP(SDL_SCANCODE_BACKSPACE, TEXT("BackSpace"));
		ADDKEYMAP(SDL_SCANCODE_TAB, TEXT("Tab"));
		ADDKEYMAP(SDL_SCANCODE_RETURN, TEXT("Enter"));
		ADDKEYMAP(SDL_SCANCODE_RETURN2, TEXT("Enter"));
		ADDKEYMAP(SDL_SCANCODE_KP_ENTER, TEXT("Enter"));
		ADDKEYMAP(SDL_SCANCODE_PAUSE, TEXT("Pause"));

		ADDKEYMAP(SDL_SCANCODE_ESCAPE, TEXT("Escape"));
		ADDKEYMAP(SDL_SCANCODE_SPACE, TEXT("SpaceBar"));
		ADDKEYMAP(SDL_SCANCODE_PAGEUP, TEXT("PageUp"));
		ADDKEYMAP(SDL_SCANCODE_PAGEDOWN, TEXT("PageDown"));
		ADDKEYMAP(SDL_SCANCODE_END, TEXT("End"));
		ADDKEYMAP(SDL_SCANCODE_HOME, TEXT("Home"));

		ADDKEYMAP(SDL_SCANCODE_LEFT, TEXT("Left"));
		ADDKEYMAP(SDL_SCANCODE_UP, TEXT("Up"));
		ADDKEYMAP(SDL_SCANCODE_RIGHT, TEXT("Right"));
		ADDKEYMAP(SDL_SCANCODE_DOWN, TEXT("Down"));

		ADDKEYMAP(SDL_SCANCODE_INSERT, TEXT("Insert"));
		ADDKEYMAP(SDL_SCANCODE_DELETE, TEXT("Delete"));

		ADDKEYMAP(SDL_SCANCODE_F1, TEXT("F1"));
		ADDKEYMAP(SDL_SCANCODE_F2, TEXT("F2"));
		ADDKEYMAP(SDL_SCANCODE_F3, TEXT("F3"));
		ADDKEYMAP(SDL_SCANCODE_F4, TEXT("F4"));
		ADDKEYMAP(SDL_SCANCODE_F5, TEXT("F5"));
		ADDKEYMAP(SDL_SCANCODE_F6, TEXT("F6"));
		ADDKEYMAP(SDL_SCANCODE_F7, TEXT("F7"));
		ADDKEYMAP(SDL_SCANCODE_F8, TEXT("F8"));
		ADDKEYMAP(SDL_SCANCODE_F9, TEXT("F9"));
		ADDKEYMAP(SDL_SCANCODE_F10, TEXT("F10"));
		ADDKEYMAP(SDL_SCANCODE_F11, TEXT("F11"));
		ADDKEYMAP(SDL_SCANCODE_F12, TEXT("F12"));

		ADDKEYMAP(SDL_SCANCODE_CAPSLOCK, TEXT("CapsLock"));
		ADDKEYMAP(SDL_SCANCODE_LCTRL, TEXT("LeftControl"));
		ADDKEYMAP(SDL_SCANCODE_LSHIFT, TEXT("LeftShift"));
		ADDKEYMAP(SDL_SCANCODE_LALT, TEXT("LeftAlt"));
		ADDKEYMAP(SDL_SCANCODE_RCTRL, TEXT("RightControl"));
		ADDKEYMAP(SDL_SCANCODE_RSHIFT, TEXT("RightShift"));
		ADDKEYMAP(SDL_SCANCODE_RALT, TEXT("RightAlt"));
	}

	check(NumMappings < MaxMappings);
	return NumMappings;

	return NumMappings;
}
Ejemplo n.º 2
0
uint32 FGenericPlatformMisc::GetStandardPrintableKeyMap(uint16* KeyCodes, std::tstring* KeyNames, uint32 MaxMappings, bool bMapUppercaseKeys, bool bMapLowercaseKeys)
{
	uint32 NumMappings = 0;

#define ADDKEYMAP(KeyCode, KeyName)		if (NumMappings<MaxMappings) { KeyCodes[NumMappings]=KeyCode; KeyNames[NumMappings]=KeyName; ++NumMappings; };

	ADDKEYMAP( '0', TEXT("Zero") );
	ADDKEYMAP( '1', TEXT("One") );
	ADDKEYMAP( '2', TEXT("Two") );
	ADDKEYMAP( '3', TEXT("Three") );
	ADDKEYMAP( '4', TEXT("Four") );
	ADDKEYMAP( '5', TEXT("Five") );
	ADDKEYMAP( '6', TEXT("Six") );
	ADDKEYMAP( '7', TEXT("Seven") );
	ADDKEYMAP( '8', TEXT("Eight") );
	ADDKEYMAP( '9', TEXT("Nine") );

	// we map both upper and lower
	if (bMapUppercaseKeys)
	{
		ADDKEYMAP( 'A', TEXT("A") );
		ADDKEYMAP( 'B', TEXT("B") );
		ADDKEYMAP( 'C', TEXT("C") );
		ADDKEYMAP( 'D', TEXT("D") );
		ADDKEYMAP( 'E', TEXT("E") );
		ADDKEYMAP( 'F', TEXT("F") );
		ADDKEYMAP( 'G', TEXT("G") );
		ADDKEYMAP( 'H', TEXT("H") );
		ADDKEYMAP( 'I', TEXT("I") );
		ADDKEYMAP( 'J', TEXT("J") );
		ADDKEYMAP( 'K', TEXT("K") );
		ADDKEYMAP( 'L', TEXT("L") );
		ADDKEYMAP( 'M', TEXT("M") );
		ADDKEYMAP( 'N', TEXT("N") );
		ADDKEYMAP( 'O', TEXT("O") );
		ADDKEYMAP( 'P', TEXT("P") );
		ADDKEYMAP( 'Q', TEXT("Q") );
		ADDKEYMAP( 'R', TEXT("R") );
		ADDKEYMAP( 'S', TEXT("S") );
		ADDKEYMAP( 'T', TEXT("T") );
		ADDKEYMAP( 'U', TEXT("U") );
		ADDKEYMAP( 'V', TEXT("V") );
		ADDKEYMAP( 'W', TEXT("W") );
		ADDKEYMAP( 'X', TEXT("X") );
		ADDKEYMAP( 'Y', TEXT("Y") );
		ADDKEYMAP( 'Z', TEXT("Z") );
	}

	if (bMapLowercaseKeys)
	{
		ADDKEYMAP( 'a', TEXT("A") );
		ADDKEYMAP( 'b', TEXT("B") );
		ADDKEYMAP( 'c', TEXT("C") );
		ADDKEYMAP( 'd', TEXT("D") );
		ADDKEYMAP( 'e', TEXT("E") );
		ADDKEYMAP( 'f', TEXT("F") );
		ADDKEYMAP( 'g', TEXT("G") );
		ADDKEYMAP( 'h', TEXT("H") );
		ADDKEYMAP( 'i', TEXT("I") );
		ADDKEYMAP( 'j', TEXT("J") );
		ADDKEYMAP( 'k', TEXT("K") );
		ADDKEYMAP( 'l', TEXT("L") );
		ADDKEYMAP( 'm', TEXT("M") );
		ADDKEYMAP( 'n', TEXT("N") );
		ADDKEYMAP( 'o', TEXT("O") );
		ADDKEYMAP( 'p', TEXT("P") );
		ADDKEYMAP( 'q', TEXT("Q") );
		ADDKEYMAP( 'r', TEXT("R") );
		ADDKEYMAP( 's', TEXT("S") );
		ADDKEYMAP( 't', TEXT("T") );
		ADDKEYMAP( 'u', TEXT("U") );
		ADDKEYMAP( 'v', TEXT("V") );
		ADDKEYMAP( 'w', TEXT("W") );
		ADDKEYMAP( 'x', TEXT("X") );
		ADDKEYMAP( 'y', TEXT("Y") );
		ADDKEYMAP( 'z', TEXT("Z") );
	}

	ADDKEYMAP( ';', TEXT("Semicolon") );
	ADDKEYMAP( '=', TEXT("Equals") );
	ADDKEYMAP( ',', TEXT("Comma") );
	ADDKEYMAP( '-', TEXT("Underscore") );
	ADDKEYMAP( '.', TEXT("Period") );
	ADDKEYMAP( '/', TEXT("Slash") );
	ADDKEYMAP( '`', TEXT("Tilde") );
	ADDKEYMAP( '[', TEXT("LeftBracket") );
	ADDKEYMAP( '\\', TEXT("Backslash") );
	ADDKEYMAP( ']', TEXT("RightBracket") );
	ADDKEYMAP( '\'', TEXT("Quote") );
	ADDKEYMAP( ' ', TEXT("SpaceBar") );

	return NumMappings;
}
Ejemplo n.º 3
0
uint32 FWinRTMisc::GetKeyMap(uint16* KeyCodes, FString* KeyNames, uint32 MaxMappings)
{
#define ADDKEYMAP(KeyCode, KeyName)		if (NumMappings<MaxMappings) { KeyCodes[NumMappings]=KeyCode; KeyNames[NumMappings]=KeyName; ++NumMappings; };

    uint32 NumMappings = 0;

    if ( KeyCodes && KeyNames && (MaxMappings > 0) )
    {
        ADDKEYMAP(VK_LBUTTON, TEXT("LeftMouseButton"));
        ADDKEYMAP(VK_RBUTTON, TEXT("RightMouseButton"));
        ADDKEYMAP(VK_MBUTTON, TEXT("MiddleMouseButton"));

        ADDKEYMAP(VK_XBUTTON1, TEXT("ThumbMouseButton"));
        ADDKEYMAP(VK_XBUTTON2, TEXT("ThumbMouseButton2"));

        ADDKEYMAP(VK_BACK, TEXT("BackSpace"));
        ADDKEYMAP(VK_TAB, TEXT("Tab"));
        ADDKEYMAP(VK_RETURN, TEXT("Enter"));
        ADDKEYMAP(VK_PAUSE, TEXT("Pause"));

        ADDKEYMAP(VK_CAPITAL, TEXT("CapsLock"));
        ADDKEYMAP(VK_ESCAPE, TEXT("Escape"));
        ADDKEYMAP(VK_SPACE, TEXT("SpaceBar"));
        ADDKEYMAP(VK_PRIOR, TEXT("PageUp"));
        ADDKEYMAP(VK_NEXT, TEXT("PageDown"));
        ADDKEYMAP(VK_END, TEXT("End"));
        ADDKEYMAP(VK_HOME, TEXT("Home"));

        ADDKEYMAP(VK_LEFT, TEXT("Left"));
        ADDKEYMAP(VK_UP, TEXT("Up"));
        ADDKEYMAP(VK_RIGHT, TEXT("Right"));
        ADDKEYMAP(VK_DOWN, TEXT("Down"));

        ADDKEYMAP(VK_INSERT, TEXT("Insert"));
        ADDKEYMAP(VK_DELETE, TEXT("Delete"));

        ADDKEYMAP(VK_NUMPAD0, TEXT("NumPadZero"));
        ADDKEYMAP(VK_NUMPAD1, TEXT("NumPadOne"));
        ADDKEYMAP(VK_NUMPAD2, TEXT("NumPadTwo"));
        ADDKEYMAP(VK_NUMPAD3, TEXT("NumPadThree"));
        ADDKEYMAP(VK_NUMPAD4, TEXT("NumPadFour"));
        ADDKEYMAP(VK_NUMPAD5, TEXT("NumPadFive"));
        ADDKEYMAP(VK_NUMPAD6, TEXT("NumPadSix"));
        ADDKEYMAP(VK_NUMPAD7, TEXT("NumPadSeven"));
        ADDKEYMAP(VK_NUMPAD8, TEXT("NumPadEight"));
        ADDKEYMAP(VK_NUMPAD9, TEXT("NumPadNine"));

        ADDKEYMAP(VK_MULTIPLY, TEXT("Multiply"));
        ADDKEYMAP(VK_ADD, TEXT("Add"));
        ADDKEYMAP(VK_SUBTRACT, TEXT("Subtract"));
        ADDKEYMAP(VK_DECIMAL, TEXT("Decimal"));
        ADDKEYMAP(VK_DIVIDE, TEXT("Divide"));

        ADDKEYMAP(VK_F1, TEXT("F1"));
        ADDKEYMAP(VK_F2, TEXT("F2"));
        ADDKEYMAP(VK_F3, TEXT("F3"));
        ADDKEYMAP(VK_F4, TEXT("F4"));
        ADDKEYMAP(VK_F5, TEXT("F5"));
        ADDKEYMAP(VK_F6, TEXT("F6"));
        ADDKEYMAP(VK_F7, TEXT("F7"));
        ADDKEYMAP(VK_F8, TEXT("F8"));
        ADDKEYMAP(VK_F9, TEXT("F9"));
        ADDKEYMAP(VK_F10, TEXT("F10"));
        ADDKEYMAP(VK_F11, TEXT("F11"));
        ADDKEYMAP(VK_F12, TEXT("F12"));

        ADDKEYMAP(VK_NUMLOCK, TEXT("NumLock"));

        ADDKEYMAP(VK_SCROLL, TEXT("ScrollLock"));

        ADDKEYMAP(VK_LSHIFT, TEXT("LeftShift"));
        ADDKEYMAP(VK_RSHIFT, TEXT("RightShift"));
        ADDKEYMAP(VK_LCONTROL, TEXT("LeftControl"));
        ADDKEYMAP(VK_RCONTROL, TEXT("RightControl"));
        ADDKEYMAP(VK_LMENU, TEXT("LeftAlt"));
        ADDKEYMAP(VK_RMENU, TEXT("RightAlt"));
    }

    check(NumMappings < MaxMappings);
    return NumMappings;
}