_schema.json 43 KB

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