@@ -473,26 +473,24 @@ <h2><a class="toc-backref" href="#id15">5. Mouse</a><a class="headerlink" href="
473473< div class ="section " id ="gamepads ">
474474< h2 > < a class ="toc-backref " href ="#id16 "> 6. Gamepads</ a > < a class ="headerlink " href ="#gamepads " title ="Permalink to this headline "> ¶</ a > </ h2 >
475475< p > The RIA supports up to four gamepads connected via USB. There is no way to
476- support all controllers without writing three different classes of
477- drivers: XInput, Sony, and HID. So that’s what’s in the RIA. Even so,
478- there is no standard button layout for HID so < code class ="docutils literal notranslate "> < span class ="pre "> des.c</ span > </ code > will need to be
479- adjusted to support new gamepads.</ p >
480- < p > Therefore the recommended gamepads for the Picocomputer are: Xbox 360,
481- Xbox One/Series, DualShock 4, and DualSense 5. There are plenty of
482- third-party Xbox and PlayStation controllers which should work fine as
483- well.</ p >
476+ support all controllers without writing three different classes of drivers:
477+ XInput, Sony, and HID. So that’s what’s in the RIA. Even so, there is no
478+ standard button layout for HID so < code class ="docutils literal notranslate "> < span class ="pre "> des.c</ span > </ code > will need to be adjusted to
479+ support new gamepads.</ p >
480+ < p > Therefore, the recommended gamepads for the Picocomputer are: Xbox 360, Xbox
481+ One/Series, DualShock 4, and DualSense 5. There are plenty of third-party
482+ Xbox and PlayStation controllers which should work fine as well.</ p >
484483< p > If your HID or third-party gamepad doesn’t work, it probably needs to be
485- added to < code class ="docutils literal notranslate "> < span class ="pre "> des.c</ span > </ code > . Be aware that any issues submitted in this regard
486- cannot be resolved by Rumbledethumps—who doesn’t have your gamepad. The
487- community needs to step up here if excellent HID controller support is
484+ added to < code class ="docutils literal notranslate "> < span class ="pre "> des.c</ span > </ code > . Any issues submitted in this regard cannot be resolved
485+ by Rumbledethumps—who doesn’t have your gamepad. The community needs to
486+ step up here if excellent third-party and HID controller support is
488487desired.</ p >
489488< p > Be aware that this project pushes TinyUSB to its limit. Okay, let’s be
490489frank here: the TinyUSB stack is janky as hell and doesn’t have any
491490documentation. If you do a lot of plugging and unplugging it will
492- eventually crash. Some devices will also break the boot sequence. Be
493- aware that any issues submitted in this regard cannot be resolved by
494- Rumbledethumps. The community needs to step up here if an excellent USB
495- stack is desired.</ p >
491+ eventually crash. Some devices will also break the boot sequence. Any
492+ issues submitted in this regard cannot be resolved by Rumbledethumps. The
493+ community needs to step up here if an excellent USB stack is desired.</ p >
496494< p > Enable and disable access to the RIA gamepad XRAM registers by setting the
497495extended register. The register value is the XRAM start address of the
498496gamepad registers. Any invalid address disables the gamepads.</ p >
@@ -542,8 +540,7 @@ <h2><a class="toc-backref" href="#id16">6. Gamepads</a><a class="headerlink" hre
542540< tbody >
543541< tr class ="row-even "> < td > < p > 0</ p > </ td >
544542< td > < p > DPAD</ p > </ td >
545- < td > < dl class ="simple ">
546- < dt > Extended buttons</ dt > < dd > < ul class ="simple ">
543+ < td > < ul class ="simple ">
547544< li > < p > bit 0: Direction pad up</ p > </ li >
548545< li > < p > bit 1: Direction pad down</ p > </ li >
549546< li > < p > bit 2: Direction pad left</ p > </ li >
@@ -553,14 +550,11 @@ <h2><a class="toc-backref" href="#id16">6. Gamepads</a><a class="headerlink" hre
553550< li > < p > bit 6: Sony button faces</ p > </ li >
554551< li > < p > bit 7: Connected</ p > </ li >
555552</ ul >
556- </ dd >
557- </ dl >
558553</ td >
559554</ tr >
560555< tr class ="row-odd "> < td > < p > 1</ p > </ td >
561556< td > < p > STICKS</ p > </ td >
562- < td > < dl class ="simple ">
563- < dt > Extended buttons</ dt > < dd > < ul class ="simple ">
557+ < td > < ul class ="simple ">
564558< li > < p > bit 0: Left stick up</ p > </ li >
565559< li > < p > bit 1: Left stick down</ p > </ li >
566560< li > < p > bit 2: Left stick left</ p > </ li >
@@ -570,14 +564,11 @@ <h2><a class="toc-backref" href="#id16">6. Gamepads</a><a class="headerlink" hre
570564< li > < p > bit 6: Right stick left</ p > </ li >
571565< li > < p > bit 7: Right stick right</ p > </ li >
572566</ ul >
573- </ dd >
574- </ dl >
575567</ td >
576568</ tr >
577569< tr class ="row-even "> < td > < p > 2</ p > </ td >
578570< td > < p > BTN0</ p > </ td >
579- < td > < dl class ="simple ">
580- < dt > Extended buttons</ dt > < dd > < ul class ="simple ">
571+ < td > < ul class ="simple ">
581572< li > < p > bit 0: A or Cross</ p > </ li >
582573< li > < p > bit 1: B or Circle</ p > </ li >
583574< li > < p > bit 2: X or Square</ p > </ li >
@@ -587,14 +578,11 @@ <h2><a class="toc-backref" href="#id16">6. Gamepads</a><a class="headerlink" hre
587578< li > < p > bit 6: Select/Back</ p > </ li >
588579< li > < p > bit 7: Start/Menu</ p > </ li >
589580</ ul >
590- </ dd >
591- </ dl >
592581</ td >
593582</ tr >
594583< tr class ="row-odd "> < td > < p > 3</ p > </ td >
595584< td > < p > BTN1</ p > </ td >
596- < td > < dl class ="simple ">
597- < dt > Extended buttons</ dt > < dd > < ul class ="simple ">
585+ < td > < ul class ="simple ">
598586< li > < p > bit 0: L2</ p > </ li >
599587< li > < p > bit 1: R2</ p > </ li >
600588< li > < p > bit 2: L3</ p > </ li >
@@ -604,8 +592,6 @@ <h2><a class="toc-backref" href="#id16">6. Gamepads</a><a class="headerlink" hre
604592< li > < p > bit 6: Undefined</ p > </ li >
605593< li > < p > bit 7: Undefined</ p > </ li >
606594</ ul >
607- </ dd >
608- </ dl >
609595</ td >
610596</ tr >
611597< tr class ="row-even "> < td > < p > 4</ p > </ td >
0 commit comments