Downloads containing sevk.asc

Downloads
Name Author Game Mode Rating
JJ2+ Only: Find It Out (Single Player)Featured Download Superjazz Single player 8.7 Download file
TSF with JJ2+ Only: Anniversary Bash 21 Levels Jazz2Online Multiple N/A Download file
TSF with JJ2+ Only: Academy Superjazz Battle N/A Download file
TSF with JJ2+ Only: Anniversary Bash 20 Levels Jazz2Online Multiple N/A Download file

File preview

namespace detail {
	const dictionary keyCodesByName = {
		{"left mouse", 1},
		{"left mouse button", 1},
		{"lmb", 1},
		{"mouse left", 1},
		{"right mouse", 2},
		{"right mouse button", 2},
		{"rmb", 2},
		{"mouse right", 2},
		{"control break processing", 3},
		{"control break", 3},
		{"middle mouse", 4},
		{"middle mouse button", 4},
		{"mmb", 4},
		{"mouse middle", 4},
		{"mouse wheel", 4},
		{"x1 mouse", 5},
		{"x1 mouse button", 5},
		{"x1mb", 5},
		{"mouse x1", 5},
		{"x2 mouse", 6},
		{"x2 mouse button", 6},
		{"x2mb", 6},
		{"mouse x2", 6},
		{"none", 7},
		{"backspace", 8},
		{"back", 8},
		{"bs", 8},
		{"\\b", 8},
		{"tab", 9},
		{"\t", 9},
		{"clear", 12},
		{"enter", 13},
		{"return", 13},
		{"\r", 13},
		{"\r\n", 13},
		{"shift", 16},
		{"ctrl", 17},
		{"control", 17},
		{"alt", 18},
		{"menu", 18},
		{"pause", 19},
		{"break", 19},
		{"pause break", 19},
		{"caps lock", 20},
		{"capslock", 20},
		{"capital", 20},
		{"caps", 20},
		{"ime kana mode", 21},
		{"ime kana", 21},
		{"kana", 21},
		{"ime hangul mode", 21},
		{"ime hangul", 21},
		{"hangul", 21},
		{"ime hanguel mode", 21},
		{"ime hanguel", 21},
		{"hanguel", 21},
		{"ime junja mode", 23},
		{"ime junja", 23},
		{"junja", 23},
		{"ime final mode", 24},
		{"ime final", 24},
		{"final", 24},
		{"ime hanja mode", 25},
		{"ime hanja", 25},
		{"hanja", 25},
		{"ime kanji mode", 25},
		{"ime kanji", 25},
		{"kanji", 25},
		{"esc", 27},
		{"escape", 27},
		{"\\e", 27},
		{"ime convert", 28},
		{"convert", 28},
		{"ime nonconvert", 29},
		{"nonconvert", 29},
		{"ime non convert", 29},
		{"non convert", 29},
		{"ime accept", 30},
		{"accept", 30},
		{"ime mode change request", 31},
		{"mode change request", 31},
		{"ime mode change", 31},
		{"mode change", 31},
		{"space", 32},
		{"spacebar", 32},
		{"space bar", 32},
		{" ", 32},
		{"page up", 33},
		{"pageup", 33},
		{"page down", 34},
		{"pagedown", 34},
		{"end", 35},
		{"home", 36},
		{"left", 37},
		{"left arrow", 37},
		{"arrow left", 37},
		{"up", 38},
		{"up arrow", 38},
		{"arrow up", 38},
		{"right", 39},
		{"right arrow", 39},
		{"arrow right", 39},
		{"down", 40},
		{"down arrow", 40},
		{"arrow down", 40},
		{"select", 41},
		{"print", 42},
		{"execute", 43},
		{"print screen", 44},
		{"printscreen", 44},
		{"snapshot", 44},
		{"insert", 45},
		{"ins", 45},
		{"delete", 46},
		{"del", 46},
		{"help", 47},
		{"0", 48},
		{")", 48},
		{"1", 49},
		{"!", 49},
		{"2", 50},
		{"@", 50},
		{"3", 51},
		{"#", 51},
		{"4", 52},
		{"$", 52},
		{"5", 53},
		{"%", 53},
		{"6", 54},
		{"^", 54},
		{"7", 55},
		{"&", 55},
		{"8", 56},
		{"*", 56},
		{"9", 57},
		{"(", 57},
		{"a", 65},
		{"b", 66},
		{"c", 67},
		{"d", 68},
		{"e", 69},
		{"f", 70},
		{"g", 71},
		{"h", 72},
		{"i", 73},
		{"j", 74},
		{"k", 75},
		{"l", 76},
		{"m", 77},
		{"n", 78},
		{"o", 79},
		{"p", 80},
		{"q", 81},
		{"r", 82},
		{"s", 83},
		{"t", 84},
		{"u", 85},
		{"v", 86},
		{"w", 87},
		{"x", 88},
		{"y", 89},
		{"z", 90},
		{"left windows", 91},
		{"lwin", 91},
		{"right windows", 92},
		{"rwin", 92},
		{"applications", 93},
		{"apps", 93},
		{"sleep", 95},
		{"computer sleep", 95},
		{"numpad 0", 96},
		{"numpad 1", 97},
		{"numpad 2", 98},
		{"numpad 3", 99},
		{"numpad 4", 100},
		{"numpad 5", 101},
		{"numpad 6", 102},
		{"numpad 7", 103},
		{"numpad 8", 104},
		{"numpad 9", 105},
		{"multiply", 106},
		{"numpad *", 106},
		{"numpad times", 106},
		{"add", 107},
		{"numpad +", 107},
		{"numpad plus", 107},
		{"separator", 108},
		{"numpad separator", 108},
		{"subtract", 109},
		{"numpad -", 109},
		{"numpad minus", 109},
		{"decimal", 110},
		{"decimal dot", 110},
		{"numpad ,", 110},
		{"numpad .", 110},
		{"numpad comma", 110},
		{"numpad dot", 110},
		{"divide", 111},
		{"numpad /", 111},
		{"numpad division", 111},
		{"f1", 112},
		{"f2", 113},
		{"f3", 114},
		{"f4", 115},
		{"f5", 116},
		{"f6", 117},
		{"f7", 118},
		{"f8", 119},
		{"f9", 120},
		{"f10", 121},
		{"f11", 122},
		{"f12", 123},
		{"f13", 124},
		{"f14", 125},
		{"f15", 126},
		{"f16", 127},
		{"f17", 128},
		{"f18", 129},
		{"f19", 130},
		{"f20", 131},
		{"f21", 132},
		{"f22", 133},
		{"f23", 134},
		{"f24", 135},
		{"num lock", 144},
		{"numlock", 144},
		{"num", 144},
		{"scroll lock", 145},
		{"scrolllock", 145},
		{"scroll", 145},
		{"left shift", 160},
		{"lshift", 160},
		{"right shift", 161},
		{"rshift", 161},
		{"left ctrl", 162},
		{"left control", 162},
		{"lctrl", 162},
		{"lcontrol", 162},
		{"right ctrl", 163},
		{"right control", 163},
		{"rctrl", 163},
		{"rcontrol", 163},
		{"left alt", 164},
		{"left menu", 164},
		{"lalt", 164},
		{"lmenu", 164},
		{"right alt", 165},
		{"right menu", 165},
		{"ralt", 165},
		{"rmenu", 165},
		{"browser back", 166},
		{"browser forward", 167},
		{"browser refresh", 168},
		{"browser stop", 169},
		{"browser search", 170},
		{"browser favorites", 171},
		{"browser favourites", 171},
		{"browser start", 172},
		{"browser home", 172},
		{"mute volume", 173},
		{"mute", 173},
		{"volume mute", 173},
		{"volume down", 174},
		{"volume up", 175},
		{"next track", 176},
		{"media next track", 176},
		{"prev track", 177},
		{"previous track", 177},
		{"media prev track", 177},
		{"media previous track", 177},
		{"stop media", 178},
		{"media stop", 178},
		{"play pause", 179},
		{"play pause media", 179},
		{"media play pause", 179},
		{"start mail", 180},
		{"launch mail", 180},
		{"mail", 180},
		{"select media", 181},
		{"media select", 181},
		{"launch media select", 181},
		{"start app 1", 182},
		{"start app1", 182},
		{"start application 1", 182},
		{"launch app 1", 182},
		{"launch app1", 182},
		{"launch application 1", 182},
		{"start app 2", 183},
		{"start app2", 183},
		{"start application 2", 183},
		{"launch app 2", 183},
		{"launch app2", 183},
		{"launch application 2", 183},
		{"oem 1", 186},
		{"semicolon", 186},
		{"colon", 186},
		{";", 186},
		{":", 186},
		{";:", 186},
		{":;", 186},
		{"plus", 187},
		{"oem plus", 187},
		{"equals", 187},
		{"equality sign", 187},
		{"=", 187},
		{"+", 187},
		{"+=", 187},
		{"=+", 187},
		{"comma", 188},
		{"oem comma", 188},
		{"less than", 188},
		{"lt", 188},
		{",", 188},
		{"<", 188},
		{",<", 188},
		{"<,", 188},
		{"minus", 189},
		{"oem minus", 189},
		{"dash", 189},
		{"hyphen", 189},
		{"underscore", 189},
		{"-", 189},
		{"_", 189},
		{"-_", 189},
		{"_-", 189},
		{"period", 190},
		{"oem period", 190},
		{"full stop", 190},
		{"dot", 190},
		{"greater than", 190},
		{"gt", 190},
		{".", 190},
		{">", 190},
		{".>", 190},
		{">.", 190},
		{"oem 2", 191},
		{"slash", 191},
		{"division", 191},
		{"question mark", 191},
		{"/", 191},
		{"?", 191},
		{"/?", 191},
		{"?/", 191},
		{"oem 3", 192},
		{"grave accent", 192},
		{"tilde", 192},
		{"`", 192},
		{"~", 192},
		{"`~", 192},
		{"~`", 192},
		{"oem 4", 219},
		{"bracket", 219},
		{"brace", 219},
		{"open bracket", 219},
		{"open brace", 219},
		{"opening bracket", 219},
		{"opening brace", 219},
		{"square bracket", 219},
		{"square brace", 219},
		{"open square bracket", 219},
		{"open square brace", 219},
		{"opening square bracket", 219},
		{"opening square brace", 219},
		{"curly bracket", 219},
		{"curly brace", 219},
		{"open curly bracket", 219},
		{"open curly brace", 219},
		{"opening curly bracket", 219},
		{"opening curly brace", 219},
		{"[", 219},
		{"{", 219},
		{"[{", 219},
		{"{[", 219},
		{"oem 5", 220},
		{"backslash", 220},
		{"pipe", 220},
		{"\\", 220},
		{"|", 220},
		{"\\|", 220},
		{"|\\", 220},
		{"oem 6", 221},
		{"close bracket", 221},
		{"close brace", 221},
		{"closing bracket", 221},
		{"closing brace", 221},
		{"close square bracket", 221},
		{"close square brace", 221},
		{"closing square bracket", 221},
		{"closing square brace", 221},
		{"close curly bracket", 221},
		{"close curly brace", 221},
		{"closing curly bracket", 221},
		{"closing curly brace", 221},
		{"]", 221},
		{"}", 221},
		{"]}", 221},
		{"}]", 221},
		{"oem 7", 222},
		{"quotation mark", 222},
		{"quote", 222},
		{"single quote", 222},
		{"double quote", 222},
		{"apostrophe", 222},
		{"prime", 222},
		{"'", 222},
		{"\"", 222},
		{"'\"", 222},
		{"\"'", 222},
		{"oem 8", 223},
		{"oem 102", 226},
		{"process", 229},
		{"packet", 231},
		{"attn", 246},
		{"crsel", 247},
		{"exsel", 248},
		{"erase eof", 249},
		{"ereof", 249},
		{"play", 250},
		{"zoom", 251},
		{"pa1", 253},
		{"clear", 254}
	};
	const array<string> namesByKeyCodes = {
		"",
		"Left Mouse",
		"Right Mouse",
		"Control-Break Processing",
		"Middle Mouse",
		"X1 Mouse",
		"X2 Mouse",
		"None",
		"Backspace",
		"Tab",
		"",
		"",
		"Clear",
		"Enter",
		"",
		"",
		"Shift",
		"Ctrl",
		"Alt",
		"Pause",
		"Caps Lock",
		"IME Kana Mode",
		"",
		"IME Junja Mode",
		"IME Final Mode",
		"IME Hanja Mode",
		"",
		"Esc",
		"IME Convert",
		"IME Nonconvert",
		"IME Accept",
		"IME Mode Change Request",
		"Space",
		"Page Up",
		"Page Down",
		"End",
		"Home",
		"Left",
		"Up",
		"Right",
		"Down",
		"Select",
		"Print",
		"Execute",
		"Print Screen",
		"Insert",
		"Delete",
		"Help",
		"0",
		"1",
		"2",
		"3",
		"4",
		"5",
		"6",
		"7",
		"8",
		"9",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"A",
		"B",
		"C",
		"D",
		"E",
		"F",
		"G",
		"H",
		"I",
		"J",
		"K",
		"L",
		"M",
		"N",
		"O",
		"P",
		"Q",
		"R",
		"S",
		"T",
		"U",
		"V",
		"W",
		"X",
		"Y",
		"Z",
		"Left Windows",
		"Right Windows",
		"Applications",
		"",
		"Sleep",
		"Numpad 0",
		"Numpad 1",
		"Numpad 2",
		"Numpad 3",
		"Numpad 4",
		"Numpad 5",
		"Numpad 6",
		"Numpad 7",
		"Numpad 8",
		"Numpad 9",
		"Numpad *",
		"Numpad +",
		"Separator",
		"Numpad -",
		"Decimal",
		"Numpad /",
		"F1",
		"F2",
		"F3",
		"F4",
		"F5",
		"F6",
		"F7",
		"F8",
		"F9",
		"F10",
		"F11",
		"F12",
		"F13",
		"F14",
		"F15",
		"F16",
		"F17",
		"F18",
		"F19",
		"F20",
		"F21",
		"F22",
		"F23",
		"F24",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"Num Lock",
		"Scroll Lock",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"Left Shift",
		"Right Shift",
		"Left Ctrl",
		"Right Ctrl",
		"Left Alt",
		"Right Alt",
		"Browser Back",
		"Browser Forward",
		"Browser Refresh",
		"Browser Stop",
		"Browser Search",
		"Browser Favorites",
		"Browser Home",
		"Mute Volume",
		"Volume Down",
		"Volume Up",
		"Next Track",
		"Previous Track",
		"Stop Media",
		"Play/Pause Media",
		"Start Mail",
		"Select Media",
		"Start Application 1",
		"Start Application 2",
		"",
		"",
		";",
		"+",
		",",
		"-",
		".",
		"/",
		"`",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"[",
		"\\",
		"]",
		"'",
		"OEM 8",
		"",
		"",
		"OEM 102",
		"",
		"",
		"Process",
		"",
		"Packet",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"Attn",
		"CrSel",
		"ExSel",
		"Erase EOF",
		"Play",
		"Zoom",
		"",
		"PA1",
		"Clear",
		"",
	};
}
uint8 getKeyCodeByName(string &in name) {
	uint8 result;
	if (detail::keyCodesByName.get(name, result))
		return result;
	for (int i = name.length(); i-- != 0;) {
		uint8 c = name[i];
		if (c > 64 && c < 91)
			name[i] ^= 32;
	}
	if (detail::keyCodesByName.get(name, result))
		return result;
	name = jjRegexReplace(name, "[^0-9a-z]+", " ");
	if (detail::keyCodesByName.get(name, result))
		return result;
	return 0;
}
string getNameByKeyCode(uint8 code) {
	return detail::namesByKeyCodes[code];
}