Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EA to public #1025

Merged
merged 122 commits into from
Apr 8, 2024
Merged
Show file tree
Hide file tree
Changes from 121 commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
48598fb
Restore LegionGo fan control (#159)
Valkirie Jan 13, 2024
bc530aa
Implement support for Intel Graphics Control Library (IGCL) (#158)
Valkirie Jan 13, 2024
1c5ad92
Implement new UI classes (#153)
Valkirie Jan 13, 2024
52581a7
Allow OSD customization (#161)
0SkillAllLuck Jan 15, 2024
199328f
SapientiaUsb update (#104)
MSeys Jan 15, 2024
ae1e328
cleanup
Valkirie Jan 18, 2024
785ecad
Increase GPUManager robustness (#166)
Valkirie Jan 19, 2024
f62c82e
fix crash on HC close when an IGCL or ADLX task is running (#175)
Valkirie Jan 28, 2024
ad7f964
Update bug_report.md
CasperH2O Feb 6, 2024
e024ed9
Update feature_request.md
CasperH2O Feb 6, 2024
dc152bf
Log inner exceptions (#183)
MSeys Feb 10, 2024
9131856
Update HH Product Code Property for HC uninstaller (#184)
CasperH2O Feb 10, 2024
96be4e2
update MultimediaManager and fix FPS limit update issue
Valkirie Feb 12, 2024
f278fef
Implement internal/external controller logic (#187)
Valkirie Feb 14, 2024
f0d376c
Improve support for wireless XBOX controllers (#188)
Valkirie Feb 14, 2024
0d6be2c
improve controller restart request wording
Valkirie Feb 14, 2024
e468b52
Implement MessageBox warnings on critical errors (HidHide and ViGem)
Valkirie Feb 14, 2024
46f8850
remove deprecated BMI320/BMI323 workaround
Valkirie Feb 14, 2024
fb3a43f
fix a regression when dealing with HIDcloakonconnect and Steam Deck
Valkirie Feb 15, 2024
b52c102
Added support for multi-display and multi-GPU configurations (#186)
Valkirie Feb 16, 2024
cd81ebf
Fix ROG Ally M1 and M2 being swapped. (#190)
CasperH2O Feb 17, 2024
2eed0f1
Misc fixes (#189)
Valkirie Feb 18, 2024
c030253
DeviceManager: prevent crash on null root and empty Name
Valkirie Feb 19, 2024
26c383d
Use UserIndex for SteamController(s)
Valkirie Feb 19, 2024
255236f
prevent useless process check when foregroundWindow == hWnd
Valkirie Feb 19, 2024
48b48b9
update ProcessEx MainWindowTitle while updating MainThread
Valkirie Feb 21, 2024
8978d7e
prevent crash when no GPU available
Valkirie Feb 21, 2024
9968646
PerformanceManager: replace Monitor with CrossThreadLock (#191)
Valkirie Feb 21, 2024
c6f08b9
prevent gamepad navigation from targeting RepeatButtons that are part…
Valkirie Feb 21, 2024
bbdef08
do not target navigation related buttons when navigating with gamepad
Valkirie Feb 21, 2024
4345fed
allow right stick to be used to scroll the window main scrollviewer
Valkirie Feb 21, 2024
c6a68f0
improve GPU start/stop logic
Valkirie Feb 22, 2024
9ff8ad9
GPUManager: prevent crash on null AdapterInformation
Valkirie Feb 22, 2024
3157336
GPUManager: implement Unhooked logic
Valkirie Feb 22, 2024
0dae0ed
Implement Levenshtein (#192)
Valkirie Feb 22, 2024
4b3c06f
MVVM Rework - Batch 1 (#193)
CasperH2O Feb 29, 2024
1a39b0e
improve SplashScreen logic (#194)
Valkirie Feb 29, 2024
ce50432
prevent crash on exited process within Steam platform
Valkirie Mar 4, 2024
5a83a02
hide splashscreen when displaying a messagebox
Valkirie Mar 4, 2024
cc8b705
Update CrossThreadLock.cs
Valkirie Mar 4, 2024
075a0ff
improve GPU Management
Valkirie Mar 4, 2024
b6d6b1b
fix issue with SplashScreen
Valkirie Mar 4, 2024
f3ad29a
fix HIDmode check on SetControllerMode()
Valkirie Mar 4, 2024
f56ee70
fix missing triggers mapping on layout initialization
Valkirie Mar 4, 2024
79df56d
fix missing SourceButtons and SourceAxis
Valkirie Mar 5, 2024
84c656e
Fix Splashscreen leftover.
CasperH2O Mar 5, 2024
85092a6
prevent crash on duplicated entry within displayAdapters
Valkirie Mar 7, 2024
ab120a8
Fix missing binding error that was no longer used (#198)
CasperH2O Mar 8, 2024
6fbe49a
Fix process detection handling Null, occurs with Windows lock screen.…
CasperH2O Mar 8, 2024
55514e2
Make InputsManager more robust (#201)
Valkirie Mar 9, 2024
6662cb4
Only send add/remove notices once per display adapter to other compon…
ShadowFlare Mar 9, 2024
cc8b0a6
Fix power preset main GUI creation, deletion, rename and initial sele…
CasperH2O Mar 9, 2024
d4ac4f4
misc improvements to threadlocks and ADLX
Valkirie Mar 9, 2024
ddb7ffe
implement InitializeInputOutput
Valkirie Mar 9, 2024
63b4c28
improve Legion Go touchpad support
Valkirie Mar 9, 2024
bd05c79
prevent crash on empty selectedProfile when MultimediaManager_Display…
Valkirie Mar 9, 2024
53a91f2
QuickSuspender: prevent crash when accessing Processes while it gets …
Valkirie Mar 12, 2024
913e8e5
Implement Legion Go per-controller-gyro support (#204)
Valkirie Mar 14, 2024
d15bfc5
Fix Splashscreen only on first start
CasperH2O Mar 10, 2024
8c0dadb
Implement JibbSmart's GamepadMotionHelper (#206)
Valkirie Mar 18, 2024
d808be8
x64 Release dependencies
Valkirie Mar 18, 2024
8f9f7a3
fix InputsManager
Valkirie Mar 18, 2024
bcc23eb
disable continuous calibration on JSController(s), this has to be man…
Valkirie Mar 19, 2024
3df637e
apply -25° on overlay model X axis (tentative)
Valkirie Mar 19, 2024
65df7bf
migrate gamepadMotion.ProcessMotion() so that we can calibrate a cont…
Valkirie Mar 19, 2024
341cf8a
implement support for L/R controller calibration (#208)
Valkirie Mar 20, 2024
814f64a
fix DS4 timestamp (really ?)
Valkirie Mar 20, 2024
2759665
fix DualShock4 accelerometer range
Valkirie Mar 20, 2024
980687b
prevent issue with PerformancePageViewModel OnPropertyChanged()
Valkirie Mar 20, 2024
64e6e59
add missing default mapping for DualShock4 touchpad
Valkirie Mar 21, 2024
3d47785
InnoSetup Update (#209)
CasperH2O Mar 22, 2024
2b32964
implement enum SteeringAxis
Valkirie Mar 25, 2024
8bec41a
allow target controller calibration from device page
Valkirie Mar 25, 2024
06c58ba
improve previous process detection
Valkirie Mar 25, 2024
9bdf486
misc
Valkirie Mar 25, 2024
91c9216
fix virtual functions on IController
Valkirie Mar 25, 2024
4765e5e
Make UI calls Invoke() instead of BeginInvoke() for each SettingsMana…
Valkirie Mar 26, 2024
184632f
prevent crash on null processEx.MainThread
Valkirie Mar 27, 2024
3aec9fc
don't mess with virtual controllers if ControllerManager.ControllerMa…
Valkirie Mar 27, 2024
934ceb0
prevent crash on null virtualController
Valkirie Mar 28, 2024
def710c
make sure all Dialog(s) are called from UI thread
Valkirie Mar 28, 2024
c1e7244
fix https://github.com/Valkirie/HandheldCompanion/issues/1015
Valkirie Mar 29, 2024
0324f3a
fix https://github.com/Valkirie/HandheldCompanion/issues/1018
Valkirie Mar 29, 2024
cb3f428
improve overall Embedded hotkeys management, those are used by profil…
Valkirie Mar 29, 2024
1c1ee79
prevent layout page from being updated by quickpage if quickpage prof…
Valkirie Mar 29, 2024
5d5a8fa
add missing UI dispatcher call
Valkirie Mar 29, 2024
a942e18
Support for MSI Claw (#213)
romracer Mar 30, 2024
3e6be69
rename default profiles for consistency
Valkirie Mar 30, 2024
2e90ef7
Implements proper file importer when a file is dropped into the profi…
Valkirie Mar 30, 2024
afe4b5c
fix profile management
Valkirie Mar 31, 2024
b24e014
improve process manager foreground check
Valkirie Mar 31, 2024
9f98f02
prevent crash on null motherboard details
Valkirie Mar 31, 2024
3759e12
make IGCLBackend use delegates rather than DLLImport
Valkirie Mar 31, 2024
002b70c
fix CrossThread Exit()
Valkirie Mar 31, 2024
9588511
increase performance manager delay in between CPU commands to 20ms
Valkirie Mar 31, 2024
553c4b6
prevent crash on null MotherboardInfo collections
Valkirie Apr 3, 2024
76713d5
improve overall gyro behavior (#218)
Valkirie Apr 3, 2024
8cabf07
3D Overlay Update (#217)
CasperH2O Apr 3, 2024
e5a8d02
Fix missing data closing tag in resources file.
CasperH2O Apr 3, 2024
8e387b1
prevent crash on null PowerProfile
Valkirie Apr 3, 2024
a0c7967
prevent crash when manipulating PowerProfile UI elements
Valkirie Apr 3, 2024
a8c64cf
AYANEO: FAN/LED rewrite (#214)
0SkillAllLuck Apr 4, 2024
4ca3acd
fix crash on hotkeys array being updated while read (race-condition)
Valkirie Apr 4, 2024
b760f68
Improve IMU support (#223)
Valkirie Apr 4, 2024
4a60aa2
prevent UI thread from being flooded by UIGamepad
Valkirie Apr 5, 2024
d390414
Ayaneo device code cleanup (#225)
0SkillAllLuck Apr 5, 2024
205e8bb
Add support for AYANEO Next Lite (#226)
0SkillAllLuck Apr 5, 2024
fdc6496
Improve missing ViGEm or HidHide dialogue boxes. (#221)
CasperH2O Apr 5, 2024
9404671
Update RTSS to 7.3.6
Apr 4, 2024
e1f5604
fix compile error
Valkirie Apr 6, 2024
2eae5c5
implement Legion Go stability fix (tentative)
Valkirie Apr 6, 2024
cb52c02
prevent crash on null udpSock during ResetUDPConn()
Valkirie Apr 6, 2024
d933369
DualShock4Target will now rely on gamepadMotion deltaTime rather than…
Valkirie Apr 6, 2024
2ceb1e0
fix issue with disabled UI control when desktop layout is enabled
Valkirie Apr 6, 2024
01fcfdc
improve overall per-profile controller management
Valkirie Apr 6, 2024
4df18e6
add missing TDP settings for Rog Ally default power profiles
Valkirie Apr 7, 2024
e61aa50
increase interval between SetTDPLimit on RequestTDP()
Valkirie Apr 7, 2024
56553f6
fix sensor selection on startup
Valkirie Apr 7, 2024
dfdd03a
implement automatic Roll/Yaw swap (#229)
Valkirie Apr 7, 2024
2aeca9c
Migrate to Invoke() (#231)
Valkirie Apr 8, 2024
2e4a8d1
code cleanup
Valkirie Apr 8, 2024
1927c21
Merge branch 'main' into EAtoPublic
CasperH2O Apr 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 4 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
labels: Bug

---

Expand All @@ -12,13 +12,15 @@ labels: bug
- [ ] AOKZOE
- [ ] ASUS
- [ ] GPD
- [ ] LENOVO
- [ ] MSI
- [ ] ONEXPLAYER
- [ ] VALVE

**Device model**
Your device model

**Handheld Companinion Version**
**Handheld Companion Version**
0.X.X.X

**Describe the bug**
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
labels: Enhancement
assignees: ''

---
Expand Down
2 changes: 1 addition & 1 deletion HandheldCompanion.iss
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,7 @@ begin
if not(keepHidhideCheckbox.Checked) then
begin
if(ShellExec('', 'msiexec.exe', '/X{50D7EB6D-6A4A-4A38-B09C-CC28F75F082E} /L*V "C:\HidHide-Uninstall.log"', '', SW_SHOW, ewWaitUntilTerminated, resultCode)) then
if(ShellExec('', 'msiexec.exe', '/X{41DC2CF5-D952-4EC5-B90B-136E59430EA0} /L*V "C:\HidHide-Uninstall.log"', '', SW_SHOW, ewWaitUntilTerminated, resultCode)) then
begin
log('Successfully executed Hidhide uninstaller');
if(resultCode = 0) then
Expand Down
49 changes: 40 additions & 9 deletions HandheldCompanion/ADLX/ADLXBackend.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Runtime.InteropServices;
using System.Text;

namespace HandheldCompanion.ADLX
{
Expand Down Expand Up @@ -50,9 +51,39 @@ public struct AdlxTelemetryData
public double gpuTotalBoardPowerValue;
}

public enum ADLX_RESULT
{
ADLX_OK = 0, /**< @ENG_START_DOX This result indicates success. @ENG_END_DOX */
ADLX_ALREADY_ENABLED, /**< @ENG_START_DOX This result indicates that the asked action is already enabled. @ENG_END_DOX */
ADLX_ALREADY_INITIALIZED, /**< @ENG_START_DOX This result indicates that ADLX has a unspecified type of initialization. @ENG_END_DOX */
ADLX_FAIL, /**< @ENG_START_DOX This result indicates an unspecified failure. @ENG_END_DOX */
ADLX_INVALID_ARGS, /**< @ENG_START_DOX This result indicates that the arguments are invalid. @ENG_END_DOX */
ADLX_BAD_VER, /**< @ENG_START_DOX This result indicates that the asked version is incompatible with the current version. @ENG_END_DOX */
ADLX_UNKNOWN_INTERFACE, /**< @ENG_START_DOX This result indicates that an unknown interface was asked. @ENG_END_DOX */
ADLX_TERMINATED, /**< @ENG_START_DOX This result indicates that the calls were made in an interface after ADLX was terminated. @ENG_END_DOX */
ADLX_ADL_INIT_ERROR, /**< @ENG_START_DOX This result indicates that the ADL initialization failed. @ENG_END_DOX */
ADLX_NOT_FOUND, /**< @ENG_START_DOX This result indicates that the item is not found. @ENG_END_DOX */
ADLX_INVALID_OBJECT, /**< @ENG_START_DOX This result indicates that the method was called into an invalid object. @ENG_END_DOX */
ADLX_ORPHAN_OBJECTS, /**< @ENG_START_DOX This result indicates that ADLX was terminated with outstanding ADLX objects. Any interface obtained from ADLX points to invalid memory and calls in their methods will result in unexpected behavior. @ENG_END_DOX */
ADLX_NOT_SUPPORTED, /**< @ENG_START_DOX This result indicates that the asked feature is not supported. @ENG_END_DOX */
ADLX_PENDING_OPERATION, /**< @ENG_START_DOX This result indicates a failure due to an operation currently in progress. @ENG_END_DOX */
ADLX_GPU_INACTIVE /**< @ENG_START_DOX This result indicates that the GPU is inactive. @ENG_END_DOX */
}

[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool IntializeAdlx();
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool CloseAdlx();

[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern ADLX_RESULT GetNumberOfDisplays(ref int displayNum);

[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public static extern ADLX_RESULT GetDisplayName(int idx, StringBuilder dispName, int nameLength);

[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)]
public static extern ADLX_RESULT GetDisplayGPU(int idx, ref int UniqueId);

[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)]
public static extern ADLX_RESULT GetGPUIndex(int UniqueId, ref int idx);

[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool HasRSRSupport();
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool GetRSR();
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool SetRSR(bool enable);
Expand All @@ -79,17 +110,17 @@ public struct AdlxTelemetryData
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern int GetImageSharpeningSharpness(int GPU);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool SetImageSharpeningSharpness(int GPU, int sharpness);

[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool HasIntegerScalingSupport(int GPU);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool GetIntegerScaling(int GPU);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool SetIntegerScaling(int GPU, bool enabled);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool HasIntegerScalingSupport(int displayIdx);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool GetIntegerScaling(int displayIdx);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool SetIntegerScaling(int displayIdx, bool enabled);

[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool HasGPUScalingSupport(int GPU);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool GetGPUScaling(int GPU);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool SetGPUScaling(int GPU, bool enabled);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool HasGPUScalingSupport(int displayIdx);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool GetGPUScaling(int displayIdx);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool SetGPUScaling(int displayIdx, bool enabled);

[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool HasScalingModeSupport(int GPU);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern int GetScalingMode(int GPU);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool SetScalingMode(int GPU, int mode);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool HasScalingModeSupport(int displayIdx);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern int GetScalingMode(int displayIdx);
[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool SetScalingMode(int displayIdx, int mode);

[DllImport(ADLX_Wrapper, CallingConvention = CallingConvention.Cdecl)] public static extern bool GetAdlxTelemetry(int GPU, ref AdlxTelemetryData adlxTelemetryData);

Expand Down
Binary file modified HandheldCompanion/ADLX_Wrapper.dll
Binary file not shown.
2 changes: 1 addition & 1 deletion HandheldCompanion/Actions/GyroActions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ namespace HandheldCompanion.Actions
[Serializable]
public class GyroActions : IActions
{
public MotionInput MotionInput = MotionInput.JoystickCamera;
public MotionInput MotionInput = MotionInput.LocalSpace;
public MotionMode MotionMode = MotionMode.Off;
public bool MotionToggleStatus = false;
public bool MotionTogglePressed = false; // for debouncing
Expand Down
Loading
Loading