2
0

KeyboardBinds.cpp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include "LuaStack.h"
  2. #include "Device.h"
  3. #include "LuaEnvironment.h"
  4. #include "Keyboard.h"
  5. namespace crown
  6. {
  7. extern "C"
  8. {
  9. int32_t keyboard_modifier_pressed(lua_State* L)
  10. {
  11. LuaStack stack(L);
  12. int32_t modifier = stack.get_int(1);
  13. stack.push_bool(device()->keyboard()->modifier_pressed((ModifierKey) modifier));
  14. return 1;
  15. }
  16. int32_t keyboard_key_pressed(lua_State* L)
  17. {
  18. LuaStack stack(L);
  19. int32_t key = stack.get_int(1);
  20. stack.push_bool(device()->keyboard()->key_pressed((KeyCode) key));
  21. return 1;
  22. }
  23. int32_t keyboard_key_released(lua_State* L)
  24. {
  25. LuaStack stack(L);
  26. int32_t key = stack.get_int(1);
  27. stack.push_bool(device()->keyboard()->key_released((KeyCode) key));
  28. return 1;
  29. }
  30. } // extern "C"
  31. void load_keyboard(LuaEnvironment& env)
  32. {
  33. env.load_module_function("Keyboard", "modifier_pressed", keyboard_modifier_pressed);
  34. env.load_module_function("Keyboard", "key_pressed", keyboard_key_pressed);
  35. env.load_module_function("Keyboard", "key_released", keyboard_key_released);
  36. }
  37. } // namespace crown