Kodi Development  20.0
for Binary and Script based Add-Ons

Header parts:

bool HasFeature(const std::string& controller_id, const std::string& feature_name) override;
game_input_topology* GetTopology() override;
void FreeTopology(game_input_topology* topology) override;
void SetControllerLayouts(const std::vector<kodi::addon::GameControllerLayout>& controllers) override;
bool EnableKeyboard(bool enable, const std::string& controller_id) override;
bool EnableMouse(bool enable, const std::string& controller_id) override;
bool ConnectController(bool connect, const std::string& port_address, const std::string& controller_id) override;
bool InputEvent(const game_input_event& event) override;
Definition: game.h:990
The input topology is the possible ways to connect input devices.
Definition: game.h:866