2022-12-02 11:27:45 +01:00
using System.ComponentModel ;
using System.Configuration ;
namespace SteamController
{
[Category("Settings")]
[TypeConverter(typeof(ExpandableObjectConverter))]
2022-12-08 10:24:40 +01:00
internal sealed partial class Settings : CommonHelpers . BaseSettings
2022-12-02 11:27:45 +01:00
{
2022-12-08 10:24:40 +01:00
public static readonly Settings Default = new Settings ( ) ;
2022-12-02 11:27:45 +01:00
2022-12-08 10:24:40 +01:00
public Settings ( ) : base ( "Settings" )
2022-12-02 11:27:45 +01:00
{
}
2022-12-10 10:29:37 +01:00
[Browsable(false)]
2023-01-21 21:41:55 +01:00
public bool? EnableSteamDetection
2022-12-02 11:27:45 +01:00
{
2023-01-21 21:41:55 +01:00
get { return Get < bool? > ( "EnableSteamDetection" , null ) ; }
2022-12-08 10:24:40 +01:00
set { Set ( "EnableSteamDetection" , value ) ; }
2022-12-02 11:27:45 +01:00
}
2023-02-10 20:50:44 +01:00
[Description("Keep X360 controller connected always - it is strongly advised to disable this option. Might be required by some games that do not like disonnecting controller. Will disable beep notifications.")]
public bool KeepX360AlwaysConnected
{
get { return Get < bool > ( "KeepX360AlwaysConnected" , false ) ; }
set { Set ( "KeepX360AlwaysConnected" , value ) ; }
}
2023-01-21 22:09:17 +01:00
[Description("If current foreground process uses overlay, treat it as a game.")]
public bool DetectRTSSForeground
{
get { return Get < bool > ( "DetectRTSSForeground" , true ) ; }
set { Set ( "DetectRTSSForeground" , value ) ; }
}
2022-12-04 20:32:23 +01:00
[Description("Default profile used when going back to Desktop mode")]
2022-12-10 10:29:37 +01:00
[Browsable(true)]
2022-12-08 11:23:15 +01:00
[TypeConverter(typeof(ProfilesSettings.Helpers.ProfileStringConverter))]
public string DefaultProfile
2022-12-02 11:27:45 +01:00
{
2022-12-08 11:23:15 +01:00
get { return Get < string > ( "DefaultProfile" , "Desktop" ) ; }
2022-12-08 10:24:40 +01:00
set { Set ( "DefaultProfile" , value ) ; }
2022-12-02 11:27:45 +01:00
}
2022-12-04 20:39:00 +01:00
public enum ScrollMode : int
{
DownScrollUp = - 1 ,
DownScrollDown = 1
}
[Description("Scroll direction for right pad and joystick.")]
2022-12-10 10:29:37 +01:00
[Browsable(true)]
2022-12-04 20:39:00 +01:00
public ScrollMode ScrollDirection
{
2022-12-08 10:24:40 +01:00
get { return Get < ScrollMode > ( "ScrollDirection" , ScrollMode . DownScrollDown ) ; }
set { Set ( "ScrollDirection" , value ) ; }
2022-12-04 20:39:00 +01:00
}
2022-12-04 20:51:21 +01:00
public enum SteamControllerConfigsMode
{
DoNotTouch ,
Overwrite
}
2022-12-10 10:29:37 +01:00
[Browsable(true)]
2022-12-06 21:32:14 +01:00
[ Description ( "This does replace Steam configuration for controllers to prevent double inputs. " +
"Might require going to Steam > Settings > Controller > Desktop to apply " +
"'SteamController provided empty configuration'." ) ]
2022-12-04 20:51:21 +01:00
public SteamControllerConfigsMode SteamControllerConfigs
2022-12-02 11:29:06 +01:00
{
2022-12-08 10:24:40 +01:00
get { return Get < SteamControllerConfigsMode > ( "SteamControllerConfigs" , SteamControllerConfigsMode . Overwrite ) ; }
set { Set ( "SteamControllerConfigs" , value ) ; }
2022-12-02 11:29:06 +01:00
}
2022-12-10 11:05:34 +01:00
public enum KeyboardStyles
{
DoNotShow ,
WindowsTouch ,
CTRL_WIN_O
}
2022-12-10 10:29:37 +01:00
[Browsable(true)]
2022-12-04 21:21:39 +01:00
[Description("Show Touch Keyboard or CTRL+WIN+O")]
2022-12-10 11:05:34 +01:00
public KeyboardStyles KeyboardStyle
2022-12-04 21:21:39 +01:00
{
2022-12-10 11:05:34 +01:00
get { return Get < KeyboardStyles > ( "KeyboardStyle" , KeyboardStyles . WindowsTouch ) ; }
set { Set ( "KeyboardStyle" , value ) ; }
2022-12-04 21:21:39 +01:00
}
2022-12-02 11:27:45 +01:00
public override string ToString ( )
{
return "" ;
}
}
}