From cf85cccfdb1aa57b6246641f606563288e0870e5 Mon Sep 17 00:00:00 2001 From: manuel Date: Mon, 29 Apr 2019 12:23:35 +0200 Subject: sync with upstream --- .../include/kodi/kodi_game_dll.h | 28 +++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_dll.h') diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_dll.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_dll.h index 478f81b..4338606 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_dll.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_dll.h @@ -152,32 +152,43 @@ game_input_topology* GetTopology(); */ void FreeTopology(game_input_topology* topology); +/*! + * \brief Set the layouts for known controllers + * + * \param controllers The controller layouts + * \param controller_count The number of items in the array + * + * After loading the input topology, the frontend will call this with + * controller layouts for all controllers discovered in the topology. + */ +void SetControllerLayouts(const game_controller_layout* controllers, unsigned int controller_count); + /*! * \brief Enable/disable keyboard input using the specified controller * * \param enable True to enable input, false otherwise - * \param controller The controller info if enabling, or unused if disabling + * \param controller_id The controller ID if enabling, or unused if disabling * * \return True if keyboard input was enabled, false otherwise */ -bool EnableKeyboard(bool enable, const game_controller* controller); +bool EnableKeyboard(bool enable, const char* controller_id); /*! * \brief Enable/disable mouse input using the specified controller * * \param enable True to enable input, false otherwise - * \param controller The controller info if enabling, or unused if disabling + * \param controller_id The controller ID if enabling, or unused if disabling * * \return True if mouse input was enabled, false otherwise */ -bool EnableMouse(bool enable, const game_controller* controller); +bool EnableMouse(bool enable, const char* controller_id); /*! * \brief Connect/disconnect a controller to a port on the virtual game console * * \param connect True to connect a controller, false to disconnect * \param port_address The address of the port - * \param controller The controller info if connecting, or unused if disconnecting + * \param controller_id The controller ID if connecting, or unused if disconnecting * \return True if the \p controller was (dis-)connected to the port, false otherwise * * The address is a string that allows traversal of the controller topology. @@ -203,17 +214,17 @@ bool EnableMouse(bool enable, const game_controller* controller); * To connect a multitap to the console's first port, the multitap's controller * info is set using the port address: * - * 1 + * /1 * * To connect a SNES controller to the second port of the multitap, the * controller info is next set using the address: * - * 1/game.controller.multitap/2 + * /1/game.controller.multitap/2 * * Any attempts to connect a controller to a port on a disconnected multitap * will return false. */ -bool ConnectController(bool connect, const char* port_address, const game_controller* controller); +bool ConnectController(bool connect, const char* port_address, const char* controller_id); /*! * \brief Notify the add-on of an input event @@ -310,6 +321,7 @@ void __declspec(dllexport) get_addon(void* ptr) pClient->toAddon.HasFeature = HasFeature; pClient->toAddon.GetTopology = GetTopology; pClient->toAddon.FreeTopology = FreeTopology; + pClient->toAddon.SetControllerLayouts = SetControllerLayouts; pClient->toAddon.EnableKeyboard = EnableKeyboard; pClient->toAddon.EnableMouse = EnableMouse; pClient->toAddon.ConnectController = ConnectController; -- cgit v1.2.3