_schema.json 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846
  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_filtered_classes",
  14. "enable_file_log",
  15. "system_language",
  16. "docked_mode",
  17. "enable_vsync",
  18. "enable_multicore_scheduling",
  19. "enable_fs_integrity_checks",
  20. "enable_aggressive_cpu_opts",
  21. "controller_type",
  22. "keyboard_controls",
  23. "gamepad_controls"
  24. ],
  25. "definitions": {
  26. "key": {
  27. "type": "string",
  28. "enum": [
  29. "ShiftLeft",
  30. "LShift",
  31. "ShiftRight",
  32. "RShift",
  33. "ControlLeft",
  34. "LControl",
  35. "ControlRight",
  36. "RControl",
  37. "AltLeft",
  38. "LAlt",
  39. "AltRight",
  40. "RAlt",
  41. "WinLeft",
  42. "LWin",
  43. "WinRight",
  44. "RWin",
  45. "Menu",
  46. "F1",
  47. "F2",
  48. "F3",
  49. "F4",
  50. "F5",
  51. "F6",
  52. "F7",
  53. "F8",
  54. "F9",
  55. "F10",
  56. "F11",
  57. "F12",
  58. "F13",
  59. "F14",
  60. "F15",
  61. "F16",
  62. "F17",
  63. "F18",
  64. "F19",
  65. "F20",
  66. "F21",
  67. "F22",
  68. "F23",
  69. "F24",
  70. "F25",
  71. "F26",
  72. "F27",
  73. "F28",
  74. "F29",
  75. "F30",
  76. "F31",
  77. "F32",
  78. "F33",
  79. "F34",
  80. "F35",
  81. "Up",
  82. "Down",
  83. "Left",
  84. "Right",
  85. "Enter",
  86. "Escape",
  87. "Space",
  88. "Tab",
  89. "BackSpace",
  90. "Back",
  91. "Insert",
  92. "Delete",
  93. "PageUp",
  94. "PageDown",
  95. "Home",
  96. "End",
  97. "CapsLock",
  98. "ScrollLock",
  99. "PrintScreen",
  100. "Pause",
  101. "NumLock",
  102. "Clear",
  103. "Sleep",
  104. "Keypad0",
  105. "Keypad1",
  106. "Keypad2",
  107. "Keypad3",
  108. "Keypad4",
  109. "Keypad5",
  110. "Keypad6",
  111. "Keypad7",
  112. "Keypad8",
  113. "Keypad9",
  114. "KeypadDivide",
  115. "KeypadMultiply",
  116. "KeypadSubtract",
  117. "KeypadMinus",
  118. "KeypadAdd",
  119. "KeypadPlus",
  120. "KeypadDecimal",
  121. "KeypadPeriod",
  122. "KeypadEnter",
  123. "A",
  124. "B",
  125. "C",
  126. "D",
  127. "E",
  128. "F",
  129. "G",
  130. "H",
  131. "I",
  132. "J",
  133. "K",
  134. "L",
  135. "M",
  136. "N",
  137. "O",
  138. "P",
  139. "Q",
  140. "R",
  141. "S",
  142. "T",
  143. "U",
  144. "V",
  145. "W",
  146. "X",
  147. "Y",
  148. "Z",
  149. "Number0",
  150. "Number1",
  151. "Number2",
  152. "Number3",
  153. "Number4",
  154. "Number5",
  155. "Number6",
  156. "Number7",
  157. "Number8",
  158. "Number9",
  159. "Tilde",
  160. "Grave",
  161. "Minus",
  162. "Plus",
  163. "BracketLeft",
  164. "LBracket",
  165. "BracketRight",
  166. "RBracket",
  167. "Semicolon",
  168. "Quote",
  169. "Comma",
  170. "Period",
  171. "Slash",
  172. "BackSlash",
  173. "NonUSBackSlash",
  174. "LastKey"
  175. ]
  176. },
  177. "input": {
  178. "type": "string",
  179. "enum": [
  180. "DPadUp",
  181. "DPadDown",
  182. "DPadLeft",
  183. "DPadRight",
  184. "LStick",
  185. "RStick",
  186. "LShoulder",
  187. "RShoulder",
  188. "LTrigger",
  189. "RTrigger",
  190. "LJoystick",
  191. "RJoystick",
  192. "A",
  193. "B",
  194. "X",
  195. "Y",
  196. "Start",
  197. "Back"
  198. ]
  199. }
  200. },
  201. "properties": {
  202. "graphics_shaders_dump_path": {
  203. "$id": "#/properties/graphics_shaders_dump_path",
  204. "type": "string",
  205. "title": "Graphics Shaders Dump Path",
  206. "description": "Dumps shaders in this local directory",
  207. "default": "",
  208. "examples": [
  209. "C:\\ShaderDumps"
  210. ]
  211. },
  212. "logging_enable_debug": {
  213. "$id": "#/properties/logging_enable_debug",
  214. "type": "boolean",
  215. "title": "Logging Enable Debug",
  216. "description": "Enables printing debug log messages",
  217. "default": false,
  218. "examples": [
  219. true,
  220. false
  221. ]
  222. },
  223. "logging_enable_stub": {
  224. "$id": "#/properties/logging_enable_stub",
  225. "type": "boolean",
  226. "title": "Logging Enable Stub",
  227. "description": "Enables printing stub log messages",
  228. "default": true,
  229. "examples": [
  230. true,
  231. false
  232. ]
  233. },
  234. "logging_enable_info": {
  235. "$id": "#/properties/logging_enable_info",
  236. "type": "boolean",
  237. "title": "Logging Enable Info",
  238. "description": "Enables printing info log messages",
  239. "default": true,
  240. "examples": [
  241. true,
  242. false
  243. ]
  244. },
  245. "logging_enable_warn": {
  246. "$id": "#/properties/logging_enable_warn",
  247. "type": "boolean",
  248. "title": "Logging Enable Warn",
  249. "description": "Enables printing warning log messages",
  250. "default": true,
  251. "examples": [
  252. true,
  253. false
  254. ]
  255. },
  256. "logging_enable_error": {
  257. "$id": "#/properties/logging_enable_error",
  258. "type": "boolean",
  259. "title": "Logging Enable Error",
  260. "description": "Enables printing error log messages",
  261. "default": true,
  262. "examples": [
  263. true,
  264. false
  265. ]
  266. },
  267. "logging_filtered_classes": {
  268. "$id": "#/properties/logging_filtered_classes",
  269. "type": "array",
  270. "title": "Logging Filtered Classes",
  271. "description": "Controls which log messages are written to the log targets",
  272. "items": {
  273. "type": "string",
  274. "enum": [
  275. "Application",
  276. "Audio",
  277. "Cpu",
  278. "Font",
  279. "Emulation",
  280. "Gpu",
  281. "Hid",
  282. "Kernel",
  283. "KernelIpc",
  284. "KernelScheduler",
  285. "KernelSvc",
  286. "Loader",
  287. "Service",
  288. "ServiceAcc",
  289. "ServiceAm",
  290. "ServiceApm",
  291. "ServiceAudio",
  292. "ServiceBsd",
  293. "ServiceCaps",
  294. "ServiceFriend",
  295. "ServiceFs",
  296. "ServiceHid",
  297. "ServiceIrs",
  298. "ServiceLdr",
  299. "ServiceLm",
  300. "ServiceMm",
  301. "ServiceNfp",
  302. "ServiceNifm",
  303. "ServiceNs",
  304. "ServiceNv",
  305. "ServicePctl",
  306. "ServicePl",
  307. "ServicePrepo",
  308. "ServicePsm",
  309. "ServiceSet",
  310. "ServiceSfdnsres",
  311. "ServiceSm",
  312. "ServiceSsl",
  313. "ServiceSss",
  314. "ServiceTime",
  315. "ServiceVi"
  316. ]
  317. }
  318. },
  319. "enable_file_log": {
  320. "$id": "#/properties/enable_file_log",
  321. "type": "boolean",
  322. "title": "Enable File Log",
  323. "description": "Enables logging to a file on disk",
  324. "default": true,
  325. "examples": [
  326. true,
  327. false
  328. ]
  329. },
  330. "system_language": {
  331. "$id": "#/properties/system_language",
  332. "type": "string",
  333. "title": "System Language",
  334. "description": "Change System Language",
  335. "default": "AmericanEnglish",
  336. "enum": [
  337. "Japanese",
  338. "AmericanEnglish",
  339. "French",
  340. "German",
  341. "Italian",
  342. "Spanish",
  343. "Chinese",
  344. "Korean",
  345. "Dutch",
  346. "Portuguese",
  347. "Russian",
  348. "Taiwanese",
  349. "BritishEnglish",
  350. "CanadianFrench",
  351. "LatinAmericanSpanish",
  352. "SimplifiedChinese",
  353. "TraditionalChinese"
  354. ],
  355. "examples": [
  356. "AmericanEnglish"
  357. ]
  358. },
  359. "docked_mode": {
  360. "$id": "#/properties/docked_mode",
  361. "type": "boolean",
  362. "title": "Enable Docked Mode",
  363. "description": "Enables or disables Docked Mode",
  364. "default": false,
  365. "examples": [
  366. true,
  367. false
  368. ]
  369. },
  370. "enable_vsync": {
  371. "$id": "#/properties/enable_vsync",
  372. "type": "boolean",
  373. "title": "Enable Vertical Sync",
  374. "description": "Enables or disables Vertical Sync",
  375. "default": true,
  376. "examples": [
  377. true,
  378. false
  379. ]
  380. },
  381. "enable_multicore_scheduling": {
  382. "$id": "#/properties/enable_multicore_scheduling",
  383. "type": "boolean",
  384. "title": "Enable Multicore Scheduling",
  385. "description": "Enables or disables multi-core scheduling of threads",
  386. "default": true,
  387. "examples": [
  388. true,
  389. false
  390. ]
  391. },
  392. "enable_fs_integrity_checks": {
  393. "$id": "#/properties/enable_fs_integrity_checks",
  394. "type": "boolean",
  395. "title": "Enable Filesystem Integrity Checks",
  396. "description": "Enables integrity checks on Game content files. Only applies to ROMs loaded as XCI files",
  397. "default": true,
  398. "examples": [
  399. true,
  400. false
  401. ]
  402. },
  403. "enable_aggressive_cpu_opts": {
  404. "$id": "#/properties/enable_aggressive_cpu_opts",
  405. "type": "boolean",
  406. "title": "Enable Aggressive CPU Optimizations",
  407. "description": "Enable or disable aggressive CPU optimizations",
  408. "default": true,
  409. "examples": [
  410. true,
  411. false
  412. ]
  413. },
  414. "ignore_missing_services": {
  415. "$id": "#/properties/ignore_missing_services",
  416. "type": "boolean",
  417. "title": "Ignore Missing Services",
  418. "description": "Enable or disable ignoring missing services, this may cause instability",
  419. "default": false,
  420. "examples": [
  421. true,
  422. false
  423. ]
  424. },
  425. "controller_type": {
  426. "$id": "#/properties/controller_type",
  427. "type": "string",
  428. "title": "Controller Type",
  429. "default": "Handheld",
  430. "enum": [
  431. "Handheld",
  432. "ProController",
  433. "NpadPair",
  434. "NpadLeft",
  435. "NpadRight"
  436. ],
  437. "examples": [
  438. "Handheld",
  439. "ProController",
  440. "NpadPair",
  441. "NpadLeft",
  442. "NpadRight"
  443. ]
  444. },
  445. "keyboard_controls": {
  446. "$id": "#/properties/keyboard_controls",
  447. "type": "object",
  448. "title": "Keyboard Controls",
  449. "required": [
  450. "left_joycon",
  451. "right_joycon"
  452. ],
  453. "properties": {
  454. "left_joycon": {
  455. "$id": "#/properties/keyboard_controls/properties/left_joycon",
  456. "type": "object",
  457. "title": "Left JoyCon Controls",
  458. "required": [
  459. "stick_up",
  460. "stick_down",
  461. "stick_left",
  462. "stick_right",
  463. "stick_button",
  464. "dpad_up",
  465. "dpad_down",
  466. "dpad_left",
  467. "dpad_right",
  468. "button_minus",
  469. "button_l",
  470. "button_zl"
  471. ],
  472. "properties": {
  473. "stick_up": {
  474. "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/stick_up",
  475. "$ref": "#/definitions/key",
  476. "title": "Stick Up",
  477. "default": "w"
  478. },
  479. "stick_down": {
  480. "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/stick_down",
  481. "$ref": "#/definitions/key",
  482. "title": "Stick Down",
  483. "default": "S"
  484. },
  485. "stick_left": {
  486. "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/stick_left",
  487. "$ref": "#/definitions/key",
  488. "title": "Stick Left",
  489. "default": "A"
  490. },
  491. "stick_right": {
  492. "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/stick_right",
  493. "$ref": "#/definitions/key",
  494. "title": "Stick Right",
  495. "default": "D"
  496. },
  497. "stick_button": {
  498. "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/stick_button",
  499. "$ref": "#/definitions/key",
  500. "title": "Stick Button",
  501. "default": "F"
  502. },
  503. "dpad_up": {
  504. "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/dpad_up",
  505. "$ref": "#/definitions/key",
  506. "title": "Dpad Up",
  507. "default": "Up"
  508. },
  509. "dpad_down": {
  510. "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/dpad_down",
  511. "$ref": "#/definitions/key",
  512. "title": "Dpad Down",
  513. "default": "Down"
  514. },
  515. "dpad_left": {
  516. "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/dpad_left",
  517. "$ref": "#/definitions/key",
  518. "title": "Dpad Left",
  519. "default": "Left"
  520. },
  521. "dpad_right": {
  522. "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/dpad_right",
  523. "$ref": "#/definitions/key",
  524. "title": "Dpad Right",
  525. "default": "Right"
  526. },
  527. "button_minus": {
  528. "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/button_minus",
  529. "$ref": "#/definitions/key",
  530. "title": "Button Minus",
  531. "default": "Minus"
  532. },
  533. "button_l": {
  534. "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/button_l",
  535. "$ref": "#/definitions/key",
  536. "title": "Button L",
  537. "default": "E"
  538. },
  539. "button_zl": {
  540. "$id": "#/properties/keyboard_controls/properties/left_joycon/properties/button_zl",
  541. "$ref": "#/definitions/key",
  542. "title": "Button ZL",
  543. "default": "Q"
  544. }
  545. }
  546. },
  547. "right_joycon": {
  548. "$id": "#/properties/keyboard_controls/properties/right_joycon",
  549. "type": "object",
  550. "title": "Right JoyCon Controls",
  551. "required": [
  552. "stick_up",
  553. "stick_down",
  554. "stick_left",
  555. "stick_right",
  556. "stick_button",
  557. "button_a",
  558. "button_b",
  559. "button_x",
  560. "button_y",
  561. "button_plus",
  562. "button_r",
  563. "button_zr"
  564. ],
  565. "properties": {
  566. "stick_up": {
  567. "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/stick_up",
  568. "$ref": "#/definitions/key",
  569. "title": "Stick Up",
  570. "default": "I"
  571. },
  572. "stick_down": {
  573. "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/stick_down",
  574. "$ref": "#/definitions/key",
  575. "title": "Stick Down",
  576. "default": "K"
  577. },
  578. "stick_left": {
  579. "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/stick_left",
  580. "$ref": "#/definitions/key",
  581. "title": "Stick Left",
  582. "default": "J"
  583. },
  584. "stick_right": {
  585. "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/stick_right",
  586. "$ref": "#/definitions/key",
  587. "title": "Stick Right",
  588. "default": "L"
  589. },
  590. "stick_button": {
  591. "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/stick_button",
  592. "$ref": "#/definitions/key",
  593. "title": "Stick Button",
  594. "default": "H"
  595. },
  596. "button_a": {
  597. "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_a",
  598. "$ref": "#/definitions/key",
  599. "title": "Button A",
  600. "default": "Z"
  601. },
  602. "button_b": {
  603. "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_b",
  604. "$ref": "#/definitions/key",
  605. "title": "Button B",
  606. "default": "X"
  607. },
  608. "button_x": {
  609. "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_x",
  610. "$ref": "#/definitions/key",
  611. "title": "Button X",
  612. "default": "C"
  613. },
  614. "button_y": {
  615. "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_y",
  616. "$ref": "#/definitions/key",
  617. "title": "Button Y",
  618. "default": "V"
  619. },
  620. "button_plus": {
  621. "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_plus",
  622. "$ref": "#/definitions/key",
  623. "title": "Button Plus",
  624. "default": "Plus"
  625. },
  626. "button_r": {
  627. "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_r",
  628. "$ref": "#/definitions/key",
  629. "title": "Button R",
  630. "default": "U"
  631. },
  632. "button_zr": {
  633. "$id": "#/properties/keyboard_controls/properties/right_joycon/properties/button_zr",
  634. "$ref": "#/definitions/key",
  635. "title": "Button Zr",
  636. "default": "O"
  637. }
  638. }
  639. }
  640. }
  641. },
  642. "gamepad_controls": {
  643. "$id": "#/properties/gamepad_controls",
  644. "type": "object",
  645. "title": "GamePad Controls",
  646. "required": [
  647. "left_joycon",
  648. "right_joycon"
  649. ],
  650. "properties": {
  651. "enable": {
  652. "$id": "#/properties/gamepad_controls/properties/enable",
  653. "type": "boolean",
  654. "title": "Gamepad Enable",
  655. "description": "Enables or disables controller support",
  656. "default": true,
  657. "examples": [
  658. true,
  659. false
  660. ]
  661. },
  662. "index": {
  663. "$id": "#/properties/gamepad_controls/properties/index",
  664. "type": "integer",
  665. "title": "Gamepad Index",
  666. "description": "Controller Device Index",
  667. "default": 0,
  668. "minimum": 0,
  669. "examples": [
  670. 0,
  671. 1,
  672. 2
  673. ]
  674. },
  675. "deadzone": {
  676. "$id": "#/properties/gamepad_controls/properties/deadzone",
  677. "type": "number",
  678. "title": "Gamepad Deadzone",
  679. "description": "Controller Analog Stick Deadzone",
  680. "default": 0.05,
  681. "minimum": -32768.0,
  682. "maximum": 32767.0,
  683. "examples": [
  684. 0.05
  685. ]
  686. },
  687. "trigger_threshold": {
  688. "$id": "#/properties/gamepad_controls/properties/trigger_threshold",
  689. "type": "number",
  690. "title": "Controller Trigger Threshold",
  691. "description": "The value of how pressed down each trigger has to be in order to register a button press",
  692. "default": 0.5,
  693. "minimum": 0.0,
  694. "maximum": 1.0,
  695. "examples": [
  696. 0.5
  697. ]
  698. },
  699. "left_joycon": {
  700. "$id": "#/properties/gamepad_controls/properties/left_joycon",
  701. "type": "object",
  702. "title": "Left JoyCon Controls",
  703. "required": [
  704. "stick",
  705. "stick_button",
  706. "dpad_up",
  707. "dpad_down",
  708. "dpad_left",
  709. "dpad_right",
  710. "button_minus",
  711. "button_l",
  712. "button_zl"
  713. ],
  714. "properties": {
  715. "stick": {
  716. "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/stick",
  717. "$ref": "#/definitions/input",
  718. "title": "Stick",
  719. "default": "LJoystick"
  720. },
  721. "stick_button": {
  722. "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/stick_button",
  723. "$ref": "#/definitions/input",
  724. "title": "Stick Button",
  725. "default": "LStick"
  726. },
  727. "dpad_up": {
  728. "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/dpad_up",
  729. "$ref": "#/definitions/input",
  730. "title": "Dpad Up",
  731. "default": "DPadUp"
  732. },
  733. "dpad_down": {
  734. "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/dpad_down",
  735. "$ref": "#/definitions/input",
  736. "title": "Dpad Down",
  737. "default": "DPadDown"
  738. },
  739. "dpad_left": {
  740. "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/dpad_left",
  741. "$ref": "#/definitions/input",
  742. "title": "Dpad Left",
  743. "default": "DPadLeft"
  744. },
  745. "dpad_right": {
  746. "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/dpad_right",
  747. "$ref": "#/definitions/input",
  748. "title": "Dpad Right",
  749. "default": "DPadRight"
  750. },
  751. "button_minus": {
  752. "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/button_minus",
  753. "$ref": "#/definitions/input",
  754. "title": "Button Minus",
  755. "default": "Back"
  756. },
  757. "button_l": {
  758. "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/button_l",
  759. "$ref": "#/definitions/input",
  760. "title": "Button L",
  761. "default": "LShoulder"
  762. },
  763. "button_zl": {
  764. "$id": "#/properties/gamepad_controls/properties/left_joycon/properties/button_zl",
  765. "$ref": "#/definitions/input",
  766. "title": "Button ZL",
  767. "default": "LTrigger"
  768. }
  769. }
  770. },
  771. "right_joycon": {
  772. "$id": "#/properties/gamepad_controls/properties/right_joycon",
  773. "type": "object",
  774. "title": "Right JoyCon Controls",
  775. "required": [
  776. "stick",
  777. "stick_button",
  778. "button_a",
  779. "button_b",
  780. "button_x",
  781. "button_y",
  782. "button_plus",
  783. "button_r",
  784. "button_zr"
  785. ],
  786. "properties": {
  787. "stick": {
  788. "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/stick",
  789. "$ref": "#/definitions/input",
  790. "title": "Stick",
  791. "default": "RJoystick"
  792. },
  793. "stick_button": {
  794. "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/stick_button",
  795. "$ref": "#/definitions/input",
  796. "title": "Stick Button",
  797. "default": "RStick"
  798. },
  799. "button_a": {
  800. "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_a",
  801. "$ref": "#/definitions/input",
  802. "title": "Button A",
  803. "default": "B"
  804. },
  805. "button_b": {
  806. "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_b",
  807. "$ref": "#/definitions/input",
  808. "title": "Button B",
  809. "default": "A"
  810. },
  811. "button_x": {
  812. "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_x",
  813. "$ref": "#/definitions/input",
  814. "title": "Button X",
  815. "default": "Y"
  816. },
  817. "button_y": {
  818. "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_y",
  819. "$ref": "#/definitions/input",
  820. "title": "Button Y",
  821. "default": "X"
  822. },
  823. "button_plus": {
  824. "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_plus",
  825. "$ref": "#/definitions/input",
  826. "title": "Button Plus",
  827. "default": "Start"
  828. },
  829. "button_r": {
  830. "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_r",
  831. "$ref": "#/definitions/input",
  832. "title": "Button R",
  833. "default": "RShoulder"
  834. },
  835. "button_zr": {
  836. "$id": "#/properties/gamepad_controls/properties/right_joycon/properties/button_zr",
  837. "$ref": "#/definitions/input",
  838. "title": "Button ZR",
  839. "default": "RTrigger"
  840. }
  841. }
  842. }
  843. }
  844. }
  845. }
  846. }