From a910ada8a2f989f9b720d1219c6594589508e0c6 Mon Sep 17 00:00:00 2001 From: Themaister Date: Thu, 4 Apr 2013 22:35:05 +0200 Subject: [PATCH] Add mouse grab to dinput. --- input/dinput.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/input/dinput.c b/input/dinput.c index 831247d341..2b6f968248 100644 --- a/input/dinput.c +++ b/input/dinput.c @@ -328,6 +328,18 @@ static void dinput_free(void *data) dinput_destroy_context(); } +static void dinput_grab_mouse(void *data, bool state) +{ + struct dinput_input *di = (struct dinput_input*)data; + IDirectInputDevice8_Unacquire(di->mouse); + IDirectInputDevice8_SetCooperativeLevel(di->mouse, + (HWND)driver.video_window, + state ? + (DISCL_EXCLUSIVE | DISCL_FOREGROUND) : + (DISCL_NONEXCLUSIVE | DISCL_BACKGROUND)); + IDirectInputDevice8_Acquire(di->mouse); +} + const input_driver_t input_dinput = { dinput_init, dinput_poll, @@ -336,6 +348,8 @@ const input_driver_t input_dinput = { dinput_free, NULL, "dinput", + + dinput_grab_mouse, }; static void dinput_joypad_destroy(void)