_schema.json 35 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247
  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. }
  465. },
  466. "controller_config": {
  467. "type": "object",
  468. "properties": {
  469. "index": {
  470. "$id": "#/definitions/controller_config/properties/index",
  471. "type": "integer",
  472. "title": "Controller Index",
  473. "description": "Controller Device Index",
  474. "default": 0,
  475. "minimum": 0,
  476. "examples": [
  477. 0,
  478. 1,
  479. 2
  480. ]
  481. },
  482. "controller_type": {
  483. "$id": "#/properties/controller_config/properties/controller_type",
  484. "type": "string",
  485. "title": "Controller Type",
  486. "default": "Handheld",
  487. "enum": [
  488. "Handheld",
  489. "ProController",
  490. "JoyconPair",
  491. "JoyconLeft",
  492. "JoyconRight"
  493. ],
  494. "examples": [
  495. "Handheld",
  496. "ProController",
  497. "JoyconPair",
  498. "JoyconLeft",
  499. "JoyconRight"
  500. ]
  501. },
  502. "player_index": {
  503. "$id": "#/properties/controller_config/properties/player_index",
  504. "type": "string",
  505. "title": "Player Index",
  506. "default": "Player1",
  507. "enum": [
  508. "Player1",
  509. "Player2",
  510. "Player3",
  511. "Player4",
  512. "Player5",
  513. "Player6",
  514. "Player7",
  515. "Player8",
  516. "Handheld"
  517. ]
  518. },
  519. "deadzone_left": {
  520. "$id": "#/definitions/controller_config/properties/deadzone_left",
  521. "type": "number",
  522. "title": "Left Joystick Deadzone",
  523. "description": "Controller Left Analog Stick Deadzone",
  524. "default": 0.05,
  525. "minimum": 0.00,
  526. "maximum": 1.00,
  527. "examples": [
  528. 0.05
  529. ]
  530. },
  531. "deadzone_right": {
  532. "$id": "#/definitions/controller_config/properties/deadzone_right",
  533. "type": "number",
  534. "title": "Right Joystick Deadzone",
  535. "description": "Controller Right Analog Stick Deadzone",
  536. "default": 0.05,
  537. "minimum": 0.00,
  538. "maximum": 1.00,
  539. "examples": [
  540. 0.05
  541. ]
  542. },
  543. "trigger_threshold": {
  544. "$id": "#/definitions/controller_config/properties/trigger_threshold",
  545. "type": "number",
  546. "title": "Controller Trigger Threshold",
  547. "description": "The value of how pressed down each trigger has to be in order to register a button press",
  548. "default": 0.5,
  549. "minimum": 0.0,
  550. "maximum": 1.0,
  551. "examples": [
  552. 0.5
  553. ]
  554. },
  555. "left_joycon": {
  556. "$id": "#/definitions/controller_config/properties/left_joycon",
  557. "type": "object",
  558. "title": "Left JoyCon Controls",
  559. "required": [
  560. "stick",
  561. "stick_button",
  562. "dpad_up",
  563. "dpad_down",
  564. "dpad_left",
  565. "dpad_right",
  566. "button_minus",
  567. "button_l",
  568. "button_zl"
  569. ],
  570. "properties": {
  571. "stick": {
  572. "$id": "#/definitions/controller_config/properties/left_joycon/properties/stick",
  573. "$ref": "#/definitions/input",
  574. "title": "Stick",
  575. "default": "Axis0"
  576. },
  577. "stick_button": {
  578. "$id": "#/definitions/controller_config/properties/left_joycon/properties/stick_button",
  579. "$ref": "#/definitions/input",
  580. "title": "Stick Button",
  581. "default": "Button13"
  582. },
  583. "dpad_up": {
  584. "$id": "#/definitions/controller_config/properties/left_joycon/properties/dpad_up",
  585. "$ref": "#/definitions/input",
  586. "title": "Dpad Up",
  587. "default": "Hat0Up"
  588. },
  589. "dpad_down": {
  590. "$id": "#/definitions/controller_config/properties/left_joycon/properties/dpad_down",
  591. "$ref": "#/definitions/input",
  592. "title": "Dpad Down",
  593. "default": "Hat0Down"
  594. },
  595. "dpad_left": {
  596. "$id": "#/definitions/controller_config/properties/left_joycon/properties/dpad_left",
  597. "$ref": "#/definitions/input",
  598. "title": "Dpad Left",
  599. "default": "Hat0Left"
  600. },
  601. "dpad_right": {
  602. "$id": "#/definitions/controller_config/properties/left_joycon/properties/dpad_right",
  603. "$ref": "#/definitions/input",
  604. "title": "Dpad Right",
  605. "default": "Hat0Right"
  606. },
  607. "button_minus": {
  608. "$id": "#/definitions/controller_config/properties/left_joycon/properties/button_minus",
  609. "$ref": "#/definitions/input",
  610. "title": "Button Minus",
  611. "default": "Button10"
  612. },
  613. "button_l": {
  614. "$id": "#/definitions/controller_config/properties/left_joycon/properties/button_l",
  615. "$ref": "#/definitions/input",
  616. "title": "Button L",
  617. "default": "Button6"
  618. },
  619. "button_zl": {
  620. "$id": "#/definitions/controller_config/properties/left_joycon/properties/button_zl",
  621. "$ref": "#/definitions/input",
  622. "title": "Button ZL",
  623. "default": "Button8"
  624. }
  625. }
  626. },
  627. "right_joycon": {
  628. "$id": "#/definitions/controller_config/properties/right_joycon",
  629. "type": "object",
  630. "title": "Right JoyCon Controls",
  631. "required": [
  632. "stick",
  633. "stick_button",
  634. "button_a",
  635. "button_b",
  636. "button_x",
  637. "button_y",
  638. "button_plus",
  639. "button_r",
  640. "button_zr"
  641. ],
  642. "properties": {
  643. "stick": {
  644. "$id": "#/definitions/controller_config/properties/right_joycon/properties/stick",
  645. "$ref": "#/definitions/input",
  646. "title": "Stick",
  647. "default": "Axis2"
  648. },
  649. "stick_button": {
  650. "$id": "#/definitions/controller_config/properties/right_joycon/properties/stick_button",
  651. "$ref": "#/definitions/input",
  652. "title": "Stick Button",
  653. "default": "Button14"
  654. },
  655. "button_a": {
  656. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_a",
  657. "$ref": "#/definitions/input",
  658. "title": "Button A",
  659. "default": "Button0"
  660. },
  661. "button_b": {
  662. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_b",
  663. "$ref": "#/definitions/input",
  664. "title": "Button B",
  665. "default": "Button1"
  666. },
  667. "button_x": {
  668. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_x",
  669. "$ref": "#/definitions/input",
  670. "title": "Button X",
  671. "default": "Button3"
  672. },
  673. "button_y": {
  674. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_y",
  675. "$ref": "#/definitions/input",
  676. "title": "Button Y",
  677. "default": "Button4"
  678. },
  679. "button_plus": {
  680. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_plus",
  681. "$ref": "#/definitions/input",
  682. "title": "Button Plus",
  683. "default": "Button11"
  684. },
  685. "button_r": {
  686. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_r",
  687. "$ref": "#/definitions/input",
  688. "title": "Button R",
  689. "default": "Button7"
  690. },
  691. "button_zr": {
  692. "$id": "#/definitions/controller_config/properties/right_joycon/properties/button_zr",
  693. "$ref": "#/definitions/input",
  694. "title": "Button ZR",
  695. "default": "Button9"
  696. }
  697. }
  698. }
  699. }
  700. }
  701. },
  702. "properties": {
  703. "res_scale": {
  704. "$id": "#/properties/res_scale",
  705. "type": "integer",
  706. "title": "Resolution Scale",
  707. "description": "An integer scale applied to applicable render targets. Values 1-4, or -1 to use a custom floating point scale instead.",
  708. "default": -1,
  709. "examples": [
  710. -1,
  711. 1,
  712. 2,
  713. 3,
  714. 4
  715. ]
  716. },
  717. "res_scale_custom": {
  718. "$id": "#/properties/res_scale_custom",
  719. "type": "number",
  720. "title": "Custom Resolution Scale",
  721. "description": "A custom floating point scale applied to applicable render targets. Only active when Resolution Scale is -1.",
  722. "default": 1.0,
  723. },
  724. "max_anisotropy": {
  725. "$id": "#/properties/max_anisotropy",
  726. "type": "integer",
  727. "title": "Max Anisotropy. Values range from 0 - 16. Set to -1 to let the game decide.",
  728. "description": "Max Anisotropy. Values range from 0 - 16. Set to -1 to let the game decide.",
  729. "default": -1,
  730. "examples": [
  731. -1,
  732. 4,
  733. 8,
  734. 16
  735. ]
  736. },
  737. "graphics_shaders_dump_path": {
  738. "$id": "#/properties/graphics_shaders_dump_path",
  739. "type": "string",
  740. "title": "Graphics Shaders Dump Path",
  741. "description": "Dumps shaders in this local directory",
  742. "default": "",
  743. "examples": [
  744. "C:\\ShaderDumps"
  745. ]
  746. },
  747. "logging_enable_debug": {
  748. "$id": "#/properties/logging_enable_debug",
  749. "type": "boolean",
  750. "title": "Logging Enable Debug",
  751. "description": "Enables printing debug log messages",
  752. "default": false,
  753. "examples": [
  754. true,
  755. false
  756. ]
  757. },
  758. "logging_enable_stub": {
  759. "$id": "#/properties/logging_enable_stub",
  760. "type": "boolean",
  761. "title": "Logging Enable Stub",
  762. "description": "Enables printing stub log messages",
  763. "default": true,
  764. "examples": [
  765. true,
  766. false
  767. ]
  768. },
  769. "logging_enable_info": {
  770. "$id": "#/properties/logging_enable_info",
  771. "type": "boolean",
  772. "title": "Logging Enable Info",
  773. "description": "Enables printing info log messages",
  774. "default": true,
  775. "examples": [
  776. true,
  777. false
  778. ]
  779. },
  780. "logging_enable_warn": {
  781. "$id": "#/properties/logging_enable_warn",
  782. "type": "boolean",
  783. "title": "Logging Enable Warn",
  784. "description": "Enables printing warning log messages",
  785. "default": true,
  786. "examples": [
  787. true,
  788. false
  789. ]
  790. },
  791. "logging_enable_error": {
  792. "$id": "#/properties/logging_enable_error",
  793. "type": "boolean",
  794. "title": "Logging Enable Error",
  795. "description": "Enables printing error log messages",
  796. "default": true,
  797. "examples": [
  798. true,
  799. false
  800. ]
  801. },
  802. "logging_enable_guest": {
  803. "$id": "#/properties/logging_enable_guest",
  804. "type": "boolean",
  805. "title": "Logging Enable Guest",
  806. "description": "Enables printing guest log messages",
  807. "default": true,
  808. "examples": [
  809. true,
  810. false
  811. ]
  812. },
  813. "logging_enable_fs_access": {
  814. "$id": "#/properties/logging_enable_fs_access_log",
  815. "type": "boolean",
  816. "title": "Logging Enable FS Access Log",
  817. "description": "Enables printing FS access log messages",
  818. "default": true,
  819. "examples": [
  820. true,
  821. false
  822. ]
  823. },
  824. "logging_filtered_classes": {
  825. "$id": "#/properties/logging_filtered_classes",
  826. "type": "array",
  827. "title": "Logging Filtered Classes",
  828. "description": "Controls which log messages are written to the log targets",
  829. "items": {
  830. "type": "string",
  831. "enum": [
  832. "Application",
  833. "Audio",
  834. "Cpu",
  835. "Font",
  836. "Emulation",
  837. "Gpu",
  838. "Hid",
  839. "Kernel",
  840. "KernelIpc",
  841. "KernelScheduler",
  842. "KernelSvc",
  843. "Loader",
  844. "Service",
  845. "ServiceAcc",
  846. "ServiceAm",
  847. "ServiceApm",
  848. "ServiceAudio",
  849. "ServiceBsd",
  850. "ServiceCaps",
  851. "ServiceFriend",
  852. "ServiceFs",
  853. "ServiceHid",
  854. "ServiceIrs",
  855. "ServiceLdr",
  856. "ServiceLm",
  857. "ServiceMm",
  858. "ServiceNfp",
  859. "ServiceNifm",
  860. "ServiceNs",
  861. "ServiceNv",
  862. "ServicePctl",
  863. "ServicePl",
  864. "ServicePrepo",
  865. "ServicePsm",
  866. "ServiceSet",
  867. "ServiceSfdnsres",
  868. "ServiceSm",
  869. "ServiceSsl",
  870. "ServiceSss",
  871. "ServiceTime",
  872. "ServiceVi"
  873. ]
  874. }
  875. },
  876. "enable_file_log": {
  877. "$id": "#/properties/enable_file_log",
  878. "type": "boolean",
  879. "title": "Enable File Log",
  880. "description": "Enables logging to a file on disk",
  881. "default": true,
  882. "examples": [
  883. true,
  884. false
  885. ]
  886. },
  887. "system_language": {
  888. "$id": "#/properties/system_language",
  889. "type": "string",
  890. "title": "System Language",
  891. "description": "Change System Language",
  892. "default": "AmericanEnglish",
  893. "enum": [
  894. "Japanese",
  895. "AmericanEnglish",
  896. "French",
  897. "German",
  898. "Italian",
  899. "Spanish",
  900. "Chinese",
  901. "Korean",
  902. "Dutch",
  903. "Portuguese",
  904. "Russian",
  905. "Taiwanese",
  906. "BritishEnglish",
  907. "CanadianFrench",
  908. "LatinAmericanSpanish",
  909. "SimplifiedChinese",
  910. "TraditionalChinese"
  911. ],
  912. "examples": [
  913. "AmericanEnglish"
  914. ]
  915. },
  916. "system_region": {
  917. "$id": "#/properties/system_region",
  918. "type": "string",
  919. "title": "System Region",
  920. "description": "Change System Region",
  921. "default": "USA",
  922. "enum": [
  923. "Japan",
  924. "USA",
  925. "Europe",
  926. "Australia",
  927. "China",
  928. "Korea",
  929. "Taiwan"
  930. ],
  931. "examples": [
  932. "USA"
  933. ]
  934. },
  935. "system_time_offset": {
  936. "$id": "#/properties/system_time_offset",
  937. "type": "integer",
  938. "title": "System Time Offset",
  939. "description": "System time offset in seconds.",
  940. "default": 0,
  941. "examples": [
  942. -3600,
  943. 0,
  944. 3600
  945. ]
  946. },
  947. "docked_mode": {
  948. "$id": "#/properties/docked_mode",
  949. "type": "boolean",
  950. "title": "Enable Docked Mode",
  951. "description": "Enables or disables Docked Mode",
  952. "default": false,
  953. "examples": [
  954. true,
  955. false
  956. ]
  957. },
  958. "enable_discord_integration": {
  959. "$id": "#/properties/enable_discord_integration",
  960. "type": "boolean",
  961. "title": "Enable Discord Rich Presence",
  962. "description": "Enable or disable Discord Rich Presence",
  963. "default": true,
  964. "examples": [
  965. true,
  966. false
  967. ]
  968. },
  969. "enable_vsync": {
  970. "$id": "#/properties/enable_vsync",
  971. "type": "boolean",
  972. "title": "Enable Vertical Sync",
  973. "description": "Enables or disables Vertical Sync",
  974. "default": true,
  975. "examples": [
  976. true,
  977. false
  978. ]
  979. },
  980. "enable_multicore_scheduling": {
  981. "$id": "#/properties/enable_multicore_scheduling",
  982. "type": "boolean",
  983. "title": "Enable Multicore Scheduling",
  984. "description": "Enables or disables multi-core scheduling of threads",
  985. "default": true,
  986. "examples": [
  987. true,
  988. false
  989. ]
  990. },
  991. "enable_ptc": {
  992. "$id": "#/properties/enable_ptc",
  993. "type": "boolean",
  994. "title": "Enable Profiled Persistent Translation Cache",
  995. "description": "Enables or disables profiled translation cache persistency",
  996. "default": false,
  997. "examples": [
  998. true,
  999. false
  1000. ]
  1001. },
  1002. "enable_fs_integrity_checks": {
  1003. "$id": "#/properties/enable_fs_integrity_checks",
  1004. "type": "boolean",
  1005. "title": "Enable Filesystem Integrity Checks",
  1006. "description": "Enables integrity checks on Game content files. Only applies to ROMs loaded as XCI files",
  1007. "default": true,
  1008. "examples": [
  1009. true,
  1010. false
  1011. ]
  1012. },
  1013. "fs_global_access_log_mode": {
  1014. "$id": "#/properties/fs_global_access_log_mode",
  1015. "type": "integer",
  1016. "title": "Enable FS access log",
  1017. "description": "Enables FS access log output. Possible modes are 0-3. Modes 2 and 3 output to the console",
  1018. "default": 0,
  1019. "minimum": 0,
  1020. "examples": [
  1021. 0,
  1022. 1,
  1023. 2,
  1024. 3
  1025. ]
  1026. },
  1027. "audio_backend": {
  1028. "$id": "#/properties/audio_backend",
  1029. "type": "string",
  1030. "title": "The selected audio backend",
  1031. "description": "The selected audio backend",
  1032. "default": "OpenAl",
  1033. "enum": [
  1034. "Dummy",
  1035. "SoundIo",
  1036. "OpenAl"
  1037. ]
  1038. },
  1039. "ignore_missing_services": {
  1040. "$id": "#/properties/ignore_missing_services",
  1041. "type": "boolean",
  1042. "title": "Ignore Missing Services",
  1043. "description": "Enable or disable ignoring missing services, this may cause instability",
  1044. "default": false,
  1045. "examples": [
  1046. true,
  1047. false
  1048. ]
  1049. },
  1050. "gui_columns": {
  1051. "$id": "#/properties/gui_columns",
  1052. "type": "object",
  1053. "title": "Used to toggle columns in the GUI",
  1054. "description": "Used to toggle columns in the GUI",
  1055. "properties": {
  1056. "fav_column": {
  1057. "$id": "#/properties/gui_columns/properties/fav_column",
  1058. "type": "boolean",
  1059. "title": "",
  1060. "default": true
  1061. },
  1062. "icon_column": {
  1063. "$id": "#/properties/gui_columns/properties/icon_column",
  1064. "type": "boolean",
  1065. "title": "",
  1066. "default": true
  1067. },
  1068. "app_column": {
  1069. "$id": "#/properties/gui_columns/properties/app_column",
  1070. "type": "boolean",
  1071. "title": "",
  1072. "default": true
  1073. },
  1074. "dev_column": {
  1075. "$id": "#/properties/gui_columns/properties/dev_column",
  1076. "type": "boolean",
  1077. "title": "",
  1078. "default": true
  1079. },
  1080. "version_column": {
  1081. "$id": "#/properties/gui_columns/properties/version_column",
  1082. "type": "boolean",
  1083. "title": "",
  1084. "default": true
  1085. },
  1086. "time_played_column": {
  1087. "$id": "#/properties/gui_columns/properties/time_played_column",
  1088. "type": "boolean",
  1089. "title": "",
  1090. "default": true
  1091. },
  1092. "last_played_column": {
  1093. "$id": "#/properties/gui_columns/properties/last_played_column",
  1094. "type": "boolean",
  1095. "title": "",
  1096. "default": true
  1097. },
  1098. "file_ext_column": {
  1099. "$id": "#/properties/gui_columns/properties/file_ext_column",
  1100. "type": "boolean",
  1101. "title": "",
  1102. "default": true
  1103. },
  1104. "file_size_column": {
  1105. "$id": "#/properties/gui_columns/properties/file_size_column",
  1106. "type": "boolean",
  1107. "title": "",
  1108. "default": true
  1109. },
  1110. "path_column": {
  1111. "$id": "#/properties/gui_columns/properties/path_column",
  1112. "type": "boolean",
  1113. "title": "",
  1114. "default": true
  1115. }
  1116. }
  1117. },
  1118. "column_sort": {
  1119. "$id": "#/properties/column_sort",
  1120. "type": "object",
  1121. "title": "Used to configure column sort settings in the GUI",
  1122. "description": "Used to configure column sort settings in the GUI",
  1123. "properties": {
  1124. "sort_column_id": {
  1125. "$id": "#/properties/column_sort/properties/sort_column_id",
  1126. "type": "integer",
  1127. "title": "",
  1128. "default": 0
  1129. },
  1130. "sort_ascending": {
  1131. "$id": "#/properties/column_sort/properties/sort_ascending",
  1132. "type": "boolean",
  1133. "title": "",
  1134. "default": false
  1135. }
  1136. }
  1137. },
  1138. "game_dirs": {
  1139. "$id": "#/properties/game_dirs",
  1140. "type": "array",
  1141. "title": "List of Game Directories",
  1142. "description": "A list of directories containing games to be used to load games into the games list",
  1143. "default": []
  1144. },
  1145. "enable_custom_theme": {
  1146. "$id": "#/properties/enable_custom_theme",
  1147. "type": "boolean",
  1148. "title": "Enable custom themes in the GUI",
  1149. "description": "Enable or disable custom themes in the GUI",
  1150. "default": false,
  1151. "examples": [
  1152. true,
  1153. false
  1154. ]
  1155. },
  1156. "custom_theme_path": {
  1157. "$id": "#/properties/custom_theme_path",
  1158. "type": "string",
  1159. "title": "Path to custom GUI theme",
  1160. "description": "Path to custom GUI theme",
  1161. "default": ""
  1162. },
  1163. "enable_keyboard": {
  1164. "$id": "#/properties/enable_keyboard",
  1165. "type": "boolean",
  1166. "title": "(HID) Keyboard Enable",
  1167. "description": "Enable or disable direct keyboard access (HID) support (Provides games access to your keyboard as a text entry device)",
  1168. "default": true,
  1169. "examples": [
  1170. true,
  1171. false
  1172. ]
  1173. },
  1174. "hotkeys": {
  1175. "$id": "#/properties/hotkeys",
  1176. "type": "object",
  1177. "title": "Hotkey Controls",
  1178. "required": [
  1179. "toggle_vsync"
  1180. ],
  1181. "properties": {
  1182. "toggle_vsync": {
  1183. "$id": "#/properties/hotkeys/properties/toggle_vsync",
  1184. "$ref": "#/definitions/key",
  1185. "title": "Toggle VSync",
  1186. "default": "Tab"
  1187. }
  1188. }
  1189. },
  1190. "keyboard_config": {
  1191. "$id": "#/properties/keyboard_config",
  1192. "type": "array",
  1193. "title": "Keyboard Config",
  1194. "items": {
  1195. "$ref": "#/definitions/keyboard_config"
  1196. },
  1197. "default": [
  1198. {
  1199. "index": 0,
  1200. "controller_type": "JoyconPair",
  1201. "player_index": "Player1",
  1202. "left_joycon": {
  1203. "stick_up": "W",
  1204. "stick_down": "S",
  1205. "stick_left": "A",
  1206. "stick_right": "D",
  1207. "stick_button": "F",
  1208. "dpad_up": "Up",
  1209. "dpad_down": "Down",
  1210. "dpad_left": "Left",
  1211. "dpad_right": "Right",
  1212. "button_minus": "Minus",
  1213. "button_l": "E",
  1214. "button_zl": "Q",
  1215. "button_sl": "Unbound",
  1216. "button_sr": "Unbound"
  1217. },
  1218. "right_joycon": {
  1219. "stick_up": "I",
  1220. "stick_down": "K",
  1221. "stick_left": "J",
  1222. "stick_right": "L",
  1223. "stick_button": "H",
  1224. "button_a": "Z",
  1225. "button_b": "X",
  1226. "button_x": "C",
  1227. "button_y": "V",
  1228. "button_plus": "Plus",
  1229. "button_r": "U",
  1230. "button_zr": "O",
  1231. "button_sl": "Unbound",
  1232. "button_sr": "Unbound"
  1233. }
  1234. }
  1235. ]
  1236. },
  1237. "controller_config": {
  1238. "$id": "#/properties/controller_config",
  1239. "type": "array",
  1240. "title": "Controller Config",
  1241. "items": {
  1242. "$ref": "#/definitions/controller_config"
  1243. },
  1244. "default": []
  1245. }
  1246. }
  1247. }