Ryujinx/CONFIG.md
jduncanator d306115750 Logger and Configuration Refactoring (#573)
* 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
2019-02-11 09:00:32 -03:00

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 Bindings
      • stick_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 Bindings
      • stick_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 press
    • left_joycon (object) : Left JoyCon Controller Bindings
      • stick (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 Bindings
      • stick (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.