Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions include/buttoncombo/api.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,13 @@ extern "C" {
**/
const char *ButtonComboModule_GetStatusStr(ButtonComboModule_Error status);

/**
* Returns a ButtonComboModule_ControllerTypes as a string
* @param controller
* @return String representation of a given controller
**/
const char *ButtonComboModule_GetControllerTypeStr(ButtonComboModule_ControllerTypes controller);

/**
* This function has to be called before any other function of this lib (except ButtonComboModule_GetVersion) can be used.
*
Expand Down Expand Up @@ -134,6 +141,8 @@ ButtonComboModule_Error ButtonComboModule_DetectButtonCombo_Blocking(const Butto
namespace ButtonComboModule {
std::string_view GetStatusStr(ButtonComboModule_Error status);

std::string_view GetControllerTypeStr(ButtonComboModule_ControllerTypes controller);

std::optional<ButtonCombo> CreateComboPressDownEx(std::string_view label,
ButtonComboModule_ControllerTypes controllerMask,
ButtonComboModule_Buttons combo,
Expand Down
24 changes: 14 additions & 10 deletions source/cppApi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ namespace ButtonComboModule {
return ButtonComboModule_GetStatusStr(status);
}

std::string_view GetControllerTypeStr(const ButtonComboModule_ControllerTypes controller) {
return ButtonComboModule_GetControllerTypeStr(controller);
}

std::optional<ButtonCombo> CreateComboPressDownEx(const std::string_view label,
const ButtonComboModule_ControllerTypes controllerMask,
const ButtonComboModule_Buttons combo,
Expand Down Expand Up @@ -102,19 +106,19 @@ namespace ButtonComboModule {
return std::move(*res);
}

ButtonCombo CreatePressDown(const std::string_view label,
const ButtonComboModule_Buttons combo,
const ButtonComboModule_ComboCallback callback,
void *context,
ButtonComboModule_ComboStatus &outStatus) {
ButtonCombo CreateComboPressDown(const std::string_view label,
const ButtonComboModule_Buttons combo,
const ButtonComboModule_ComboCallback callback,
void *context,
ButtonComboModule_ComboStatus &outStatus) {
return CreateComboPressDownEx(label, BUTTON_COMBO_MODULE_CONTROLLER_ALL, combo, callback, context, false, outStatus);
}

ButtonCombo CreatePressDownObserver(const std::string_view label,
const ButtonComboModule_Buttons combo,
const ButtonComboModule_ComboCallback callback,
void *context,
ButtonComboModule_ComboStatus &outStatus) {
ButtonCombo CreateComboPressDownObserver(const std::string_view label,
const ButtonComboModule_Buttons combo,
const ButtonComboModule_ComboCallback callback,
void *context,
ButtonComboModule_ComboStatus &outStatus) {
return CreateComboPressDownEx(label, BUTTON_COMBO_MODULE_CONTROLLER_ALL, combo, callback, context, true, outStatus);
}

Expand Down
25 changes: 25 additions & 0 deletions source/utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,31 @@ const char *ButtonComboModule_GetStatusStr(const ButtonComboModule_Error status)
return "BUTTON_COMBO_MODULE_ERROR_UNKNOWN_ERROR";
}

const char *ButtonComboModule_GetControllerTypeStr(const ButtonComboModule_ControllerTypes controller) {
switch (controller) {
case BUTTON_COMBO_MODULE_CONTROLLER_VPAD_0:
return "BUTTON_COMBO_MODULE_CONTROLLER_VPAD_0";
case BUTTON_COMBO_MODULE_CONTROLLER_VPAD_1:
return "BUTTON_COMBO_MODULE_CONTROLLER_VPAD_1";
case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_0:
return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_0";
case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_1:
return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_1";
case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_2:
return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_2";
case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_3:
return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_3";
case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_4:
return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_4";
case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_5:
return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_5";
case BUTTON_COMBO_MODULE_CONTROLLER_WPAD_6:
return "BUTTON_COMBO_MODULE_CONTROLLER_WPAD_6";
default:;
}
return "<UNKNOWN OR MORE THAN ONE CONTROLLER>";
}

ButtonComboModule_Error ButtonComboModule_InitLibrary() {
if (sLibInitDone) {
return BUTTON_COMBO_MODULE_ERROR_SUCCESS;
Expand Down