#pragma once #include #include namespace Ji { void disableKeyboard(Uint32 time); // Bloqueja tot l'input cap al joc (Ji::keyPressed retorna false per a tot) void setInputBlocked(bool blocked); // Estableix l'estat d'una tecla virtual. Múltiples fonts (gamepad, remap) // s'agrupen per OR. Ji::keyPressed retorna true si el teclat real O qualsevol // font virtual està premuda. enum class VirtualSource : std::uint8_t { GAMEPAD = 0, REMAP = 1, COUNT = 2 }; void setVirtualKey(int scancode, VirtualSource source, bool pressed); void update(); // Avança el buffer rotatori de cheats afegint `scancode` per detectar // seqüències com "reviu", "alone", "obert". Usat pel Director quan rep // un KEY_DOWN; el joc no l'ha de cridar directament. void moveCheats(Uint8 scancode); auto keyPressed(int key) -> bool; auto cheatActivated(const char* cheat_code) -> bool; auto anyKey() -> bool; } // namespace Ji