wine/dlls/joy.cpl/joy.h
Rémi Bernon afd63fa6a7 joy.cpl: Add a XInput / DInput override configuration control.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-24 21:55:19 +02:00

132 lines
3.2 KiB
C

/*
* Joystick testing control panel applet resources and definitions
*
* Copyright 2012 Lucas Fialho Zawacki
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*
*/
#ifndef __WINE_JOYSTICKCPL__
#define __WINE_JOYSTICKCPL__
#include <winuser.h>
#include <windef.h>
#include <commctrl.h>
#include <dinput.h>
extern HMODULE hcpl;
struct Effect {
IDirectInputEffect *effect;
DIEFFECT params;
DIEFFECTINFOW info;
};
struct Joystick {
IDirectInputDevice8W *device;
DIDEVICEINSTANCEW instance;
int num_buttons;
int num_axes;
BOOL forcefeedback;
BOOL is_xinput;
BOOL has_override;
int num_effects;
int cur_effect;
int chosen_effect;
struct Effect *effects;
};
#define TEST_MAX_BUTTONS 32
#define TEST_MAX_AXES 4
struct Graphics {
HWND hwnd;
HWND buttons[TEST_MAX_BUTTONS];
HWND axes[TEST_MAX_AXES];
HWND ff_axis;
};
struct JoystickData {
IDirectInput8W *di;
struct Joystick *joysticks;
int num_joysticks;
int num_ff;
int cur_joystick;
int chosen_joystick;
struct Graphics graphics;
BOOL stop;
};
#define NUM_PROPERTY_PAGES 3
/* strings */
#define IDS_CPL_NAME 1
#define IDS_CPL_INFO 2
/* dialogs */
#define IDC_STATIC -1
#define IDD_LIST 1000
#define IDD_TEST 1001
#define IDD_FORCEFEEDBACK 1002
#define IDC_JOYSTICKLIST 2000
#define IDC_DISABLEDLIST 2001
#define IDC_XINPUTLIST 2002
#define IDC_BUTTONDISABLE 2010
#define IDC_BUTTONENABLE 2011
#define IDC_BUTTONRESET 2012
#define IDC_BUTTONOVERRIDE 2013
#define IDC_TESTSELECTCOMBO 2100
#define IDC_TESTGROUPXY 2101
#define IDC_TESTGROUPRXRY 2102
#define IDC_TESTGROUPZRZ 2103
#define IDC_TESTGROUPPOV 2104
#define IDC_FFSELECTCOMBO 2200
#define IDC_FFEFFECTLIST 2201
#define ICO_MAIN 100
/* constants */
#define TEST_POLL_TIME 100
#define TEST_BUTTON_COL_MAX 8
#define TEST_BUTTON_X 8
#define TEST_BUTTON_Y 122
#define TEST_NEXT_BUTTON_X 30
#define TEST_NEXT_BUTTON_Y 25
#define TEST_BUTTON_SIZE_X 20
#define TEST_BUTTON_SIZE_Y 18
#define TEST_AXIS_X 43
#define TEST_AXIS_Y 60
#define TEST_NEXT_AXIS_X 77
#define TEST_AXIS_SIZE_X 3
#define TEST_AXIS_SIZE_Y 3
#define TEST_AXIS_MIN -25
#define TEST_AXIS_MAX 25
#define FF_AXIS_X 248
#define FF_AXIS_Y 60
#define FF_AXIS_SIZE_X 3
#define FF_AXIS_SIZE_Y 3
#define FF_PLAY_TIME 2*DI_SECONDS
#define FF_PERIOD_TIME FF_PLAY_TIME/4
#endif