Commit Graph

126 Commits

Author SHA1 Message Date
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
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
ddc9538b69
hid: Updated/added structs and added hidGetNpadStates*(). 2020-12-01 13:49:47 +01:00
yellows8
eb9d377320
hid: Implemented the remaining functionality for supporting SevenSixAxisSensor, and added the required structs. Updated hidInitializeSevenSixAxisSensor for the [10.0.0+] change. 2020-06-01 12:11:24 -04:00
fincs
7e6ff7e486
Simplify appletGetAppletResourceUserId and related logic 2020-01-17 00:18:55 +01:00
yellows8
9c4ab7f09d
hid: Fixed cmd order. 2020-01-14 21:48:18 -05:00
yellows8
c8b8c7b0f0
hid: Added enum HidGyroscopeZeroDriftMode. Added hidSetGyroscopeZeroDriftMode, hidGetGyroscopeZeroDriftMode, and hidResetGyroscopeZeroDriftMode. 2020-01-14 21:45:04 -05:00
yellows8
583d6bb92d
hid: Fixed vibration, toggling vibration-enable off->on is no longer needed. Properly closes #148. 2020-01-12 12:25:16 -05:00
yellows8
cbe9fae600
hid: Added hidSetSixAxisSensorFusionParameters, hidGetSixAxisSensorFusionParameters, and hidResetSixAxisSensorFusionParameters. 2020-01-11 22:37:07 -05:00
yellows8
f040706743
In _hidActivateConsoleSixAxisSensor, use cmd ActivateConsoleSixAxisSensor instead of ActivateSevenSixAxisSensor. 2020-01-09 18:42:06 -05:00
yellows8
c9f6100e1c
hid: Added hidGetNpadJoyHoldType. 2019-11-28 15:01:42 -05:00
yellows8
2b6197a51a
hid: Use _hidActivateConsoleSixAxisSensor instead of _hidActivateSevenSixAxisSensor, and moved the code using this to near the start of hidInitializeSevenSixAxisSensor. 2019-11-18 12:38:12 -05:00
yellows8
167bd9e110
hid: Use ActivateNpadWithRevision with the sysver-specific revision value in _hidActivateNpad(), on [5.0.0+]. 2019-11-18 12:25:48 -05:00
yellows8
c40f8ecac6
Removed includes which are unneeded due to being included elsewhere, etc. Minor improvements. 2019-11-12 12:45:58 -05:00
yellows8
df4bbcf2d7
Use const for various hid vibration funcs. 2019-11-01 19:11:18 -04:00
yellows8
e2b9b09b61
Added hidIsVibrationDeviceMounted. 2019-11-01 19:04:14 -04:00
yellows8
051ad2dc60
Improved bool handling, clear IPC in-struct padding, and use serviceAssumeDomain prior to serviceClose in non-_{name}Cleanup funcs. Removed PACKED from the _usbHsIfCtrlXferAsync IPC in-struct. Fixed the code setting the IPC in-struct for _nsCmdRequestSendReceiveSystemUpdate, which is used by nssuRequestSendSystemUpdate/nssuControlRequestReceiveSystemUpdate. Minor other changes. Updated a param name for capsscCaptureRawImageWithTimeout. 2019-10-25 20:29:43 -04:00
yellows8
16e4e9e2b3
hid: Updated for new-ipc. Updated param types. Minor improvements and improved docs. 2019-10-12 12:29:51 -04:00
yellows8
326619c271
Added hidGetNpadInterfaceType. 2019-09-13 00:05:43 -04:00
yellows8
81781f0782
Use hidControllerIDToOfficial for the input id, with hidSetNpadJoyAssignmentModeSingleByDefault, hidSetNpadJoyAssignmentModeDual, and hidMergeSingleJoyAsDualJoy. 2019-09-12 23:28:07 -04:00
Michael Scire
1a676a68f5 hid: set SYSTEM/SYSTEM_EXT as supported styles.
Starting in 9.0.0, HID shared memory no longer populates
the SystemExt controller (which libnx calls LAYOUT_DEFAULT) unless
it is explicitly set as supported. This changes hidInitialize() to
set it and System as supported.
2019-09-12 12:48:27 +02:00
yellows8
4fa878f4b1
Added hidGetSupportedNpadStyleSet. Moved hidSetSupportedNpadStyleSet to match cmd order. Added hidsysGetSupportedNpadStyleSetOfCallerApplet. 2019-07-29 18:22:46 -04:00
friedkeenan
da4c060278 Add a bunch of GetServiceSession functions (#305)
* Add a bunch of GetServiceSession functions
2019-07-13 15:09:28 -04:00
yellows8
5a3eb542b2
Updated Hdls structs and docs. Added hidGetControllerDeviceType, hidGetControllerFlags, and hidGetControllerPowerInfo. Added/updated hid structs. 2019-06-08 21:51:46 -04:00
yellows8
afaa33df2e
Added partial support for SevenSixAxisSensor. 2019-05-03 18:38:37 -04:00
yellows8
c542d3ab8a Added hidMouseMultiRead + mouse handling adjustments. Closes #235. 2019-03-11 23:34:58 -04:00
averne
7d9601810d Added nfp:user services wrappers. (#237)
* hid: move official/libnx controller converters to hid.h
2019-02-15 19:06:41 +01:00
XProger
f589310ef2 fix unusable touch by adding touch identifier into touchPosition 2019-01-03 21:16:06 +01:00
fincs
ae77cbea97 gfx/hid/irs/nv/vi: changes related to sysmodule users, see details:
- Removed hard dependency on applet
- Allow appletGetAppletResourceUserId to fail (using default zero in that case)
- nvInitialize uses nvdrv:s for AppletType_None
- gfx now uses weak global __nx_gfx_vi_service_type for the ViServiceType passed to viInitialize
2018-12-19 19:33:31 +01:00
yellows8
bc2dff0361 Added hidAcquireNpadStyleSetUpdateEventHandle. 2018-12-02 16:48:59 -05:00
yellows8
e7117a7903 Added enum for hidSetNpadJoyHoldType. Improved hid docs. Use hidSetNpadJoyHoldType during hid init/exit. Closes #206. 2018-11-15 21:36:34 -05:00
yellows8
0fb0f67d2e hidGetControllerConnected -> hidIsControllerConnected 2018-10-22 12:20:28 -04:00
yellows8
0370140c12 Added hidGetControllerConnected() and updated CONTROLLER_P1_AUTO comment. 2018-10-22 12:13:59 -04:00
yellows8
6a9d194fe3 Added hidGetControllerColors and HidControllerColors. Changed rightColorbuttons to rightColorButtons in HidControllerHeader. Updated CONTROLLER_P1_AUTO comment. 2018-10-16 22:45:44 -04:00
yellows8
cde495241c Added _hidActivateNpad/_hidDeactivateNpad for internal use in hidInitialize/hidExit. Added hidSetNpadJoyHoldType. Added _hidCmdWithInputU64 and _hidCmdWithNoInput. 2018-10-15 12:10:07 -04:00
yellows8
d4277b6d32 Added hidSetSupportedNpadIdType(), which is automatically called during init. Closes #148, however vibration disable+enable in system-settings is still needed. 2018-10-14 21:47:26 -04:00
Vicki Pfau
7a952ab39b hid: Uncomment function that works now 2018-09-30 16:39:51 -04:00
Vicki Pfau
8add42378b hid: Add SixAxis sensor support 2018-09-30 16:39:51 -04:00
Vicki Pfau
68b2ad0c1e hid: Call SetSupportedNpadStyleSet to enable additional Npad features 2018-09-27 16:23:37 -04:00
yellows8
1cc3547990 Removed TODO comment in _hidGetDeviceHandles(). 2018-09-27 12:01:58 -04:00
yellows8
1267019d83 Added partial support for hid SixAxisSensor. Moved some hid ipc code into a single func for using cmds with an input u32. Moved handle-generation code from hidInitializeVibrationDevices into a new func, with some improvements + support for SixAxisSensor. 2018-09-26 22:28:40 -04:00
plutooo
74958c57ce Use reference counting across services 2018-08-31 13:05:21 +02:00
Lioncash
12a473ecbe hid: Correct bitwise AND for pro controllers in hidInitializeVibrationDevices()
LAYOUT_PROCONTROLLER is a value of zero, so the bitwise AND condition
here would always be false (TYPE_PROCONTROLLER, on the other hand is a
value of 1)
2018-08-09 14:53:26 +02:00
Jakob Dietrich
a180a36cb3 Fixed hid in sysmodules (#135) 2018-07-27 18:01:41 +02:00
yellows8
df203f0697 Added hidMergeSingleJoyAsDualJoy(). 2018-05-18 18:42:48 -04:00
yellows8
3f75b79803 Copy the HidControllerHeader for each controller into hid state. Added disabled hidGetControllerType(). 2018-05-12 13:53:11 -04:00
yellows8
f727aa669a Added the remaining (pre-4.0.0) hid-serv vibration cmds. 2018-04-19 15:17:22 -04:00
yellows8
213676c5f8 Added hidGetHandheldMode(). 2018-03-15 22:24:52 -04:00
yellows8
5e9869cc41 Added hidSendVibrationValues(). Improved hidInitializeVibrationDevices(), including changing the HidControllerLayoutType param to HidControllerType. 2018-03-14 21:47:21 -04:00
plutoo
a102c64341 Introduce atomics.c, refcounting on all services 2018-03-10 14:33:40 +01:00
plutoo
d12e99e3ad Move ipc.h to kernel/ 2018-03-10 14:03:29 +01:00
yellows8
d1cefabd12 Renamed hidInitializeVibrationDevice() to hidInitializeVibrationDevices(), and added support for optionally returning 2 handles + other changes. 2018-03-07 01:16:35 -05:00
yellows8
cbaa0e359b Added hidPermitVibration() and hidIsVibrationPermitted(). 2018-03-06 23:38:33 -05:00
yellows8
a3933c7a85 Added hid vibration. 2018-03-06 18:08:57 -05:00
yellows8
e7a4eba71c Added hidSetNpadJoyAssignmentModeSingleByDefault() and hidSetNpadJoyAssignmentModeDual(). Check serviceIsActive() in hidExit(). Use hidSetNpadJoyAssignmentModeDual() for all controllers during hidInitialize()/hidExit(). 2018-03-05 22:37:37 -05:00
plutoo
f4230f3ef0 Fix race condition in hid 2018-03-01 00:15:01 +01:00
shinyquagsire23
954a48b8fe Add hidMouseRead, allows mouse position/velocity/scrollwheel velocity to be fetched 2018-02-22 06:48:00 +01:00
fincs
c20d372946 Clean up types.h:
- Move Permission to kernel/svc.h (also fix enum naming)
- Add s128, vu128, vs128
- voidfn -> VoidFn
2018-02-10 22:40:11 +01:00
plutoo
6fa8370bfb This looks better 2018-01-22 20:11:55 +01:00
TuxSH
5abc4873d8 Include only what is really necessary...
add pragma once in every header, etc.
2018-01-22 18:42:57 +01:00
plutoo
e54bbc54ea Fix codestyle for results 2018-01-21 18:40:23 +01:00
shinyquagsire23
368fbbb570 hid: joystickPosition -> JoystickPosition 2018-01-20 10:37:47 +01:00
shinyquagsire23
52e928df0e hid: circlePosition -> joystickPosition 2018-01-20 10:37:47 +01:00
shinyquagsire23
a4dbd93b1f hid: Add hidJoystickRead 2018-01-20 10:37:47 +01:00
yellows8
3a9451bbeb Added CONTROLLER_P1_AUTO. Added bounds checking for id in hid{Set|Get}ControllerLayout. 2018-01-19 13:58:32 -05:00
plutoo
f70d70f029 Introducing "Service" object, implemented service override, fixing minor formatting mistakes
NOT TESTED :(
2018-01-12 23:29:49 +01:00
plutoo
fd4522423b Hid stylefix 2018-01-11 22:29:16 +01:00
plutoo
7482c849fe Introducing RwLock, make hid threadsafe 2018-01-11 22:25:49 +01:00
plutoo
bf89c7526e Rename ipc functions before it's too late 2018-01-11 21:56:04 +01:00
shinyquagsire23
63f91dd215 Add hidTouchCount, hidTouchRead, KEY_TOUCH. Header tweaks. 2017-11-22 17:09:37 -07:00
shinyquagsire23
aa458e59f9 Add hidGetControllerLayout 2017-11-22 17:09:32 -07:00
shinyquagsire23
ffd10708ac Variable name adjustment, fixes, clarifications 2017-11-20 12:07:50 -07:00
shinyquagsire23
0f24d05077 Brace consistency 2017-11-20 02:53:09 -07:00
shinyquagsire23
fc71b06161 Implement HID keys held/down/up 2017-11-20 02:17:30 -07:00
yellows8
d62b909757 Added hid. 2017-10-27 17:10:48 -04:00