summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/input/input_winhybrid.cpp
Commit message (Collapse)AuthorAgeFilesLines
* osd/windows: Create single-threaded COM apartment on main thread. Vas Crabb2023-04-081-23/+0
|
* osd/modules/input: Modernised interface for enumerating DirectInput devices. Vas Crabb2023-02-281-60/+51
| | | | | Gets rid of some state in the winhybrid joystick module that's only used during initialisation.
* Various input and OSD refactoring: Vas Crabb2023-01-291-133/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | osd: Supply OSD object to modules on initialisation. Encapsulated some event handling in the OSD objects rather than leaving it in free functions. Put various stuff in namespaces. osd/modules/input: Enabled dinput, xinput and winhybrid modules for Windows SDL builds, and enabled background input for dinput and xinput (and by extension winhybrid) modules. Also fixed some COM and X11 resource leaks. osd/modules/input/input_sdl.cpp: Flipped SDL mouse button order to match Windows, and exposed vertical and horizontal scroll as Z and rZ axes. Moved SDL UI event handling out of input devices into OSD object. osd/modules/input_rawinput.cpp: Changed lightgun Z axis token so it's correctly identified as a relative axis (it maps to the scroll wheel equivalent). osd: Added an option to choose the network provider module. Mostly useful if you build with both TUN/TAP and pcap support included, or if you want to disable emulated networking completely. emu/input.cpp: Use a better strategy for assembling input code names that uses fewer temporary strings and doesn't require use of the non-Unicode-aware space trimming function (fixes MT08552). osd/modules/input_dinput.cpp: Improved polling logic. osd: Made various parts of the input code less dependent on concrete emu objects, and reduced inappropriately passing around the machine object. Made input modules less dependent on OSD implementation. Encapsulated some stuff and got rid of some vestigial newui and SDL1 support code. Cleaned up some interfaces. Moved OSD options classes to their own files. Prepare to remove main.h from emu.h - it's mostly used to get the application name, which the vast majority of emulated devices don't need to do.
* osd: Still more XInput rhythm game controller support for Windows: Vas Crabb2023-01-181-2/+6
| | | | | | * Added support for DJ Hero turntable controller. * Added support for Rock Band keyboard controller pedal. * Fixed pickup selector switch on guitar controllers.
* -osd: Better XInput and SDL game controller input enhancements: Vas Crabb2023-01-121-11/+2
| | | | | | | | | | | | | | | * Added initial support for XInput controller subtypes, starting with driving, arcade and flight controllers. * Check XInput capabilities to ignore buttons and hats that aren't present. * Added preliminary SDL Game Controller joystick provider. Reconnection and mixed Game Controller/Joystick devices are unsupported. * Show the input token for the highlighted control on input device menus. -ui: Allow menus to set required space above and below menu when metrics change. Fixes the initial bad layout on the system selecton menu, or bad layout after resizing windows.
* Fix 9ce44fa048793de5e14d1e7af98e8b5ca148d0f3 for non-Windows builds AJR2022-05-251-0/+2
|
* osd: Cleaned up Windows API usage a little. Vas Crabb2022-05-261-23/+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.
* Slightly cleaned up OSD input modules. Vas Crabb2021-07-291-17/+22
| | | | | | | | | | 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.
* fix build with clang 9.0.0 on windows smf-2020-01-241-1/+1
| | | | | | ../../../../../src/osd/modules/input/input_winhybrid.cpp:107:16: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] : m_variant({0})
* Creating an -attach_window command line parameter on Windows to attach to an ↵ npwoods2019-08-041-2/+2
| | | | | | | | | | | | | | 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-4/+1
|
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-1/+1
| | | | | 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
* Fix two leaks (nw) Brad Hughes2016-10-031-6/+41
|
* osd input code cleanup (nw) Brad Hughes2016-08-221-3/+1
|
* std::min and std:max instead of MIN and MAX, also some more macros converted ↵ Miodrag Milanovic2016-07-311-0/+2
| | | | to inline functions (nw)
* Introduce dynamic_module Giuseppe Gorgoglione2016-06-111-1/+1
| | | | | 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
|
* Hybrid Input Module: Change error printing to verbose on probe() and error ↵ Brad Hughes2016-05-311-2/+5
| | | | on init()
* Cleanups and version bumpmame0173 Miodrag Milanovic2016-04-271-4/+4
|
* Clean up extended ASCII (nw) balr0g2016-04-261-2/+2
|
* 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
|
* 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.
* Release WMI COM objects correctly in XInput device discovery. Brad Hughes2016-04-051-11/+52
|
* fix compile on non-windows platforms (nw) Miodrag Milanovic2016-04-051-1/+1
|
* Hybrid DirectInput/XInput module Brad Hughes2016-04-041-0/+372