docs: add Controller Support section

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1323 af15c1b1-3010-417e-b628-4374ebc0bcbd
This commit is contained in:
Eric Wasylishen 2016-06-27 03:45:49 +00:00
parent 7897f0700e
commit 25417621eb
3 changed files with 188 additions and 0 deletions

View file

@ -57,6 +57,52 @@ Quakespasm can play various external music formats, including MP3, OGG and FLAC.
<item>See <url url="Quakespasm-Music.txt"> for more details.
</itemize>
<sect1>Controller Support<p>
The SDL2 variant of Quakespasm supports Xbox 360 style game controllers.
<p>
The default configuration uses the left analog stick for movement and the right for looking.
<p>
If your controller doesn't work you can try placing <url url="https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt" name="this file"> in your Quake directory, it is a community-maintained database that adds support for more controllers to SDL2.
<sect2>Cvars<p>
<itemize>
<item>joy_deadzone - Fraction of the stick travel to be deadzone, between 0 and 1. Default 0.2.
<item>joy_deadzone_trigger - Fraction of trigger range required to register a button press on the analog triggers, between 0 and 1. Default 0.001.
<item>joy_sensitivity_yaw/pitch - Max angular speed in degrees/second when looking. Defaults are 300 for yaw (turning left/right) and 150 for pitch (up/down).
<item>joy_exponent - For the look stick, the stick displacement (between 0 and 1) is raised to this power. Default is 3. A value of 1 would give a linear relationship between stick displacement and fraction of the maximum angular speed.
<item>joy_invert - Set to 1 to invert the vertical axis of the look stick.
<item>joy_swapmovelook - Set to 1 to swap the left and right analog stick functions. Default 0, move on the left stick, look on the right stick.
<item>joy_enable - Set to 0 to disable controller support. Default 1.
</itemize>
<sect2>Buttons<p>
Some of the controller buttons are hardcoded to allow navigating the menu:
<itemize>
<item>Back - alias for TAB
<item>Start - alias for ESC
<item>DPad, analog sticks - mapped to arrow keys
<item>A Button - alias for ENTER in menus
<item>B Button - alias for ESC in menus
</itemize>
These buttons can be bound normally:
<itemize>
<item>LTRIGGER - Left trigger
<item>RTRIGGER - Right trigger
<item>LSHOULDER - Left shoulder button
<item>RSHOULDER - Right shoulder button
<item>LTHUMB - Clicking the left thumbstick
<item>RTHUMB - Clicking the right thumbstick
<item>ABUTTON
<item>BBUTTON
<item>XBUTTON
<item>YBUTTON
</itemize>
quakespasm.pak contains a default.cfg which has been updated to give some default bindings. L/R shoulder buttons are bound to weapon switching, and L/R triggers are jump and attack.
<p>
The controller support started as Jeremiah Sypult's implementation in Quakespasm-Rift and also uses ideas and code from LordHavoc (DarkPlaces).
<sect> Compiling and Installation<p>
<p>Quakespasm's (optional) custom data is now stored in the file <bf>quakespasm.pak</bf>. This file should be placed alongside your quakespasm binary and <bf>id1</bf> directory.</p>

View file

@ -24,6 +24,7 @@
<UL>
<LI><A NAME="toc3.1">3.1</A> <A HREF="Quakespasm.html#ss3.1">Music Playback</A>
<LI><A NAME="toc3.2">3.2</A> <A HREF="Quakespasm.html#ss3.2">Controller Support</A>
</UL>
<P>
<H2><A NAME="toc4">4.</A> <A HREF="Quakespasm.html#s4">Compiling and Installation</A></H2>
@ -130,6 +131,57 @@ sound driver, some graphical niceities, and numerous bug-fixes and other improve
</UL>
</P>
<H2><A NAME="ss3.2">3.2</A> <A HREF="#toc3.2">Controller Support</A>
</H2>
<P>The SDL2 variant of Quakespasm supports Xbox 360 style game controllers.</P>
<P>The default configuration uses the left analog stick for movement and the right for looking.</P>
<P>If your controller doesn't work you can try placing
<A HREF="https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt">this file</A> in your Quake directory, it is a community-maintained database that adds support for more controllers to SDL2.</P>
<H3>Cvars</H3>
<P>
<UL>
<LI>joy_deadzone - Fraction of the stick travel to be deadzone, between 0 and 1. Default 0.2.</LI>
<LI>joy_deadzone_trigger - Fraction of trigger range required to register a button press on the analog triggers, between 0 and 1. Default 0.001.</LI>
<LI>joy_sensitivity_yaw/pitch - Max angular speed in degrees/second when looking. Defaults are 300 for yaw (turning left/right) and 150 for pitch (up/down).</LI>
<LI>joy_exponent - For the look stick, the stick displacement (between 0 and 1) is raised to this power. Default is 3. A value of 1 would give a linear relationship between stick displacement and fraction of the maximum angular speed.</LI>
<LI>joy_invert - Set to 1 to invert the vertical axis of the look stick.</LI>
<LI>joy_swapmovelook - Set to 1 to swap the left and right analog stick functions. Default 0, move on the left stick, look on the right stick.</LI>
<LI>joy_enable - Set to 0 to disable controller support. Default 1.</LI>
</UL>
</P>
<H3>Buttons</H3>
<P>Some of the controller buttons are hardcoded to allow navigating the menu:</P>
<P>
<UL>
<LI>Back - alias for TAB</LI>
<LI>Start - alias for ESC</LI>
<LI>DPad, analog sticks - mapped to arrow keys</LI>
<LI>A Button - alias for ENTER in menus</LI>
<LI>B Button - alias for ESC in menus</LI>
</UL>
</P>
<P>These buttons can be bound normally:</P>
<P>
<UL>
<LI>LTRIGGER - Left trigger</LI>
<LI>RTRIGGER - Right trigger</LI>
<LI>LSHOULDER - Left shoulder button</LI>
<LI>RSHOULDER - Right shoulder button</LI>
<LI>LTHUMB - Clicking the left thumbstick</LI>
<LI>RTHUMB - Clicking the right thumbstick</LI>
<LI>ABUTTON</LI>
<LI>BBUTTON</LI>
<LI>XBUTTON</LI>
<LI>YBUTTON</LI>
</UL>
quakespasm.pak contains a default.cfg which has been updated to give some default bindings. L/R shoulder buttons are bound to weapon switching, and L/R triggers are jump and attack.</P>
<P>The controller support started as Jeremiah Sypult's implementation in Quakespasm-Rift and also uses ideas and code from LordHavoc (DarkPlaces).</P>
<H2><A NAME="s4">4.</A> <A HREF="#toc4">Compiling and Installation</A></H2>

View file

@ -8,6 +8,9 @@
2. Downloads
3. Hints
3.1 Music Playback
3.2 Controller Support
3.2.1 Cvars
3.2.2 Buttons
4. Compiling and Installation
4.1 Linux/Unix
@ -119,6 +122,93 @@
o See Quakespasm-Music.txt for more details.
3.2. Controller Support
The SDL2 variant of Quakespasm supports Xbox 360 style game
controllers.
The default configuration uses the left analog stick for movement and
the right for looking.
If your controller doesn't work you can try placing this file
<https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt>
in your Quake directory, it is a community-maintained database that
adds support for more controllers to SDL2.
3.2.1. Cvars
o joy_deadzone - Fraction of the stick travel to be deadzone, between
0 and 1. Default 0.2.
o joy_deadzone_trigger - Fraction of trigger range required to
register a button press on the analog triggers, between 0 and 1.
Default 0.001.
o joy_sensitivity_yaw/pitch - Max angular speed in degrees/second
when looking. Defaults are 300 for yaw (turning left/right) and 150
for pitch (up/down).
o joy_exponent - For the look stick, the stick displacement (between
0 and 1) is raised to this power. Default is 3. A value of 1 would
give a linear relationship between stick displacement and fraction
of the maximum angular speed.
o joy_invert - Set to 1 to invert the vertical axis of the look
stick.
o joy_swapmovelook - Set to 1 to swap the left and right analog stick
functions. Default 0, move on the left stick, look on the right
stick.
o joy_enable - Set to 0 to disable controller support. Default 1.
3.2.2. Buttons
Some of the controller buttons are hardcoded to allow navigating the
menu:
o Back - alias for TAB
o Start - alias for ESC
o DPad, analog sticks - mapped to arrow keys
o A Button - alias for ENTER in menus
o B Button - alias for ESC in menus
These buttons can be bound normally:
o LTRIGGER - Left trigger
o RTRIGGER - Right trigger
o LSHOULDER - Left shoulder button
o RSHOULDER - Right shoulder button
o LTHUMB - Clicking the left thumbstick
o RTHUMB - Clicking the right thumbstick
o ABUTTON
o BBUTTON
o XBUTTON
o YBUTTON
quakespasm.pak contains a default.cfg which has been updated to
give some default bindings. L/R shoulder buttons are bound to
weapon switching, and L/R triggers are jump and attack.
The controller support started as Jeremiah Sypult's implementation in
Quakespasm-Rift and also uses ideas and code from LordHavoc
(DarkPlaces).
4. Compiling and Installation