Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
028e9a17
Commit
028e9a17
authored
Aug 04, 1999
by
Marcus Meissner
Committed by
Alexandre Julliard
Aug 04, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implemented DirectInput Joystick support (tested with WC:Prophecy).
parent
5910c681
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
129 additions
and
9 deletions
+129
-9
configure
configure
+0
-0
configure.in
configure.in
+22
-0
acconfig.h
include/acconfig.h
+3
-0
config.h.in
include/config.h.in
+6
-0
dinput.h
include/dinput.h
+98
-9
dinput.c
windows/dinput.c
+0
-0
No files found.
configure
View file @
028e9a17
This diff is collapsed.
Click to expand it.
configure.in
View file @
028e9a17
...
...
@@ -506,6 +506,7 @@ AC_CHECK_HEADERS(\
float.h \
libio.h \
linux/cdrom.h \
linux/joystick.h \
linux/ucdrom.h \
ncurses.h \
net/if.h \
...
...
@@ -541,6 +542,27 @@ AC_C_INLINE()
AC_TYPE_SIZE_T()
AC_CHECK_SIZEOF(long long,0)
if test "$ac_cv_header_linux_joystick_h" = "yes"
then
AC_CACHE_CHECK("whether linux/joystick.h uses the Linux 2.2+ API",
wine_cv_linux_joystick_22_api,
AC_TRY_COMPILE([
#include <sys/ioctl.h>
#include <linux/joystick.h>
struct js_event blub;
],/*empty*/,
wine_cv_linux_joystick_22_api=yes,
wine_cv_linux_joystick_22_api=no,
wine_cv_linux_joystick_22_api=no
)
)
if test "$wine_cv_linux_joystick_22_api"
then
AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API)
fi
fi
dnl **** statfs checks ****
if test "$ac_cv_header_sys_vfs_h" = "yes"
...
...
include/acconfig.h
View file @
028e9a17
...
...
@@ -95,3 +95,6 @@
/* Define if the system has dynamic link library support with the dl* API */
#undef HAVE_DL_API
/* Define if <linux/joystick.h> defines the Linux 2.2 joystick API */
#undef HAVE_LINUX_22_JOYSTICK_API
include/config.h.in
View file @
028e9a17
...
...
@@ -124,6 +124,9 @@
/* Define if the system has dynamic link library support with the dl* API */
#undef HAVE_DL_API
/* Define if <linux/joystick.h> defines the Linux 2.2 joystick API */
#undef HAVE_LINUX_22_JOYSTICK_API
/* The number of bytes in a long long. */
#undef SIZEOF_LONG_LONG
...
...
@@ -226,6 +229,9 @@
/* Define if you have the <linux/cdrom.h> header file. */
#undef HAVE_LINUX_CDROM_H
/* Define if you have the <linux/joystick.h> header file. */
#undef HAVE_LINUX_JOYSTICK_H
/* Define if you have the <linux/ucdrom.h> header file. */
#undef HAVE_LINUX_UCDROM_H
...
...
include/dinput.h
View file @
028e9a17
...
...
@@ -457,9 +457,9 @@ typedef const DIPROPRANGE *LPCDIPROPRANGE;
typedef
struct
DIPROPCAL
{
DIPROPHEADER
diph
;
LONG
lMin
;
LONG
lCenter
;
LONG
lMax
;
LONG
lMin
;
LONG
lCenter
;
LONG
lMax
;
}
DIPROPCAL
,
*
LPDIPROPCAL
;
typedef
const
DIPROPCAL
*
LPCDIPROPCAL
;
...
...
@@ -635,14 +635,103 @@ typedef BOOL (CALLBACK * LPDIENUMEFFECTSCALLBACKA)(LPCDIEFFECTINFOA, LPVOID);
typedef
BOOL
(
CALLBACK
*
LPDIENUMEFFECTSCALLBACKW
)(
LPCDIEFFECTINFOW
,
LPVOID
);
typedef
struct
DIEFFESCAPE
{
DWORD
dwSize
;
DWORD
dwCommand
;
LPVOID
lpvInBuffer
;
DWORD
cbInBuffer
;
LPVOID
lpvOutBuffer
;
DWORD
cbOutBuffer
;
DWORD
dwSize
;
DWORD
dwCommand
;
LPVOID
lpvInBuffer
;
DWORD
cbInBuffer
;
LPVOID
lpvOutBuffer
;
DWORD
cbOutBuffer
;
}
DIEFFESCAPE
,
*
LPDIEFFESCAPE
;
typedef
struct
DIJOYSTATE
{
LONG
lX
;
LONG
lY
;
LONG
lZ
;
LONG
lRx
;
LONG
lRy
;
LONG
lRz
;
LONG
rglSlider
[
2
];
DWORD
rgdwPOV
[
4
];
BYTE
rgbButtons
[
32
];
}
DIJOYSTATE
,
*
LPDIJOYSTATE
;
typedef
struct
DIJOYSTATE2
{
LONG
lX
;
LONG
lY
;
LONG
lZ
;
LONG
lRx
;
LONG
lRy
;
LONG
lRz
;
LONG
rglSlider
[
2
];
DWORD
rgdwPOV
[
4
];
BYTE
rgbButtons
[
128
];
LONG
lVX
;
/* 'v' as in velocity */
LONG
lVY
;
LONG
lVZ
;
LONG
lVRx
;
LONG
lVRy
;
LONG
lVRz
;
LONG
rglVSlider
[
2
];
LONG
lAX
;
/* 'a' as in acceleration */
LONG
lAY
;
LONG
lAZ
;
LONG
lARx
;
LONG
lARy
;
LONG
lARz
;
LONG
rglASlider
[
2
];
LONG
lFX
;
/* 'f' as in force */
LONG
lFY
;
LONG
lFZ
;
LONG
lFRx
;
/* 'fr' as in rotational force aka torque */
LONG
lFRy
;
LONG
lFRz
;
LONG
rglFSlider
[
2
];
}
DIJOYSTATE2
,
*
LPDIJOYSTATE2
;
#define DIJOFS_X FIELD_OFFSET(DIJOYSTATE, lX)
#define DIJOFS_Y FIELD_OFFSET(DIJOYSTATE, lY)
#define DIJOFS_Z FIELD_OFFSET(DIJOYSTATE, lZ)
#define DIJOFS_RX FIELD_OFFSET(DIJOYSTATE, lRx)
#define DIJOFS_RY FIELD_OFFSET(DIJOYSTATE, lRy)
#define DIJOFS_RZ FIELD_OFFSET(DIJOYSTATE, lRz)
#define DIJOFS_SLIDER(n) (FIELD_OFFSET(DIJOYSTATE, rglSlider) + \
(n) * sizeof(LONG))
#define DIJOFS_POV(n) (FIELD_OFFSET(DIJOYSTATE, rgdwPOV) + \
(n) * sizeof(DWORD))
#define DIJOFS_BUTTON(n) (FIELD_OFFSET(DIJOYSTATE, rgbButtons) + (n))
#define DIJOFS_BUTTON0 DIJOFS_BUTTON(0)
#define DIJOFS_BUTTON1 DIJOFS_BUTTON(1)
#define DIJOFS_BUTTON2 DIJOFS_BUTTON(2)
#define DIJOFS_BUTTON3 DIJOFS_BUTTON(3)
#define DIJOFS_BUTTON4 DIJOFS_BUTTON(4)
#define DIJOFS_BUTTON5 DIJOFS_BUTTON(5)
#define DIJOFS_BUTTON6 DIJOFS_BUTTON(6)
#define DIJOFS_BUTTON7 DIJOFS_BUTTON(7)
#define DIJOFS_BUTTON8 DIJOFS_BUTTON(8)
#define DIJOFS_BUTTON9 DIJOFS_BUTTON(9)
#define DIJOFS_BUTTON10 DIJOFS_BUTTON(10)
#define DIJOFS_BUTTON11 DIJOFS_BUTTON(11)
#define DIJOFS_BUTTON12 DIJOFS_BUTTON(12)
#define DIJOFS_BUTTON13 DIJOFS_BUTTON(13)
#define DIJOFS_BUTTON14 DIJOFS_BUTTON(14)
#define DIJOFS_BUTTON15 DIJOFS_BUTTON(15)
#define DIJOFS_BUTTON16 DIJOFS_BUTTON(16)
#define DIJOFS_BUTTON17 DIJOFS_BUTTON(17)
#define DIJOFS_BUTTON18 DIJOFS_BUTTON(18)
#define DIJOFS_BUTTON19 DIJOFS_BUTTON(19)
#define DIJOFS_BUTTON20 DIJOFS_BUTTON(20)
#define DIJOFS_BUTTON21 DIJOFS_BUTTON(21)
#define DIJOFS_BUTTON22 DIJOFS_BUTTON(22)
#define DIJOFS_BUTTON23 DIJOFS_BUTTON(23)
#define DIJOFS_BUTTON24 DIJOFS_BUTTON(24)
#define DIJOFS_BUTTON25 DIJOFS_BUTTON(25)
#define DIJOFS_BUTTON26 DIJOFS_BUTTON(26)
#define DIJOFS_BUTTON27 DIJOFS_BUTTON(27)
#define DIJOFS_BUTTON28 DIJOFS_BUTTON(28)
#define DIJOFS_BUTTON29 DIJOFS_BUTTON(29)
#define DIJOFS_BUTTON30 DIJOFS_BUTTON(30)
#define DIJOFS_BUTTON31 DIJOFS_BUTTON(31)
/*****************************************************************************
* IDirectInputEffect interface
*/
...
...
windows/dinput.c
View file @
028e9a17
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment