Commit afa1e60b authored by Rémi Bernon's avatar Rémi Bernon Committed by Alexandre Julliard

dinput: Introduce new HID joystick backend.

This adds a new joystick backend, implemented on top of HID and without any host dependencies. This will be progressively implementated, and it's not going to be usable until at least a few more patches. Because of that, and because it may also introduce regressions compared to the existing backends, it is disabled by default and is optionally enabled using the following global registry key: [HKCU\\Software\\Wine\\DirectInput\\Joysticks] "HID"="enabled" Or using the corresponding AppDefaults registry key: [HKCU\\Software\\Wine\\AppDefaults\\<app.exe>\\DirectInput\\Joysticks] "HID"="enabled" This setting will be removed later, when it becomes usable enough, to use the individual device disable mechanism available in joy.cpl. Signed-off-by: 's avatarRémi Bernon <rbernon@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 0ba137e3
MODULE = dinput.dll MODULE = dinput.dll
IMPORTLIB = dinput IMPORTLIB = dinput
IMPORTS = dinput dxguid uuid comctl32 ole32 user32 advapi32 IMPORTS = dinput dxguid uuid comctl32 ole32 user32 advapi32 hid setupapi
EXTRADEFS = -DDIRECTINPUT_VERSION=0x0700 EXTRADEFS = -DDIRECTINPUT_VERSION=0x0700
EXTRALIBS = $(IOKIT_LIBS) $(FORCEFEEDBACK_LIBS) EXTRALIBS = $(IOKIT_LIBS) $(FORCEFEEDBACK_LIBS)
...@@ -12,6 +12,7 @@ C_SRCS = \ ...@@ -12,6 +12,7 @@ C_SRCS = \
dinput_main.c \ dinput_main.c \
effect_linuxinput.c \ effect_linuxinput.c \
joystick.c \ joystick.c \
joystick_hid.c \
joystick_linux.c \ joystick_linux.c \
joystick_linuxinput.c \ joystick_linuxinput.c \
joystick_osx.c \ joystick_osx.c \
......
...@@ -80,7 +80,8 @@ static const struct dinput_device *dinput_devices[] = ...@@ -80,7 +80,8 @@ static const struct dinput_device *dinput_devices[] =
&keyboard_device, &keyboard_device,
&joystick_linuxinput_device, &joystick_linuxinput_device,
&joystick_linux_device, &joystick_linux_device,
&joystick_osx_device &joystick_osx_device,
&joystick_hid_device,
}; };
HINSTANCE DINPUT_instance; HINSTANCE DINPUT_instance;
......
...@@ -67,6 +67,7 @@ struct DevicePlayer { ...@@ -67,6 +67,7 @@ struct DevicePlayer {
extern const struct dinput_device mouse_device DECLSPEC_HIDDEN; extern const struct dinput_device mouse_device DECLSPEC_HIDDEN;
extern const struct dinput_device keyboard_device DECLSPEC_HIDDEN; extern const struct dinput_device keyboard_device DECLSPEC_HIDDEN;
extern const struct dinput_device joystick_hid_device DECLSPEC_HIDDEN;
extern const struct dinput_device joystick_linux_device DECLSPEC_HIDDEN; extern const struct dinput_device joystick_linux_device DECLSPEC_HIDDEN;
extern const struct dinput_device joystick_linuxinput_device DECLSPEC_HIDDEN; extern const struct dinput_device joystick_linuxinput_device DECLSPEC_HIDDEN;
extern const struct dinput_device joystick_osx_device DECLSPEC_HIDDEN; extern const struct dinput_device joystick_osx_device DECLSPEC_HIDDEN;
......
MODULE = dinput8.dll MODULE = dinput8.dll
IMPORTLIB = dinput8 IMPORTLIB = dinput8
IMPORTS = dinput8 dxguid uuid comctl32 ole32 user32 advapi32 IMPORTS = dinput8 dxguid uuid comctl32 ole32 user32 advapi32 hid setupapi
EXTRADEFS = -DDIRECTINPUT_VERSION=0x0800 EXTRADEFS = -DDIRECTINPUT_VERSION=0x0800
EXTRALIBS = $(IOKIT_LIBS) $(FORCEFEEDBACK_LIBS) EXTRALIBS = $(IOKIT_LIBS) $(FORCEFEEDBACK_LIBS)
PARENTSRC = ../dinput PARENTSRC = ../dinput
...@@ -13,6 +13,7 @@ C_SRCS = \ ...@@ -13,6 +13,7 @@ C_SRCS = \
dinput_main.c \ dinput_main.c \
effect_linuxinput.c \ effect_linuxinput.c \
joystick.c \ joystick.c \
joystick_hid.c \
joystick_linux.c \ joystick_linux.c \
joystick_linuxinput.c \ joystick_linuxinput.c \
joystick_osx.c \ joystick_osx.c \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment