Lua: Refactor lots of stuff
[lsnes.git] / src / lua / bind.cpp
blobc97618cd49be62ca71295f4890bf505a5e6e2efe
1 #include "core/keymapper.hpp"
2 #include "core/command.hpp"
3 #include "lua/internal.hpp"
4 #include <stdexcept>
6 namespace
8 lua::fnptr2 kbind(lua_func_misc, "keyboard.bind", [](lua::state& L, lua::parameters& P) -> int {
9 auto mod = P.arg<std::string>();
10 auto mask = P.arg<std::string>();
11 auto key = P.arg<std::string>();
12 auto cmd = P.arg<std::string>();
13 lsnes_mapper.bind(mod, mask, key, cmd);
14 return 0;
15 });
17 lua::fnptr2 kunbind(lua_func_misc, "keyboard.unbind", [](lua::state& L, lua::parameters& P)
18 -> int {
19 auto mod = P.arg<std::string>();
20 auto mask = P.arg<std::string>();
21 auto key = P.arg<std::string>();
22 lsnes_mapper.unbind(mod, mask, key);
23 return 0;
24 });
26 lua::fnptr2 kalias(lua_func_misc, "keyboard.alias", [](lua::state& L, lua::parameters& P)
27 -> int {
28 auto alias = P.arg<std::string>();
29 auto cmds = P.arg<std::string>();
30 lsnes_cmd.set_alias_for(alias, cmds);
31 refresh_alias_binds();
32 return 0;
33 });