Rémi Bernon
306c40e673
dinput: Use dedicated list for mouse and keyboard.
...
Instead of using function pointer, which is also not very CPU friendly.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Rémi Bernon
26c1131201
dinput: Use a single list for all acquired devices.
...
Instead of going through devices list of dinputs list, and checking
their acquired field, which is not CPU friendly.
This also removes the now unused IDirectInputImpl critical section and
devices list.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Brendan Shanks
f65cfbfe9b
dinput: Fix DInput8 keyboard behavior for injected events with scancode=0.
...
Grand Theft Auto IV injects VK_F8 and scancode=0, and expects DirectInput not
to report that F8 is pressed.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 22:54:26 +02:00
Alistair Leslie-Hughes
f10f98cfa2
dinput: Keyboard device doesn't support property DIPROP_VIDPID.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 12:48:08 +01:00
Alistair Leslie-Hughes
ab5d9e43cb
dinput: Support DIDEVICEINSTANCE_DX3 for keyboard GetDeviceInfo.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-21 18:08:37 +02:00
Alistair Leslie-Hughes
52deca4900
dinput: Trace This pointer in a consistent way.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-09 11:39:52 -05:00
Alistair Leslie-Hughes
b3c5062f36
dinput: Don't report SysMouse/Keyboard devices as supporting Force Feedback.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-26 21:05:08 +02:00
Brendan McGrath
3a2834b3a4
dinput: Use the same GUID for Instance and Product.
...
Signed-off-by: Brendan McGrath <brendan@redmandi.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 17:22:36 +01:00
Michael Stefaniuc
6710a0485d
dinput: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:56:16 +02:00
Akihiro Sagawa
966b3b20de
dinput: Correct key name mappings on Japanese 106 keyboard.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:03 +02:00
Akihiro Sagawa
6be7d14fb9
dinput: Fix DIK code mappings on Japanese 106 keyboard.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45475
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:03 +02:00
Akihiro Sagawa
8001dda117
dinput: Return DIDEVTYPEKEYBOARD_JAPAN106 subtype when it is used.
...
For the further improvments, subtype is a member of SysKeyboardImpl structure.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 16:51:03 +02:00
Dmitry Timoshkov
210cefd23d
dinput/tests: Add some tests for DIK_ codes using different keyboard layouts.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-17 17:03:13 +02:00
Dmitry Timoshkov
d341b0a86b
dinput: The DIK_ key code should match the scan code.
...
This reverts commit 304ff3c728
.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-17 17:03:13 +02:00
Sebastian Lackner
bfb845f9fc
dinput: Ensure X11 input events are forwarded to wineserver even without message loop.
...
This commit basically reverts b22ff8018a
.
Windows does not do that, but our current implementation of winex11
requires periodic event polling to forward events to the wineserver.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 01:13:58 +09:00
Sebastian Lackner
0d91274def
dinput: Reset device state in SysKeyboard*Impl_Acquire.
2015-05-18 19:59:28 +09:00
Austin English
bfafb1ffc5
dinput: Consistently use GetCurrentTime().
2013-12-11 16:26:01 +01:00
Andrew Eikum
0ba314ebfa
dinput: Enumerate devices past the first non-matching device.
2013-05-21 12:08:01 +02:00
Marcus Meissner
8990cf091d
dinput: GetKeyNameW takes chars not bytes (Coverity).
2013-05-13 11:07:24 +02:00
Lucas Zawacki
ac9a10f815
dinput: Return a valid keyboard type in keyboard GetCapabilities.
2012-08-20 14:59:45 +02:00
Vitaliy Margolen
5bb094c9a2
dinput: Return correct key names for num_lock and pause.
...
Scan codes and DIK codes for num_lock and pause are reversed.
2011-11-09 11:54:25 +01:00
Vitaliy Margolen
35016b0513
dinput: Report mouse and keyboard as being emulated. This works better for some games.
2011-10-31 16:46:21 +01:00
Lucas Fialho Zawacki
64c1f4778c
dinput: Proper conversion of username parameters for Set and BuildActionMap.
2011-08-24 11:51:51 +02:00
Lucas Fialho Zawacki
d175c1526f
dinput: Common implementation for joystick, keyboard and mouse SetActionMap.
2011-08-24 11:51:42 +02:00
Lucas Fialho Zawacki
c0fd222321
dinput: Common implementation of BuildActionMap for keyboard and mouse.
2011-08-24 11:51:39 +02:00
Lucas Fialho Zawacki
39684c7e3a
dinput: SetActionMap and queue_event setting mapped data.
2011-07-04 20:25:00 +02:00
Lucas Fialho Zawacki
b590090a48
dinput: SetActionMap constructing a dataformat for keyboard and mouse.
2011-07-04 20:24:48 +02:00
Lucas Fialho Zawacki
83aded2754
dinput: Keyboard and mouse implementation of BuildActionMap.
2011-07-04 20:24:10 +02:00
Vitaliy Margolen
eb6cec1656
dinput: Keyboard does not support DIPROP_RANGE property.
2011-05-31 11:12:35 +02:00
Vitaliy Margolen
0ac5c60374
dinput: Combine ASCII and Unicode device create callbacks. Add tests.
2011-01-24 14:43:09 +01:00
Vitaliy Margolen
9441d898f7
dinput: Make newly created device append itself to Direct Input's list.
2011-01-19 12:58:01 +01:00
Vitaliy Margolen
6b30480021
dinput: COM cleanup - use interfaces instead of vtbl. Combine both Unicode and ASCII interfaces into the same classes.
2011-01-10 12:41:20 +01:00
Vitaliy Margolen
9f9e376239
dinput: Explicitly define ASCII and Unicode methods in keyboard.
2011-01-10 11:03:34 +01:00
Vitaliy Margolen
0f24b9e86f
dinput: Explicitly define ASCII and Unicode methods in DirectInputDevice base class. Make ASCII methods call Unicode. Use new methods in child classes.
2011-01-10 11:03:17 +01:00
Vitaliy Margolen
31c828ea27
dinput: COM cleanup - use helper function instead of direct typecast in keyboard.
2011-01-10 11:01:46 +01:00
Vitaliy Margolen
0b99bf3edb
dinput: COM cleanup - use proper interface instead of typecasting This when calling queue_event.
2011-01-10 10:58:26 +01:00
Vitaliy Margolen
15216098e0
dinput: COM cleanup - use proper DirectInput interface with IUknown calls.
2011-01-10 10:58:14 +01:00
Vitaliy Margolen
179b862738
dinput: Rename IDirectInputDevice2AImpl into IDirectInputDeviceImpl.
2011-01-03 16:46:41 +01:00
Michael Stefaniuc
2004db1bb1
dinput: Don't use HIWORD to check if a REFGUID is a DIPROP.
2010-02-02 11:47:20 +01:00
Vitaliy Margolen
2665272d6c
dinput: Pass event instance ID to queue_event instead of offset.
2009-11-30 12:49:11 +01:00
Vitaliy Margolen
8dac79d38b
dinput: Add few special cases for key mappings.
2009-03-03 12:35:14 +01:00
Vitaliy Margolen
74f2eccc90
dinput: Let each device decide which hook event to skip.
...
Some programs acquire mouse in exclusive and keyboard in non-exclusive mode.
2009-02-23 12:19:25 +01:00
Alexandre Julliard
fffcd23cce
dinput: Fix pointer cast warnings on 64-bit.
2009-01-05 12:39:44 +01:00
Michael Stefaniuc
bb2d8577c3
dinput: Remove superfluous backslashes at end of lines.
2008-10-16 11:28:53 +02:00
Vitaliy Margolen
d939367ac8
dinput: Implement DIPROP_KEYNAME property for keyboard device.
...
Based on patch from Sergey Khodych.
2008-09-15 13:23:13 +02:00
Aric Stewart
304ff3c728
dinput: The DIK_ keycode is not the same as the scancode.
...
It is mapped with the keyboard mapping to the resulting character so
the key 'A' is DIK_A nomatter what its scancode or vkey would be. This
is relevant to Japanese keymapping where the '@' key is in the '['
location the scancode for both is 0x22 but dinput generates DIK_AT in
japanese and DIK_LBRACKET in us_qwerty.
2008-08-20 13:58:25 +02:00
Vitaliy Margolen
aa0188cd6f
dinput: Zero the out buffer.
2008-07-28 12:16:34 +02:00
Vitaliy Margolen
e850b4f13d
dinput: Convert keyboard buffer from internal data format to user data format.
2008-05-28 19:31:59 +02:00
Vitaliy Margolen
4a2f7497ab
dinput: Explicitly set extended key flag for Right Shift.
2008-04-28 13:27:51 +02:00
Austin English
06d429d6b6
Spelling fixes.
2008-03-27 20:48:19 +01:00