summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/input/input_dinput.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Optimisation, and baby steps towards untangling stuff: Vas Crabb2022-06-161-3/+3
| | | | | | | | | | Optimised the scheduler's handling of unscheduled timers - gives a 50% performance improvement in some timer-heavy drivers. Added better endianness swizzling helpers. Got rid of some of the OSD input modules' dependence on concrete input classes from emu.
* ui, docs: Added menus to fill a couple of gaps, improved consistency. (#9915) Vas Crabb2022-06-111-16/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added menus for controlling toggle inputs, and showing recognised input devices and control state. Moved input menu options off main menu to a submenu, as there are a lot of them now. Moved menu heading drawing into base class, added headings to more menus, and made headings more consistent with the menu items used to reach them. Also made terminology more consistent. Changed the default names for buttons and hat switches/D-pads to use 1-based numbering. DirectInput still returns 0-based button numbers for some devices. Removed local copy of MinGW xaudio2.h as it’s now included in the MSYS2 package. Also fixed building the DirectSound sound output module with the SDL OSD on Windows - the Windows headers are sensitive to include order. Started adding documentation for menus, to hopefully help people find menus they remember seeing but can't recall how to access. For translators, this makes terminology more consistent. In particular: * "Settings" is preferred over "configuration" in a number of places, as the latter can be construed as referring specifically to settings stored in .cfg files in the cfg_directory folder. Also, references to saving machine configuration could be interpreted as relating to the settings on the "Machine Configuration" menu. * The controls on host input devices (e.g. keys, buttons, joystick axes) are referred to as "controls", while emulated inputs are referred to as "inputs". * The menus for assigning host controls to emulated inputs are called "input assignments" menus to distinguish them from other input settings menus. * Combinations of controls that can be assigned to emulated inputs are referred to as "combinations" rather than "sequences". * The potentially confusing term "ROM set" has been removed altogether. Use "short name" to refer to a device or system's identifier. * "System" is used in almost places to refer to a complete, runnable system rather than "Machine". * "Driver" is now only used to refer to source files where systems or devices are defined - it is no longer used to refer to individual systems. * A few more menus have message context for the messages. This makes it a bit easier to guess where the messages are used. It also means you can use different translations in different places if necessary (e.g. if the same English text should be translated differently as an item in one menu and as a heading in another).
* Fix 9ce44fa048793de5e14d1e7af98e8b5ca148d0f3 for non-Windows builds AJR2022-05-251-0/+2
|
* osd: Cleaned up Windows API usage a little. Vas Crabb2022-05-261-21/+8
| | | | | | | | | * Bumped target windows version to 6.0.0 (Vista). * Use WRL COM pointers to manage some COM-like objects. * Cleaned up logging in DirectSound module. * Cleaned up includes in Windows input modules. * Switched to Common Item Dialogs in Windows debugger. * Replaced disabled code that never really worked with a TODO comment.
* osd/modules/input: Detect joystick reconnection with SDL. (#9605) Vas Crabb2022-04-241-4/+4
| | | Also improved display name scheme for joystick axes and buttons.
* fixes for building with clang 12.0.1 on windows smf-2021-09-041-2/+1
|
* Slightly cleaned up OSD input modules. Vas Crabb2021-07-291-258/+215
| | | | | | | | | | Removed support for DirectInput 7 and earlier. It hasn't been tested in years, and it's not relevant on any supported OS. DirectInput is effectively finalised at version 8, and is unlikely to get an API update in the future. Use more string[_view] and fewer C strings, and tightened up scope of a few things.
* Eliminate ARRAY_LENGTH template in favor of C++17's std::size AJR2021-02-141-1/+1
| | | | | | | | | | * osdcomm.h: Move definition of EQUIVALENT_ARRAY to coretmpl.h * sharc.cpp, gt64xxx.cpp, ym2413.cpp, gb_lcd.cpp, snes_ppu.cpp: Use STRUCT_MEMBER for save state registration * gio/newport.cpp, megadrive/svp.cpp, nes_ctrl/bcbattle.cpp, arm7.cpp, tms9995.cpp, pckeybrd.cpp, sa1110.cpp, sa1111.cpp, jangou_blitter.cpp, vic4567.cpp: Use std::fill(_n) instead of memset * emucore.h: Remove obsolete typedef
* fixed some modernize-use-auto clang-tidy warnings (nw) (#6238) Oliver Stöneberg2020-01-301-3/+3
|
* Creating an -attach_window command line parameter on Windows to attach to an ↵ npwoods2019-08-041-4/+4
| | | | | | | | | | | | | | existing window (#5381) * Creating an -attach_window command line parameter on Windows to attach to an existing window * Moved -attach_window option to Windows-specific code * Created an osd_set_aggressive_input_focus() function and exposed to LUA * Created a dummy implementation of osd_set_aggressive_input_focus() for SDL
* Move special windows.h include directives to build defines (nw) Brad Hughes2016-12-281-3/+0
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-7/+7
| | | | | Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8 also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
* use standard types uintptr_t, char16_t and char32_t instead of FPTR, ↵ Miodrag Milanovic2016-10-221-8/+8
| | | | utf16_char, unicode_char (nw)
* Bulk renaming of Windows string conversion functions Nathan Woods2016-10-031-2/+2
| | | | | utf8_from_[a|w|t]string ==> osd::text::from_[a|w|t]string [a|w|t]string_from_utf8 ==> osd::text::to_[a|w|t]string
* Adding id() property to input_device Tomer Verona2016-09-201-8/+8
| | | | | | | | | | | | This change adds id() property to input_device, which represents the unique device id. This allows the osd layer when creating a device to pass a friendly display name along with a unique identifier. Currently the device id is only used to map a physical controller device to controller id, but can be used more generally in the future. For raw input devices, we use the full raw input name as the device id. For all other devices, we fall back to device name as the device id. The "uniqueness" of the device id is not currently enforced in code.
* osd input code cleanup (nw) Brad Hughes2016-08-221-5/+3
|
* algorithm-> utility where appropriate, fix imgtool (nw) Miodrag Milanovic2016-07-311-1/+1
|
* std::min and std:max instead of MIN and MAX, also some more macros converted ↵ Miodrag Milanovic2016-07-311-5/+8
| | | | to inline functions (nw)
* Changed strconv.[cpp|h] functions to return their results as std::string and ↵ Nathan Woods2016-07-241-15/+4
| | | | std::wstring
* Fix input issues on big endian systems (fixes #963) Brad Hughes2016-06-291-5/+17
|
* Introduce dynamic_module Giuseppe Gorgoglione2016-06-111-7/+11
| | | | | This is a central cross-platform facility to dynamically bind functions from shared libraries. Updated all OSD modules to use it.
* Move window_list to osd_common_t Brad Hughes2016-06-111-1/+1
|
* Unify window_list in Windows and SDL OSD Brad Hughes2016-06-101-1/+1
|
* Improve support for more Joysticks with DirectInput8. Also repair ↵ Quench02016-05-201-3/+13
| | | | DirectInput7 compile.
* Cleanups and version bumpmame0173 Miodrag Milanovic2016-04-271-3/+3
|
* Revert "Temp revert of Brad changes (nw)" Miodrag Milanovic2016-04-251-1/+1
| | | | This reverts commit 5e831f6506ee06f8c30cb113551ee0fec53804db.
* Temp revert of Brad changes (nw) Miodrag Milanovic2016-04-251-1/+1
|
* Various cleanups suggested by static analyzer (nw) Miodrag Milanovic2016-04-241-1/+1
|
* Refactor OSD window. Brad Hughes2016-04-211-1/+1
| | | | | | | | | | Unified renderer in osd_window as std::unique_ptr Made windows all std::shared_ptr<window_type> Made window lists std::list<std::shared_ptr<window_type>> Updated OSD SDL worker_param to not use malloc (not compatible with smart pointers) Made renderer pointer to window a weak reference. May not be available during destruction of the window.
* Hybrid DirectInput/XInput module Brad Hughes2016-04-041-321/+251
|
* Cleanups and version bump Miodrag Milanovic2016-03-301-4/+4
|
* Fix cross compile (nw) Jeffrey Clark2016-03-231-1/+1
|
* Fix VS Build issue for WRL ComPtr Brad Hughes2016-03-191-1/+1
|
* temporary fix for VS build. (nw) dankan18902016-03-201-1/+1
|
* Fix DirectInput stuck joystick directional input when window loses focus. ↵ Brad Hughes2016-03-181-4/+4
| | | | The reset function for the device was overwriting the axis information previously obtained. Changed it to correctly only reset the state member.
* General code cleanup in input modules. Using ComPtr to manage DirectInput ↵ Brad Hughes2016-03-181-64/+80
| | | | resources.
* Rewrote overly complex rawinput_device_improve_name function for rawinput ↵ Brad Hughes2016-03-181-4/+4
| | | | module, plus fixing some other defects in input modules as detected by coverity.
* With latest package from MSYS of clang 3.8.0 build at least compile fine on ↵ Miodrag Milanovic2016-03-111-6/+2
| | | | | | windows (nw) Strange crashing while executing
* Minor fixes for DirectInput 7 Brad Hughes2016-03-011-2/+2
|
* fix compile on 32bit mingw (nw) Miodrag Milanovic2016-02-291-10/+11
|
* cleanup (nw) Miodrag Milanovic2016-02-291-1/+0
|
* Refactor OSD input into modules Brad Hughes2016-02-281-0/+683