Lioncash
1c3371c921
core_timing: Convert core timing into a class
Gets rid of the largest set of mutable global state within the core.
This also paves a way for eliminating usages of GetInstance() on the
System class as a follow-up.
Note that no behavioral changes have been made, and this simply extracts
the functionality into a class. This also has the benefit of making
dependencies on the core timing functionality explicit within the
relevant interfaces.
7 years ago
Lioncash
1d2de5c4b5
core_timing: Rename CoreTiming namespace to Core::Timing
Places all of the timing-related functionality under the existing Core
namespace to keep things consistent, rather than having the timing
utilities sitting in its own completely separate namespace.
7 years ago
Zach Hilman
543cea4c5d
travis: Use correct package for linux Qt5WebEngine
7 years ago
Zach Hilman
f49f3e509f
web_browser: Add bounds checking to applet interface
7 years ago
Zach Hilman
e342002cd2
hid: Make Hid service accessible and add GetPressState
7 years ago
bunnei
015093c1dd
npad: Remove code to invert input in horizontal mode.
- This was incorrect, the game appears to handle this for us.
- Fixes horizontal mode with Puyo Puyo Tetris and Super Mario Odyssey.
7 years ago
bunnei
7f47320f34
hid: Fix SetNpadJoyHoldType and improve logging.
7 years ago
David Marcec
3a8283f0ed
Fixed crash with SetNpadMode
fixed crash due to handheld
8 years ago
Zach Hilman
b0d0735e9b
kernel/event: Reference ReadableEvent from WritableEvent
8 years ago
Zach Hilman
fe0071f8fa
core: Port all current usages of Event to Readable/WritableEvent
8 years ago
Zach Hilman
b6d31945d6
npad: Use NPadIdToIndex to prevent invalid array access
8 years ago
Zach Hilman
3e65259ab1
npad: Fix copy/paste error with LED position assignments
8 years ago
David Marcec
5ae0d6cba2
Changed logging to be "Log before execution", Added more error logging, all services should now log on some level
8 years ago
Zach Hilman
e66f2db880
debug_pad: Avoid loading input for nonexistent buttons (Home and Screenshot)
Prevents memory exceptions when the debug pad is enabled.
8 years ago
Zach Hilman
2d8a5a4e9b
hid: Use player-defined controller type as PREFERRED_CONTROLLER
8 years ago
Zach Hilman
8e4125d25f
hid/npad: Update NPad to use player controller bindings and type
8 years ago
Zach Hilman
651d96479a
hid/touchscreen: Update Touchscreen to use advanced parameters
Including finger ID, diamater x/y, and angle. Additionally, checks if the touchscreen is enabled.
8 years ago
Zach Hilman
1abee80ce3
hid: Add controller bindings for Mouse controller
8 years ago
Zach Hilman
701c23ec92
hid: Add keyboard bindings for Keyboard controller
8 years ago
Zach Hilman
ba768cfdc7
hid: Add controller bindings for DebugPad controller
Used by developers to test games, not present on retail systems. Some games are known to respond to DebugPad input though, for example Kirby Star Allies.
8 years ago
David Marcec
d59c9bc684
Added missing start/end touch attributes to touchscreen
8 years ago
David Marcec
a15c3d6b27
Added debugpad skeleton
8 years ago
David Marcec
8ed0216784
Added controller helper funcs
8 years ago
David Marcec
2c23ad1189
Changed polling rate of hid and Right joycon rotation
8 years ago
David Marcec
7a38294b38
Left joycon rotation button remapping
8 years ago
David Marcec
086c24e4ed
Added automatic npad switch based on supported stylesets
8 years ago
David Marcec
e9cf16c9ac
Added multi-input support and controller assignment at any port
8 years ago
David Marcec
6a1b7d2da0
Added SetIsPalmaAllConnectable, SetPalmaBoostMode
Currently unclear what these do yet, will be researched at a later time when we want to implement palma.
8 years ago
David
548149cdbb
Fixed priority switching edge case for handheld ( #1675 )
* Fixed priority switching edge case for handheld
We accidently used controller index instead of npad id
* Moved NPadIdToIndex
8 years ago
Lioncash
4a2457cc5a
hid/npad: Add missing break in switch statement within Controller_NPad::OnUpdate()
8 years ago
David Marcec
8b8c0ee2fc
Updated npad styles on holdtype switches
Fixes input for megaman
8 years ago
David Marcec
60bd67f92e
Fixed HID crash when launching more than 1 game & signaled syleset change event
This should fix crashes when launching multiple games in yuzu
8 years ago
Lioncash
b34685863a
npad: Remove unused controller variable from OnInit()
This also gets rid of variable shadowing related to the lambda parameter
a little bit below this code as well.
8 years ago
Lioncash
633b95adce
hid: Update service function table for hidbus
Updated based off information provided by Switchbrew.
8 years ago
David Marcec
d4034559b1
Added auto controller switching to supported controllers and single joycon button rotation
This is a subset of the better-hid-2 changes, this fixes input in various games which don't support dual joycons. This pr will search for the next best controller which is supported by the current game
8 years ago
Lioncash
9abf6af0f1
hid: Update service function tables
Updated based off information provided by Switchbrew.
8 years ago
Lioncash
374ea27a8b
hid/controller: Remove unused header inclusions
swap.h only needs to be present in the header for the type aliases and
definitions, it's not actually needed in the cpp files though. input.h
is just unused entirely in xpad.h
8 years ago
Lioncash
ca3d440f78
hid/controller/npad: Remove unused dump_idx member variable
Given it's unused, we may as well toss it.
8 years ago
Lioncash
72aa1f10f6
hid/controller/npad: Remove unnecessary semicolon from the closing brace of LedPattern's constructor
8 years ago
Lioncash
5583e4f15d
hid/controller/npad: Remove #pragma once from the cpp file
This is only useful in headers.
8 years ago
Lioncash
fd85f5b847
hid/controller/npad: Move npad_id_list into the cpp file
This is just a lookup table, and since it's private, there's nothing
really stateful about it, so we can just move it into the cpp file.
8 years ago
Lioncash
9338428f43
hid/controller/npad: Remove unnecessary const from void return type
This literally does nothing.
8 years ago
Lioncash
f864e487b9
hid/controller: Default the destructors of all controller types in the cpp file
These classes are non-trivial and are definitely going to be changed in
the future, so we default these to prevent issues with forward
declarations, and to keep the compiler from inlining tear-down code.
8 years ago
Lioncash
6f8f5f1d0a
controller_base: Default the base class constructor and destructor in the cpp file
The destructor doesn't need to be a pure-virtual function.
8 years ago
David Marcec
128f14d60e
Using dual joycons as the default controller
Reason for the change is to allow both docked and undocked mode to work
8 years ago
David Marcec
578d5603bf
Wip
8 years ago
David Marcec
efe038ca52
Dynamically decide handheld variant based on supported npad id priority
Kirby input still doesn't work, should fix a lot of other games
8 years ago
David Marcec
8a04b4850c
Added BeginPermitVibrationSession and EndPermitVibrationSession
Used by Mario Party
8 years ago
David Marcec
1b5c6fb61c
Added GetLedPattern and HandheldVariant
HandheldVariant is for specific games which expect handheld controllers to be at position 8(kirby), however this doesn't fix all games as some games require handhelds to be at position 0(snipperclips)
8 years ago
David Marcec
6da6a42246
Kirby expects handheld controllers to be at position 8
8 years ago