_schema.json 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema#",
  3. "$id": "https://ryujinx.org/_schema/config.json",
  4. "type": "object",
  5. "title": "Ryujinx Configuration Schema",
  6. "required": [
  7. "graphics_shaders_dump_path",
  8. "logging_enable_debug",
  9. "logging_enable_stub",
  10. "logging_enable_info",
  11. "logging_enable_warn",
  12. "logging_enable_error",
  13. "logging_enable_guest",
  14. "logging_enable_fs_access_log",
  15. "logging_filtered_classes",
  16. "enable_file_log",
  17. "system_language",
  18. "system_region",
  19. "docked_mode",
  20. "enable_vsync",
  21. "enable_multicore_scheduling",
  22. "enable_ptc",
  23. "enable_fs_integrity_checks",
  24. "fs_global_access_log_mode",
  25. "enable_keyboard",
  26. "keyboard_config",
  27. "controller_config"
  28. ],
  29. "definitions": {
  30. "key": {
  31. "type": "string",
  32. "enum": [
  33. "ShiftLeft",
  34. "LShift",
  35. "ShiftRight",
  36. "RShift",
  37. "ControlLeft",
  38. "LControl",
  39. "ControlRight",
  40. "RControl",
  41. "AltLeft",
  42. "LAlt",
  43. "AltRight",
  44. "RAlt",
  45. "WinLeft",
  46. "LWin",
  47. "WinRight",
  48. "RWin",
  49. "Menu",
  50. "F1",
  51. "F2",
  52. "F3",
  53. "F4",
  54. "F5",
  55. "F6",
  56. "F7",
  57. "F8",
  58. "F9",
  59. "F10",
  60. "F11",
  61. "F12",
  62. "F13",
  63. "F14",
  64. "F15",
  65. "F16",
  66. "F17",
  67. "F18",
  68. "F19",
  69. "F20",
  70. "F21",
  71. "F22",
  72. "F23",
  73. "F24",
  74. "F25",
  75. "F26",
  76. "F27",
  77. "F28",
  78. "F29",
  79. "F30",
  80. "F31",
  81. "F32",
  82. "F33",
  83. "F34",
  84. "F35",
  85. "Up",
  86. "Down",
  87. "Left",
  88. "Right",
  89. "Enter",
  90. "Escape",
  91. "Space",
  92. "Tab",
  93. "BackSpace",
  94. "Back",
  95. "Insert",
  96. "Delete",
  97. "PageUp",
  98. "PageDown",
  99. "Home",
  100. "End",
  101. "CapsLock",
  102. "ScrollLock",
  103. "PrintScreen",
  104. "Pause",
  105. "NumLock",
  106. "Clear",
  107. "Sleep",
  108. "Keypad0",
  109. "Keypad1",
  110. "Keypad2",
  111. "Keypad3",
  112. "Keypad4",
  113. "Keypad5",
  114. "Keypad6",
  115. "Keypad7",
  116. "Keypad8",
  117. "Keypad9",
  118. "KeypadDivide",
  119. "KeypadMultiply",
  120. "KeypadSubtract",
  121. "KeypadMinus",
  122. "KeypadAdd",
  123. "KeypadPlus",
  124. "KeypadDecimal",
  125. "KeypadPeriod",
  126. "KeypadEnter",
  127. "A",
  128. "B",
  129. "C",
  130. "D",
  131. "E",
  132. "F",
  133. "G",
  134. "H",
  135. "I",
  136. "J",
  137. "K",
  138. "L",
  139. "M",
  140. "N",
  141. "O",
  142. "P",
  143. "Q",
  144. "R",
  145. "S",
  146. "T",
  147. "U",
  148. "V",
  149. "W",
  150. "X",
  151. "Y",
  152. "Z",
  153. "Number0",
  154. "Number1",
  155. "Number2",
  156. "Number3",
  157. "Number4",
  158. "Number5",
  159. "Number6",
  160. "Number7",
  161. "Number8",
  162. "Number9",
  163. "Tilde",
  164. "Grave",
  165. "Minus",
  166. "Plus",
  167. "BracketLeft",
  168. "LBracket",
  169. "BracketRight",
  170. "RBracket",
  171. "Semicolon",
  172. "Quote",
  173. "Comma",
  174. "Period",
  175. "Slash",
  176. "BackSlash",
  177. "NonUSBackSlash",
  178. "LastKey"
  179. ]
  180. },
  181. "input": {
  182. "type": "string",
  183. "enum": [
  184. "Button0",
  185. "Button1",
  186. "Button2",
  187. "Button3",
  188. "Button4",
  189. "Button5",
  190. "Button6",
  191. "Button7",
  192. "Button8",
  193. "Button9",
  194. "Button10",
  195. "Button11",
  196. "Button12",
  197. "Button13",
  198. "Button14",
  199. "Button15",
  200. "Button16",
  201. "Button17",
  202. "Button18",
  203. "Button19",
  204. "Button20",
  205. "Axis0",
  206. "Axis1",
  207. "Axis2",
  208. "Axis3",
  209. "Axis4",
  210. "Axis5",
  211. "Hat0Up",
  212. "Hat0Down",
  213. "Hat0Left",
  214. "Hat0Right",
  215. "Hat1Up",
  216. "Hat1Down",
  217. "Hat1Left",
  218. "Hat1Right",
  219. "Hat2Up",
  220. "Hat2Down",
  221. "Hat2Left",
  222. "Hat2Right"
  223. ]
  224. },
  225. "keyboard_config": {
  226. "type": "object",
  227. "properties": {
  228. "index": {
  229. "$id": "#/definitions/keyboard_config/properties/index",
  230. "type": "integer",
  231. "title": "Keyboard Index",
  232. "description": "Keyboard Device Index",
  233. "default": 0,
  234. "minimum": 0,
  235. "examples": [
  236. 0,
  237. 1,
  238. 2
  239. ]
  240. },
  241. "controller_type": {
  242. "$id": "#/properties/keyboard_config/properties/controller_type",
  243. "type": "string",
  244. "title": "Controller Type",
  245. "default": "Handheld",
  246. "enum": [
  247. "Handheld",
  248. "ProController",
  249. "JoyconPair",
  250. "JoyconLeft",
  251. "JoyconRight"
  252. ],
  253. "examples": [
  254. "Handheld",
  255. "ProController",
  256. "JoyconPair",
  257. "JoyconLeft",
  258. "JoyconRight"
  259. ]
  260. },
  261. "player_index": {
  262. "$id": "#/properties/keyboard_config/properties/player_index",
  263. "type": "string",
  264. "title": "Player Index",
  265. "default": "Player1",
  266. "enum": [
  267. "Player1",
  268. "Player2",
  269. "Player3",
  270. "Player4",
  271. "Player5",
  272. "Player6",
  273. "Player7",
  274. "Player8",
  275. "Handheld"
  276. ]
  277. },
  278. "left_joycon": {
  279. "$id": "#/definitions/keyboard_config/properties/left_joycon",
  280. "type": "object",
  281. "title": "Left JoyCon Controls",
  282. "required": [
  283. "stick_up",
  284. "stick_down",
  285. "stick_left",
  286. "stick_right",
  287. "stick_button",
  288. "dpad_up",
  289. "dpad_down",
  290. "dpad_left",
  291. "dpad_right",
  292. "button_minus",
  293. "button_l",
  294. "button_zl"
  295. ],
  296. "properties": {
  297. "stick_up": {
  298. "$id": "#/definitions/keyboard_config/properties/left_joycon/properties/stick_up",
  299. "$ref": "#/definitions/key",
  300. "title": "Stick Up",
  301. "default": "w"
  302. },
  303. "stick_down": {
  304. "$id": "#/definitions/keyboard_config/properties/left_joycon/properties/stick_down",
  305. "$ref": "#/definitions/key",
  306. "title": "Stick Down",
  307. "default": "S"
  308. },
  309. "stick_left": {
  310. "$id": "#/definitions/keyboard_config/properties/left_joycon/properties/stick_left",
  311. "$ref": "#/definitions/key",
  312. "title": "Stick Left",
  313. "default": "A"
  314. },
  315. "stick_right": {
  316. "$id": "#/definitions/keyboard_config/properties/left_joycon/properties/stick_right",
  317. "$ref": "#/definitions/key",
  318. "title": "Stick Right",
  319. "default": "D"
  320. },
  321. "stick_button": {
  322. "$id": "#/definitions/keyboard_config/properties/left_joycon/properties/stick_button",
  323. "$ref": "#/definitions/key",
  324. "title": "Stick Button",
  325. "default": "F"
  326. },
  327. "dpad_up": {
  328. "$id": "#/definitions/keyboard_config/properties/left_joycon/properties/dpad_up",
  329. "$ref": "#/definitions/key",
  330. "title": "Dpad Up",
  331. "default": "Up"
  332. },
  333. "dpad_down": {
  334. "$id": "#/definitions/keyboard_config/properties/left_joycon/properties/dpad_down",
  335. "$ref": "#/definitions/key",
  336. "title": "Dpad Down",
  337. "default": "Down"
  338. },
  339. "dpad_left": {
  340. "$id": "#/definitions/keyboard_config/properties/left_joycon/properties/dpad_left",
  341. "$ref": "#/definitions/key",
  342. "title": "Dpad Left",
  343. "default": "Left"
  344. },
  345. "dpad_right": {
  346. "$id": "#/definitions/keyboard_config/properties/left_joycon/properties/dpad_right",
  347. "$ref": "#/definitions/key",
  348. "title": "Dpad Right",
  349. "default": "Right"
  350. },
  351. "button_minus": {
  352. "$id": "#/definitions/keyboard_config/properties/left_joycon/properties/button_minus",
  353. "$ref": "#/definitions/key",
  354. "title": "Button Minus",
  355. "default": "Minus"
  356. },
  357. "button_l": {
  358. "$id": "#/definitions/keyboard_config/properties/left_joycon/properties/button_l",
  359. "$ref": "#/definitions/key",
  360. "title": "Button L",
  361. "default": "E"
  362. },
  363. "button_zl": {
  364. "$id": "#/definitions/keyboard_config/properties/left_joycon/properties/button_zl",
  365. "$ref": "#/definitions/key",
  366. "title": "Button ZL",
  367. "default": "Q"
  368. }
  369. }
  370. },
  371. "right_joycon": {
  372. "$id": "#/definitions/keyboard_config/properties/right_joycon",
  373. "type": "object",
  374. "title": "Right JoyCon Controls",
  375. "required": [
  376. "stick_up",
  377. "stick_down",
  378. "stick_left",
  379. "stick_right",
  380. "stick_button",
  381. "button_a",
  382. "button_b",
  383. "button_x",
  384. "button_y",
  385. "button_plus",
  386. "button_r",
  387. "button_zr"
  388. ],
  389. "properties": {
  390. "stick_up": {
  391. "$id": "#/definitions/keyboard_config/properties/right_joycon/properties/stick_up",
  392. "$ref": "#/definitions/key",
  393. "title": "Stick Up",
  394. "default": "I"
  395. },
  396. "stick_down": {
  397. "$id": "#/definitions/keyboard_config/properties/right_joycon/properties/stick_down",
  398. "$ref": "#/definitions/key",
  399. "title": "Stick Down",
  400. "default": "K"
  401. },
  402. "stick_left": {
  403. "$id": "#/definitions/keyboard_config/properties/right_joycon/properties/stick_left",
  404. "$ref": "#/definitions/key",
  405. "title": "Stick Left",
  406. "default": "J"
  407. },
  408. "stick_right": {
  409. "$id": "#/definitions/keyboard_config/properties/right_joycon/properties/stick_right",
  410. "$ref": "#/definitions/key",
  411. "title": "Stick Right",
  412. "default": "L"
  413. },
  414. "stick_button": {
  415. "$id": "#/definitions/keyboard_config/properties/right_joycon/properties/stick_button",
  416. "$ref": "#/definitions/key",
  417. "title": "Stick Button",
  418. "default": "H"
  419. },
  420. "button_a": {
  421. "$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_a",
  422. "$ref": "#/definitions/key",
  423. "title": "Button A",
  424. "default": "Z"
  425. },
  426. "button_b": {
  427. "$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_b",
  428. "$ref": "#/definitions/key",
  429. "title": "Button B",
  430. "default": "X"
  431. },
  432. "button_x": {
  433. "$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_x",
  434. "$ref": "#/definitions/key",
  435. "title": "Button X",
  436. "default": "C"
  437. },
  438. "button_y": {
  439. "$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_y",
  440. "$ref": "#/definitions/key",
  441. "title": "Button Y",
  442. "default": "V"
  443. },
  444. "button_plus": {
  445. "$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_plus",
  446. "$ref": "#/definitions/key",
  447. "title": "Button Plus",
  448. "default": "Plus"
  449. },
  450. "button_r": {
  451. "$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_r",
  452. "$ref": "#/definitions/key",
  453. "title": "Button R",
  454. "default": "U"
  455. },
  456. "button_zr": {
  457. "$id": "#/definitions/keyboard_config/properties/right_joycon/properties/button_zr",
  458. "$ref": "#/definitions/key",
  459. "title": "Button Zr",
  460. "default": "O"
  461. }
  462. }
  463. },
  464. "enable_motion": {
  465. "$id": "#/definitions/keyboard_config/properties/enable_motion",
  466. "type": "boolean",
  467. "title": "Enable Motion Controls",
  468. "description": "Enables Motion Controls",
  469. "default": false,
  470. "examples": [
  471. true,
  472. false
  473. ]
  474. },
  475. "sensitivity": {
  476. "$id": "#/definitions/keyboard_config/properties/sensitivity",
  477. "type": "integer",
  478. "title": "Sensitivity",
  479. "description": "Gyro sensitivity",
  480. "default": 100,
  481. "minimum": 0,
  482. "maximum": 1000,
  483. "examples": [
  484. 90,
  485. 100,
  486. 150
  487. ]
  488. },
  489. "gyro_deadzone": {
  490. "$id": "#/definitions/keyboard_config/properties/gyro_deadzone",
  491. "type": "number",
  492. "title": "Gyro Deadzone",
  493. "description": "Controller Left Analog Stick Deadzone",
  494. "default": 1,
  495. "minimum": 0.00,
  496. "maximum": 100.00,
  497. "examples": [
  498. 0.01
  499. ]
  500. },
  501. "slot": {
  502. "$id": "#/definitions/keyboard_config/properties/slot",
  503. "type": "integer",
  504. "title": "Slot",
  505. "description": "DSU motion client slot for main controller",
  506. "default": 0,
  507. "minimum": 0,
  508. "maximum": 4,
  509. "examples": [
  510. 0,
  511. 1,
  512. 2,
  513. 3
  514. ]
  515. },
  516. "alt_slot": {
  517. "$id": "#/definitions/keyboard_config/properties/alt_slot",
  518. "type": "integer",
  519. "title": "Alternate Slot",
  520. "description": "DSU motion client slot for secondary controller, eg Right Joycon in Paired mode",
  521. "default": 0,
  522. "minimum": 0,
  523. "maximum": 4,
  524. "examples": [
  525. 0,
  526. 1,
  527. 2,
  528. 3
  529. ]
  530. },
  531. "mirror_input": {
  532. "$id": "#/definitions/keyboard_config/properties/mirror_input",
  533. "type": "boolean",
  534. "title": "Mirror Motion Input",
  535. "description": "Mirrors main motion input in Paired mode",
  536. "default": true,
  537. "examples": [
  538. true,
  539. false
  540. ]
  541. },
  542. "dsu_server_port": {
  543. "$id": "#/definitions/keyboard_config/properties/dsu_server_port",
  544. "type": "integer",
  545. "title": "DSU Server Port",
  546. "description": "DSU motion server port",
  547. "default": 26760,
  548. "minimum": 0,
  549. "maximum": 36654,
  550. "examples": [
  551. 0,
  552. 1,
  553. 2,
  554. 3
  555. ]
  556. },
  557. "dsu_server_host": {
  558. "$id": "#/definitions/keyboard_config/properties/dsu_server_host",
  559. "type": "string",
  560. "title": "DSU Server Host Address",
  561. "description": "DSU motion server host address",
  562. "default": "127.0.0.1",
  563. "examples": [
  564. "127.0.0.1",
  565. "example.host.com"
  566. ]
  567. }
  568. }
  569. },
  570. "controller_config": {
  571. "type": "object",
  572. "properties": {
  573. "index": {
  574. "$id": "#/definitions/controller_config/properties/index",
  575. "type": "integer",
  576. "title": "Controller Index",
  577. "description": "Controller Device Index",
  578. "default": 0,
  579. "minimum": 0,
  580. "examples": [
  581. 0,
  582. 1,
  583. 2
  584. ]
  585. },
  586. "controller_type": {
  587. "$id": "#/properties/controller_config/properties/controller_type",
  588. "type": "string",
  589. "title": "Controller Type",
  590. "default": "Handheld",
  591. "enum": [
  592. "Handheld",
  593. "ProController",
  594. "JoyconPair",
  595. "JoyconLeft",
  596. "JoyconRight"
  597. ],
  598. "examples": [
  599. "Handheld",
  600. "ProController",
  601. "JoyconPair",
  602. "JoyconLeft",
  603. "JoyconRight"
  604. ]
  605. },
  606. "player_index": {
  607. "$id": "#/properties/controller_config/properties/player_index",
  608. "type": "string",
  609. "title": "Player Index",
  610. "default": "Player1",
  611. "enum": [
  612. "Player1",
  613. "Player2",
  614. "Player3",
  615. "Player4",
  616. "Player5",
  617. "Player6",
  618. "Player7",
  619. "Player8",
  620. "Handheld"
  621. ]
  622. },
  623. "deadzone_left": {
  624. "$id": "#/definitions/controller_config/properties/deadzone_left",
  625. "type": "number",
  626. "title": "Left Joystick Deadzone",
  627. "description": "Controller Left Analog Stick Deadzone",
  628. "default": 0.05,
  629. "minimum": 0.00,
  630. "maximum": 1.00,
  631. "examples": [
  632. 0.05
  633. ]
  634. },
  635. "deadzone_right": {
  636. "$id": "#/definitions/controller_config/properties/deadzone_right",
  637. "type": "number",
  638. "title": "Right Joystick Deadzone",
  639. "description": "Controller Right Analog Stick Deadzone",
  640. "default": 0.05,
  641. "minimum": 0.00,
  642. "maximum": 1.00,
  643. "examples": [
  644. 0.05
  645. ]
  646. },
  647. "trigger_threshold": {
  648. "$id": "#/definitions/controller_config/properties/trigger_threshold",
  649. "type": "number",
  650. "title": "Controller Trigger Threshold",
  651. "description": "The value of how pressed down each trigger has to be in order to register a button press",
  652. "default": 0.5,
  653. "minimum": 0.0,
  654. "maximum": 1.0,
  655. "examples": [
  656. 0.5
  657. ]
  658. },
  659. "left_joycon": {
  660. "$id": "#/definitions/controller_config/properties/left_joycon",
  661. "type": "object",
  662. "title": "Left JoyCon Controls",
  663. "required": [
  664. "stick",
  665. "stick_button",
  666. "dpad_up",
  667. "dpad_down",
  668. "dpad_left",
  669. "dpad_right",
  670. "button_minus",
  671. "button_l",
  672. "button_zl"
  673. ],
  674. "properties": {
  675. "stick": {
  676. "$id": "#/definitions/controller_config/properties/left_joycon/properties/stick",
  677. "$ref": "#/definitions/input",
  678. "title": "Stick",
  679. "default": "Axis0"
  680. },
  681. "stick_button": {
  682. "$id": "#/definitions/controller_config/properties/left_joycon/properties/stick_button",
  683. "$ref": "#/definitions/input",
  684. "title": "Stick Button",
  685. "default": "Button13"
  686. },
  687. "dpad_up": {
  688. "$id": "#/definitions/controller_config/properties/left_joycon/properties/dpad_up",
  689. "$ref": "#/definitions/input",
  690. "title": "Dpad Up",
  691. "default": "Hat0Up"
  692. },
  693. "dpad_down": {
  694. "$id": "#/definitions/controller_config/properties/left_joycon/properties/dpad_down",
  695. "$ref": "#/definitions/input",
  696. "title": "Dpad Down",
  697. "default": "Hat0Down"
  698. },
  699. "dpad_left": {
  700. "$id": "#/definitions/controller_config/properties/left_joycon/properties/dpad_left",
  701. "$ref": "#/definitions/input",
  702. "title": "Dpad Left",
  703. "default": "Hat0Left"
  704. },
  705. "dpad_right": {
  706. "$id": "#/definitions/controller_config/properties/left_joycon/properties/dpad_right",
  707. "$ref": "#/definitions/input",
  708. "title": "Dpad Right",
  709. "default": "Hat0Right"
  710. },
  711. "button_minus": {
  712. "$id": "#/definitions/controller_config/properties/left_joycon/properties/button_minus",
  713. "$ref": "#/definitions/input",
  714. "title": "Button Minus",
  715. "default": "Button10"
  716. },
  717. "button_l": {
  718. "$id": "#/definitions/controller_config/properties/left_joycon/properties/button_l",
  719. "$ref": "#/definitions/input",
  720. "title": "Button L",
  721. "default": "Button6"
  722. },
  723. "button_zl": {
  724. "$id": "#/definitions/controller_config/properties/left_joycon/properties/button_zl",
  725. "$ref": "#/definitions/input",
  726. "title": "Button ZL",
  727. "default": "Button8"
  728. }
  729. }
  730. },
  731. "right_joycon": {
  732. "$id": "#/definitions/controller_config/properties/right_joycon",
  733. "type": "object",
  734. "title": "Right JoyCon Controls",
  735. "required": [
  736. "stick",
  737. "stick_button",
  738. "button_a",
  739. "button_b",
  740. "button_x",
  741. "button_y",
  742. "button_plus",
  743. "button_r",
  744. "button_zr"
  745. ],
  746. "properties": {
  747. "stick": {
  748. "$id": "#/definitions/controller_config/properties/right_joycon/properties/stick",
  749. "$ref": "#/definitions/input",
  750. "title": "Stick",
  751. "default": "Axis2"
  752. },
  753. "stick_button": {
  754. "$id": "#/definitions/controller_config/properties/right_joycon/properties/stick_button",
  755. "$ref": "#/definitions/input",
  756. "title": "Stick Button",
  757. "default": "Button14"
  758. },
  759. "button_a": {
  760. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_a",
  761. "$ref": "#/definitions/input",
  762. "title": "Button A",
  763. "default": "Button0"
  764. },
  765. "button_b": {
  766. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_b",
  767. "$ref": "#/definitions/input",
  768. "title": "Button B",
  769. "default": "Button1"
  770. },
  771. "button_x": {
  772. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_x",
  773. "$ref": "#/definitions/input",
  774. "title": "Button X",
  775. "default": "Button3"
  776. },
  777. "button_y": {
  778. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_y",
  779. "$ref": "#/definitions/input",
  780. "title": "Button Y",
  781. "default": "Button4"
  782. },
  783. "button_plus": {
  784. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_plus",
  785. "$ref": "#/definitions/input",
  786. "title": "Button Plus",
  787. "default": "Button11"
  788. },
  789. "button_r": {
  790. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_r",
  791. "$ref": "#/definitions/input",
  792. "title": "Button R",
  793. "default": "Button7"
  794. },
  795. "button_zr": {
  796. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_zr",
  797. "$ref": "#/definitions/input",
  798. "title": "Button ZR",
  799. "default": "Button9"
  800. }
  801. }
  802. },
  803. "enable_motion": {
  804. "$id": "#/definitions/controller_config/properties/enable_motion",
  805. "type": "boolean",
  806. "title": "Enable Motion Controls",
  807. "description": "Enables Motion Controls",
  808. "default": false,
  809. "examples": [
  810. true,
  811. false
  812. ]
  813. },
  814. "sensitivity": {
  815. "$id": "#/definitions/controller_config/properties/sensitivity",
  816. "type": "integer",
  817. "title": "Sensitivity",
  818. "description": "Gyro sensitivity",
  819. "default": 100,
  820. "minimum": 0,
  821. "maximum": 1000,
  822. "examples": [
  823. 90,
  824. 100,
  825. 150
  826. ]
  827. },
  828. "gyro_deadzone": {
  829. "$id": "#/definitions/controller_config/properties/gyro_deadzone",
  830. "type": "number",
  831. "title": "Gyro Deadzone",
  832. "description": "Controller Left Analog Stick Deadzone",
  833. "default": 1,
  834. "minimum": 0.00,
  835. "maximum": 100.00,
  836. "examples": [
  837. 0.01
  838. ]
  839. },
  840. "slot": {
  841. "$id": "#/definitions/controller_config/properties/slot",
  842. "type": "integer",
  843. "title": "Slot",
  844. "description": "DSU motion client slot for main controller",
  845. "default": 0,
  846. "minimum": 0,
  847. "maximum": 4,
  848. "examples": [
  849. 0,
  850. 1,
  851. 2,
  852. 3
  853. ]
  854. },
  855. "alt_slot": {
  856. "$id": "#/definitions/controller_config/properties/alt_slot",
  857. "type": "integer",
  858. "title": "Alternate Slot",
  859. "description": "DSU motion client slot for secondary controller, eg Right Joycon in Paired mode",
  860. "default": 0,
  861. "minimum": 0,
  862. "maximum": 4,
  863. "examples": [
  864. 0,
  865. 1,
  866. 2,
  867. 3
  868. ]
  869. },
  870. "mirror_input": {
  871. "$id": "#/definitions/controller_config/properties/mirror_input",
  872. "type": "boolean",
  873. "title": "Mirror Motion Input",
  874. "description": "Mirrors main motion input in Paired mode",
  875. "default": true,
  876. "examples": [
  877. true,
  878. false
  879. ]
  880. },
  881. "dsu_server_port": {
  882. "$id": "#/definitions/controller_config/properties/dsu_server_port",
  883. "type": "integer",
  884. "title": "DSU Server Port",
  885. "description": "DSU motion server port",
  886. "default": 26760,
  887. "minimum": 0,
  888. "maximum": 36654,
  889. "examples": [
  890. 0,
  891. 1,
  892. 2,
  893. 3
  894. ]
  895. },
  896. "dsu_server_host": {
  897. "$id": "#/definitions/controller_config/properties/dsu_server_host",
  898. "type": "string",
  899. "title": "DSU Server Host Address",
  900. "description": "DSU motion server host address",
  901. "default": "127.0.0.1",
  902. "examples": [
  903. "127.0.0.1",
  904. "example.host.com"
  905. ]
  906. }
  907. }
  908. }
  909. },
  910. "properties": {
  911. "res_scale": {
  912. "$id": "#/properties/res_scale",
  913. "type": "integer",
  914. "title": "Resolution Scale",
  915. "description": "An integer scale applied to applicable render targets. Values 1-4, or -1 to use a custom floating point scale instead.",
  916. "default": -1,
  917. "examples": [
  918. -1,
  919. 1,
  920. 2,
  921. 3,
  922. 4
  923. ]
  924. },
  925. "res_scale_custom": {
  926. "$id": "#/properties/res_scale_custom",
  927. "type": "number",
  928. "title": "Custom Resolution Scale",
  929. "description": "A custom floating point scale applied to applicable render targets. Only active when Resolution Scale is -1.",
  930. "default": 1.0
  931. },
  932. "max_anisotropy": {
  933. "$id": "#/properties/max_anisotropy",
  934. "type": "integer",
  935. "title": "Max Anisotropy. Values range from 0 - 16. Set to -1 to let the game decide.",
  936. "description": "Max Anisotropy. Values range from 0 - 16. Set to -1 to let the game decide.",
  937. "default": -1,
  938. "examples": [
  939. -1,
  940. 4,
  941. 8,
  942. 16
  943. ]
  944. },
  945. "graphics_shaders_dump_path": {
  946. "$id": "#/properties/graphics_shaders_dump_path",
  947. "type": "string",
  948. "title": "Graphics Shaders Dump Path",
  949. "description": "Dumps shaders in this local directory",
  950. "default": "",
  951. "examples": [
  952. "C:\\ShaderDumps"
  953. ]
  954. },
  955. "logging_enable_debug": {
  956. "$id": "#/properties/logging_enable_debug",
  957. "type": "boolean",
  958. "title": "Logging Enable Debug",
  959. "description": "Enables printing debug log messages",
  960. "default": false,
  961. "examples": [
  962. true,
  963. false
  964. ]
  965. },
  966. "logging_enable_stub": {
  967. "$id": "#/properties/logging_enable_stub",
  968. "type": "boolean",
  969. "title": "Logging Enable Stub",
  970. "description": "Enables printing stub log messages",
  971. "default": true,
  972. "examples": [
  973. true,
  974. false
  975. ]
  976. },
  977. "logging_enable_info": {
  978. "$id": "#/properties/logging_enable_info",
  979. "type": "boolean",
  980. "title": "Logging Enable Info",
  981. "description": "Enables printing info log messages",
  982. "default": true,
  983. "examples": [
  984. true,
  985. false
  986. ]
  987. },
  988. "logging_enable_warn": {
  989. "$id": "#/properties/logging_enable_warn",
  990. "type": "boolean",
  991. "title": "Logging Enable Warn",
  992. "description": "Enables printing warning log messages",
  993. "default": true,
  994. "examples": [
  995. true,
  996. false
  997. ]
  998. },
  999. "logging_enable_error": {
  1000. "$id": "#/properties/logging_enable_error",
  1001. "type": "boolean",
  1002. "title": "Logging Enable Error",
  1003. "description": "Enables printing error log messages",
  1004. "default": true,
  1005. "examples": [
  1006. true,
  1007. false
  1008. ]
  1009. },
  1010. "logging_enable_guest": {
  1011. "$id": "#/properties/logging_enable_guest",
  1012. "type": "boolean",
  1013. "title": "Logging Enable Guest",
  1014. "description": "Enables printing guest log messages",
  1015. "default": true,
  1016. "examples": [
  1017. true,
  1018. false
  1019. ]
  1020. },
  1021. "logging_enable_fs_access": {
  1022. "$id": "#/properties/logging_enable_fs_access_log",
  1023. "type": "boolean",
  1024. "title": "Logging Enable FS Access Log",
  1025. "description": "Enables printing FS access log messages",
  1026. "default": true,
  1027. "examples": [
  1028. true,
  1029. false
  1030. ]
  1031. },
  1032. "logging_filtered_classes": {
  1033. "$id": "#/properties/logging_filtered_classes",
  1034. "type": "array",
  1035. "title": "Logging Filtered Classes",
  1036. "description": "Controls which log messages are written to the log targets",
  1037. "items": {
  1038. "type": "string",
  1039. "enum": [
  1040. "Application",
  1041. "Audio",
  1042. "Cpu",
  1043. "Font",
  1044. "Emulation",
  1045. "Gpu",
  1046. "Hid",
  1047. "Kernel",
  1048. "KernelIpc",
  1049. "KernelScheduler",
  1050. "KernelSvc",
  1051. "Loader",
  1052. "Service",
  1053. "ServiceAcc",
  1054. "ServiceAm",
  1055. "ServiceApm",
  1056. "ServiceAudio",
  1057. "ServiceBsd",
  1058. "ServiceCaps",
  1059. "ServiceFriend",
  1060. "ServiceFs",
  1061. "ServiceHid",
  1062. "ServiceIrs",
  1063. "ServiceLdr",
  1064. "ServiceLm",
  1065. "ServiceMm",
  1066. "ServiceNfp",
  1067. "ServiceNifm",
  1068. "ServiceNs",
  1069. "ServiceNv",
  1070. "ServicePctl",
  1071. "ServicePl",
  1072. "ServicePrepo",
  1073. "ServicePsm",
  1074. "ServiceSet",
  1075. "ServiceSfdnsres",
  1076. "ServiceSm",
  1077. "ServiceSsl",
  1078. "ServiceSss",
  1079. "ServiceTime",
  1080. "ServiceVi"
  1081. ]
  1082. }
  1083. },
  1084. "enable_file_log": {
  1085. "$id": "#/properties/enable_file_log",
  1086. "type": "boolean",
  1087. "title": "Enable File Log",
  1088. "description": "Enables logging to a file on disk",
  1089. "default": true,
  1090. "examples": [
  1091. true,
  1092. false
  1093. ]
  1094. },
  1095. "system_language": {
  1096. "$id": "#/properties/system_language",
  1097. "type": "string",
  1098. "title": "System Language",
  1099. "description": "Change System Language",
  1100. "default": "AmericanEnglish",
  1101. "enum": [
  1102. "Japanese",
  1103. "AmericanEnglish",
  1104. "French",
  1105. "German",
  1106. "Italian",
  1107. "Spanish",
  1108. "Chinese",
  1109. "Korean",
  1110. "Dutch",
  1111. "Portuguese",
  1112. "Russian",
  1113. "Taiwanese",
  1114. "BritishEnglish",
  1115. "CanadianFrench",
  1116. "LatinAmericanSpanish",
  1117. "SimplifiedChinese",
  1118. "TraditionalChinese"
  1119. ],
  1120. "examples": [
  1121. "AmericanEnglish"
  1122. ]
  1123. },
  1124. "system_region": {
  1125. "$id": "#/properties/system_region",
  1126. "type": "string",
  1127. "title": "System Region",
  1128. "description": "Change System Region",
  1129. "default": "USA",
  1130. "enum": [
  1131. "Japan",
  1132. "USA",
  1133. "Europe",
  1134. "Australia",
  1135. "China",
  1136. "Korea",
  1137. "Taiwan"
  1138. ],
  1139. "examples": [
  1140. "USA"
  1141. ]
  1142. },
  1143. "system_time_offset": {
  1144. "$id": "#/properties/system_time_offset",
  1145. "type": "integer",
  1146. "title": "System Time Offset",
  1147. "description": "System time offset in seconds.",
  1148. "default": 0,
  1149. "examples": [
  1150. -3600,
  1151. 0,
  1152. 3600
  1153. ]
  1154. },
  1155. "docked_mode": {
  1156. "$id": "#/properties/docked_mode",
  1157. "type": "boolean",
  1158. "title": "Enable Docked Mode",
  1159. "description": "Enables or disables Docked Mode",
  1160. "default": false,
  1161. "examples": [
  1162. true,
  1163. false
  1164. ]
  1165. },
  1166. "enable_discord_integration": {
  1167. "$id": "#/properties/enable_discord_integration",
  1168. "type": "boolean",
  1169. "title": "Enable Discord Rich Presence",
  1170. "description": "Enable or disable Discord Rich Presence",
  1171. "default": true,
  1172. "examples": [
  1173. true,
  1174. false
  1175. ]
  1176. },
  1177. "check_updates_on_start": {
  1178. "$id": "#/properties/check_updates_on_start",
  1179. "type": "boolean",
  1180. "title": "Checks for updates when ryujinx starts when enabled",
  1181. "description": "Checks for updates when ryujinx starts when enabled",
  1182. "default": true,
  1183. "examples": [
  1184. true,
  1185. false
  1186. ]
  1187. },
  1188. "enable_vsync": {
  1189. "$id": "#/properties/enable_vsync",
  1190. "type": "boolean",
  1191. "title": "Enable Vertical Sync",
  1192. "description": "Enables or disables Vertical Sync",
  1193. "default": true,
  1194. "examples": [
  1195. true,
  1196. false
  1197. ]
  1198. },
  1199. "enable_multicore_scheduling": {
  1200. "$id": "#/properties/enable_multicore_scheduling",
  1201. "type": "boolean",
  1202. "title": "Enable Multicore Scheduling",
  1203. "description": "Enables or disables multi-core scheduling of threads",
  1204. "default": true,
  1205. "examples": [
  1206. true,
  1207. false
  1208. ]
  1209. },
  1210. "enable_ptc": {
  1211. "$id": "#/properties/enable_ptc",
  1212. "type": "boolean",
  1213. "title": "Enable Profiled Persistent Translation Cache",
  1214. "description": "Enables or disables profiled translation cache persistency",
  1215. "default": false,
  1216. "examples": [
  1217. true,
  1218. false
  1219. ]
  1220. },
  1221. "enable_fs_integrity_checks": {
  1222. "$id": "#/properties/enable_fs_integrity_checks",
  1223. "type": "boolean",
  1224. "title": "Enable Filesystem Integrity Checks",
  1225. "description": "Enables integrity checks on Game content files. Only applies to ROMs loaded as XCI files",
  1226. "default": true,
  1227. "examples": [
  1228. true,
  1229. false
  1230. ]
  1231. },
  1232. "fs_global_access_log_mode": {
  1233. "$id": "#/properties/fs_global_access_log_mode",
  1234. "type": "integer",
  1235. "title": "Enable FS access log",
  1236. "description": "Enables FS access log output. Possible modes are 0-3. Modes 2 and 3 output to the console",
  1237. "default": 0,
  1238. "minimum": 0,
  1239. "examples": [
  1240. 0,
  1241. 1,
  1242. 2,
  1243. 3
  1244. ]
  1245. },
  1246. "audio_backend": {
  1247. "$id": "#/properties/audio_backend",
  1248. "type": "string",
  1249. "title": "The selected audio backend",
  1250. "description": "The selected audio backend",
  1251. "default": "OpenAl",
  1252. "enum": [
  1253. "Dummy",
  1254. "SoundIo",
  1255. "OpenAl"
  1256. ]
  1257. },
  1258. "ignore_missing_services": {
  1259. "$id": "#/properties/ignore_missing_services",
  1260. "type": "boolean",
  1261. "title": "Ignore Missing Services",
  1262. "description": "Enable or disable ignoring missing services, this may cause instability",
  1263. "default": false,
  1264. "examples": [
  1265. true,
  1266. false
  1267. ]
  1268. },
  1269. "gui_columns": {
  1270. "$id": "#/properties/gui_columns",
  1271. "type": "object",
  1272. "title": "Used to toggle columns in the GUI",
  1273. "description": "Used to toggle columns in the GUI",
  1274. "properties": {
  1275. "fav_column": {
  1276. "$id": "#/properties/gui_columns/properties/fav_column",
  1277. "type": "boolean",
  1278. "title": "",
  1279. "default": true
  1280. },
  1281. "icon_column": {
  1282. "$id": "#/properties/gui_columns/properties/icon_column",
  1283. "type": "boolean",
  1284. "title": "",
  1285. "default": true
  1286. },
  1287. "app_column": {
  1288. "$id": "#/properties/gui_columns/properties/app_column",
  1289. "type": "boolean",
  1290. "title": "",
  1291. "default": true
  1292. },
  1293. "dev_column": {
  1294. "$id": "#/properties/gui_columns/properties/dev_column",
  1295. "type": "boolean",
  1296. "title": "",
  1297. "default": true
  1298. },
  1299. "version_column": {
  1300. "$id": "#/properties/gui_columns/properties/version_column",
  1301. "type": "boolean",
  1302. "title": "",
  1303. "default": true
  1304. },
  1305. "time_played_column": {
  1306. "$id": "#/properties/gui_columns/properties/time_played_column",
  1307. "type": "boolean",
  1308. "title": "",
  1309. "default": true
  1310. },
  1311. "last_played_column": {
  1312. "$id": "#/properties/gui_columns/properties/last_played_column",
  1313. "type": "boolean",
  1314. "title": "",
  1315. "default": true
  1316. },
  1317. "file_ext_column": {
  1318. "$id": "#/properties/gui_columns/properties/file_ext_column",
  1319. "type": "boolean",
  1320. "title": "",
  1321. "default": true
  1322. },
  1323. "file_size_column": {
  1324. "$id": "#/properties/gui_columns/properties/file_size_column",
  1325. "type": "boolean",
  1326. "title": "",
  1327. "default": true
  1328. },
  1329. "path_column": {
  1330. "$id": "#/properties/gui_columns/properties/path_column",
  1331. "type": "boolean",
  1332. "title": "",
  1333. "default": true
  1334. }
  1335. }
  1336. },
  1337. "column_sort": {
  1338. "$id": "#/properties/column_sort",
  1339. "type": "object",
  1340. "title": "Used to configure column sort settings in the GUI",
  1341. "description": "Used to configure column sort settings in the GUI",
  1342. "properties": {
  1343. "sort_column_id": {
  1344. "$id": "#/properties/column_sort/properties/sort_column_id",
  1345. "type": "integer",
  1346. "title": "",
  1347. "default": 0
  1348. },
  1349. "sort_ascending": {
  1350. "$id": "#/properties/column_sort/properties/sort_ascending",
  1351. "type": "boolean",
  1352. "title": "",
  1353. "default": false
  1354. }
  1355. }
  1356. },
  1357. "game_dirs": {
  1358. "$id": "#/properties/game_dirs",
  1359. "type": "array",
  1360. "title": "List of Game Directories",
  1361. "description": "A list of directories containing games to be used to load games into the games list",
  1362. "default": []
  1363. },
  1364. "enable_custom_theme": {
  1365. "$id": "#/properties/enable_custom_theme",
  1366. "type": "boolean",
  1367. "title": "Enable custom themes in the GUI",
  1368. "description": "Enable or disable custom themes in the GUI",
  1369. "default": false,
  1370. "examples": [
  1371. true,
  1372. false
  1373. ]
  1374. },
  1375. "custom_theme_path": {
  1376. "$id": "#/properties/custom_theme_path",
  1377. "type": "string",
  1378. "title": "Path to custom GUI theme",
  1379. "description": "Path to custom GUI theme",
  1380. "default": ""
  1381. },
  1382. "enable_keyboard": {
  1383. "$id": "#/properties/enable_keyboard",
  1384. "type": "boolean",
  1385. "title": "(HID) Keyboard Enable",
  1386. "description": "Enable or disable direct keyboard access (HID) support (Provides games access to your keyboard as a text entry device)",
  1387. "default": true,
  1388. "examples": [
  1389. true,
  1390. false
  1391. ]
  1392. },
  1393. "hotkeys": {
  1394. "$id": "#/properties/hotkeys",
  1395. "type": "object",
  1396. "title": "Hotkey Controls",
  1397. "required": [
  1398. "toggle_vsync"
  1399. ],
  1400. "properties": {
  1401. "toggle_vsync": {
  1402. "$id": "#/properties/hotkeys/properties/toggle_vsync",
  1403. "$ref": "#/definitions/key",
  1404. "title": "Toggle VSync",
  1405. "default": "Tab"
  1406. }
  1407. }
  1408. },
  1409. "keyboard_config": {
  1410. "$id": "#/properties/keyboard_config",
  1411. "type": "array",
  1412. "title": "Keyboard Config",
  1413. "items": {
  1414. "$ref": "#/definitions/keyboard_config"
  1415. },
  1416. "default": [
  1417. {
  1418. "index": 0,
  1419. "controller_type": "JoyconPair",
  1420. "player_index": "Player1",
  1421. "left_joycon": {
  1422. "stick_up": "W",
  1423. "stick_down": "S",
  1424. "stick_left": "A",
  1425. "stick_right": "D",
  1426. "stick_button": "F",
  1427. "dpad_up": "Up",
  1428. "dpad_down": "Down",
  1429. "dpad_left": "Left",
  1430. "dpad_right": "Right",
  1431. "button_minus": "Minus",
  1432. "button_l": "E",
  1433. "button_zl": "Q",
  1434. "button_sl": "Unbound",
  1435. "button_sr": "Unbound"
  1436. },
  1437. "right_joycon": {
  1438. "stick_up": "I",
  1439. "stick_down": "K",
  1440. "stick_left": "J",
  1441. "stick_right": "L",
  1442. "stick_button": "H",
  1443. "button_a": "Z",
  1444. "button_b": "X",
  1445. "button_x": "C",
  1446. "button_y": "V",
  1447. "button_plus": "Plus",
  1448. "button_r": "U",
  1449. "button_zr": "O",
  1450. "button_sl": "Unbound",
  1451. "button_sr": "Unbound"
  1452. },
  1453. "slot": 0,
  1454. "alt_slot": 0,
  1455. "mirror_input": false,
  1456. "dsu_server_host": "127.0.0.1",
  1457. "dsu_server_port": 26760,
  1458. "sensitivity": 100,
  1459. "gyro_deadzone": 1,
  1460. "enable_motion": false
  1461. }
  1462. ]
  1463. },
  1464. "controller_config": {
  1465. "$id": "#/properties/controller_config",
  1466. "type": "array",
  1467. "title": "Controller Config",
  1468. "items": {
  1469. "$ref": "#/definitions/controller_config"
  1470. },
  1471. "default": []
  1472. }
  1473. }
  1474. }