X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fevents.c;h=0e899a5b8f6f9836eff53d7117c8bbe8545b5aec;hb=bd9eb07192105e183db44f03d675332ffb2b767a;hp=22cfdcd12ebadba2d7084591f3d6ec9bac91ab12;hpb=d0a7080670f9a2fa96138cf1c06708016a42d615;p=rocksndiamonds.git diff --git a/src/events.c b/src/events.c index 22cfdcd1..0e899a5b 100644 --- a/src/events.c +++ b/src/events.c @@ -1554,16 +1554,16 @@ void HandleButton(int mx, int my, int button, int button_nr) strEqual(setup.touch.control_type, TOUCH_CONTROL_FOLLOW_FINGER)); #endif - if (handle_gadgets && HandleGadgets(mx, my, button)) + if (HandleGlobalAnimClicks(mx, my, button)) { /* do not handle this button event anymore */ - mx = my = -32; /* force mouse event to be outside screen tiles */ + return; /* force mouse event not to be handled at all */ } - if (HandleGlobalAnimClicks(mx, my, button)) + if (handle_gadgets && HandleGadgets(mx, my, button)) { /* do not handle this button event anymore */ - return; /* force mouse event not to be handled at all */ + mx = my = -32; /* force mouse event to be outside screen tiles */ } if (button_hold && game_status == GAME_MODE_PLAYING && tape.pausing) @@ -1762,11 +1762,12 @@ static void HandleKeysSpecial(Key key) } /* special key shortcuts for all game modes */ - if (is_string_suffix(cheat_input, ":dump-gadget-ids") || - is_string_suffix(cheat_input, ":dgi") || - is_string_suffix(cheat_input, ":DGI")) + if (is_string_suffix(cheat_input, ":dump-event-actions") || + is_string_suffix(cheat_input, ":dea") || + is_string_suffix(cheat_input, ":DEA")) { DumpGadgetIdentifiers(); + DumpScreenIdentifiers(); } } @@ -2495,3 +2496,18 @@ void HandleSpecialGameControllerKeys(Key key, int key_status) #endif #endif } + +boolean DoKeysymAction(int keysym) +{ + if (keysym < 0) + { + Key key = (Key)(-keysym); + + HandleKey(key, KEY_PRESSED); + HandleKey(key, KEY_RELEASED); + + return TRUE; + } + + return FALSE; +}