# HG changeset patch # User Sam Lantinga # Date 1050422528 0 # Node ID 0a2ef9e8ca41de91a2b766f290db0d70e42c1944 # Parent 95433459fbd2d3983b6380ea14fb3ca3ec2ce36e Date: Wed, 9 Apr 2003 01:03:25 -0400 (EDT) From: "Matthew N. Dodd" Subject: SDL patch: FreeBSD joystick support. This patch deals with the recent changes in FreeBSD. We're making an effort not to diverge our libusbhid from NetBSD's. diff -r 95433459fbd2 -r 0a2ef9e8ca41 src/joystick/bsd/SDL_sysjoystick.c --- a/src/joystick/bsd/SDL_sysjoystick.c Tue Apr 15 15:46:56 2003 +0000 +++ b/src/joystick/bsd/SDL_sysjoystick.c Tue Apr 15 16:02:08 2003 +0000 @@ -55,6 +55,10 @@ #include #endif +#ifdef __FreeBSD__ +#include +#endif + #include "SDL_error.h" #include "SDL_joystick.h" #include "SDL_sysjoystick.h" @@ -210,6 +214,7 @@ } rep = &hw->inreport; + rep->rid = 0; if (report_alloc(rep, hw->repdesc, REPORT_INPUT) < 0) { goto usberr; } @@ -219,7 +224,7 @@ goto usberr; } -#ifdef USBHID_NEW +#if defined(USBHID_NEW) || (defined(__FreeBSD__) && __FreeBSD_version >= 500111) hdata = hid_start_parse(hw->repdesc, 1 << hid_input, rep->rid); #else hdata = hid_start_parse(hw->repdesc, 1 << hid_input); @@ -309,7 +314,7 @@ if (read(joy->hwdata->fd, REP_BUF_DATA(rep), rep->size) != rep->size) { return; } -#ifdef USBHID_NEW +#if defined(USBHID_NEW) || (defined(__FreeBSD__) && __FreeBSD_version >= 500111) hdata = hid_start_parse(joy->hwdata->repdesc, 1 << hid_input, rep->rid); #else hdata = hid_start_parse(joy->hwdata->repdesc, 1 << hid_input); @@ -410,7 +415,11 @@ #ifdef __FreeBSD__ # if (__FreeBSD_version >= 470000) +# if (__FreeBSD_version <= 500111) len = hid_report_size(rd, r->rid, repinfo[repind].kind); +# else + len = hid_report_size(rd, repinfo[repind].kind, r->rid); +# endif # else len = hid_report_size(rd, repinfo[repind].kind, &r->rid); #endif