struct Input { static const char* Handle; static const char* KeyboardSupport; static const char* MouseSupport; static const char* JoypadSupport; static const char* JoypadRumbleSupport; virtual bool cap(const nall::string& name) { return false; } virtual nall::any get(const nall::string& name) { return false; } virtual bool set(const nall::string& name, const nall::any& value) { return false; } virtual bool acquire() { return false; } virtual bool unacquire() { return false; } virtual bool acquired() { return false; } virtual nall::vector poll() { return {}; } virtual bool rumble(uint64_t id, bool enable) {} virtual bool init() { return true; } virtual void term() {} Input() {} virtual ~Input() {} };