Commit Graph

1824 Commits

Author SHA1 Message Date
yellows8
d28776e4d9
hid: Updated/added structs/enums. 2020-12-01 13:49:52 +01:00
yellows8
902af6cce0
hid: Updated structs. 2020-12-01 13:49:52 +01:00
fincs
967a5054a3
hid: Expose InitializeNpad/TouchScreen/Keyboard/Mouse
- Moved hidScanInput-specific initialization code to hidScanInput
- TouchScreen/Keyboard/Mouse are now activated during hidScanInput
  initialization (previously this was not done, which is technically UB)
- Removed hidDeactivateNpad (not called by retail software)
- Tweaks and adjustments to reduce code size when features are not used
2020-12-01 13:49:52 +01:00
yellows8
e4c701dc19
hid: Use _hidGetStates in hidGetSevenSixAxisSensorStates. 2020-12-01 13:49:52 +01:00
yellows8
d4c1d069f1
hid: Added hidGetKeyboardStates, which hidScanInput now uses.
Struct adjustments.
2020-12-01 13:49:52 +01:00
yellows8
52bf73e047
hid: Added hidGetMouseStates, which hidScanInput/etc now uses.
Struct adjustments.
2020-12-01 13:49:52 +01:00
yellows8
dc0bc2ab7b
hid: Fixed memset in hidJoystickRead(). 2020-12-01 13:49:51 +01:00
yellows8
1c82758c03
hid: Added hidGetTouchScreenStates, which hidScanInput now uses.
Struct adjustments.
2020-12-01 13:49:51 +01:00
fincs
2c26092608
hid: Implement hidSixAxisSensorValuesRead using hidGetSixAxisSensorStates + other minor adjustments 2020-12-01 13:49:51 +01:00
yellows8
e32acbeb9f
hid: Added hidGetSixAxisSensorStates.
Internal improvements, etc.
2020-12-01 13:49:51 +01:00
yellows8
16ff35faea
hid: Use structs for vibration/SixAxis handles.
Various internal improvements, andpass vibration handles by value where needed.
2020-12-01 13:49:51 +01:00
fincs
c0ef14fcaa
hid: Changed hidGetNpadStates* to return total_out directly instead of using an output var 2020-12-01 13:49:51 +01:00
fincs
0640c9da76
hid: Introduce HidNpadIdType, see details:
- Replaced most usages of HidControllerID with HidNpadIdType
- HidControllerID still exists for now, and the following functions
  keep accepting it for compatibility with most homebrew:
  - hidIsControllerConnected
  - hidKeysHeld/Down/Up
  - hidJoystickRead
  - hidSixAxisSensorValuesRead
- hidControllerIDTo/FromOfficial renamed to ToNpadIdType/FromNpadIdType
- Updated some comments that were left untouched during previous hid refactoring
- Partial internal refactor of hidGetNpadStates*
2020-12-01 13:49:50 +01:00
fincs
40e5b08f70
Split hidGetNpadControllerColor/PowerInfo into Single/Split variants 2020-12-01 13:49:50 +01:00
yellows8
3f4f6dba44
hid: Handle NULL with hidGetNpadStates*() total_out.
Use const for hidSetSupportedNpadIdType().
2020-12-01 13:49:50 +01:00
yellows8
82bc8bf648
hid: Updated docs. 2020-12-01 13:49:50 +01:00
yellows8
a924fac0ab
hid: Filled in the Gc trigger fields. 2020-12-01 13:49:50 +01:00
yellows8
5aaf6905dd
hid: Docs updated. 2020-12-01 13:49:50 +01:00
yellows8
9f13045546
hid: Added support for NpadGc.
Struct adjustments.
2020-12-01 13:49:49 +01:00
yellows8
7340772267
hid: Internal state reading improvements.
Struct adjustments.
2020-12-01 13:49:49 +01:00
yellows8
21647a76c8
hid: Added support for *Lark/Lucia.
Struct adjustments.
2020-12-01 13:49:49 +01:00
yellows8
ce20e14034
hid: Added hidGetNpadStatesPalma. 2020-12-01 13:49:49 +01:00
yellows8
46377bc180
hid: Added handling for NpadSystem(Ext).
Added hidGetNpadStatesSystemExt/hidGetNpadStatesSystem, and functionality for using these in hidScanInput().

Updated a struct.
2020-12-01 13:49:49 +01:00
yellows8
db39de34c5
hid: Replaced various funcs with versions which read from sharedmem.
* Various struct adjustments.
* Removed HidControllerLayoutType/hidSetControllerLayout/hidGetControllerLayout, since these are no longer used.
* Added HidNpadJoyAssignmentMode and hidGetNpadJoyAssignment.
* Replaced hidGetControllerFlags with hidGetNpadSystemProperties/hidGetNpadSystemButtonProperties.
* Added hidGetAppletFooterUiAttributesSet/hidGetAppletFooterUiTypes.
* hidScanInput() now uses hidGetNpadStates*() as determined by the output from hidGetNpadStyleSet().
2020-12-01 13:49:48 +01:00
yellows8
1e3145f81d
hid: Struct adjustments. 2020-12-01 13:49:48 +01:00
yellows8
54a296bc69
hid: Updated HidSharedMemory. 2020-12-01 13:49:48 +01:00
yellows8
c3a6d29cf4
hid: Added KEY_NES_HANDHELD_LEFT_B. 2020-12-01 13:49:48 +01:00
yellows8
991a262e19
hid: Replaced HidControllerType with HidNpadStyleTag.
HidNpadStyleTag now includes more controllers.

Replaced hidGetControllerType with hidGetNpadStyleSet().

Improved _hidGetDeviceHandles(), more controllers are now supported.
2020-12-01 13:49:48 +01:00
yellows8
e74c605a91
hid: Fixed HidNpadInterfaceType. 2020-12-01 13:49:48 +01:00
yellows8
ddc9538b69
hid: Updated/added structs and added hidGetNpadStates*(). 2020-12-01 13:49:47 +01:00
fincs
74b295827f
Add svcGetResourceLimitPeakValue [11.0.0+] 2020-12-01 13:49:15 +01:00
SciresM
8ce231e7c9
ldr: update SetProgramArguments for 11.0.0 abi change (#507) 2020-12-01 12:01:33 +01:00
Michael Scire
e5ae43f4c2 results: use R_VALUE for comparisons 2020-12-01 02:26:26 +01:00
Luis Scheurenbrand
c95b46c053 news: fix structs 2020-11-18 19:16:32 +01:00
averne
2fdae0db52
Add service wrappers for ins:r and ins:s (#502) 2020-11-08 00:28:20 +01:00
fincs
091f88915d
virtmemRemoveReservation: add forgotten mutex note to docs 2020-10-31 14:06:48 +01:00
fincs
22a3efcbe1
virtmem: Deprecate virtmemReserve/virtmemFree 2020-10-30 16:10:52 +01:00
fincs
8310f438ca
virtmem: Add memory reservation system
jit: Use virtmemFindCodeMemory on both codepaths; use virtmem reservations
in order to support the JitType_SetProcessMemoryPermission codepath
2020-10-30 16:07:38 +01:00
fincs
490d96e6eb
virtmem: Add virtmemFindCodeMemory to work around a quirk in 1.x kernel 2020-10-30 00:16:03 +01:00
fincs
eecf2a9d32
Add detectMesosphere() 2020-10-29 16:52:16 +01:00
fincs
970d982e57
Add diagAbortWithResult, see details:
- This is a (weak/overridable) function meant to be called when the
  program encounters an unrecoverable error, but it's not fatal enough
  to bring down the entire system with it.
- The default implementation uses svcBreak, passing the result code
  in the user buffer.
- Replaced all usages of fatalThrow with diagAbortWithResult throughout
  the entire library.
2020-10-29 13:40:35 +01:00
fincs
a05a44fca8
virtmem: Major rewrite to support ASLR, see details:
- Added virtmemLock/Unlock, needed for atomic find-and-map operations
- Added virtmemFindAslr, which looks for a random free area in AslrRegion
  - virtmemReserve still exists for legacy callers who rely on sequential
    allocation in order to avoid race conditions from concurrent uses
- Added virtmemFindStack, which searches within StackRegion instead
  - Removed virtmemReserveStack/FreeStack
- Changed shmem/thread/tmem/codememory-jit to use the new virtmem API
  - Legacy jit still uses virtmemReserve
2020-10-27 12:27:32 +01:00
fincs
e655b48c41
crt0: clean up/refactor; envSetup: properly detect NSO/NRO environment... 2020-10-27 12:27:32 +01:00
fincs
7c6d7849f5
Remove obsolete kernel detection code 2020-10-27 12:27:32 +01:00
fincs
8d51f7de1c
jit: Transfer the responsibility of detecting whether CodeMemory syscalls are available/usable to the homebrew environment 2020-10-27 12:27:31 +01:00
fincs
d0d64ce1ce
fatalThrow: use hosversion instead of kerneldetect (and remove old alias) 2020-10-27 12:27:31 +01:00
fincs
4c6abe1e41
svcBreak: fix prototype, add and use BreakReason enum 2020-10-27 12:27:31 +01:00
fincs
e0c1dfe2ce
Add light event synchronization primitive [4.0.0+] 2020-10-27 12:27:20 +01:00
Michael Scire
dee3a7a241 gpio: loosen sysver restriction on OpenSession 2020-10-26 11:55:03 +01:00
Michael Scire
0ff42ee69e gpio: implement majority of the service 2020-10-26 11:48:07 +01:00