Commit graph

230 commits

Author SHA1 Message Date
ndeadly
1bb3594e24 mc.mitm: add basic functionality to run async code in a worker thread and receive a response 2022-04-05 23:56:23 +10:00
ndeadly
18c7453530 mc.mitm: return shared_ptr from LocateHandler function instead of raw pointer 2022-04-05 23:56:23 +10:00
ndeadly
c2402888a6 mc.mitm: use shared_ptr for controller list and disconnect controller that fails to initialise instead of aborting 2022-04-05 23:56:23 +10:00
ndeadly
0081027385 mc.mitm: refactor hid report handling functions 2022-04-05 23:56:23 +10:00
ndeadly
863ce5ec83 mc.mitm: clean up thread initialisation code and make consistent 2022-04-05 23:56:23 +10:00
ndeadly
b663d8961a Embed build date in module 2022-04-05 23:56:22 +10:00
ndeadly
213e5f4a9a mc.mitm: handle imu sensitivity settings in subcommands 2022-04-05 23:56:17 +10:00
ndeadly
ac6999cf40 mc.mitm: correct motion control values to use signed integers 2022-04-05 23:52:50 +10:00
ndeadly
b64a83ada5 mc.mitm: correct coordinate systems according to recorded data observations 2022-04-05 23:52:50 +10:00
ndeadly
818a3249e8 Add current state of experimental code 2022-04-05 23:52:46 +10:00
ndeadly
60c17b8d54 mc.mitm: define switch motion calibration data 2022-04-05 23:50:44 +10:00
ndeadly
131c48654a mc.mitm: add definition for dualshock4 feature report 0x05 and calibration data 2022-04-05 23:50:44 +10:00
ndeadly
52b1f7f0a3 mc.mitm: enable and naively map motion controls for dualshock4 and dualsense controllers 2022-04-05 23:50:44 +10:00
ndeadly
374c1781c5 mc.mitm: allow for handling of hid set and get reports 2022-04-05 23:50:44 +10:00
ndeadly
52b478550b mc.mitm: add methods for requesting ds4 version info and calibration data 2022-04-05 23:50:44 +10:00
ndeadly
bb805477f6 слава україні 2022-04-05 23:32:49 +10:00
ndeadly
34bd9f7796 mc.mitm: SwapBytes -> SwapEndian 2022-04-05 13:50:06 +10:00
ndeadly
21f9613316 mc.mitm: support for g910 wireless bluetooth controller 2022-03-27 22:40:57 +11:00
ndeadly
a55955708e mc.mitm: modifications to build with latest libstratosphere 2022-03-24 17:32:43 +11:00
ndeadly
68e5d13164 mc.mitm: clean up initialisation of threads 2022-02-08 07:14:07 +01:00
ndeadly
8d6089a8b5 mc.mitm: flag SetTsi command as unsupported for powera moga controllers 2022-01-20 06:30:38 +01:00
ndeadly
56eb9c3f22 mc.mitm: fix for nested designated struct initialisation compiler errors on latest devkitA64 2022-01-11 04:36:50 +01:00
Banz99
6643d726c1
Enable subcmd rumble only when not disabled globally (#411)
This should fix the recent reports of users incapable of disabling rumble.
2021-12-17 15:10:55 +01:00
ndeadly
0489e3090c mc.mitm: flag SetTsi command as unsupported for xiaomi and steelseries free controllers 2021-12-05 11:53:15 +01:00
Philipp Seiler
fab069c75f
Hyperkin Scout: Wrong Button layout. A / B were swapped (#400) 2021-12-01 16:42:13 +01:00
ndeadly
6409b356c5
mc.mitm: add support for hyperkin scout controller 2021-12-01 11:02:02 +01:00
ndeadly
3a643a8d34 mc.mitm: remove sleeps on wii extension controller init 2021-11-17 09:47:45 +01:00
ndeadly
eeb37b07bc mc.mitm: take both left and right decoded motor data into account when determining rumble output 2021-11-17 00:06:00 +01:00
ndeadly
e454e304db mc.mitm: check rumble packet decoding produces valid indices into lookup tables 2021-11-12 03:00:23 +01:00
ndeadly
f0c55aaf33
mc.mitm: add support for n64 and genesis/megadrive online controllers 2021-11-02 12:36:45 +01:00
ndeadly
ac0dad192a
mc.mitm: send initial output report to sony controllers prior to initialising the base class to improve perceived connection speed 2021-11-01 21:00:04 +01:00
ndeadly
b1d9fc906d
mc.mitm: convert static report staging buffers to instance members 2021-11-01 20:26:46 +01:00
ndeadly
b95ca984cc mc.mitm: add some missing subcommand responses 2021-11-01 12:57:30 +01:00
ndeadly
d2d12130c7 mc.mitm: correctly store/return player led pattern in response to subcommands 2021-11-01 12:56:41 +01:00
ndeadly
82bebeffd2 mc.mitm: actually take into account the value sent in enable vibration subcommand 2021-11-01 11:42:19 +01:00
ndeadly
ace83062bb mc.mitm: add default response for unrecognised subcommands 2021-11-01 01:31:20 +01:00
ndeadly
d9bed6ee2a mc.mitm: add struct definition for SetPlayerLeds subcommand 2021-11-01 01:23:57 +01:00
ndeadly
dbe5213bc0 mc.mitm: make use of GetControllerDirectory function during emulated controller initialisation 2021-10-31 23:57:44 +01:00
ndeadly
1090a80190 mc.mitm: disable sending SetTsi command to ouya controller 2021-10-31 19:28:10 +01:00
ndeadly
ea253a9e2a mc.mitm: add support for manually flagging a controller as not supporting the SetTsi command 2021-10-28 20:52:38 +02:00
ndeadly
07d73cefd9 mc.mitm: use libstratosphere shared memory types 2021-10-17 01:11:12 +02:00
ndeadly
abc80827fe Merge branch 'master' into develop
# Conflicts:
#	mc_mitm/source/controllers/emulated_switch_controller.cpp
2021-10-17 00:21:48 +02:00
SciresM
f7178ebc1b
mc: update for Atmosphere-libs refactoring (#372)
* mc: update for Atmosphere-libs refactoring

* Update for further ams-libs changes (through 1.2.0)
2021-10-17 00:15:56 +02:00
Banz99
6a1d490ff7
Add rescaled deadzones in the SPI bin file for the full 12 bit range (#376) 2021-10-12 20:54:54 +02:00
ndeadly
67c14d5181 mc.mitm: disable sending SetTsi command to lanshen controller 2021-09-25 13:08:42 +02:00
ndeadly
e77bb75e24 mc.mitm: fix detection of official nintendo controllers under 13.0.0 2021-09-24 23:44:19 +02:00
ndeadly
dd978cb000 mc.mitm: update btm_mitm service interface to support 13.0.0 2021-09-24 13:54:30 +02:00
ndeadly
6689f03682 mc.mitm: set external power/usb status for controllers known to report it 2021-09-15 14:00:51 +02:00
ndeadly
60b6f2dd0f mc.mitm: report xbox one battery level as full rather than empty when controller is powered via usb 2021-09-15 13:45:12 +02:00
ndeadly
569f679831 Merge branch 'master' into develop 2021-09-15 13:40:44 +02:00
GaryOderNichts
4d04f80c31
Wii U Pro Controller battery level and charging flag (#348) 2021-09-15 13:37:03 +02:00
ndeadly
5102fb21e4 mc.mitm: ensure full path to controller directory is created in case the user has removed the config directory 2021-09-06 21:19:02 +02:00
ndeadly
ca25362211 mc.mitm: remove unnecessary overlapping data write from virtual spi flash initialisation 2021-08-20 17:02:42 +02:00
ndeadly
0ebba1abbd mc.mitm: add back virtual destructor that went mia during rebase 2021-08-20 01:00:57 +02:00
ndeadly
601a1209a3 mc.mitm: fix compiler warning when reversing bluetooth address for wii controller pairing 2021-08-19 23:48:29 +02:00
ndeadly
e4f475072c mc.mitm: add support for file based virtual spi flash 2021-08-19 22:13:28 +02:00
ndeadly
aa229ba61c mc.mitm: report that 8bitdo zero controller doesn't support SetTsi function 2021-08-19 22:08:07 +02:00
ndeadly
f74f76d29f mc.mitm: account for larger xbox elite v2 controller input report 2021-08-19 14:32:12 +02:00
ndeadly
ec17464465 mc.mitm: take analog values from wii classic controller into account when mapping ZL/ZR buttons 2021-08-16 21:16:09 +02:00
ndeadly
5f580713d7 mc.mitm: add support for gamesir t2a controller 2021-08-08 15:03:00 +02:00
ndeadly
565b9ecd6d mc.mitm: report that mocute 050 controller doesn't support SetTsi function 2021-08-04 13:44:22 +02:00
ndeadly
465ffa5268 mc.mitm: handle rumble data sent along with subcommand output report 0x01 2021-07-14 22:28:34 +02:00
ndeadly
e34f070406 Change location of config .ini file to sdmc:/config/MissionControl/missioncontrol.ini 2021-07-11 19:40:24 +02:00
ndeadly
b314971e3a mc.mitm: add temporary workaround for issue where wii controllers won't stop vibrating after being connected 2021-07-11 19:29:24 +02:00
ndeadly
8ece58d151 mc.mitm: pass correct calibration data for stick values that utilise the full 12-bit range 2021-07-11 18:20:34 +02:00
ndeadly
429cc06b14 mc.mitm: only fake response for SetTsi command for controllers where is is known to cause issues 2021-07-09 20:00:29 +02:00
ndeadly
241662796c mc.mitm: reduce default reporting rate of DS4 controller from 1000Hz -> 125Hz to match pro controller 2021-07-09 19:37:00 +02:00
Banz99
67deb90966
Add svcSleepThread between memory accesses to recognize wii controller extensions (#301) 2021-07-07 22:51:19 +02:00
ndeadly
7a1ea1f8af mc.mitm: correct SwitchAnalogStick SetX and SetY functions 2021-06-23 21:57:29 +02:00
ndeadly
31250f09fb mc.mitm: add extension IPC call for external app to signal that it has peeked at the hid report buffer when using event redirection 2021-06-23 02:10:05 +02:00
ndeadly
c6866db302 mc.mitm: check in missing switch analog stick source files 2021-06-20 23:51:37 +02:00
ndeadly
34698dbd53 mc.mitm: add methods for fetching and modifying packed switch analog stick data 2021-06-20 22:39:28 +02:00
ndeadly
d8a5f08f2b mc.mitm: improve battery level handling 2021-06-14 22:01:51 +02:00
ndeadly
d1c2437f7b mc.mitm: fix xiaomi controller battery level computation 2021-06-14 18:24:39 +02:00
ndeadly
d2c9c37029 mc.mitm: support report format used by old xbox one controller firmwares 2021-06-10 00:09:26 +02:00
ndeadly
82fa3fa503 mc.mitm: add support for atgames legends pinball controller 2021-06-10 00:08:58 +02:00
ndeadly
5f7f5854b9 mc.mitm: add config option to disable the LED lightbar on sony controllers 2021-06-10 00:08:21 +02:00
ndeadly
b27e1e5da2 bluetooth-mitm: convert tabs to spaces 2021-06-09 23:59:20 +02:00
ndeadly
a35edd389c bluetooth-mitm: combine wiimote inputs with extension controllers rather than overwrite them 2021-06-09 23:59:20 +02:00
ndeadly
97b80c7686 bluetooth-mitm: whitelist another vid/pid for mocute 050 controller 2021-06-09 23:52:39 +02:00
ndeadly
9e476ea9fd bluetooth-mitm: add support for lanshen x1pro controller 2021-06-09 23:52:29 +02:00
ndeadly
f5a1ef2ff3 bluetooth-mitm: add support for samsung variant of madcatz c.t.r.l.r 2021-06-09 23:26:33 +02:00
ndeadly
e32438c9a1 Adapt code for libnx 12.x.x support 2021-06-09 22:17:58 +02:00
ndeadly
c92cb857b5 mc.mitm: remove usage of sm::DoWithSession 2021-04-30 23:05:01 +02:00
ndeadly
4ea12aebd5 Add preliminary support for 12.0.0 2021-04-15 00:10:22 +02:00
ndeadly
a3310e0d43 mc.mitm: unfuck the mess created by conflicting bluetooth type definitions in libnx master 2021-03-25 23:37:20 +01:00
ndeadly
a492bc77af bluetooth-mitm: add support for icade controller 2021-03-16 02:27:04 +01:00
ndeadly
b92d4b588b bluetooth-mitm: update amplitude lookup table and clean up rumble code 2021-03-16 00:09:21 +01:00
ndeadly
14146e3d30 bluetooth-mitm: enable/disable controller rumble based on global settings defined in ini file 2021-03-14 18:22:16 +01:00
Sean Maas
c227688485 bluetooth-mitm: add DualSense rumble 2021-03-14 18:21:31 +01:00
ndeadly
6fc0036129 bluetooth-mitm: fix setting of wii controller player leds 2021-03-14 18:21:30 +01:00
ndeadly
210dc5079f bluetooth-mitm: playing around with rumble values 2021-03-14 18:21:30 +01:00
ndeadly
1160f7d0e0 bluetooth-mitm: use improved lookup table based on yuzu amplitude scaling function, only use left motor settings 2021-03-14 18:21:30 +01:00
ndeadly
d9f19ecffd bluetooth-mitm: use average of left and right LRA amplitudes 2021-03-14 18:21:29 +01:00
ndeadly
bb7fc4e793 bluetooth-mitm: fix copy/paste error 2021-03-14 18:21:29 +01:00
ndeadly
f9c4c5cd71 bluetooth-mitm: add rumble frequency decoding via lookup table 2021-03-14 18:21:29 +01:00
ndeadly
2a2b1be311 bluetooth-mitm: decode real rumble amplitudes via lookup table 2021-03-14 18:21:24 +01:00
ndeadly
61482f328a add change that got lost during rebase 2021-03-14 18:19:21 +01:00
ndeadly
1aeddc5574 bluetooth-mitm: make vibration reports work for xbox one controller 2021-03-14 18:19:21 +01:00
ndeadly
42f82561ab bluetooth-mitm: add CancelVibration method 2021-03-14 18:19:21 +01:00
ndeadly
d40a6ccc97 bluetooth-mim: add (not working) crude rumble support for xbox one controllers 2021-03-14 18:19:21 +01:00
ndeadly
ec37a557c6 bluetooth-mitm: add crude wii controller rumble 2021-03-14 18:19:20 +01:00
ndeadly
d9550e2292 bluetooth-mitm: add crude dualshock4 rumble 2021-03-14 18:19:20 +01:00
ndeadly
1f2d0dc6ba bluetooth-mitm: add struct definitions and methods to begin implementing rumble support 2021-03-14 18:19:20 +01:00
ndeadly
0ad7fd4d21 bluetooth-mitm: add support for steelseries stratus duo controller 2021-03-05 01:43:13 +01:00
ndeadly
fcc1bb3a05 bluetooth-mitm: improve readability of fake subcommand responses 2021-02-27 01:48:13 +01:00
ndeadly
a1f2cd413f bluetooth-mitm: move ApplyButtonCombos method into SwitchController class so we can also apply button combos to official controllers 2021-02-26 01:08:15 +01:00
ndeadly
e30818666a bluetooth-mitm: move staging report buffers into SwitchController class and make use of them 2021-02-26 00:57:05 +01:00
ndeadly
1bd2c238d0 bluetooth-mitm: move initialisation of waitable holders into bluetooth event handling thread function 2021-02-23 01:41:49 +01:00
ndeadly
86b3e3170b bluetooth-mitm: revert removal of program_id argument for bluetooth core GetEventInfo function 2021-02-21 20:43:39 +01:00
ndeadly
acc420a780 bluetooth-mitm: remove unnecessary mitm of Finalize functions 2021-02-21 20:11:11 +01:00
ndeadly
04a4d1fcd8 bluetooth-mitm: remove unnecessary Initialize/Finalize functions 2021-02-21 19:35:19 +01:00
ndeadly
ff9d6fe44b bluetooth-mitm: change buffer parameter type of GetEventInfo functions to void * for consistency 2021-02-21 17:36:24 +01:00
ndeadly
18c8ecfc98 bluetooth-mitm: use *EventInfo data types instead of raw buffers 2021-02-21 14:43:21 +01:00
ndeadly
11f6adf78a bluetooth-mitm: remove passing program id to GetEventInfo functions 2021-02-21 14:01:13 +01:00
ndeadly
bbcf59bde1 bluetooth-mitm: clean up pin reply code a little 2021-02-21 13:59:16 +01:00
ndeadly
de8a69c211 mc.mitm: move LaunchModules and WaitModules functions out of main.cpp 2021-02-21 12:51:00 +01:00
ndeadly
16c0d0abbf bluetooth-mitm: use event classes instead of os::event api 2021-02-21 02:42:06 +01:00
ndeadly
79e65d4b41 bluetooth-mitm: use events instead of flags to track the initialisation status of bluetooth interfaces 2021-02-21 00:44:45 +01:00
ndeadly
d5ddeaac36 mc.mitm: add support for loading global module config ini at startup and overriding bluetooth adapter name and address 2021-02-21 00:44:45 +01:00
ndeadly
d664c074fd bluetooth-mitm: improve module initialisation 2021-02-21 00:44:45 +01:00
ndeadly
9d371ceff1 Embed build version string in compiled sysmodule 2021-02-19 01:53:09 +01:00
ndeadly
f842d6b7f3 bluetooth-mitm: remove editing of tsi ext event status code 2021-02-09 22:34:24 +01:00
ndeadly
7cf761ae9b bluetooth-mitm: signal fake response to SetTsi function when called on an unofficial controller 2021-02-09 22:18:43 +01:00
ndeadly
2a76c0b2d7 bluetooth-mitm: add method for checking whether a controller handler is for an officially supported switch controller 2021-02-09 22:16:20 +01:00
ndeadly
2254589865 bluetooth-mitm: add function to signal a fake hid event 2021-02-09 21:53:32 +01:00
ndeadly
bb9ab12889 bluetooth-mitm: mitm the btdrv SetTsi function 2021-02-09 21:52:43 +01:00
ndeadly
5ac15a48a2 bluetooth-mitm: add support for 8bitdo sn30 pro (xbox cloud gaming edition), support both report formats for 8bitdo zero 2021-02-07 18:22:34 +01:00
ndeadly
15ce645bd9 mc.mitm: remove return value on LaunchModules function 2021-02-04 02:57:15 +01:00
ndeadly
00783a6cbc Rename sysmodule to mc.mitm 2021-02-04 01:30:04 +01:00