Improve multi-controller support in HID and Controller Applet (#1453)

* Initial commit

Enable proper LED patterns
Toggle Hotkeys only on focus
Ignore Handheld on Docked mode
Remove PrimaryController
Validate NpadIdType
Rewrite NpadDevices to process config in update loop
Cleanup

* Notify in log periodically when no matched controllers

* Remove duplicate StructArrayHelpers in favor of Common.Memory

Fix struct padding CS0169 warns in Touchscreen

* Remove GTK markup from Controller Applet

Use IList instead of List
Explicit list capacity in 1ms loop
Fix formatting

* Restrict ControllerWindow to show valid controller types

Add selected player name to ControllerWindow title

* ControllerWindow: Fix controller type initial value

NpadDevices: Simplify default battery charge

* Address AcK's comments

Use explicit types and fix formatting

* Remove HashSet for SupportedPlayers

Fixes potential exceptions due to race

* Fix ControllerSupportArg struct packing

Also comes with two revisions of struct for 4/8 players max.
This commit is contained in:
mageven 2020-08-24 02:24:11 +05:30 committed by GitHub
parent 01ff648bdf
commit 27179d0218
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 445 additions and 242 deletions

View file

@ -138,13 +138,6 @@
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">The controller's type</property>
<property name="active">0</property>
<items>
<item id="Handheld" translatable="yes">Handheld</item>
<item id="ProController" translatable="yes">Pro Controller</item>
<item id="JoyconPair" translatable="yes">Paired Joycons</item>
<item id="JoyconLeft" translatable="yes">Left Joycon</item>
<item id="JoyconRight" translatable="yes">Right Joycon</item>
</items>
<signal name="changed" handler="Controller_Changed" swapped="no"/>
</object>
<packing>