testgamecontroller: Add battery reporting
diff --git a/test/testgamecontroller.c b/test/testgamecontroller.c
index bd22810..ef54d69 100644
--- a/test/testgamecontroller.c
+++ b/test/testgamecontroller.c
@@ -69,6 +69,17 @@ static const struct { int x; int y; double angle; } axis_positions[] = {
};
SDL_COMPILE_TIME_ASSERT(axis_positions, SDL_arraysize(axis_positions) == SDL_CONTROLLER_AXIS_MAX);
+/* This is indexed by SDL_JoystickPowerLevel + 1. */
+static const char* power_level_strings[] = {
+ "unknown", /* SDL_JOYSTICK_POWER_UNKNOWN */
+ "empty", /* SDL_JOYSTICK_POWER_EMPTY */
+ "low", /* SDL_JOYSTICK_POWER_LOW */
+ "medium", /* SDL_JOYSTICK_POWER_MEDIUM */
+ "full", /* SDL_JOYSTICK_POWER_FULL */
+ "wired", /* SDL_JOYSTICK_POWER_WIRED */
+};
+SDL_COMPILE_TIME_ASSERT(power_level_strings, SDL_arraysize(power_level_strings) == SDL_JOYSTICK_POWER_MAX + 1);
+
static SDL_Window *window = NULL;
static SDL_Renderer *screen = NULL;
static SDL_bool retval = SDL_FALSE;
@@ -587,6 +598,10 @@ loop(void *arg)
}
break;
+ case SDL_JOYBATTERYUPDATED:
+ SDL_Log("Controller %d battery state changed to %s\n", event.jbattery.which, power_level_strings[event.jbattery.level + 1]);
+ break;
+
case SDL_MOUSEBUTTONDOWN:
if (virtual_joystick) {
VirtualControllerMouseDown(event.button.x, event.button.y);