diff src/modules/event/Event.cpp @ 1096:86a44f2bc38f

CRLF to LF
author Bart van Strien <bart.bes+projects@gmail.com>
date Wed, 04 Jul 2012 14:40:24 +0200
parents 73f4863ee5b7
children a74672ba1320 b7f097053d74
line wrap: on
line diff
--- a/src/modules/event/Event.cpp	Wed Jul 04 13:54:15 2012 +0200
+++ b/src/modules/event/Event.cpp	Wed Jul 04 14:40:24 2012 +0200
@@ -1,297 +1,297 @@
-/**
- * Copyright (c) 2006-2012 LOVE Development Team
- *
- * This software is provided 'as-is', without any express or implied
- * warranty.  In no event will the authors be held liable for any damages
- * arising from the use of this software.
- *
- * Permission is granted to anyone to use this software for any purpose,
- * including commercial applications, and to alter it and redistribute it
- * freely, subject to the following restrictions:
- *
- * 1. The origin of this software must not be misrepresented; you must not
- *    claim that you wrote the original software. If you use this software
- *    in a product, an acknowledgment in the product documentation would be
- *    appreciated but is not required.
- * 2. Altered source versions must be plainly marked as such, and must not be
- *    misrepresented as being the original software.
- * 3. This notice may not be removed or altered from any source distribution.
- **/
-
-#include "Event.h"
-
-using love::thread::Mutex;
-using love::thread::Lock;
-
-namespace love
-{
-namespace event
-{
-
-Message::Message(std::string name, Variant *a, Variant *b, Variant *c, Variant *d)
-	: name(name)
-	, nargs(0)
-{
-	args[0] = a;
-	args[1] = b;
-	args[2] = c;
-	args[3] = d;
-	for (int i = 0; i < 4; i++)
-	{
-		if (!args[i])
-			continue;
-		args[i]->retain();
-		nargs++;
-	}
-}
-
-Message::~Message()
-{
-	for (int i = 0; i < nargs; i++)
-		args[i]->release();
-}
-
-int Message::toLua(lua_State *L)
-{
-	luax_pushstring(L, name);
-	for (int i = 0; i < nargs; i++)
-		args[i]->toLua(L);
-	return nargs+1;
-}
-
-Message *Message::fromLua(lua_State *L, int n)
-{
-	std::string name = luax_checkstring(L, n);
-	n++;
-	Message *m = new Message(name);
-	for (int i = 0; i < 4; i++)
-	{
-		if (lua_isnoneornil(L, n+i))
-			break;
-		m->args[i] = Variant::fromLua(L, n+i);
-		if (!m->args[i])
-		{
-			delete m;
-			luaL_error(L, "Argument %d can't be stored safely\nExpected boolean, number, string or userdata.", n+i);
-			return NULL;
-		}
-		m->nargs++;
-	}
-	return m;
-}
-
-Event::~Event()
-{
-}
-
-void Event::push(Message *msg)
-{
-	Lock lock(mutex);
-	msg->retain();
-	queue.push(msg);
-}
-
-bool Event::poll(Message *&msg)
-{
-	Lock lock(mutex);
-	if (queue.empty())
-		return false;
-	msg = queue.front();
-	queue.pop();
-	return true;
-}
-
-void Event::clear()
-{
-	Lock lock(mutex);
-	while (!queue.empty())
-	{
-		queue.back()->release();
-		queue.pop();
-	}
-}
-
-bool Event::getConstant(const char *in, love::mouse::Mouse::Button &out)
-{
-	return buttons.find(in, out);
-}
-
-bool Event::getConstant(love::mouse::Mouse::Button in, const char  *&out)
-{
-	return buttons.find(in, out);
-}
-
-bool Event::getConstant(const char *in, love::keyboard::Keyboard::Key &out)
-{
-	return keys.find(in, out);
-}
-
-bool Event::getConstant(love::keyboard::Keyboard::Key in, const char  *&out)
-{
-	return keys.find(in, out);
-}
-
-StringMap<love::mouse::Mouse::Button, love::mouse::Mouse::BUTTON_MAX_ENUM>::Entry Event::buttonEntries[] =
-{
-	{"l", love::mouse::Mouse::BUTTON_LEFT},
-	{"m", love::mouse::Mouse::BUTTON_MIDDLE},
-	{"r", love::mouse::Mouse::BUTTON_RIGHT},
-	{"wu", love::mouse::Mouse::BUTTON_WHEELUP},
-	{"wd", love::mouse::Mouse::BUTTON_WHEELDOWN},
-	{"x1", love::mouse::Mouse::BUTTON_X1},
-	{"x2", love::mouse::Mouse::BUTTON_X2},
-};
-
-StringMap<love::mouse::Mouse::Button, love::mouse::Mouse::BUTTON_MAX_ENUM> Event::buttons(Event::buttonEntries, sizeof(Event::buttonEntries));
-
-StringMap<love::keyboard::Keyboard::Key, love::keyboard::Keyboard::KEY_MAX_ENUM>::Entry Event::keyEntries[] =
-{
-	{"backspace", love::keyboard::Keyboard::KEY_BACKSPACE},
-	{"tab", love::keyboard::Keyboard::KEY_TAB},
-	{"clear", love::keyboard::Keyboard::KEY_CLEAR},
-	{"return", love::keyboard::Keyboard::KEY_RETURN},
-	{"pause", love::keyboard::Keyboard::KEY_PAUSE},
-	{"escape", love::keyboard::Keyboard::KEY_ESCAPE},
-	{" ", love::keyboard::Keyboard::KEY_SPACE},
-	{"!", love::keyboard::Keyboard::KEY_EXCLAIM},
-	{"\"", love::keyboard::Keyboard::KEY_QUOTEDBL},
-	{"#", love::keyboard::Keyboard::KEY_HASH},
-	{"$", love::keyboard::Keyboard::KEY_DOLLAR},
-	{"&", love::keyboard::Keyboard::KEY_AMPERSAND},
-	{"'", love::keyboard::Keyboard::KEY_QUOTE},
-	{"(", love::keyboard::Keyboard::KEY_LEFTPAREN},
-	{")", love::keyboard::Keyboard::KEY_RIGHTPAREN},
-	{"*", love::keyboard::Keyboard::KEY_ASTERISK},
-	{"+", love::keyboard::Keyboard::KEY_PLUS},
-	{",", love::keyboard::Keyboard::KEY_COMMA},
-	{"-", love::keyboard::Keyboard::KEY_MINUS},
-	{".", love::keyboard::Keyboard::KEY_PERIOD},
-	{"/", love::keyboard::Keyboard::KEY_SLASH},
-	{"0", love::keyboard::Keyboard::KEY_0},
-	{"1", love::keyboard::Keyboard::KEY_1},
-	{"2", love::keyboard::Keyboard::KEY_2},
-	{"3", love::keyboard::Keyboard::KEY_3},
-	{"4", love::keyboard::Keyboard::KEY_4},
-	{"5", love::keyboard::Keyboard::KEY_5},
-	{"6", love::keyboard::Keyboard::KEY_6},
-	{"7", love::keyboard::Keyboard::KEY_7},
-	{"8", love::keyboard::Keyboard::KEY_8},
-	{"9", love::keyboard::Keyboard::KEY_9},
-	{":", love::keyboard::Keyboard::KEY_COLON},
-	{";", love::keyboard::Keyboard::KEY_SEMICOLON},
-	{"<", love::keyboard::Keyboard::KEY_LESS},
-	{"=", love::keyboard::Keyboard::KEY_EQUALS},
-	{">", love::keyboard::Keyboard::KEY_GREATER},
-	{"?", love::keyboard::Keyboard::KEY_QUESTION},
-	{"@", love::keyboard::Keyboard::KEY_AT},
-
-	{"[", love::keyboard::Keyboard::KEY_LEFTBRACKET},
-	{"\\", love::keyboard::Keyboard::KEY_BACKSLASH},
-	{"]", love::keyboard::Keyboard::KEY_RIGHTBRACKET},
-	{"^", love::keyboard::Keyboard::KEY_CARET},
-	{"_", love::keyboard::Keyboard::KEY_UNDERSCORE},
-	{"`", love::keyboard::Keyboard::KEY_BACKQUOTE},
-	{"a", love::keyboard::Keyboard::KEY_A},
-	{"b", love::keyboard::Keyboard::KEY_B},
-	{"c", love::keyboard::Keyboard::KEY_C},
-	{"d", love::keyboard::Keyboard::KEY_D},
-	{"e", love::keyboard::Keyboard::KEY_E},
-	{"f", love::keyboard::Keyboard::KEY_F},
-	{"g", love::keyboard::Keyboard::KEY_G},
-	{"h", love::keyboard::Keyboard::KEY_H},
-	{"i", love::keyboard::Keyboard::KEY_I},
-	{"j", love::keyboard::Keyboard::KEY_J},
-	{"k", love::keyboard::Keyboard::KEY_K},
-	{"l", love::keyboard::Keyboard::KEY_L},
-	{"m", love::keyboard::Keyboard::KEY_M},
-	{"n", love::keyboard::Keyboard::KEY_N},
-	{"o", love::keyboard::Keyboard::KEY_O},
-	{"p", love::keyboard::Keyboard::KEY_P},
-	{"q", love::keyboard::Keyboard::KEY_Q},
-	{"r", love::keyboard::Keyboard::KEY_R},
-	{"s", love::keyboard::Keyboard::KEY_S},
-	{"t", love::keyboard::Keyboard::KEY_T},
-	{"u", love::keyboard::Keyboard::KEY_U},
-	{"v", love::keyboard::Keyboard::KEY_V},
-	{"w", love::keyboard::Keyboard::KEY_W},
-	{"x", love::keyboard::Keyboard::KEY_X},
-	{"y", love::keyboard::Keyboard::KEY_Y},
-	{"z", love::keyboard::Keyboard::KEY_Z},
-	{"delete", love::keyboard::Keyboard::KEY_DELETE},
-
-	{"kp0", love::keyboard::Keyboard::KEY_KP0},
-	{"kp1", love::keyboard::Keyboard::KEY_KP1},
-	{"kp2", love::keyboard::Keyboard::KEY_KP2},
-	{"kp3", love::keyboard::Keyboard::KEY_KP3},
-	{"kp4", love::keyboard::Keyboard::KEY_KP4},
-	{"kp5", love::keyboard::Keyboard::KEY_KP5},
-	{"kp6", love::keyboard::Keyboard::KEY_KP6},
-	{"kp7", love::keyboard::Keyboard::KEY_KP7},
-	{"kp8", love::keyboard::Keyboard::KEY_KP8},
-	{"kp9", love::keyboard::Keyboard::KEY_KP9},
-	{"kp.", love::keyboard::Keyboard::KEY_KP_PERIOD},
-	{"kp/", love::keyboard::Keyboard::KEY_KP_DIVIDE},
-	{"kp*", love::keyboard::Keyboard::KEY_KP_MULTIPLY},
-	{"kp-", love::keyboard::Keyboard::KEY_KP_MINUS},
-	{"kp+", love::keyboard::Keyboard::KEY_KP_PLUS},
-	{"kpenter", love::keyboard::Keyboard::KEY_KP_ENTER},
-	{"kp=", love::keyboard::Keyboard::KEY_KP_EQUALS},
-
-	{"up", love::keyboard::Keyboard::KEY_UP},
-	{"down", love::keyboard::Keyboard::KEY_DOWN},
-	{"right", love::keyboard::Keyboard::KEY_RIGHT},
-	{"left", love::keyboard::Keyboard::KEY_LEFT},
-	{"insert", love::keyboard::Keyboard::KEY_INSERT},
-	{"home", love::keyboard::Keyboard::KEY_HOME},
-	{"end", love::keyboard::Keyboard::KEY_END},
-	{"pageup", love::keyboard::Keyboard::KEY_PAGEUP},
-	{"pagedown", love::keyboard::Keyboard::KEY_PAGEDOWN},
-
-	{"f1", love::keyboard::Keyboard::KEY_F1},
-	{"f2", love::keyboard::Keyboard::KEY_F2},
-	{"f3", love::keyboard::Keyboard::KEY_F3},
-	{"f4", love::keyboard::Keyboard::KEY_F4},
-	{"f5", love::keyboard::Keyboard::KEY_F5},
-	{"f6", love::keyboard::Keyboard::KEY_F6},
-	{"f7", love::keyboard::Keyboard::KEY_F7},
-	{"f8", love::keyboard::Keyboard::KEY_F8},
-	{"f9", love::keyboard::Keyboard::KEY_F9},
-	{"f10", love::keyboard::Keyboard::KEY_F10},
-	{"f11", love::keyboard::Keyboard::KEY_F11},
-	{"f12", love::keyboard::Keyboard::KEY_F12},
-	{"f13", love::keyboard::Keyboard::KEY_F13},
-	{"f14", love::keyboard::Keyboard::KEY_F14},
-	{"f15", love::keyboard::Keyboard::KEY_F15},
-
-	{"numlock", love::keyboard::Keyboard::KEY_NUMLOCK},
-	{"capslock", love::keyboard::Keyboard::KEY_CAPSLOCK},
-	{"scrollock", love::keyboard::Keyboard::KEY_SCROLLOCK},
-	{"rshift", love::keyboard::Keyboard::KEY_RSHIFT},
-	{"lshift", love::keyboard::Keyboard::KEY_LSHIFT},
-	{"rctrl", love::keyboard::Keyboard::KEY_RCTRL},
-	{"lctrl", love::keyboard::Keyboard::KEY_LCTRL},
-	{"ralt", love::keyboard::Keyboard::KEY_RALT},
-	{"lalt", love::keyboard::Keyboard::KEY_LALT},
-	{"rmeta", love::keyboard::Keyboard::KEY_RMETA},
-	{"lmeta", love::keyboard::Keyboard::KEY_LMETA},
-	{"lsuper", love::keyboard::Keyboard::KEY_LSUPER},
-	{"rsuper", love::keyboard::Keyboard::KEY_RSUPER},
-	{"mode", love::keyboard::Keyboard::KEY_MODE},
-	{"compose", love::keyboard::Keyboard::KEY_COMPOSE},
-
-	{"help", love::keyboard::Keyboard::KEY_HELP},
-	{"print", love::keyboard::Keyboard::KEY_PRINT},
-	{"sysreq", love::keyboard::Keyboard::KEY_SYSREQ},
-	{"break", love::keyboard::Keyboard::KEY_BREAK},
-	{"menu", love::keyboard::Keyboard::KEY_MENU},
-	{"power", love::keyboard::Keyboard::KEY_POWER},
-	{"euro", love::keyboard::Keyboard::KEY_EURO},
-	{"undo", love::keyboard::Keyboard::KEY_UNDO},
-
-	{"unknown", love::keyboard::Keyboard::KEY_UNKNOWN},
-};
-
-StringMap<love::keyboard::Keyboard::Key, love::keyboard::Keyboard::KEY_MAX_ENUM> Event::keys(Event::keyEntries, sizeof(Event::keyEntries));
-
-} // event
-} // love
+/**
+ * Copyright (c) 2006-2012 LOVE Development Team
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty.  In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ *    claim that you wrote the original software. If you use this software
+ *    in a product, an acknowledgment in the product documentation would be
+ *    appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ *    misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ **/
+
+#include "Event.h"
+
+using love::thread::Mutex;
+using love::thread::Lock;
+
+namespace love
+{
+namespace event
+{
+
+Message::Message(std::string name, Variant *a, Variant *b, Variant *c, Variant *d)
+	: name(name)
+	, nargs(0)
+{
+	args[0] = a;
+	args[1] = b;
+	args[2] = c;
+	args[3] = d;
+	for (int i = 0; i < 4; i++)
+	{
+		if (!args[i])
+			continue;
+		args[i]->retain();
+		nargs++;
+	}
+}
+
+Message::~Message()
+{
+	for (int i = 0; i < nargs; i++)
+		args[i]->release();
+}
+
+int Message::toLua(lua_State *L)
+{
+	luax_pushstring(L, name);
+	for (int i = 0; i < nargs; i++)
+		args[i]->toLua(L);
+	return nargs+1;
+}
+
+Message *Message::fromLua(lua_State *L, int n)
+{
+	std::string name = luax_checkstring(L, n);
+	n++;
+	Message *m = new Message(name);
+	for (int i = 0; i < 4; i++)
+	{
+		if (lua_isnoneornil(L, n+i))
+			break;
+		m->args[i] = Variant::fromLua(L, n+i);
+		if (!m->args[i])
+		{
+			delete m;
+			luaL_error(L, "Argument %d can't be stored safely\nExpected boolean, number, string or userdata.", n+i);
+			return NULL;
+		}
+		m->nargs++;
+	}
+	return m;
+}
+
+Event::~Event()
+{
+}
+
+void Event::push(Message *msg)
+{
+	Lock lock(mutex);
+	msg->retain();
+	queue.push(msg);
+}
+
+bool Event::poll(Message *&msg)
+{
+	Lock lock(mutex);
+	if (queue.empty())
+		return false;
+	msg = queue.front();
+	queue.pop();
+	return true;
+}
+
+void Event::clear()
+{
+	Lock lock(mutex);
+	while (!queue.empty())
+	{
+		queue.back()->release();
+		queue.pop();
+	}
+}
+
+bool Event::getConstant(const char *in, love::mouse::Mouse::Button &out)
+{
+	return buttons.find(in, out);
+}
+
+bool Event::getConstant(love::mouse::Mouse::Button in, const char  *&out)
+{
+	return buttons.find(in, out);
+}
+
+bool Event::getConstant(const char *in, love::keyboard::Keyboard::Key &out)
+{
+	return keys.find(in, out);
+}
+
+bool Event::getConstant(love::keyboard::Keyboard::Key in, const char  *&out)
+{
+	return keys.find(in, out);
+}
+
+StringMap<love::mouse::Mouse::Button, love::mouse::Mouse::BUTTON_MAX_ENUM>::Entry Event::buttonEntries[] =
+{
+	{"l", love::mouse::Mouse::BUTTON_LEFT},
+	{"m", love::mouse::Mouse::BUTTON_MIDDLE},
+	{"r", love::mouse::Mouse::BUTTON_RIGHT},
+	{"wu", love::mouse::Mouse::BUTTON_WHEELUP},
+	{"wd", love::mouse::Mouse::BUTTON_WHEELDOWN},
+	{"x1", love::mouse::Mouse::BUTTON_X1},
+	{"x2", love::mouse::Mouse::BUTTON_X2},
+};
+
+StringMap<love::mouse::Mouse::Button, love::mouse::Mouse::BUTTON_MAX_ENUM> Event::buttons(Event::buttonEntries, sizeof(Event::buttonEntries));
+
+StringMap<love::keyboard::Keyboard::Key, love::keyboard::Keyboard::KEY_MAX_ENUM>::Entry Event::keyEntries[] =
+{
+	{"backspace", love::keyboard::Keyboard::KEY_BACKSPACE},
+	{"tab", love::keyboard::Keyboard::KEY_TAB},
+	{"clear", love::keyboard::Keyboard::KEY_CLEAR},
+	{"return", love::keyboard::Keyboard::KEY_RETURN},
+	{"pause", love::keyboard::Keyboard::KEY_PAUSE},
+	{"escape", love::keyboard::Keyboard::KEY_ESCAPE},
+	{" ", love::keyboard::Keyboard::KEY_SPACE},
+	{"!", love::keyboard::Keyboard::KEY_EXCLAIM},
+	{"\"", love::keyboard::Keyboard::KEY_QUOTEDBL},
+	{"#", love::keyboard::Keyboard::KEY_HASH},
+	{"$", love::keyboard::Keyboard::KEY_DOLLAR},
+	{"&", love::keyboard::Keyboard::KEY_AMPERSAND},
+	{"'", love::keyboard::Keyboard::KEY_QUOTE},
+	{"(", love::keyboard::Keyboard::KEY_LEFTPAREN},
+	{")", love::keyboard::Keyboard::KEY_RIGHTPAREN},
+	{"*", love::keyboard::Keyboard::KEY_ASTERISK},
+	{"+", love::keyboard::Keyboard::KEY_PLUS},
+	{",", love::keyboard::Keyboard::KEY_COMMA},
+	{"-", love::keyboard::Keyboard::KEY_MINUS},
+	{".", love::keyboard::Keyboard::KEY_PERIOD},
+	{"/", love::keyboard::Keyboard::KEY_SLASH},
+	{"0", love::keyboard::Keyboard::KEY_0},
+	{"1", love::keyboard::Keyboard::KEY_1},
+	{"2", love::keyboard::Keyboard::KEY_2},
+	{"3", love::keyboard::Keyboard::KEY_3},
+	{"4", love::keyboard::Keyboard::KEY_4},
+	{"5", love::keyboard::Keyboard::KEY_5},
+	{"6", love::keyboard::Keyboard::KEY_6},
+	{"7", love::keyboard::Keyboard::KEY_7},
+	{"8", love::keyboard::Keyboard::KEY_8},
+	{"9", love::keyboard::Keyboard::KEY_9},
+	{":", love::keyboard::Keyboard::KEY_COLON},
+	{";", love::keyboard::Keyboard::KEY_SEMICOLON},
+	{"<", love::keyboard::Keyboard::KEY_LESS},
+	{"=", love::keyboard::Keyboard::KEY_EQUALS},
+	{">", love::keyboard::Keyboard::KEY_GREATER},
+	{"?", love::keyboard::Keyboard::KEY_QUESTION},
+	{"@", love::keyboard::Keyboard::KEY_AT},
+
+	{"[", love::keyboard::Keyboard::KEY_LEFTBRACKET},
+	{"\\", love::keyboard::Keyboard::KEY_BACKSLASH},
+	{"]", love::keyboard::Keyboard::KEY_RIGHTBRACKET},
+	{"^", love::keyboard::Keyboard::KEY_CARET},
+	{"_", love::keyboard::Keyboard::KEY_UNDERSCORE},
+	{"`", love::keyboard::Keyboard::KEY_BACKQUOTE},
+	{"a", love::keyboard::Keyboard::KEY_A},
+	{"b", love::keyboard::Keyboard::KEY_B},
+	{"c", love::keyboard::Keyboard::KEY_C},
+	{"d", love::keyboard::Keyboard::KEY_D},
+	{"e", love::keyboard::Keyboard::KEY_E},
+	{"f", love::keyboard::Keyboard::KEY_F},
+	{"g", love::keyboard::Keyboard::KEY_G},
+	{"h", love::keyboard::Keyboard::KEY_H},
+	{"i", love::keyboard::Keyboard::KEY_I},
+	{"j", love::keyboard::Keyboard::KEY_J},
+	{"k", love::keyboard::Keyboard::KEY_K},
+	{"l", love::keyboard::Keyboard::KEY_L},
+	{"m", love::keyboard::Keyboard::KEY_M},
+	{"n", love::keyboard::Keyboard::KEY_N},
+	{"o", love::keyboard::Keyboard::KEY_O},
+	{"p", love::keyboard::Keyboard::KEY_P},
+	{"q", love::keyboard::Keyboard::KEY_Q},
+	{"r", love::keyboard::Keyboard::KEY_R},
+	{"s", love::keyboard::Keyboard::KEY_S},
+	{"t", love::keyboard::Keyboard::KEY_T},
+	{"u", love::keyboard::Keyboard::KEY_U},
+	{"v", love::keyboard::Keyboard::KEY_V},
+	{"w", love::keyboard::Keyboard::KEY_W},
+	{"x", love::keyboard::Keyboard::KEY_X},
+	{"y", love::keyboard::Keyboard::KEY_Y},
+	{"z", love::keyboard::Keyboard::KEY_Z},
+	{"delete", love::keyboard::Keyboard::KEY_DELETE},
+
+	{"kp0", love::keyboard::Keyboard::KEY_KP0},
+	{"kp1", love::keyboard::Keyboard::KEY_KP1},
+	{"kp2", love::keyboard::Keyboard::KEY_KP2},
+	{"kp3", love::keyboard::Keyboard::KEY_KP3},
+	{"kp4", love::keyboard::Keyboard::KEY_KP4},
+	{"kp5", love::keyboard::Keyboard::KEY_KP5},
+	{"kp6", love::keyboard::Keyboard::KEY_KP6},
+	{"kp7", love::keyboard::Keyboard::KEY_KP7},
+	{"kp8", love::keyboard::Keyboard::KEY_KP8},
+	{"kp9", love::keyboard::Keyboard::KEY_KP9},
+	{"kp.", love::keyboard::Keyboard::KEY_KP_PERIOD},
+	{"kp/", love::keyboard::Keyboard::KEY_KP_DIVIDE},
+	{"kp*", love::keyboard::Keyboard::KEY_KP_MULTIPLY},
+	{"kp-", love::keyboard::Keyboard::KEY_KP_MINUS},
+	{"kp+", love::keyboard::Keyboard::KEY_KP_PLUS},
+	{"kpenter", love::keyboard::Keyboard::KEY_KP_ENTER},
+	{"kp=", love::keyboard::Keyboard::KEY_KP_EQUALS},
+
+	{"up", love::keyboard::Keyboard::KEY_UP},
+	{"down", love::keyboard::Keyboard::KEY_DOWN},
+	{"right", love::keyboard::Keyboard::KEY_RIGHT},
+	{"left", love::keyboard::Keyboard::KEY_LEFT},
+	{"insert", love::keyboard::Keyboard::KEY_INSERT},
+	{"home", love::keyboard::Keyboard::KEY_HOME},
+	{"end", love::keyboard::Keyboard::KEY_END},
+	{"pageup", love::keyboard::Keyboard::KEY_PAGEUP},
+	{"pagedown", love::keyboard::Keyboard::KEY_PAGEDOWN},
+
+	{"f1", love::keyboard::Keyboard::KEY_F1},
+	{"f2", love::keyboard::Keyboard::KEY_F2},
+	{"f3", love::keyboard::Keyboard::KEY_F3},
+	{"f4", love::keyboard::Keyboard::KEY_F4},
+	{"f5", love::keyboard::Keyboard::KEY_F5},
+	{"f6", love::keyboard::Keyboard::KEY_F6},
+	{"f7", love::keyboard::Keyboard::KEY_F7},
+	{"f8", love::keyboard::Keyboard::KEY_F8},
+	{"f9", love::keyboard::Keyboard::KEY_F9},
+	{"f10", love::keyboard::Keyboard::KEY_F10},
+	{"f11", love::keyboard::Keyboard::KEY_F11},
+	{"f12", love::keyboard::Keyboard::KEY_F12},
+	{"f13", love::keyboard::Keyboard::KEY_F13},
+	{"f14", love::keyboard::Keyboard::KEY_F14},
+	{"f15", love::keyboard::Keyboard::KEY_F15},
+
+	{"numlock", love::keyboard::Keyboard::KEY_NUMLOCK},
+	{"capslock", love::keyboard::Keyboard::KEY_CAPSLOCK},
+	{"scrollock", love::keyboard::Keyboard::KEY_SCROLLOCK},
+	{"rshift", love::keyboard::Keyboard::KEY_RSHIFT},
+	{"lshift", love::keyboard::Keyboard::KEY_LSHIFT},
+	{"rctrl", love::keyboard::Keyboard::KEY_RCTRL},
+	{"lctrl", love::keyboard::Keyboard::KEY_LCTRL},
+	{"ralt", love::keyboard::Keyboard::KEY_RALT},
+	{"lalt", love::keyboard::Keyboard::KEY_LALT},
+	{"rmeta", love::keyboard::Keyboard::KEY_RMETA},
+	{"lmeta", love::keyboard::Keyboard::KEY_LMETA},
+	{"lsuper", love::keyboard::Keyboard::KEY_LSUPER},
+	{"rsuper", love::keyboard::Keyboard::KEY_RSUPER},
+	{"mode", love::keyboard::Keyboard::KEY_MODE},
+	{"compose", love::keyboard::Keyboard::KEY_COMPOSE},
+
+	{"help", love::keyboard::Keyboard::KEY_HELP},
+	{"print", love::keyboard::Keyboard::KEY_PRINT},
+	{"sysreq", love::keyboard::Keyboard::KEY_SYSREQ},
+	{"break", love::keyboard::Keyboard::KEY_BREAK},
+	{"menu", love::keyboard::Keyboard::KEY_MENU},
+	{"power", love::keyboard::Keyboard::KEY_POWER},
+	{"euro", love::keyboard::Keyboard::KEY_EURO},
+	{"undo", love::keyboard::Keyboard::KEY_UNDO},
+
+	{"unknown", love::keyboard::Keyboard::KEY_UNKNOWN},
+};
+
+StringMap<love::keyboard::Keyboard::Key, love::keyboard::Keyboard::KEY_MAX_ENUM> Event::keys(Event::keyEntries, sizeof(Event::keyEntries));
+
+} // event
+} // love