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; | ||
|  | }; |