forked from dolphin-emu/dolphin
		
	
		
			
	
	
		
			199 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			199 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								// Copyright 2013 Dolphin Emulator Project
							 | 
						||
| 
								 | 
							
								// Licensed under GPLv2
							 | 
						||
| 
								 | 
							
								// Refer to the license.txt file included.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#pragma once
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "Common/CommonTypes.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								enum KeyMasks
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									KEYMASK_HOME = (1 << 0),
							 | 
						||
| 
								 | 
							
									KEYMASK_END = (1 << 1),
							 | 
						||
| 
								 | 
							
									KEYMASK_PGUP = (1 << 2),
							 | 
						||
| 
								 | 
							
									KEYMASK_PGDN = (1 << 3),
							 | 
						||
| 
								 | 
							
									KEYMASK_SCROLLLOCK = (1 << 4),
							 | 
						||
| 
								 | 
							
									KEYMASK_A = (1 << 5),
							 | 
						||
| 
								 | 
							
									KEYMASK_B = (1 << 6),
							 | 
						||
| 
								 | 
							
									KEYMASK_C = (1 << 7),
							 | 
						||
| 
								 | 
							
									KEYMASK_D = (1 << 8),
							 | 
						||
| 
								 | 
							
									KEYMASK_E = (1 << 9),
							 | 
						||
| 
								 | 
							
									KEYMASK_F = (1 << 10),
							 | 
						||
| 
								 | 
							
									KEYMASK_G = (1 << 11),
							 | 
						||
| 
								 | 
							
									KEYMASK_H = (1 << 12),
							 | 
						||
| 
								 | 
							
									KEYMASK_I = (1 << 13),
							 | 
						||
| 
								 | 
							
									KEYMASK_J = (1 << 14),
							 | 
						||
| 
								 | 
							
									KEYMASK_K = (1 << 15),
							 | 
						||
| 
								 | 
							
									KEYMASK_L = (1 << 0),
							 | 
						||
| 
								 | 
							
									KEYMASK_M = (1 << 1),
							 | 
						||
| 
								 | 
							
									KEYMASK_N = (1 << 2),
							 | 
						||
| 
								 | 
							
									KEYMASK_O = (1 << 3),
							 | 
						||
| 
								 | 
							
									KEYMASK_P = (1 << 4),
							 | 
						||
| 
								 | 
							
									KEYMASK_Q = (1 << 5),
							 | 
						||
| 
								 | 
							
									KEYMASK_R = (1 << 6),
							 | 
						||
| 
								 | 
							
									KEYMASK_S = (1 << 7),
							 | 
						||
| 
								 | 
							
									KEYMASK_T = (1 << 8),
							 | 
						||
| 
								 | 
							
									KEYMASK_U = (1 << 9),
							 | 
						||
| 
								 | 
							
									KEYMASK_V = (1 << 10),
							 | 
						||
| 
								 | 
							
									KEYMASK_W = (1 << 11),
							 | 
						||
| 
								 | 
							
									KEYMASK_X = (1 << 12),
							 | 
						||
| 
								 | 
							
									KEYMASK_Y = (1 << 13),
							 | 
						||
| 
								 | 
							
									KEYMASK_Z = (1 << 14),
							 | 
						||
| 
								 | 
							
									KEYMASK_1 = (1 << 15),
							 | 
						||
| 
								 | 
							
									KEYMASK_2 = (1 << 0),
							 | 
						||
| 
								 | 
							
									KEYMASK_3 = (1 << 1),
							 | 
						||
| 
								 | 
							
									KEYMASK_4 = (1 << 2),
							 | 
						||
| 
								 | 
							
									KEYMASK_5 = (1 << 3),
							 | 
						||
| 
								 | 
							
									KEYMASK_6 = (1 << 4),
							 | 
						||
| 
								 | 
							
									KEYMASK_7 = (1 << 5),
							 | 
						||
| 
								 | 
							
									KEYMASK_8 = (1 << 6),
							 | 
						||
| 
								 | 
							
									KEYMASK_9 = (1 << 7),
							 | 
						||
| 
								 | 
							
									KEYMASK_0 = (1 << 8),
							 | 
						||
| 
								 | 
							
									KEYMASK_MINUS = (1 << 9),
							 | 
						||
| 
								 | 
							
									KEYMASK_PLUS = (1 << 10),
							 | 
						||
| 
								 | 
							
									KEYMASK_PRINTSCR = (1 << 11),
							 | 
						||
| 
								 | 
							
									KEYMASK_BRACE_OPEN = (1 << 12),
							 | 
						||
| 
								 | 
							
									KEYMASK_BRACE_CLOSE = (1 << 13),
							 | 
						||
| 
								 | 
							
									KEYMASK_COLON = (1 << 14),
							 | 
						||
| 
								 | 
							
									KEYMASK_QUOTE = (1 << 15),
							 | 
						||
| 
								 | 
							
									KEYMASK_HASH = (1 << 0),
							 | 
						||
| 
								 | 
							
									KEYMASK_COMMA = (1 << 1),
							 | 
						||
| 
								 | 
							
									KEYMASK_PERIOD = (1 << 2),
							 | 
						||
| 
								 | 
							
									KEYMASK_QUESTIONMARK = (1 << 3),
							 | 
						||
| 
								 | 
							
									KEYMASK_INTERNATIONAL1 = (1 << 4),
							 | 
						||
| 
								 | 
							
									KEYMASK_F1 = (1 << 5),
							 | 
						||
| 
								 | 
							
									KEYMASK_F2 = (1 << 6),
							 | 
						||
| 
								 | 
							
									KEYMASK_F3 = (1 << 7),
							 | 
						||
| 
								 | 
							
									KEYMASK_F4 = (1 << 8),
							 | 
						||
| 
								 | 
							
									KEYMASK_F5 = (1 << 9),
							 | 
						||
| 
								 | 
							
									KEYMASK_F6 = (1 << 10),
							 | 
						||
| 
								 | 
							
									KEYMASK_F7 = (1 << 11),
							 | 
						||
| 
								 | 
							
									KEYMASK_F8 = (1 << 12),
							 | 
						||
| 
								 | 
							
									KEYMASK_F9 = (1 << 13),
							 | 
						||
| 
								 | 
							
									KEYMASK_F10 = (1 << 14),
							 | 
						||
| 
								 | 
							
									KEYMASK_F11 = (1 << 15),
							 | 
						||
| 
								 | 
							
									KEYMASK_F12 = (1 << 0),
							 | 
						||
| 
								 | 
							
									KEYMASK_ESC = (1 << 1),
							 | 
						||
| 
								 | 
							
									KEYMASK_INSERT = (1 << 2),
							 | 
						||
| 
								 | 
							
									KEYMASK_DELETE = (1 << 3),
							 | 
						||
| 
								 | 
							
									KEYMASK_TILDE = (1 << 4),
							 | 
						||
| 
								 | 
							
									KEYMASK_BACKSPACE = (1 << 5),
							 | 
						||
| 
								 | 
							
									KEYMASK_TAB = (1 << 6),
							 | 
						||
| 
								 | 
							
									KEYMASK_CAPSLOCK = (1 << 7),
							 | 
						||
| 
								 | 
							
									KEYMASK_LEFTSHIFT = (1 << 8),
							 | 
						||
| 
								 | 
							
									KEYMASK_RIGHTSHIFT = (1 << 9),
							 | 
						||
| 
								 | 
							
									KEYMASK_LEFTCONTROL = (1 << 10),
							 | 
						||
| 
								 | 
							
									KEYMASK_RIGHTALT = (1 << 11),
							 | 
						||
| 
								 | 
							
									KEYMASK_LEFTWINDOWS = (1 << 12),
							 | 
						||
| 
								 | 
							
									KEYMASK_SPACE = (1 << 13),
							 | 
						||
| 
								 | 
							
									KEYMASK_RIGHTWINDOWS = (1 << 14),
							 | 
						||
| 
								 | 
							
									KEYMASK_MENU = (1 << 15),
							 | 
						||
| 
								 | 
							
									KEYMASK_LEFTARROW = (1 << 0),
							 | 
						||
| 
								 | 
							
									KEYMASK_DOWNARROW = (1 << 1),
							 | 
						||
| 
								 | 
							
									KEYMASK_UPARROW = (1 << 2),
							 | 
						||
| 
								 | 
							
									KEYMASK_RIGHTARROW = (1 << 3),
							 | 
						||
| 
								 | 
							
									KEYMASK_ENTER = (1 << 4),
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								enum KeyScanCode
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									KEY_HOME = 0x06,
							 | 
						||
| 
								 | 
							
									KEY_END = 0x07,
							 | 
						||
| 
								 | 
							
									KEY_PGUP = 0x08,
							 | 
						||
| 
								 | 
							
									KEY_PGDN = 0x09,
							 | 
						||
| 
								 | 
							
									KEY_SCROLLLOCK = 0x0A,
							 | 
						||
| 
								 | 
							
									KEY_A = 0x10,
							 | 
						||
| 
								 | 
							
									KEY_B = 0x11,
							 | 
						||
| 
								 | 
							
									KEY_C = 0x12,
							 | 
						||
| 
								 | 
							
									KEY_D = 0x13,
							 | 
						||
| 
								 | 
							
									KEY_E = 0x14,
							 | 
						||
| 
								 | 
							
									KEY_F = 0x15,
							 | 
						||
| 
								 | 
							
									KEY_G = 0x16,
							 | 
						||
| 
								 | 
							
									KEY_H = 0x17,
							 | 
						||
| 
								 | 
							
									KEY_I = 0x18,
							 | 
						||
| 
								 | 
							
									KEY_J = 0x19,
							 | 
						||
| 
								 | 
							
									KEY_K = 0x1A,
							 | 
						||
| 
								 | 
							
									KEY_L = 0x1B,
							 | 
						||
| 
								 | 
							
									KEY_M = 0x1C,
							 | 
						||
| 
								 | 
							
									KEY_N = 0x1D,
							 | 
						||
| 
								 | 
							
									KEY_O = 0x1E,
							 | 
						||
| 
								 | 
							
									KEY_P = 0x1F,
							 | 
						||
| 
								 | 
							
									KEY_Q = 0x20,
							 | 
						||
| 
								 | 
							
									KEY_R = 0x21,
							 | 
						||
| 
								 | 
							
									KEY_S = 0x22,
							 | 
						||
| 
								 | 
							
									KEY_T = 0x23,
							 | 
						||
| 
								 | 
							
									KEY_U = 0x24,
							 | 
						||
| 
								 | 
							
									KEY_V = 0x25,
							 | 
						||
| 
								 | 
							
									KEY_W = 0x26,
							 | 
						||
| 
								 | 
							
									KEY_X = 0x27,
							 | 
						||
| 
								 | 
							
									KEY_Y = 0x28,
							 | 
						||
| 
								 | 
							
									KEY_Z = 0x29,
							 | 
						||
| 
								 | 
							
									KEY_1 = 0x2A,
							 | 
						||
| 
								 | 
							
									KEY_2 = 0x2B,
							 | 
						||
| 
								 | 
							
									KEY_3 = 0x2C,
							 | 
						||
| 
								 | 
							
									KEY_4 = 0x2D,
							 | 
						||
| 
								 | 
							
									KEY_5 = 0x2E,
							 | 
						||
| 
								 | 
							
									KEY_6 = 0x2F,
							 | 
						||
| 
								 | 
							
									KEY_7 = 0x30,
							 | 
						||
| 
								 | 
							
									KEY_8 = 0x31,
							 | 
						||
| 
								 | 
							
									KEY_9 = 0x32,
							 | 
						||
| 
								 | 
							
									KEY_0 = 0x33,
							 | 
						||
| 
								 | 
							
									KEY_MINUS = 0x34,
							 | 
						||
| 
								 | 
							
									KEY_PLUS = 0x35,
							 | 
						||
| 
								 | 
							
									KEY_PRINTSCR = 0x36,
							 | 
						||
| 
								 | 
							
									KEY_BRACE_OPEN = 0x37,
							 | 
						||
| 
								 | 
							
									KEY_BRACE_CLOSE = 0x38,
							 | 
						||
| 
								 | 
							
									KEY_COLON = 0x39,
							 | 
						||
| 
								 | 
							
									KEY_QUOTE = 0x3A,
							 | 
						||
| 
								 | 
							
									KEY_HASH = 0x3B,
							 | 
						||
| 
								 | 
							
									KEY_COMMA = 0x3C,
							 | 
						||
| 
								 | 
							
									KEY_PERIOD = 0x3D,
							 | 
						||
| 
								 | 
							
									KEY_QUESTIONMARK = 0x3E,
							 | 
						||
| 
								 | 
							
									KEY_INTERNATIONAL1 = 0x3F,
							 | 
						||
| 
								 | 
							
									KEY_F1 = 0x40,
							 | 
						||
| 
								 | 
							
									KEY_F2 = 0x41,
							 | 
						||
| 
								 | 
							
									KEY_F3 = 0x42,
							 | 
						||
| 
								 | 
							
									KEY_F4 = 0x43,
							 | 
						||
| 
								 | 
							
									KEY_F5 = 0x44,
							 | 
						||
| 
								 | 
							
									KEY_F6 = 0x45,
							 | 
						||
| 
								 | 
							
									KEY_F7 = 0x46,
							 | 
						||
| 
								 | 
							
									KEY_F8 = 0x47,
							 | 
						||
| 
								 | 
							
									KEY_F9 = 0x48,
							 | 
						||
| 
								 | 
							
									KEY_F10 = 0x49,
							 | 
						||
| 
								 | 
							
									KEY_F11 = 0x4A,
							 | 
						||
| 
								 | 
							
									KEY_F12 = 0x4B,
							 | 
						||
| 
								 | 
							
									KEY_ESC = 0x4C,
							 | 
						||
| 
								 | 
							
									KEY_INSERT = 0x4D,
							 | 
						||
| 
								 | 
							
									KEY_DELETE = 0x4E,
							 | 
						||
| 
								 | 
							
									KEY_TILDE = 0x4F,
							 | 
						||
| 
								 | 
							
									KEY_BACKSPACE = 0x50,
							 | 
						||
| 
								 | 
							
									KEY_TAB = 0x51,
							 | 
						||
| 
								 | 
							
									KEY_CAPSLOCK = 0x53,
							 | 
						||
| 
								 | 
							
									KEY_LEFTSHIFT = 0x54,
							 | 
						||
| 
								 | 
							
									KEY_RIGHTSHIFT = 0x55,
							 | 
						||
| 
								 | 
							
									KEY_LEFTCONTROL = 0x56,
							 | 
						||
| 
								 | 
							
									KEY_RIGHTALT = 0x57,
							 | 
						||
| 
								 | 
							
									KEY_LEFTWINDOWS = 0x58,
							 | 
						||
| 
								 | 
							
									KEY_SPACE = 0x59,
							 | 
						||
| 
								 | 
							
									KEY_RIGHTWINDOWS = 0x5A,
							 | 
						||
| 
								 | 
							
									KEY_MENU = 0x5B,
							 | 
						||
| 
								 | 
							
									KEY_LEFTARROW = 0x5C,
							 | 
						||
| 
								 | 
							
									KEY_DOWNARROW = 0x5D,
							 | 
						||
| 
								 | 
							
									KEY_UPARROW = 0x5E,
							 | 
						||
| 
								 | 
							
									KEY_RIGHTARROW = 0x5F,
							 | 
						||
| 
								 | 
							
									KEY_ENTER = 0x61
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct KeyboardStatus
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									u16 key0x;
							 | 
						||
| 
								 | 
							
									u16 key1x;
							 | 
						||
| 
								 | 
							
									u16 key2x;
							 | 
						||
| 
								 | 
							
									u16 key3x;
							 | 
						||
| 
								 | 
							
									u16 key4x;
							 | 
						||
| 
								 | 
							
									u16 key5x;
							 | 
						||
| 
								 | 
							
									u16 key6x;
							 | 
						||
| 
								 | 
							
									s8  err;
							 | 
						||
| 
								 | 
							
								};
							 |