Jelajahi Sumber

More keycodes;

bjorn 7 tahun lalu
induk
melakukan
99832ad87c
1 mengubah file dengan 89 tambahan dan 11 penghapusan
  1. 89 11
      lovr-keyboard.lua

+ 89 - 11
lovr-keyboard.lua

@@ -10,6 +10,27 @@ ffi.cdef [[
 local window = C.glfwGetCurrentContext()
 
 local keymap = {
+  ['space'] = 32,
+  ['\''] = 39,
+  [','] = 44,
+  ['-'] = 45,
+  ['.'] = 46,
+  ['/'] = 47,
+
+  ['0'] = 48,
+  ['1'] = 49,
+  ['2'] = 50,
+  ['3'] = 51,
+  ['4'] = 52,
+  ['5'] = 53,
+  ['6'] = 54,
+  ['7'] = 55,
+  ['8'] = 56,
+  ['9'] = 57,
+
+  [';'] = 59,
+  ['='] = 61,
+
   ['a'] = 65,
   ['b'] = 66,
   ['c'] = 67,
@@ -36,22 +57,79 @@ local keymap = {
   ['x'] = 88,
   ['y'] = 89,
   ['z'] = 90,
-  ['0'] = 48,
-  ['1'] = 49,
-  ['2'] = 50,
-  ['3'] = 51,
-  ['4'] = 52,
-  ['5'] = 53,
-  ['6'] = 54,
-  ['7'] = 55,
-  ['8'] = 56,
-  ['9'] = 57,
-  ['space'] = 32,
+
+  ['['] = 91,
+  ['\\'] = 92,
+  [']'] = 93,
+  ['`'] = 96,
+
+  ['escape'] = 256,
+  ['return'] = 257,
+  ['enter'] = 257,
+  ['tab'] = 258,
+  ['backspace'] = 259,
+  ['insert'] = 260,
+  ['delete'] = 261,
+  ['right'] = 262,
+  ['left'] = 263,
+  ['down'] = 264,
+  ['up'] = 265,
+  ['pageup'] = 266,
+  ['pagedown'] = 267,
+  ['home'] = 268,
+  ['end'] = 269,
+  ['capslock'] = 280,
+  ['scrolllock'] = 281,
+  ['numlock'] = 282,
+  ['printscreen'] = 283,
+  ['pause'] = 284,
+
+  ['f1'] = 290,
+  ['f2'] = 291,
+  ['f3'] = 292,
+  ['f4'] = 293,
+  ['f5'] = 294,
+  ['f6'] = 295,
+  ['f7'] = 296,
+  ['f8'] = 297,
+  ['f9'] = 298,
+  ['f10'] = 299,
+  ['f11'] = 300,
+  ['f12'] = 301,
+
+  ['kp0'] = 320,
+  ['kp1'] = 321,
+  ['kp2'] = 322,
+  ['kp3'] = 323,
+  ['kp4'] = 324,
+  ['kp5'] = 325,
+  ['kp6'] = 326,
+  ['kp7'] = 327,
+  ['kp8'] = 328,
+  ['kp9'] = 329,
+  ['kp.'] = 330,
+  ['kp/'] = 331,
+  ['kp*'] = 332,
+  ['kp-'] = 333,
+  ['kp+'] = 334,
+  ['kpenter'] = 335,
+  ['kp='] = 336,
+
+  ['lshift'] = 340,
+  ['lctrl'] = 341,
+  ['lalt'] = 342,
+  ['lgui'] = 343,
+  ['rshift'] = 344,
+  ['rctrl'] = 345,
+  ['ralt'] = 346,
+  ['rgui'] = 347,
+  ['menu'] = 348
 }
 
 local keyboard = {}
 
 function keyboard.isDown(key)
+  if not keymap[key] then error('Unknown key: ' .. key) end
   return C.glfwGetKey(window, keymap[key]) == 1
 end