From 8c447137d6f4d268b8c1bcd07609a196a6561533 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sun, 25 Jun 2023 14:27:43 -0500 Subject: [PATCH] Fix controller arrival packet to actually contain the controller that arrived --- src/Input.h | 2 +- src/InputStream.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Input.h b/src/Input.h index 167e1a6..baa79a3 100644 --- a/src/Input.h +++ b/src/Input.h @@ -152,8 +152,8 @@ typedef struct _SS_PEN_PACKET { #define SS_CONTROLLER_ARRIVAL_MAGIC 0x55000004 typedef struct _SS_CONTROLLER_ARRIVAL_PACKET { NV_INPUT_HEADER header; + uint8_t controllerNumber; uint8_t type; - uint8_t zero[1]; // Alignment/reserved uint16_t capabilities; uint32_t supportedButtonFlags; } SS_CONTROLLER_ARRIVAL_PACKET, *PSS_CONTROLLER_ARRIVAL_PACKET; diff --git a/src/InputStream.c b/src/InputStream.c index a3df94c..c8a35f1 100644 --- a/src/InputStream.c +++ b/src/InputStream.c @@ -1253,8 +1253,8 @@ int LiSendControllerArrivalEvent(uint8_t controllerNumber, uint16_t activeGamepa holder->packet.controllerArrival.header.size = BE32(sizeof(SS_CONTROLLER_ARRIVAL_PACKET) - sizeof(uint32_t)); holder->packet.controllerArrival.header.magic = LE32(SS_CONTROLLER_ARRIVAL_MAGIC); + holder->packet.controllerArrival.controllerNumber = controllerNumber; holder->packet.controllerArrival.type = type; - memset(holder->packet.controllerArrival.zero, 0, sizeof(holder->packet.controllerArrival.zero)); holder->packet.controllerArrival.capabilities = LE16(capabilities); holder->packet.controllerArrival.supportedButtonFlags = LE32(supportedButtonFlags);