#pragma once #include "util/common.hpp" #include "midi.hpp" namespace rack { const int GAMEPAD_DRIVER = -10; struct GamepadInputDevice : MidiInputDevice { int deviceId; std::vector ccs; std::vector notes; void step(); }; struct GamepadInputDriver : MidiInputDriver { GamepadInputDevice devices[16]; GamepadInputDriver(); std::vector getDeviceIds() override; std::string getDeviceName(int deviceId) override; MidiInputDevice *getDevice(int deviceId) override; }; void gamepadStep(); MidiInputDriver *gamepadGetInputDriver(); } // namespace rack