浏览代码

Fixed mis-detecting the share button on the Xbox controller over NDIS

Sam Lantinga 2 年之前
父节点
当前提交
00e02de77b
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      src/joystick/hidapi/SDL_hidapi_xboxone.c

+ 3 - 0
src/joystick/hidapi/SDL_hidapi_xboxone.c

@@ -653,6 +653,9 @@ static void HIDAPI_DriverXboxOne_HandleStatePacket(SDL_Joystick *joystick, SDL_D
     Sint16 axis;
     Uint64 timestamp = SDL_GetTicksNS();
 
+    /* Some controllers have larger packets over NDIS, but the real size is in data[3] */
+    size = SDL_min(data[3], size);
+
     /* Enable paddles on the Xbox Elite controller when connected over USB */
     if (ctx->has_paddles && !ctx->has_unmapped_state && size == 50) {
         Uint8 packet[] = { 0x4d, 0x00, 0x00, 0x02, 0x07, 0x00 };