| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes "amplification" effects that would happen if the frame rate
rose above 100 Hz (whether by unthrottling or otherwise).
Synchronise with wall clock any time inputs are read. Not doing this
has weird effects on relative inputs with frame skipping and contributes
to unresponsiveness of menus.
Reduce visual latency for mouse movement on menus when paused or
skipping frames. The rest of the code changes to menus won't provide
benefits until draw can happen after event handling.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
osd/modules/input, emu/inpttype.cpp: Made most default joystick
assignments supplied by input modules. Input modules take available
controls into consideration when generating default assignments.
emu/inpttype.ipp: Added a separate "Back" UI input separate from Cancel.
You may want an easier to hit combination for moving to the previous
menu than for exiting or cancelling input. They both default to Escape.
emu/inpttype.ipp: Added a UI Help control. Currently only used by
analog inputs menu
emu/inpttype.h: Moved I/O port field type enum to its own header and
sorted UI controls so they appear in a more logical order.
ui: Don't use UI Select to restore defaults - people should be getting
used to the UI Clear input by now. UI Select cycles multi-value items
instead.
ui/inputmap.cpp: Don't use immediate cancel to cycle between clearing
and restoring default assignment (use UI Clear instead).
osd: Reduced the number of files needing to include the dreaded emu.h.
Got some implementation out of headers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
emu/input.cpp: Fixed regression in display of some joystick inputs.
osd/interface: Split up interface classes into a few more files to
reduce where the input device interface class needs to be included.
Made OSD independent of concrete input_device class.
osd/modules/input, emu/inputdev.cpp, emu/ioport.cpp: Allow input devices
to provide tokens for controls without standard item types and
additional default input assignments. Fixes issues assigning Yen and
Backslash on Japanese keyboards.
ui/textbox.cpp: Added a fixed-content text box menu class for future
use.
Got main.h out of emu.h as it’s only used in a very small number of
places, mostly for getting the application name. Added eminline.h to
attotime.h as it's used without emu.h. Cleaned up forward declarations
in emufwd.h a little.
|
|
|
|
| |
warnings for VLAs in C++.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
* Added support for DJ Hero turntable controller.
* Added support for Rock Band keyboard controller pedal.
* Fixed pickup selector switch on guitar controllers.
|
|
|
|
|
|
| |
* Better support for extended controller type information.
* Support for velocity sensitive six-drum controller.
* Don't ignore button capabilites for keyboard controller.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
it default with SDL.
This changes behaviour, however I think it's a net positive:
* Most games using Steam Input or SDL2 to read game controllers have
this behaviour, so users have come to expect it.
* This module is better at giving meaningful names to buttons on
common controller, and assigning axes consistently.
* Button/axis mapping files using a widely-used format are supported.
* The old behaviour is still available with `-joystickprovider sdljoy`
if anyone wants it.
The new option for controller mapping files is in the general OSD
options rather than SDL options as it can be extended to DirectInput in
the future.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dinput, xinput: Use proper item IDs for hat switches rather than
"other switch".
* xinput: Map right thumb stick to Z/rZ for consistency with SDL and
DirectInput.
* xinput: Map triggers to additional absolute axes 1 and 2.
* xinput: Map start and back buttons to start and select.
* Added default assignments for player 5-10 start/select.
* Added default assignments for 5P-8P start and coin 5-8.
-namco/namcos2.cpp: Changed collective pitch control to AD Stick Z.
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
| |
Also improved display name scheme for joystick axes and buttons.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
instead of Z+, placing IPT_PEDAL and IPT_PEDAL2 on separate axes. (nw)
|
|
|
|
|
|
|
|
| |
not Z Axis+Z Rotation where the axis resting position was at the middle of the trigger (nw)"
The DirectInput Z-axis trigger merger seems more widely considered a bug than a feature, and probably should not be the default MAME behavior.
This reverts commit 80a64430a39f306f702766525a093ac1141f7252.
|
|
|
|
| |
Axis+Z Rotation where the axis resting position was at the middle of the trigger (nw)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
to inline functions (nw)
|
| |
|
| |
|
|
|
|
|
| |
This is a central cross-platform facility to dynamically bind functions from shared libraries.
Updated all OSD modules to use it.
|
|
|
|
| |
on init()
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
resources.
|
|
|
|
|
|
| |
windows (nw)
Strange crashing while executing
|
| |
|
| |
|
| |
|
|
|