KEYMAPPER: Untangle the dependencies between Action and Keymap

This commit is contained in:
Bastien Bouclet 2020-01-23 10:50:51 +01:00 committed by Filippos Karapetis
parent 03bd7541bd
commit 19de568e24
13 changed files with 71 additions and 55 deletions

View file

@ -364,33 +364,41 @@ static void setupKeymapper(OSystem &system) {
// Now create the global keymap
Keymap *primaryGlobalKeymap = new Keymap(Keymap::kKeymapTypeGlobal, kGlobalKeymapName);
Action *act;
act = new Action(primaryGlobalKeymap, "MENU", _("Menu"));
act = new Action("MENU", _("Menu"));
act->addDefaultInputMapping("C+F5");
act->setEvent(EVENT_MAINMENU);
primaryGlobalKeymap->addAction(act);
#ifdef ENABLE_VKEYBD
act = new Action(primaryGlobalKeymap, "VIRT", _("Display keyboard"));
act = new Action("VIRT", _("Display keyboard"));
act->addDefaultInputMapping("C+F7");
act->setEvent(EVENT_VIRTUAL_KEYBOARD);
primaryGlobalKeymap->addAction(act);
#endif
act = new Action(primaryGlobalKeymap, "REMP", _("Remap keys"));
act = new Action("REMP", _("Remap keys"));
act->addDefaultInputMapping("C+F8");
act->setEvent(EVENT_KEYMAPPER_REMAP);
primaryGlobalKeymap->addAction(act);
act = new Action(primaryGlobalKeymap, "FULS", _("Toggle fullscreen"));
act = new Action("FULS", _("Toggle fullscreen"));
act->addDefaultInputMapping("A+RETURN");
act->setKeyEvent(KeyState(KEYCODE_RETURN, ASCII_RETURN, KBD_ALT));
primaryGlobalKeymap->addAction(act);
act = new Action(primaryGlobalKeymap, "LCLK", _("Left Click"));
act = new Action("LCLK", _("Left Click"));
act->setLeftClickEvent();
primaryGlobalKeymap->addAction(act);
act = new Action(primaryGlobalKeymap, "MCLK", _("Middle Click"));
act = new Action("MCLK", _("Middle Click"));
act->setMiddleClickEvent();
primaryGlobalKeymap->addAction(act);
act = new Action(primaryGlobalKeymap, "RCLK", _("Right Click"));
act = new Action("RCLK", _("Right Click"));
act->setRightClickEvent();
primaryGlobalKeymap->addAction(act);
mapper->addGlobalKeymap(primaryGlobalKeymap);