5 Commits

Author SHA1 Message Date
ajrhacker
bd303b15dc Remove PORT_ROTATED from the core. This automatic joystick remapping feature has not been enabled in any driver for years. (#14200) 2025-09-25 08:57:39 +02:00
Vas Crabb
20a61a456e emu/ioport.cpp: Removed the "optional" field flag.
There are multiple issues with this flag:
* It's poorly defined.  Is it an input that's software-accessible but
  not used?  Is it an input that shows in test modes but doesn't do
  anything useful?  Is it an input that the system can be configured to
  not use?  Is it an input that is useful but not strictly necessary?
* In almost a decade, it hasn’t been used widely.  It was used in less
  than ten places.  There hasn't been substantial interest in actually
  applying it across the codebase.
* It would be an absolute nightmare to try and apply to mahjong and
  hanafuda games.  Consider all the cases where a game may use some but
  not all of the double-up game controls, and some games support
  multiple control schemes that use different subsets of the standard
  mahjong matrix.
* Trying to apply it to gambling systems would also be a minefield.
* If we were to expect it to be applied, it would cause an eplosion in
  input port definitions for platforms with multiple games, adding
  further maintenance burden.  It would greatly reduce the value of
  having things like the standard mahjong panel definitions as you'd
  rarely actually be able to use them as-is.
2025-09-22 03:16:40 +10:00
Vas Crabb
4ddd26fe21 Initial touch input support:
* Feed mouse/pen/touch pointer events through UI input manager with Win32 and SDL.
* Started migrating UI code to use new API and reworking mouse/touch interaction.
* emu/render.cpp: Support pressing multiple clickable layout items simultaneously.
* emu/render.cpp: Allow UI elements to be drawn in any window.
* emu/rendlay.cpp, luaengine_render.cpp: Added layout view events for pointer input.
* ui/ui.cpp: Allow the UI handler to control pointer display.
* ui/analogipt.cpp: Added mouse/touch and more keys for navigating field state list.
* ui/menu.cpp: Use vertical swipe to scroll and horizontal swipe to adjust.
* ui/menu.cpp: Draw after processing input - greatly improves responsiveness.
* ui/menu.cpp: Ignore keyboard/gamepad input during pointer actions.
* ui/selmenu.cpp: Made left/right info pane arrows repeat when held.
* ui/selmenu.cpp: Use middle click to move keyboard focus.
* ui/selmenu.cpp: Let filter list scroll if it's too tall, and use a bit of horizontal padding.
* ui/selmenu.cpp: Improved divider sizing.
* ui/state.cpp: Don't allow clicks to pass through the confirm deletion prompt to the menu.
* ui/simpleselgame.cpp: Fixed error message display and graphics/sound status not showing.
* ui/simpleselgame.cpp: Allow tap/click to dismiss error message.
* ui/utils.cpp: Show UI for choice filters when there are no choices - it's less confusing.
* modules/input/input_sdl.cpp: Made scaling for mouse scroll better match RawInput and DirectInput.
* modules/input/input_rawinput.cpp: Added support for horizontal scroll axis.
* modules/input/input_win32.cpp: Added support for scroll axes and more buttons to mouse/lightgun.
* modules/debugger/debugimgui.cpp: Don't fight over events with the UI manager - it breaks menus.
* osd/windows/window.cpp: Translate mouse position to window cooridinates for scroll wheel events.
* osd/sdl/window.cpp: Supply last mouse position for scroll wheel events if possible.
* scripts/build/complay.py: Made zero input mask an error - it was only being used to block clicks.
2024-04-12 02:49:15 +10:00
Tom Cariello
30d92e397d docs: Fixed many editing errors and spelling errors. (#11575)
Also fixed outdated link to contributing guidelines.
2023-09-29 00:41:31 +10:00
Vas Crabb
12623c3fd3 docs: Moved Lua API reference to its own section - the page was far too long. 2023-07-06 09:52:10 +10:00