Ryujinx/Ryujinx/_schema.json
riperiperi 484eb645ae
Implement Zero-Configuration Resolution Scaling (#1365)
* Initial implementation of Render Target Scaling

Works with most games I have. No GUI option right now, it is hardcoded.

Missing handling for texelFetch operation.

* Realtime Configuration, refactoring.

* texelFetch scaling on fragment shader (WIP)

* Improve Shader-Side changes.

* Fix potential crash when no color/depth bound

* Workaround random uses of textures in compute.

This was blacklisting textures in a few games despite causing no bugs. Will eventually add full support so this doesn't break anything.

* Fix scales oscillating when changing between non-native scales.

* Scaled textures on compute, cleanup, lazier uniform update.

* Cleanup.

* Fix stupidity

* Address Thog Feedback.

* Cover most of GDK's feedback (two comments remain)

* Fix bad rename

* Move IsDepthStencil to FormatExtensions, add docs.

* Fix default config, square texture detection.

* Three final fixes:

- Nearest copy when texture is integer format.
- Texture2D -> Texture3D copy correctly blacklists the texture before trying an unscaled copy (caused driver error)
- Discount small textures.

* Remove scale threshold.

Not needed right now - we'll see if we run into problems.

* All CPU modification blacklists scale.

* Fix comment.
2020-07-07 04:41:07 +02:00

1247 lines
35 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://ryujinx.org/_schema/config.json",
"type": "object",
"title": "Ryujinx Configuration Schema",
"required": [
"graphics_shaders_dump_path",
"logging_enable_debug",
"logging_enable_stub",
"logging_enable_info",
"logging_enable_warn",
"logging_enable_error",
"logging_enable_guest",
"logging_enable_fs_access_log",
"logging_filtered_classes",
"enable_file_log",
"system_language",
"system_region",
"docked_mode",
"enable_vsync",
"enable_multicore_scheduling",
"enable_ptc",
"enable_fs_integrity_checks",
"fs_global_access_log_mode",
"enable_keyboard",
"keyboard_config",
"controller_config"
],
"definitions": {
"key": {
"type": "string",
"enum": [
"ShiftLeft",
"LShift",
"ShiftRight",
"RShift",
"ControlLeft",
"LControl",
"ControlRight",
"RControl",
"AltLeft",
"LAlt",
"AltRight",
"RAlt",
"WinLeft",
"LWin",
"WinRight",
"RWin",
"Menu",
"F1",
"F2",
"F3",
"F4",
"F5",
"F6",
"F7",
"F8",
"F9",
"F10",
"F11",
"F12",
"F13",
"F14",
"F15",
"F16",
"F17",
"F18",
"F19",
"F20",
"F21",
"F22",
"F23",
"F24",
"F25",
"F26",
"F27",
"F28",
"F29",
"F30",
"F31",
"F32",
"F33",
"F34",
"F35",
"Up",
"Down",
"Left",
"Right",
"Enter",
"Escape",
"Space",
"Tab",
"BackSpace",
"Back",
"Insert",
"Delete",
"PageUp",
"PageDown",
"Home",
"End",
"CapsLock",
"ScrollLock",
"PrintScreen",
"Pause",
"NumLock",
"Clear",
"Sleep",
"Keypad0",
"Keypad1",
"Keypad2",
"Keypad3",
"Keypad4",
"Keypad5",
"Keypad6",
"Keypad7",
"Keypad8",
"Keypad9",
"KeypadDivide",
"KeypadMultiply",
"KeypadSubtract",
"KeypadMinus",
"KeypadAdd",
"KeypadPlus",
"KeypadDecimal",
"KeypadPeriod",
"KeypadEnter",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z",
"Number0",
"Number1",
"Number2",
"Number3",
"Number4",
"Number5",
"Number6",
"Number7",
"Number8",
"Number9",
"Tilde",
"Grave",
"Minus",
"Plus",
"BracketLeft",
"LBracket",
"BracketRight",
"RBracket",
"Semicolon",
"Quote",
"Comma",
"Period",
"Slash",
"BackSlash",
"NonUSBackSlash",
"LastKey"
]
},
"input": {
"type": "string",
"enum": [
"Button0",
"Button1",
"Button2",
"Button3",
"Button4",
"Button5",
"Button6",
"Button7",
"Button8",
"Button9",
"Button10",
"Button11",
"Button12",
"Button13",
"Button14",
"Button15",
"Button16",
"Button17",
"Button18",
"Button19",
"Button20",
"Axis0",
"Axis1",
"Axis2",
"Axis3",
"Axis4",
"Axis5",
"Hat0Up",
"Hat0Down",
"Hat0Left",
"Hat0Right",
"Hat1Up",
"Hat1Down",
"Hat1Left",
"Hat1Right",
"Hat2Up",
"Hat2Down",
"Hat2Left",
"Hat2Right"
]
},
"keyboard_config": {
"type": "object",
"properties": {
"index": {
"$id": "#/definitions/keyboard_config/properties/index",
"type": "integer",
"title": "Keyboard Index",
"description": "Keyboard Device Index",
"default": 0,
"minimum": 0,
"examples": [
0,
1,
2
]
},
"controller_type": {
"$id": "#/properties/keyboard_config/properties/controller_type",
"type": "string",
"title": "Controller Type",
"default": "Handheld",
"enum": [
"Handheld",
"ProController",
"JoyconPair",
"JoyconLeft",
"JoyconRight"
],
"examples": [
"Handheld",
"ProController",
"JoyconPair",
"JoyconLeft",
"JoyconRight"
]
},
"player_index": {
"$id": "#/properties/keyboard_config/properties/player_index",
"type": "string",
"title": "Player Index",
"default": "Player1",
"enum": [
"Player1",
"Player2",
"Player3",
"Player4",
"Player5",
"Player6",
"Player7",
"Player8",
"Handheld"
]
},
"left_joycon": {
"$id": "#/definitions/keyboard_config/properties/left_joycon",
"type": "object",
"title": "Left JoyCon Controls",
"required": [
"stick_up",
"stick_down",
"stick_left",
"stick_right",
"stick_button",
"dpad_up",
"dpad_down",
"dpad_left",
"dpad_right",
"button_minus",
"button_l",
"button_zl"
],
"properties": {
"stick_up": {
"$id": "#/definitions/keyboard_config/properties/left_joycon/properties/stick_up",
"$ref": "#/definitions/key",
"title": "Stick Up",
"default": "w"
},
"stick_down": {
"$id": "#/definitions/keyboard_config/properties/left_joycon/properties/stick_down",
"$ref": "#/definitions/key",
"title": "Stick Down",
"default": "S"
},
"stick_left": {
"$id": "#/definitions/keyboard_config/properties/left_joycon/properties/stick_left",
"$ref": "#/definitions/key",
"title": "Stick Left",
"default": "A"
},
"stick_right": {
"$id": "#/definitions/keyboard_config/properties/left_joycon/properties/stick_right",
"$ref": "#/definitions/key",
"title": "Stick Right",
"default": "D"
},
"stick_button": {
"$id": "#/definitions/keyboard_config/properties/left_joycon/properties/stick_button",
"$ref": "#/definitions/key",
"title": "Stick Button",
"default": "F"
},
"dpad_up": {
"$id": "#/definitions/keyboard_config/properties/left_joycon/properties/dpad_up",
"$ref": "#/definitions/key",
"title": "Dpad Up",
"default": "Up"
},
"dpad_down": {
"$id": "#/definitions/keyboard_config/properties/left_joycon/properties/dpad_down",
"$ref": "#/definitions/key",
"title": "Dpad Down",
"default": "Down"
},
"dpad_left": {
"$id": "#/definitions/keyboard_config/properties/left_joycon/properties/dpad_left",
"$ref": "#/definitions/key",
"title": "Dpad Left",
"default": "Left"
},
"dpad_right": {
"$id": "#/definitions/keyboard_config/properties/left_joycon/properties/dpad_right",
"$ref": "#/definitions/key",
"title": "Dpad Right",
"default": "Right"
},
"button_minus": {
"$id": "#/definitions/keyboard_config/properties/left_joycon/properties/button_minus",
"$ref": "#/definitions/key",
"title": "Button Minus",
"default": "Minus"
},
"button_l": {
"$id": "#/definitions/keyboard_config/properties/left_joycon/properties/button_l",
"$ref": "#/definitions/key",
"title": "Button L",
"default": "E"
},
"button_zl": {
"$id": "#/definitions/keyboard_config/properties/left_joycon/properties/button_zl",
"$ref": "#/definitions/key",
"title": "Button ZL",
"default": "Q"
}
}
},
"right_joycon": {
"$id": "#/definitions/keyboard_config/properties/right_joycon",
"type": "object",
"title": "Right JoyCon Controls",
"required": [
"stick_up",
"stick_down",
"stick_left",
"stick_right",
"stick_button",
"button_a",
"button_b",
"button_x",
"button_y",
"button_plus",
"button_r",
"button_zr"
],
"properties": {
"stick_up": {
"$id": "#/definitions/keyboard_config/properties/right_joycon/properties/stick_up",
"$ref": "#/definitions/key",
"title": "Stick Up",
"default": "I"
},
"stick_down": {
"$id": "#/definitions/keyboard_config/properties/right_joycon/properties/stick_down",
"$ref": "#/definitions/key",
"title": "Stick Down",
"default": "K"
},
"stick_left": {
"$id": "#/definitions/keyboard_config/properties/right_joycon/properties/stick_left",
"$ref": "#/definitions/key",
"title": "Stick Left",
"default": "J"
},
"stick_right": {
"$id": "#/definitions/keyboard_config/properties/right_joycon/properties/stick_right",
"$ref": "#/definitions/key",
"title": "Stick Right",
"default": "L"
},
"stick_button": {
"$id": "#/definitions/keyboard_config/properties/right_joycon/properties/stick_button",
"$ref": "#/definitions/key",
"title": "Stick Button",
"default": "H"
},
"button_a": {
"$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_a",
"$ref": "#/definitions/key",
"title": "Button A",
"default": "Z"
},
"button_b": {
"$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_b",
"$ref": "#/definitions/key",
"title": "Button B",
"default": "X"
},
"button_x": {
"$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_x",
"$ref": "#/definitions/key",
"title": "Button X",
"default": "C"
},
"button_y": {
"$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_y",
"$ref": "#/definitions/key",
"title": "Button Y",
"default": "V"
},
"button_plus": {
"$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_plus",
"$ref": "#/definitions/key",
"title": "Button Plus",
"default": "Plus"
},
"button_r": {
"$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_r",
"$ref": "#/definitions/key",
"title": "Button R",
"default": "U"
},
"button_zr": {
"$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_zr",
"$ref": "#/definitions/key",
"title": "Button Zr",
"default": "O"
}
}
}
}
},
"controller_config": {
"type": "object",
"properties": {
"index": {
"$id": "#/definitions/controller_config/properties/index",
"type": "integer",
"title": "Controller Index",
"description": "Controller Device Index",
"default": 0,
"minimum": 0,
"examples": [
0,
1,
2
]
},
"controller_type": {
"$id": "#/properties/controller_config/properties/controller_type",
"type": "string",
"title": "Controller Type",
"default": "Handheld",
"enum": [
"Handheld",
"ProController",
"JoyconPair",
"JoyconLeft",
"JoyconRight"
],
"examples": [
"Handheld",
"ProController",
"JoyconPair",
"JoyconLeft",
"JoyconRight"
]
},
"player_index": {
"$id": "#/properties/controller_config/properties/player_index",
"type": "string",
"title": "Player Index",
"default": "Player1",
"enum": [
"Player1",
"Player2",
"Player3",
"Player4",
"Player5",
"Player6",
"Player7",
"Player8",
"Handheld"
]
},
"deadzone_left": {
"$id": "#/definitions/controller_config/properties/deadzone_left",
"type": "number",
"title": "Left Joystick Deadzone",
"description": "Controller Left Analog Stick Deadzone",
"default": 0.05,
"minimum": 0.00,
"maximum": 1.00,
"examples": [
0.05
]
},
"deadzone_right": {
"$id": "#/definitions/controller_config/properties/deadzone_right",
"type": "number",
"title": "Right Joystick Deadzone",
"description": "Controller Right Analog Stick Deadzone",
"default": 0.05,
"minimum": 0.00,
"maximum": 1.00,
"examples": [
0.05
]
},
"trigger_threshold": {
"$id": "#/definitions/controller_config/properties/trigger_threshold",
"type": "number",
"title": "Controller Trigger Threshold",
"description": "The value of how pressed down each trigger has to be in order to register a button press",
"default": 0.5,
"minimum": 0.0,
"maximum": 1.0,
"examples": [
0.5
]
},
"left_joycon": {
"$id": "#/definitions/controller_config/properties/left_joycon",
"type": "object",
"title": "Left JoyCon Controls",
"required": [
"stick",
"stick_button",
"dpad_up",
"dpad_down",
"dpad_left",
"dpad_right",
"button_minus",
"button_l",
"button_zl"
],
"properties": {
"stick": {
"$id": "#/definitions/controller_config/properties/left_joycon/properties/stick",
"$ref": "#/definitions/input",
"title": "Stick",
"default": "Axis0"
},
"stick_button": {
"$id": "#/definitions/controller_config/properties/left_joycon/properties/stick_button",
"$ref": "#/definitions/input",
"title": "Stick Button",
"default": "Button13"
},
"dpad_up": {
"$id": "#/definitions/controller_config/properties/left_joycon/properties/dpad_up",
"$ref": "#/definitions/input",
"title": "Dpad Up",
"default": "Hat0Up"
},
"dpad_down": {
"$id": "#/definitions/controller_config/properties/left_joycon/properties/dpad_down",
"$ref": "#/definitions/input",
"title": "Dpad Down",
"default": "Hat0Down"
},
"dpad_left": {
"$id": "#/definitions/controller_config/properties/left_joycon/properties/dpad_left",
"$ref": "#/definitions/input",
"title": "Dpad Left",
"default": "Hat0Left"
},
"dpad_right": {
"$id": "#/definitions/controller_config/properties/left_joycon/properties/dpad_right",
"$ref": "#/definitions/input",
"title": "Dpad Right",
"default": "Hat0Right"
},
"button_minus": {
"$id": "#/definitions/controller_config/properties/left_joycon/properties/button_minus",
"$ref": "#/definitions/input",
"title": "Button Minus",
"default": "Button10"
},
"button_l": {
"$id": "#/definitions/controller_config/properties/left_joycon/properties/button_l",
"$ref": "#/definitions/input",
"title": "Button L",
"default": "Button6"
},
"button_zl": {
"$id": "#/definitions/controller_config/properties/left_joycon/properties/button_zl",
"$ref": "#/definitions/input",
"title": "Button ZL",
"default": "Button8"
}
}
},
"right_joycon": {
"$id": "#/definitions/controller_config/properties/right_joycon",
"type": "object",
"title": "Right JoyCon Controls",
"required": [
"stick",
"stick_button",
"button_a",
"button_b",
"button_x",
"button_y",
"button_plus",
"button_r",
"button_zr"
],
"properties": {
"stick": {
"$id": "#/definitions/controller_config/properties/right_joycon/properties/stick",
"$ref": "#/definitions/input",
"title": "Stick",
"default": "Axis2"
},
"stick_button": {
"$id": "#/definitions/controller_config/properties/right_joycon/properties/stick_button",
"$ref": "#/definitions/input",
"title": "Stick Button",
"default": "Button14"
},
"button_a": {
"$id": "#/definitions/controller_config/properties/right_joycon/properties/button_a",
"$ref": "#/definitions/input",
"title": "Button A",
"default": "Button0"
},
"button_b": {
"$id": "#/definitions/controller_config/properties/right_joycon/properties/button_b",
"$ref": "#/definitions/input",
"title": "Button B",
"default": "Button1"
},
"button_x": {
"$id": "#/definitions/controller_config/properties/right_joycon/properties/button_x",
"$ref": "#/definitions/input",
"title": "Button X",
"default": "Button3"
},
"button_y": {
"$id": "#/definitions/controller_config/properties/right_joycon/properties/button_y",
"$ref": "#/definitions/input",
"title": "Button Y",
"default": "Button4"
},
"button_plus": {
"$id": "#/definitions/controller_config/properties/right_joycon/properties/button_plus",
"$ref": "#/definitions/input",
"title": "Button Plus",
"default": "Button11"
},
"button_r": {
"$id": "#/definitions/controller_config/properties/right_joycon/properties/button_r",
"$ref": "#/definitions/input",
"title": "Button R",
"default": "Button7"
},
"button_zr": {
"$id": "#/definitions/controller_config/properties/right_joycon/properties/button_zr",
"$ref": "#/definitions/input",
"title": "Button ZR",
"default": "Button9"
}
}
}
}
}
},
"properties": {
"res_scale": {
"$id": "#/properties/res_scale",
"type": "integer",
"title": "Resolution Scale",
"description": "An integer scale applied to applicable render targets. Values 1-4, or -1 to use a custom floating point scale instead.",
"default": -1,
"examples": [
-1,
1,
2,
3,
4
]
},
"res_scale_custom": {
"$id": "#/properties/res_scale_custom",
"type": "number",
"title": "Custom Resolution Scale",
"description": "A custom floating point scale applied to applicable render targets. Only active when Resolution Scale is -1.",
"default": 1.0,
},
"max_anisotropy": {
"$id": "#/properties/max_anisotropy",
"type": "integer",
"title": "Max Anisotropy. Values range from 0 - 16. Set to -1 to let the game decide.",
"description": "Max Anisotropy. Values range from 0 - 16. Set to -1 to let the game decide.",
"default": -1,
"examples": [
-1,
4,
8,
16
]
},
"graphics_shaders_dump_path": {
"$id": "#/properties/graphics_shaders_dump_path",
"type": "string",
"title": "Graphics Shaders Dump Path",
"description": "Dumps shaders in this local directory",
"default": "",
"examples": [
"C:\\ShaderDumps"
]
},
"logging_enable_debug": {
"$id": "#/properties/logging_enable_debug",
"type": "boolean",
"title": "Logging Enable Debug",
"description": "Enables printing debug log messages",
"default": false,
"examples": [
true,
false
]
},
"logging_enable_stub": {
"$id": "#/properties/logging_enable_stub",
"type": "boolean",
"title": "Logging Enable Stub",
"description": "Enables printing stub log messages",
"default": true,
"examples": [
true,
false
]
},
"logging_enable_info": {
"$id": "#/properties/logging_enable_info",
"type": "boolean",
"title": "Logging Enable Info",
"description": "Enables printing info log messages",
"default": true,
"examples": [
true,
false
]
},
"logging_enable_warn": {
"$id": "#/properties/logging_enable_warn",
"type": "boolean",
"title": "Logging Enable Warn",
"description": "Enables printing warning log messages",
"default": true,
"examples": [
true,
false
]
},
"logging_enable_error": {
"$id": "#/properties/logging_enable_error",
"type": "boolean",
"title": "Logging Enable Error",
"description": "Enables printing error log messages",
"default": true,
"examples": [
true,
false
]
},
"logging_enable_guest": {
"$id": "#/properties/logging_enable_guest",
"type": "boolean",
"title": "Logging Enable Guest",
"description": "Enables printing guest log messages",
"default": true,
"examples": [
true,
false
]
},
"logging_enable_fs_access": {
"$id": "#/properties/logging_enable_fs_access_log",
"type": "boolean",
"title": "Logging Enable FS Access Log",
"description": "Enables printing FS access log messages",
"default": true,
"examples": [
true,
false
]
},
"logging_filtered_classes": {
"$id": "#/properties/logging_filtered_classes",
"type": "array",
"title": "Logging Filtered Classes",
"description": "Controls which log messages are written to the log targets",
"items": {
"type": "string",
"enum": [
"Application",
"Audio",
"Cpu",
"Font",
"Emulation",
"Gpu",
"Hid",
"Kernel",
"KernelIpc",
"KernelScheduler",
"KernelSvc",
"Loader",
"Service",
"ServiceAcc",
"ServiceAm",
"ServiceApm",
"ServiceAudio",
"ServiceBsd",
"ServiceCaps",
"ServiceFriend",
"ServiceFs",
"ServiceHid",
"ServiceIrs",
"ServiceLdr",
"ServiceLm",
"ServiceMm",
"ServiceNfp",
"ServiceNifm",
"ServiceNs",
"ServiceNv",
"ServicePctl",
"ServicePl",
"ServicePrepo",
"ServicePsm",
"ServiceSet",
"ServiceSfdnsres",
"ServiceSm",
"ServiceSsl",
"ServiceSss",
"ServiceTime",
"ServiceVi"
]
}
},
"enable_file_log": {
"$id": "#/properties/enable_file_log",
"type": "boolean",
"title": "Enable File Log",
"description": "Enables logging to a file on disk",
"default": true,
"examples": [
true,
false
]
},
"system_language": {
"$id": "#/properties/system_language",
"type": "string",
"title": "System Language",
"description": "Change System Language",
"default": "AmericanEnglish",
"enum": [
"Japanese",
"AmericanEnglish",
"French",
"German",
"Italian",
"Spanish",
"Chinese",
"Korean",
"Dutch",
"Portuguese",
"Russian",
"Taiwanese",
"BritishEnglish",
"CanadianFrench",
"LatinAmericanSpanish",
"SimplifiedChinese",
"TraditionalChinese"
],
"examples": [
"AmericanEnglish"
]
},
"system_region": {
"$id": "#/properties/system_region",
"type": "string",
"title": "System Region",
"description": "Change System Region",
"default": "USA",
"enum": [
"Japan",
"USA",
"Europe",
"Australia",
"China",
"Korea",
"Taiwan"
],
"examples": [
"USA"
]
},
"system_time_offset": {
"$id": "#/properties/system_time_offset",
"type": "integer",
"title": "System Time Offset",
"description": "System time offset in seconds.",
"default": 0,
"examples": [
-3600,
0,
3600
]
},
"docked_mode": {
"$id": "#/properties/docked_mode",
"type": "boolean",
"title": "Enable Docked Mode",
"description": "Enables or disables Docked Mode",
"default": false,
"examples": [
true,
false
]
},
"enable_discord_integration": {
"$id": "#/properties/enable_discord_integration",
"type": "boolean",
"title": "Enable Discord Rich Presence",
"description": "Enable or disable Discord Rich Presence",
"default": true,
"examples": [
true,
false
]
},
"enable_vsync": {
"$id": "#/properties/enable_vsync",
"type": "boolean",
"title": "Enable Vertical Sync",
"description": "Enables or disables Vertical Sync",
"default": true,
"examples": [
true,
false
]
},
"enable_multicore_scheduling": {
"$id": "#/properties/enable_multicore_scheduling",
"type": "boolean",
"title": "Enable Multicore Scheduling",
"description": "Enables or disables multi-core scheduling of threads",
"default": true,
"examples": [
true,
false
]
},
"enable_ptc": {
"$id": "#/properties/enable_ptc",
"type": "boolean",
"title": "Enable Profiled Persistent Translation Cache",
"description": "Enables or disables profiled translation cache persistency",
"default": false,
"examples": [
true,
false
]
},
"enable_fs_integrity_checks": {
"$id": "#/properties/enable_fs_integrity_checks",
"type": "boolean",
"title": "Enable Filesystem Integrity Checks",
"description": "Enables integrity checks on Game content files. Only applies to ROMs loaded as XCI files",
"default": true,
"examples": [
true,
false
]
},
"fs_global_access_log_mode": {
"$id": "#/properties/fs_global_access_log_mode",
"type": "integer",
"title": "Enable FS access log",
"description": "Enables FS access log output. Possible modes are 0-3. Modes 2 and 3 output to the console",
"default": 0,
"minimum": 0,
"examples": [
0,
1,
2,
3
]
},
"audio_backend": {
"$id": "#/properties/audio_backend",
"type": "string",
"title": "The selected audio backend",
"description": "The selected audio backend",
"default": "OpenAl",
"enum": [
"Dummy",
"SoundIo",
"OpenAl"
]
},
"ignore_missing_services": {
"$id": "#/properties/ignore_missing_services",
"type": "boolean",
"title": "Ignore Missing Services",
"description": "Enable or disable ignoring missing services, this may cause instability",
"default": false,
"examples": [
true,
false
]
},
"gui_columns": {
"$id": "#/properties/gui_columns",
"type": "object",
"title": "Used to toggle columns in the GUI",
"description": "Used to toggle columns in the GUI",
"properties": {
"fav_column": {
"$id": "#/properties/gui_columns/properties/fav_column",
"type": "boolean",
"title": "",
"default": true
},
"icon_column": {
"$id": "#/properties/gui_columns/properties/icon_column",
"type": "boolean",
"title": "",
"default": true
},
"app_column": {
"$id": "#/properties/gui_columns/properties/app_column",
"type": "boolean",
"title": "",
"default": true
},
"dev_column": {
"$id": "#/properties/gui_columns/properties/dev_column",
"type": "boolean",
"title": "",
"default": true
},
"version_column": {
"$id": "#/properties/gui_columns/properties/version_column",
"type": "boolean",
"title": "",
"default": true
},
"time_played_column": {
"$id": "#/properties/gui_columns/properties/time_played_column",
"type": "boolean",
"title": "",
"default": true
},
"last_played_column": {
"$id": "#/properties/gui_columns/properties/last_played_column",
"type": "boolean",
"title": "",
"default": true
},
"file_ext_column": {
"$id": "#/properties/gui_columns/properties/file_ext_column",
"type": "boolean",
"title": "",
"default": true
},
"file_size_column": {
"$id": "#/properties/gui_columns/properties/file_size_column",
"type": "boolean",
"title": "",
"default": true
},
"path_column": {
"$id": "#/properties/gui_columns/properties/path_column",
"type": "boolean",
"title": "",
"default": true
}
}
},
"column_sort": {
"$id": "#/properties/column_sort",
"type": "object",
"title": "Used to configure column sort settings in the GUI",
"description": "Used to configure column sort settings in the GUI",
"properties": {
"sort_column_id": {
"$id": "#/properties/column_sort/properties/sort_column_id",
"type": "integer",
"title": "",
"default": 0
},
"sort_ascending": {
"$id": "#/properties/column_sort/properties/sort_ascending",
"type": "boolean",
"title": "",
"default": false
}
}
},
"game_dirs": {
"$id": "#/properties/game_dirs",
"type": "array",
"title": "List of Game Directories",
"description": "A list of directories containing games to be used to load games into the games list",
"default": []
},
"enable_custom_theme": {
"$id": "#/properties/enable_custom_theme",
"type": "boolean",
"title": "Enable custom themes in the GUI",
"description": "Enable or disable custom themes in the GUI",
"default": false,
"examples": [
true,
false
]
},
"custom_theme_path": {
"$id": "#/properties/custom_theme_path",
"type": "string",
"title": "Path to custom GUI theme",
"description": "Path to custom GUI theme",
"default": ""
},
"enable_keyboard": {
"$id": "#/properties/enable_keyboard",
"type": "boolean",
"title": "(HID) Keyboard Enable",
"description": "Enable or disable direct keyboard access (HID) support (Provides games access to your keyboard as a text entry device)",
"default": true,
"examples": [
true,
false
]
},
"hotkeys": {
"$id": "#/properties/hotkeys",
"type": "object",
"title": "Hotkey Controls",
"required": [
"toggle_vsync"
],
"properties": {
"toggle_vsync": {
"$id": "#/properties/hotkeys/properties/toggle_vsync",
"$ref": "#/definitions/key",
"title": "Toggle VSync",
"default": "Tab"
}
}
},
"keyboard_config": {
"$id": "#/properties/keyboard_config",
"type": "array",
"title": "Keyboard Config",
"items": {
"$ref": "#/definitions/keyboard_config"
},
"default": [
{
"index": 0,
"controller_type": "JoyconPair",
"player_index": "Player1",
"left_joycon": {
"stick_up": "W",
"stick_down": "S",
"stick_left": "A",
"stick_right": "D",
"stick_button": "F",
"dpad_up": "Up",
"dpad_down": "Down",
"dpad_left": "Left",
"dpad_right": "Right",
"button_minus": "Minus",
"button_l": "E",
"button_zl": "Q",
"button_sl": "Unbound",
"button_sr": "Unbound"
},
"right_joycon": {
"stick_up": "I",
"stick_down": "K",
"stick_left": "J",
"stick_right": "L",
"stick_button": "H",
"button_a": "Z",
"button_b": "X",
"button_x": "C",
"button_y": "V",
"button_plus": "Plus",
"button_r": "U",
"button_zr": "O",
"button_sl": "Unbound",
"button_sr": "Unbound"
}
}
]
},
"controller_config": {
"$id": "#/properties/controller_config",
"type": "array",
"title": "Controller Config",
"items": {
"$ref": "#/definitions/controller_config"
},
"default": []
}
}
}