* Logging: Refactor log targets into Ryujinx.Common * Logger: Implement JSON Log Target * Logger: Optimize Console/File logging targets Implement a simple ObjectPool to pool up StringBuilders to avoid causing excessive GCing of gen1/2 items when large amounts of log entries are being generated. We can also pre-determine the async overflow action at initialization time, allowing for an easy optimization in the message enqueue function, avoiding a number of comparisons. * Logger: Implement LogFormatters * Config: Refactor configuration file and loading * Config: Rename to .jsonc to avoid highlighting issues in VSC and GitHub * Resolve style nits * Config: Resolve incorrect default key binding * Config: Also update key binding default in schema * Tidy up namespace imports * Config: Update CONFIG.md to reflect new Config file
4.9 KiB
Config File
Config.jsonc should be present in executable folder. The available settings follow:
-
graphics_shaders_dump_path(string)Dump shaders in local directory (e.g.
C:\ShaderDumps) -
logging_enable_debug(bool)Enable the Debug Logging.
-
logging_enable_stub(bool)Enable the Trace Logging.
-
logging_enable_info(bool)Enable the Informations Logging.
-
logging_enable_warn(bool)Enable the Warning Logging.
-
logging_enable_error(bool)Enable the Error Logging.
-
enable_file_log(bool)Enable writing the logging inside a Ryujinx.log file.
-
system_language(string)Change System Language, System Language list
-
docked_mode(bool)Enable or Disable Docked Mode
-
enable_vsync(bool)Enable or Disable Game Vsync
-
enable_multicore_scheduling(bool)Enable or Disable Multi-core scheduling of threads
-
enable_fs_integrity_checks(bool)Enable integrity checks on Switch content files
-
controller_type(string)The primary controller's type. Supported Values:
Handheld,ProController,NpadPair,NpadLeft,NpadRight -
keyboard_controls(object) :left_joycon(object) : Left JoyCon Keyboard Bindingsstick_up(string)stick_down(string)stick_left(string)stick_right(string)stick_button(string)dpad_up(string)dpad_down(string)dpad_left(string)dpad_right(string)button_minus(string)button_l(string)button_zl(string)
right_joycon(object) : Right JoyCon Keyboard Bindingsstick_up(string)stick_down(string)stick_left(string)stick_right(string)stick_button(string)button_a(string)button_b(string)button_x(string)button_y(string)button_plus(string)button_r(string)button_zr(string)
-
gamepad_controls(object) :enabled(bool) Whether or not to enable Controller Support.index(int) The index of the Controller Device.deadzone(number) The deadzone of both analog sticks on the Controller.trigger_threshold(number) The value of how pressed down each trigger has to be in order to register a button pressleft_joycon(object) : Left JoyCon Controller Bindingsstick(string)stick_button(string)dpad_up(string)dpad_down(string)dpad_left(string)dpad_right(string)button_minus(string)button_l(string)button_zl(string)
right_joycon(object) : Right JoyCon Controller Bindingsstick(string)stick_button(string)button_a(string)button_b(string)button_x(string)button_y(string)button_plus(string)button_r(string)button_zr(string)
Default Mapping
Controller
- Left Joycon:
- Analog Stick = Left Analog Stick
- DPad Up = DPad Up
- DPad Down = DPad Down
- DPad Left = DPad Left
- DPad Right = DPad Right
- Minus = Select / Back / Share
- L = Left Shoulder Button
- ZL = Left Trigger
- Right Joycon:
- Analog Stick = Right Analog Stick
- A = B / Circle
- B = A / Cross
- X = Y / Triangle
- Y = X / Square
- Plus = Start / Options
- R = Right Shoulder Button
- ZR = Right Trigger
Keyboard
- 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
- Minus = -
- L = E
- ZL = Q
- Right Joycon:
- Stick Up = I
- Stick Down = K
- Stick Left = J
- Stick Right = L
- Stick Button = H
- A = Z
- B = X
- X = C
- Y = V
- Plus = +
- R = U
- ZR = O
Valid Button Mappings
-
A = The A / Cross Button
-
B = The B / Circle Button
-
X = The X / Square Button
-
Y = The Y / Triangle Button
-
LStick = The Left Analog Stick when Pressed Down
-
RStick = The Right Analog Stick when Pressed Down
-
Start = The Start / Options Button
-
Back = The Select / Back / Share Button
-
RShoulder = The Right Shoulder Button
-
LShoulder = The Left Shoulder Button
-
RTrigger = The Right Trigger
-
LTrigger = The Left Trigger
-
DPadUp = Up on the DPad
-
DPadDown = Down on the DPad
-
DPadLeft = Left on the DPad
-
DpadRight = Right on the DPad
-
Valid Joystick Mappings
- LJoystick = The Left Analog Stick
- RJoystick = The Right Analog Stick
On more obscure / weird controllers this can vary, so if this list doesn't work, trial and error will.