Added controller map to the documentation, stating how physical

computer controllers are mapped to virtual console controllers.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2302 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2011-12-28 02:24:51 +00:00
parent f489007609
commit 08c59e5882
2 changed files with 99 additions and 1 deletions

View File

@ -28,6 +28,7 @@
<li><a href="#Games">Locating Game Images (aka, ROMs)</a></li> <li><a href="#Games">Locating Game Images (aka, ROMs)</a></li>
<li><a href="#Playing">Playing a Game</a></li> <li><a href="#Playing">Playing a Game</a></li>
<li><a href="#Keyboard">Keyboard Layout</a></li> <li><a href="#Keyboard">Keyboard Layout</a></li>
<li><a href="#ControlMap">Controller Map</a></li>
</ul> </ul>
</li> </li>
<li><a href="#Advanced">Advanced Configuration</a><br> <li><a href="#Advanced">Advanced Configuration</a><br>
@ -1558,6 +1559,103 @@
</table> </table>
</blockquote> </blockquote>
<h2><b><a name="ControlMap">6. Controller Map</a></b></h2>
<blockquote>
<p>Some Atari (virtual) controllers are simulated with more than one computer controller, and
there are several special cases where controllers are active in certain modes only, as the table
below shows. Items marked as <b>(+ extra)</b> indicate that the computer controller may not have
enough buttons/axes/etc to fully emulate the device, so extra functionality must be mapped to other
controllers.</p>
<table BORDER=2 cellpadding=5>
<tr>
<th>&nbsp;</th>
<th colspan="5">Computer</th>
</tr>
<tr>
<th>Virtual<br>Controller</th>
<th>Keyboard</th>
<th>Joystick</th>
<th>Mouse<br>(auto mode)</th>
<th>Mouse<br>(specific axis)</th>
<th>Stelladaptor/<br>2600-daptor</th>
</tr>
<tr>
<th> Joystick</th>
<td> &#x2713;</td>
<td> &#x2713;</td>
<td> &#x2713;</td>
<td> &#x2715;</td>
<td> &#x2713;</td>
</tr>
<tr>
<th> Paddles</th>
<td> &#x2713;</td>
<td> &#x2713;</td>
<td> &#x2713;</td>
<td> &#x2713; (+ extra)</td>
<td> &#x2713;</td>
</tr>
<tr>
<th> Booster</th>
<td> &#x2713;</td>
<td> &#x2713;</td>
<td> &#x2713; (+ extra)</td>
<td> &#x2715;</td>
<td> &#x2713; (+ extra)</td>
</tr>
<tr>
<th> Genesis</th>
<td> &#x2713;</td>
<td> &#x2713; (+ extra)</td>
<td> &#x2715;</td>
<td> &#x2715;</td>
<td> &#x2715;</td>
</tr>
<tr>
<th> Keyboard</th>
<td> &#x2713;</td>
<td> &#x2713;</td>
<td> &#x2715;</td>
<td> &#x2715;</td>
<td> &#x2715;</td>
</tr>
<tr>
<th> Driving</th>
<td> &#x2713;</td>
<td> &#x2713;</td>
<td> &#x2713;</td>
<td> &#x2715;</td>
<td> &#x2713;</td>
</tr>
<tr>
<th> Trackball/mouse</th>
<td> &#x2715;</td>
<td> &#x2715;</td>
<td> &#x2713;</td>
<td> &#x2713; (axis ignored)</td>
<td> &#x2715;</td>
</tr>
<tr>
<th> AtariVox</th>
<td> N/A</td>
<td> N/A</td>
<td> N/A</td>
<td> N/A</td>
<td> N/A</td>
</tr>
<tr>
<th> SaveKey</th>
<td> N/A</td>
<td> N/A</td>
<td> N/A</td>
<td> N/A</td>
<td> N/A</td>
</tr>
</table>
</blockquote>
<!-- ///////////////////////////////////////////////////////////////////////// --> <!-- ///////////////////////////////////////////////////////////////////////// -->
<br><br> <br><br>

View File

@ -117,7 +117,7 @@ void Driving::update()
void Driving::setMouseControl( void Driving::setMouseControl(
MouseAxisControl xaxis, MouseAxisControl yaxis, int ctrlID) MouseAxisControl xaxis, MouseAxisControl yaxis, int ctrlID)
{ {
// In 'automatic' mode, both axes on the mouse map to a single normal joystick // In 'automatic' mode, only the X-axis is used
if(xaxis == Controller::Automatic || yaxis == Controller::Automatic) if(xaxis == Controller::Automatic || yaxis == Controller::Automatic)
{ {
myControlID = ((myJack == Left && (ctrlID == 0 || ctrlID == 1)) || myControlID = ((myJack == Left && (ctrlID == 0 || ctrlID == 1)) ||