Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

Difference between revisions of "Template:Input"

From PCGamingWiki, the wiki about fixing PC games
(added default notes for key remap, mouse sensitivity, and controller remap when set to false with no notes specified)
(fixed style/width issue)
(26 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
<div class="container-pcgwikitable"><table class="pcgwikitable template-infotable" id="table-settings-input">
 
<div class="container-pcgwikitable"><table class="pcgwikitable template-infotable" id="table-settings-input">
 
<tr class="template-infotable-head">
 
<tr class="template-infotable-head">
<th scope="col" style="width: 230px;">Keyboard and mouse</th>
+
<th scope="col" style="width: 230px;">{{#switch:{{{touchscreen|}}}|true|hackable=Keyboard and mouse, touch|#Default=Keyboard and mouse}}</th>
 
<th scope="col" style="width: 50px;">Native</th>
 
<th scope="col" style="width: 50px;">Native</th>
 
<th scope="col" style="width: 540px;">Notes</th>
 
<th scope="col" style="width: 540px;">Notes</th>
Line 10: Line 10:
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Remapping|Remapping]]</th>
 
<th scope="row">[[Glossary:Remapping|Remapping]]</th>
<td>{{Tickcross|{{{key remap}}}|Key remapping}}</td>
+
<td>{{Tickcross|{{{key remap}}}|Key remapping|section=Input}}</td>
<td>{{#if: {{{key remap notes|}}} | {{{key remap notes|}}} | {{#ifeq: {{lc:{{{key remap|}}}}} | false | {{#ifeq: {{#show: {{PAGENAME}} | ?release date DOS }} | | ''See the [[Glossary:Remapping|glossary page]] for potential workarounds.'' | ''For DOS use the [https://www.dosbox.com/wiki/Mapper DOSBox Mapper] (see the [[Glossary:Remapping|glossary page]] for other workarounds).''}}}}}}</td>
+
<td>{{#if: {{{key remap notes|}}} | {{{key remap notes|}}} | {{#ifeq: {{lc:{{{key remap|}}}}} | false | {{#if: {{#var:DOS}} | ''For DOSBox use the [https://www.dosbox.com/wiki/Mapper DOSBox Mapper] (see the [[Glossary:Remapping|glossary page]] for other workarounds).'' | ''See the [[Glossary:Remapping|glossary page]] for potential workarounds.'' }}}}}}</td>
 
</tr>
 
</tr>
  
Line 18: Line 18:
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Mouse acceleration|Mouse acceleration]]</th>
 
<th scope="row">[[Glossary:Mouse acceleration|Mouse acceleration]]</th>
<td>{{Tickcross-na|{{{acceleration option|}}}|Mouse acceleration}}</td>
+
<td>{{Tickcross-na|{{{acceleration option|}}}|Mouse acceleration|section=Input}}</td>
 
<td>{{{acceleration option notes|}}}</td>
 
<td>{{{acceleration option notes|}}}</td>
 
</tr>
 
</tr>
Line 27: Line 27:
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Mouse#Sensitivity|Mouse sensitivity]]</th>
 
<th scope="row">[[Glossary:Mouse#Sensitivity|Mouse sensitivity]]</th>
<td>{{Tickcross-na|{{{mouse sensitivity|}}}|Mouse sensitivity}}</td>
+
<td>{{Tickcross-na|{{{mouse sensitivity|}}}|Mouse sensitivity|section=Input}}</td>
<td>{{#if: {{{mouse sensitivity notes|}}} | {{{mouse sensitivity notes|}}} | {{#ifeq: {{lc:{{{mouse sensitivity|}}}}} | false | {{#ifeq: {{#show: {{PAGENAME}} | ?release date DOS }} | | | ''For DOS set in the [https://www.dosbox.com/wiki/Dosbox.conf#.5Bsdl.5D DOSBox configuration file].''}}}}}}</td>
+
<td>{{#if: {{{mouse sensitivity notes|}}} | {{{mouse sensitivity notes|}}} | {{#ifeq: {{lc:{{{mouse sensitivity|}}}}} | false | {{#if: {{#var:DOS}} | ''For DOSBox set in the [https://www.dosbox.com/wiki/Dosbox.conf#.5Bsdl.5D DOSBox configuration file].''}}}}}}</td>
 
</tr>
 
</tr>
 
}}
 
}}
Line 35: Line 35:
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Mouse|Mouse input in menus]]</th>
 
<th scope="row">[[Glossary:Mouse|Mouse input in menus]]</th>
<td>{{Tickcross|{{{mouse menu}}}|Mouse input in menus}}</td>
+
<td>{{Tickcross|{{{mouse menu}}}|Mouse input in menus|section=Input}}</td>
 
<td>{{{mouse menu notes|}}}</td>
 
<td>{{{mouse menu notes|}}}</td>
 
</tr>
 
</tr>
Line 43: Line 43:
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Invert Y-axis|Mouse Y-axis inversion]]</th>
 
<th scope="row">[[Glossary:Invert Y-axis|Mouse Y-axis inversion]]</th>
<td>{{Tickcross-na|{{{invert mouse y-axis|}}}|Mouse Y-axis inversion}}</td>
+
<td>{{Tickcross-na|{{{invert mouse y-axis|}}}|Mouse Y-axis inversion|section=Input}}</td>
 
<td>{{{invert mouse y-axis notes|}}}</td>
 
<td>{{{invert mouse y-axis notes|}}}</td>
 
</tr>
 
</tr>
 
}}
 
}}
 
+
{{#if: {{{touchscreen|}}} |
 +
{{#ifeq: {{lc:{{{touchscreen|}}}}}{{{touchscreen notes|}}} | false ||
 +
{{#ifeq: {{lc:{{{touchscreen|}}}}}{{{touchscreen notes|}}} | no ||
 +
{{#ifeq: {{lc:{{{touchscreen|}}}}} | unknown ||
 +
<tr class="template-infotable-body">
 +
<th scope="row">[[Glossary:Touchscreen|Touchscreen optimised]]</th>
 +
<td>{{Tickcross|{{{touchscreen|}}}|Touchscreen optimised|section=Input}}</td>
 +
<td>{{{touchscreen notes|}}}</td>
 +
</tr>
 +
}}
 +
}}
 +
}}
 +
}}
 
<!-- NEW SECTION -->
 
<!-- NEW SECTION -->
 
<!-- Controller support -->
 
<!-- Controller support -->
Line 58: Line 70:
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Controller|Controller support]]</th>
 
<th scope="row">[[Glossary:Controller|Controller support]]</th>
<td>{{Tickcross|{{{controller support}}}|Controller support}}</td>
+
<td>{{Tickcross|{{{controller support}}}|Controller support|section=Input}}</td>
<td>{{#if:{{{controller support notes|}}}|{{{controller support notes|}}}|{{#switch:{{#show: {{PAGENAME}} | ?Tracked motion controllers}}
+
<td>{{#if:{{{controller support notes|}}}|{{{controller support notes|}}}|{{#ifeq: {{lc:{{{controller support|}}}}} | false | {{#if: {{#var:DOS }} | ''For DOSBox use the [https://www.dosbox.com/wiki/Mapper DOSBox Mapper] (see the [[Glossary:Controller|glossary page]] for other workarounds).'' | ''See the [[Glossary:Controller|glossary page]] for potential workarounds.'' }}}}}}</td>
|hackable
 
|true    = ''For tracked motion controllers see [[#VR support|VR support]].''
 
|#Default = {{#ifeq: {{lc:{{{controller support|}}}}} | false | {{#ifeq: {{#show: {{PAGENAME}} | ?release date DOS }} | | ''See the [[Glossary:Controller|glossary page]] for potential workarounds.'' | ''For DOS use the [https://www.dosbox.com/wiki/Mapper DOSBox Mapper] (see the [[Glossary:Controller|glossary page]] for other workarounds).''}}}}
 
}}}}</td>
 
 
</tr>
 
</tr>
 
+
{{#switch: {{{controller support|}}}
 +
|true
 +
|yes
 +
|hackable={{#vardefine:controller yes|yes}}
 +
}}
 
<!-- THESE FIELDS WILL ONLY APPEAR IF CONTROLLER SUPPORT IS NOT FALSE, NO, OR UNKNOWN -->
 
<!-- THESE FIELDS WILL ONLY APPEAR IF CONTROLLER SUPPORT IS NOT FALSE, NO, OR UNKNOWN -->
{{#ifeq: {{lc:{{{controller support|}}}}} | false |[[Controller support level::false| ]]|
+
{{#ifeq: {{lc:{{{controller support|}}}}} | false |</table>[[Controller support level::false| ]]{{#vardefine:controller support level|false}}|
{{#ifeq: {{lc:{{{controller support|}}}}} | no |[[Controller support level::false| ]]|
+
{{#ifeq: {{lc:{{{controller support|}}}}} | no |</table>[[Controller support level::false| ]]{{#vardefine:controller support level|false}}|
{{#ifeq: {{lc:{{{controller support|}}}}} | unknown |[[Controller support level::unknown| ]]|
+
{{#ifeq: {{lc:{{{controller support|}}}}} | unknown |</table>[[Controller support level::unknown| ]]{{#vardefine:controller support level|unknown}}|
  
 
<!-- Full controller support -->
 
<!-- Full controller support -->
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Controller|<abbr title="All menus can be navigated with a controller. Supports Steam's Big Picture mode.">Full controller support</abbr>]]</th>
 
<th scope="row">[[Glossary:Controller|<abbr title="All menus can be navigated with a controller. Supports Steam's Big Picture mode.">Full controller support</abbr>]]</th>
<td>{{Tickcross|{{{full controller|}}}|Full controller support}}{{#ifeq: {{lc:{{{controller support|}}}}} | true | {{#ifeq: {{{full controller|}}} | true | [[Controller support level::full| ]] | [[Controller support level::partial| ]] }} | [[Controller support level::{{lc:{{{controller support|}}}}}| ]] }}</td>
+
<td>{{Tickcross|{{{full controller|}}}|Full controller support|section=Input}}{{#ifeq: {{lc:{{{controller support|}}}}} | true | {{#ifeq: {{{full controller|}}} | true | [[Controller support level::full| ]]{{#vardefine:controller support level|full}} | [[Controller support level::partial| ]]{{#vardefine:controller support level|partial}} }} | [[Controller support level::{{lc:{{{controller support|}}}}}| ]] }}</td>
 
<td>{{{full controller notes|}}}</td>
 
<td>{{{full controller notes|}}}</td>
 
</tr>
 
</tr>
Line 81: Line 93:
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Remapping|Controller remapping]]</th>
 
<th scope="row">[[Glossary:Remapping|Controller remapping]]</th>
<td>{{Tickcross|{{{controller remap|}}}|Controller remapping}}</td>
+
<td>{{Tickcross|{{{controller remap|}}}|Controller remapping|section=Input}}</td>
<td>{{#if: {{{controller remap notes|}}} | {{{controller remap notes|}}} | {{#ifeq: {{lc:{{{controller remap|}}}}} | false | {{#ifeq: {{#show: {{PAGENAME}} | ?release date DOS }} | | ''See the [[Glossary:Remapping|glossary page]] for potential workarounds.'' | ''For DOS use the [https://www.dosbox.com/wiki/Mapper DOSBox Mapper] (see the [[Glossary:Remapping|glossary page]] for other workarounds).''}}}}}}</td>
+
<td>{{#if: {{{controller remap notes|}}} | {{{controller remap notes|}}} | {{#ifeq: {{lc:{{{controller remap|}}}}} | false | {{#if: {{#var:DOS}} | ''For DOSBox use the [https://www.dosbox.com/wiki/Mapper DOSBox Mapper] (see the [[Glossary:Remapping|glossary page]] for other workarounds).'' | ''See the [[Glossary:Remapping|glossary page]] for potential workarounds.'' }}}}}}</td>
 
</tr>
 
</tr>
  
Line 88: Line 100:
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Controller|Controller sensitivity]]</th>
 
<th scope="row">[[Glossary:Controller|Controller sensitivity]]</th>
<td>{{Tickcross-na|{{{controller sensitivity|}}}|Controller sensitivity}}</td>
+
<td>{{Tickcross-na|{{{controller sensitivity|}}}|Controller sensitivity|section=Input}}</td>
 
<td>{{{controller sensitivity notes|}}}</td>
 
<td>{{{controller sensitivity notes|}}}</td>
 
</tr>
 
</tr>
 +
  
 
<!-- Invert Y-axis -->
 
<!-- Invert Y-axis -->
Line 96: Line 109:
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Invert Y-axis|Controller Y-axis inversion]]</th>
 
<th scope="row">[[Glossary:Invert Y-axis|Controller Y-axis inversion]]</th>
<td>{{Tickcross-na|{{{invert controller y-axis|}}}|Controller Y-axis inversion}}</td>
+
<td>{{Tickcross-na|{{{invert controller y-axis|}}}|Controller Y-axis inversion|section=Input}}</td>
 
<td>{{{invert controller y-axis notes|}}}</td>
 
<td>{{{invert controller y-axis notes|}}}</td>
 
</tr>
 
</tr>
 
}}
 
}}
 +
</table>
 
}}
 
}}
 
}}
 
}}
 
}}
 
}}
 
+
{{#ifeq: {{{xinput controllers|}}}{{{dualshock 4|}}}{{{tracked motion controllers|}}}{{{other controllers|}}}|unknownunknownunknownunknown||
<!-- NEW SECTION -->
+
{{#if: {{{xinput controllers|}}}{{{dualshock 4|}}}{{{tracked motion controllers|}}}{{{other controllers|}}}|
<!-- Other settings -->
+
<table class="mw-collapsed pcgwikitable template-infotable" style="margin-top: -16px;">
{{#if: {{{touchscreen|}}} |
 
{{#ifeq: {{lc:{{{touchscreen|}}}}} | false ||
 
{{#ifeq: {{lc:{{{touchscreen|}}}}} | no ||
 
{{#ifeq: {{lc:{{{touchscreen|}}}}} | unknown ||
 
 
<tr class="template-infotable-secondhead">
 
<tr class="template-infotable-secondhead">
<th scope="col" style="width: 230px;">Other</th>
+
<th scope="col" style="width: 230px;">Controller types</th>
 
<th scope="col" style="width: 50px;"></th>
 
<th scope="col" style="width: 50px;"></th>
 
<th scope="col" style="width: 540px;"></th>
 
<th scope="col" style="width: 540px;"></th>
 
</tr>
 
</tr>
 +
</table>
 +
{{#if:{{#var:controller yes}}|
 +
{{#ifeq:{{{xinput controllers|}}}|no|<table class="pcgwikitable template-infotable" style="margin-top: -16px;">|
 +
{{#ifeq:{{{xinput controllers|}}}|false|<table class="pcgwikitable template-infotable" style="margin-top: -16px;">|
 +
{{#ifeq:{{{xinput controllers|}}}|unknown|<table class="pcgwikitable template-infotable" style="margin-top: -16px;">|
 +
<table class="mw-collapsible mw-collapsed pcgwikitable template-infotable" style="margin-top: -16px;">}}}}}}
 +
<tr class="template-infotable-body" style="background-color:#ffffff;">
 +
<th scope="col" style="width: 230px;">[[Glossary:Controller|XInput-compatible controllers]]</th>
 +
<td scope="col" style="width: 50px;">{{tickcross|{{{xinput controllers|}}}|XInput controller support|section=Input}}</td>
 +
<td scope="col" style="width: 540px;">{{#if: {{{xinput controllers notes|}}} | {{{xinput controllers notes|}}} | {{#ifeq: {{lc:{{{xinput controllers|}}}}} | false | ''See the [[Glossary:Controller|glossary page]] for potential workarounds.'' }}}}</td>
 +
</tr>
 +
{{#ifeq:{{{xinput controllers|}}}|no||
 +
{{#ifeq:{{{xinput controllers|}}}|false||
 +
{{#ifeq:{{{xinput controllers|}}}|unknown||
 +
<tr class="template-infotable-body" style="background-color:#f5f5f5;">
 +
<th scope="row">[[Glossary:Controller|Xbox button prompts]]</th>
 +
<td>{{tickcross|{{{xbox prompts|}}}|Xbox prompts|section=Input}}</td>
 +
<td>{{{xbox prompts notes|}}}</td>
 +
</tr>
 +
<tr class="template-infotable-body" style="background-color:#ffffff;">
 +
<th scope="row">[[Controller:Xbox One Controller|{{abbr|Impulse Trigger vibration|Xbox One controllers only, Microsoft Store/UWP only}}]]</th>
 +
<td>{{Tickcross|{{{impulse triggers|}}}|Xbox One Impulse Triggers|section=Input}}</td>
 +
<td>{{{impulse triggers notes|}}}</td>
 +
</tr>
 +
}}
 +
}}
 +
}}
 +
</table>
 +
{{#ifeq:{{{dualshock 4|}}}|no|<table class="pcgwikitable template-infotable" style="margin-top: -16px;">|
 +
{{#ifeq:{{{dualshock 4|}}}|false|<table class="pcgwikitable template-infotable" style="margin-top: -16px;">|
 +
{{#ifeq:{{{dualshock 4|}}}|unknown|<table class="pcgwikitable template-infotable" style="margin-top: -16px;">|
 +
<table class="mw-collapsible mw-collapsed pcgwikitable template-infotable" style="margin-top: -16px;">}}}}}}
 +
<tr class="template-infotable-body">
 +
<th scope="col" style="width: 230px;">[[Controller:DualShock 4|DualShock 4 controllers]]</th>
 +
<td scope="col" style="width: 50px;">{{tickcross|{{{dualshock 4|}}}|DualShock 4 controller support|section=Input}}</td>
 +
<td scope="col" style="width: 540px;">{{#if: {{{dualshock 4 notes|}}} | {{{dualshock 4 notes|}}} | {{#ifeq: {{lc:{{{dualshock 4|}}}}} | false | ''See the [[Glossary:Controller|glossary page]] for potential workarounds.'' }}}}</td>
 +
</tr>
 +
{{#ifeq:{{{dualshock 4|}}}|no||
 +
{{#ifeq:{{{dualshock 4|}}}|false||
 +
{{#ifeq:{{{dualshock 4|}}}|unknown||
 +
<tr class="template-infotable-body">
 +
<th scope="row">[[Controller:DualShock 4|DualShock button prompts]]</th>
 +
<td>{{tickcross|{{{dualshock prompts|}}}|DualShock prompts|section=Input}}</td>
 +
<td>{{{dualshock prompts notes|}}}</td>
 +
</tr>
  
<!-- Touchscreen optimised -->
 
{{#if: {{{touchscreen|}}} |
 
{{#ifeq: {{lc:{{{touchscreen|}}}}} | unknown | |
 
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
<th scope="row">[[Glossary:Touchscreen|Touchscreen optimised]]</th>
+
<th scope="row">[[Controller:DualShock 4|Light bar support]]</th>
<td>{{Tickcross|{{{touchscreen|}}}|Touchscreen optimised}}</td>
+
<td>{{Tickcross|{{{light bar support|}}}|DualShock 4 light bar support|section=Input}}</td>
<td>{{{touchscreen notes|}}}</td>
+
<td>{{{light bar support notes|}}}</td>
 +
</tr>
 +
<tr class="template-infotable-body">
 +
<th scope="row">Connection modes</th>
 +
<td colspan="2">{{{dualshock 4 modes|}}}{{#if:{{{dualshock 4 modes notes|}}}|<br/>{{{dualshock 4 modes notes|}}}}}{{#ifeq:{{{dualshock 4 modes|}}}|unknown||{{#arraymap:{{{dualshock 4 modes|}}}|,|var|[[DualShock 4 connection modes::var| ]]|&#32;}}}}</td>
 +
</tr>
 +
}}
 +
}}
 +
}}
 +
</table>
 +
}}
 +
{{#ifeq:{{{tracked motion controllers|}}}|no|<table class="pcgwikitable template-infotable" style="margin-top: -16px;">|
 +
{{#ifeq:{{{tracked motion controllers|}}}|false|<table class="pcgwikitable template-infotable" style="margin-top: -16px;">|
 +
{{#ifeq:{{{tracked motion controllers|}}}|unknown|<table class="pcgwikitable template-infotable" style="margin-top: -16px;">|
 +
<table class="mw-collapsible mw-collapsed pcgwikitable template-infotable" style="margin-top: -16px;">}}}}}}
 +
<tr class="template-infotable-body" style="background-color:#ffffff;">
 +
<th scope="col" style="width: 230px;">[[Glossary:Tracked motion controllers|Tracked motion controllers]]</th>
 +
<td scope="col" style="width: 50px;">{{Tickcross|{{{tracked motion controllers|}}}|Tracked motion controllers|section=Input}}{{#vardefine:tracked motion controllers|{{{tracked motion controllers|}}}}}</td>
 +
<td scope="col" style="width: 540px;">{{{tracked motion controllers notes|}}}</td>
 +
</tr>
 +
{{#ifeq:{{{tracked motion controllers|}}}|no||
 +
{{#ifeq:{{{tracked motion controllers|}}}|false||
 +
{{#ifeq:{{{tracked motion controllers|}}}|unknown||
 +
<tr class="template-infotable-body" style="background-color:#f5f5f5;">
 +
<th scope="row">[[Glossary:Tracked motion controllers|Button/gesture prompts]]</th>
 +
<td>{{tickcross|{{{tracked motion prompts|}}}|Tracked motion controller prompts|section=Input}}</td>
 +
<td>{{{tracked motion prompts notes|}}}</td>
 +
</tr>
 +
}}
 +
}}
 +
}}
 +
</table>
 +
{{#if:{{#var:controller yes}}|
 +
{{#ifeq:{{{other controllers|}}}|no|<table class="pcgwikitable template-infotable" style="margin-top: -16px;">|
 +
{{#ifeq:{{{other controllers|}}}|false|<table class="pcgwikitable template-infotable" style="margin-top: -16px;">|
 +
{{#ifeq:{{{other controllers|}}}|unknown|<table class="pcgwikitable template-infotable" style="margin-top: -16px;">|
 +
<table class="mw-collapsible mw-collapsed pcgwikitable template-infotable" style="margin-top: -16px;">}}}}}}
 +
<tr class="template-infotable-body">
 +
<th scope="col" style="width: 230px;">[[Glossary:Controller|{{abbr|Generic/other controllers|Controllers that do not fall into any other category}}]]</th>
 +
<td scope="col" style="width: 50px;">{{tickcross|{{{other controllers|}}}|Other controller support|section=Input}}</td>
 +
<td scope="col" style="width: 540px;">{{#if: {{{other controllers notes|}}} | {{{other controllers notes|}}} | {{#ifeq: {{lc:{{{other controllers|}}}}} | false | ''See the [[Glossary:Controller|glossary page]] for potential workarounds.'' }}}}</td>
 +
</tr>
 +
{{#ifeq:{{{other controllers|}}}|no||
 +
{{#ifeq:{{{other controllers|}}}|false||
 +
{{#ifeq:{{{other controllers|}}}|unknown||
 +
<tr class="template-infotable-body">
 +
<th scope="row">[[Glossary:Controller|Button prompts]]</th>
 +
<td>{{#arraymaptemplate:{{{other button prompts|{{{button prompts}}}}}}|Prompts|,|}}{{#ifeq:{{lc:{{{other button prompts|{{{button prompts}}}}}}}}|false|{{#vardefine:PCGWR Input known|{{#expr:{{#var:PCGWR Input known}}+1}}}}|{{#ifeq:{{lc:{{{other button prompts|{{{button prompts}}}}}}}}|no|{{#vardefine:PCGWR Input known|{{#expr:{{#var:PCGWR Input known}}+1}}}}|{{#ifeq:{{lc:{{{other button prompts|{{{button prompts}}}}}}}}|unknown||{{#vardefine:PCGWR Input|{{#expr:{{#var:PCGWR Input}}+1}}}}{{#vardefine:PCGWR Input known|{{#expr:{{#var:PCGWR Input known}}+1}}}}}}}}}}</td>
 +
<td>{{{other button prompts notes|{{{button prompts notes|}}}}}}</td>
 
</tr>
 
</tr>
}}
 
 
}}
 
}}
 
+
}}
 +
}}
 +
</table>
 
}}
 
}}
 
}}
 
}}
 
}}
 
}}
}}
+
{{#if:{{#switch: {{{haptic feedback|}}}
</table>{{#ifeq: {{lc:{{{controller support|}}}}} | false ||
+
|true
{{#ifeq: {{lc:{{{controller support|}}}}} | no ||
+
|yes
{{#ifeq: {{lc:{{{controller support|}}}}} | unknown ||
+
|hackable=yes
<table class="mw-collapsible mw-collapsed pcgwikitable template-infotable" id="table-settings-input-additional" style="margin-top: -16px; width: 820px;">
+
}}{{#switch: {{{tracked motion controllers|}}}
 +
|true
 +
|yes
 +
|hackable=yes
 +
}}{{#var:controller yes}}|
 +
{{#if:{{#var:controller yes}}|<table class="mw-collapsible mw-collapsed pcgwikitable template-infotable" id="table-settings-input-additional" style="margin-top: -16px;">|<table class="pcgwikitable template-infotable" id="table-settings-input-additional" style="margin-top: -16px;">}}
 
<tr class="template-infotable-head">
 
<tr class="template-infotable-head">
 
<th scope="col" style="width: 230px;">Additional information</th>
 
<th scope="col" style="width: 230px;">Additional information</th>
<th scope="col" style="min-width: 50px; max-width: 120px;"></th>
+
<th scope="col" style="width: 50px;"></th>
<th scope="col" style="min-width: 470px;"></th>
+
<th scope="col" style="width: 540px;"></th>
 
</tr>
 
</tr>
 
+
{{#if: {{#var:controller yes}} |
 +
{{#ifeq:{{{button prompts|}}}| ||
 +
{{#ifeq:{{{button prompts|}}}|unknown||
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Controller|Button prompts]]</th>
 
<th scope="row">[[Glossary:Controller|Button prompts]]</th>
<td>{{#arraymaptemplate:{{{button prompts}}}|Prompts|,|}}</td>
+
<td>{{#arraymaptemplate:{{{button prompts}}}|Prompts|,|}}{{#ifeq:{{lc:{{{button prompts}}}}}|false|{{#vardefine:PCGWR Input known|{{#expr:{{#var:PCGWR Input known}}+1}}}}|{{#ifeq:{{lc:{{{button prompts}}}}}|no|{{#vardefine:PCGWR Input known|{{#expr:{{#var:PCGWR Input known}}+1}}}}|{{#ifeq:{{lc:{{{button prompts}}}}}|unknown||{{#vardefine:PCGWR Input|{{#expr:{{#var:PCGWR Input}}+1}}}}{{#vardefine:PCGWR Input known|{{#expr:{{#var:PCGWR Input known}}+1}}}}}}}}}}</td>
 
<td>{{{button prompts notes|}}}</td>
 
<td>{{{button prompts notes|}}}</td>
 
</tr>
 
</tr>
 
+
}}
 +
}}
 +
}}
 +
{{#if: {{#var:controller yes}} |
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Controller|Controller hotplugging]]</th>
 
<th scope="row">[[Glossary:Controller|Controller hotplugging]]</th>
<td>{{Tickcross|{{{controller hotplug|}}}|Controller hotplugging}}</td>
+
<td>{{Tickcross|{{{controller hotplug|}}}|Controller hotplugging|section=Input}}</td>
 
<td>{{{controller hotplug notes|}}}</td>
 
<td>{{{controller hotplug notes|}}}</td>
 
</tr>
 
</tr>
 
+
}}
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Controller|{{abbr|Haptic feedback|Commonly referred to as controller vibration, force feedback, rumble, or dualshock.}}]]</th>
 
<th scope="row">[[Glossary:Controller|{{abbr|Haptic feedback|Commonly referred to as controller vibration, force feedback, rumble, or dualshock.}}]]</th>
<td>{{Tickcross|{{{haptic feedback|}}}|Controller haptic feedback}}</td>
+
<td>{{Tickcross|{{{haptic feedback|}}}|Controller haptic feedback|section=Input}}</td>
 
<td>{{{haptic feedback notes|}}}</td>
 
<td>{{{haptic feedback notes|}}}</td>
 
</tr>
 
</tr>
 
+
{{#if: {{#var:controller yes}} |
 
 
{{#if: {{{simultaneous input|}}} |
 
 
<tr class="template-infotable-body">
 
<tr class="template-infotable-body">
 
<th scope="row">[[Glossary:Controller|{{abbr|Simultaneous controller+KB/M|Both controller and keyboard/mouse inputs can be used at the same time}}]]</th>
 
<th scope="row">[[Glossary:Controller|{{abbr|Simultaneous controller+KB/M|Both controller and keyboard/mouse inputs can be used at the same time}}]]</th>
<td>{{Tickcross|{{{simultaneous input|}}}|Simultaneous input}}</td>
+
<td>{{Tickcross|{{{simultaneous input|}}}|Simultaneous input|section=Input}}</td>
 
<td>{{{simultaneous input notes|}}}</td>
 
<td>{{{simultaneous input notes|}}}</td>
 
</tr>
 
</tr>
 
}}
 
}}
 +
</table>}}<!--
 +
--> {{#if: {{#var:steam appid}} |<!--
 +
--> {{#ifeq: {{{steam input api|}}} | ||<!--
 +
--> {{#ifeq: {{{steam input api|}}} | unknown ||<!--
 +
--> <table class="mw-collapsible mw-collapsed pcgwikitable template-infotable" style="margin-top: -16px;">
 +
<tr class="template-infotable-head">
 +
<th scope="col" style="width: 230px;">Steam Input</th>
 +
<th scope="col" style="width: 50px;"></th>
 +
<th scope="col" style="width: 540px;"></th>
 +
</tr>
 +
<tr class="template-infotable-body">
 +
<th scope="row">[[Controller:Steam Controller|Steam Input API support]]</th>
 +
<td>{{Tickcross|{{{steam input api|}}}|Steam Input API support}}</td>
 +
<td>{{{steam input api notes|}}}</td>
 +
</tr>
 +
 +
{{#ifeq: {{{steam input api|}}} | false |
 +
<tr class="template-infotable-body">
 +
<th scope="row">[[Store:Steam#Steam Input|<abbr title="Steam can hook game input">Hook input (legacy mode)</abbr>]]</th>
 +
<td>{{Tickcross|{{{steam hook input|}}}|Steam hook input}}</td>
 +
<td>{{{steam hook input notes|}}}</td>
 +
</tr>
 +
}}
  
 +
{{#ifeq: {{{steam input api|}}}{{{steam hook input|}}} | falsefalse ||
 +
<tr class="template-infotable-body">
 +
<th scope="row">[[Controller:Steam Controller|Official controller preset(s)]]</th>
 +
<td>{{Tickcross|{{{steam input presets|}}}|Steam Input presets}}</td>
 +
<td>{{{steam input presets notes|}}}</td>
 +
</tr>
 +
}}
 +
<tr class="template-infotable-body">
 +
<th scope="row">[[Controller:Steam Controller|Steam Controller button prompts]]</th>
 +
<td>{{Tickcross|{{{steam controller prompts|}}}|Steam Controller prompts}}</td>
 +
<td>{{{steam controller prompts notes|}}}</td>
 +
</tr>
  
{{#ifeq: {{#show: {{PAGENAME}} | ?Steam AppID}} | | |
+
{{#ifeq: {{{steam input api|}}} | false |
{{#ifeq: {{{steam input api|}}} | ||
+
{{#ifeq: {{{steam hook input|}}} | false ||
{{#ifeq: {{{steam input api|}}} | unknown ||
+
{{#ifeq: {{{steam hook input|}}} | unknown ||
<tr class="template-infotable-body">
+
<tr class="template-infotable-body">
<th scope="row">[[Controller:Steam Controller|Steam Input API support]]</th>
+
<th scope="row">[[Store:Steam#Steam Input|<abbr title="Detect in-game cursor for automatic layout switching">Cursor detection</abbr>]]</th>
<td>{{Tickcross|{{{steam input api|}}}|Steam Input API support}}</td>
+
<td>{{Tickcross-na|{{{steam cursor detection|}}}|Steam Input mouse cursor detection}}</td>
<td>{{{steam input api notes|}}}</td>
+
<td>{{{steam cursor detection notes|}}}</td>
</tr>
+
</tr>
 +
}}
 +
}}
 +
}}
 +
</table>
 
}}
 
}}
 
}}
 
}}
}}
+
}}<!-- Hidden property
{{#if: {{{light bar support|}}} |
+
-->{{#ifeq:{{{light bar support|}}}|unknown||[[DualShock 4 light bar support::{{{light bar support|}}}| ]]}}<!--
{{#ifeq: {{{light bar support|}}} | unknown ||
+
-->[[PCGWR Input::{{#var_final:PCGWR Input}}| ]]<!--
{{#ifeq: {{{light bar support|}}} | false ||
+
-->[[PCGWR Input known::{{#var_final:PCGWR Input known}}| ]]<!--
<tr class="template-infotable-body">
+
-->[[PCGWR Input unknown::{{#var_final:PCGWR Input unknown}}| ]]<!--
<th scope="row">[[Controller:DualShock 4|DualShock 4 light bar support]]</th>
+
--></div></includeonly><noinclude>{{Documentation}}</noinclude>
<td>{{Tickcross|{{{light bar support|}}}|DualShock 4 light bar support}}</td>
 
<td>{{{light bar support notes|}}}</td>
 
</tr>
 
}}
 
}}
 
}}
 
</table>}}
 
}}
 
}}</div></includeonly><noinclude>{{Documentation}}</noinclude>
 

Revision as of 07:23, 20 April 2018

Documentation for the above template (sometimes hidden from view).
Description

This table is meant to contain all information relating to input settings and features. If a setting is hackable or requires additional notes, add the information below the table in a header like so:

=== [[Controller support]] ===
Fixbox here
...

and make note of it in the table in the following fashion See [[#Controller support|Controller support]]. Any smaller notes can and should be included directly in the table.

Below is a more thorough explanation of each of the possible arguments. Each can be appended with  notes to fill in the information in the Notes column.

Arguments
  • key remap - Whether the keyboard and mouse buttons are rebindable.
  • acceleration option - Whether the game uses mouse acceleration/smooting. Clarify which in the notes.
  • mouse sensitivity - Whether the sensitivity of mouse movement can be adjusted. This only applies to games with some sort of camera control.
  • mouse menu - Whether the mouse can be used to navigate the menu.
  • invert mouse y-axis - Whether the mouse Y-axis can be inverted. This only applies to games with some sort of camera control.
  • touchscreen - Whether the game is optimized for touchscreens.
  • controller support - Whether the game supports controllers.
  • full controller - Whether the game supports using just the controller, aka "Big Picture".
  • controller remap - Whether the controller buttons are rebindable.
  • controller sensitivity - Whether the sensitivity of the controller's analog stick inputs can be adjusted. This only applies to games with some sort of camera control.
  • invert controller y-axis - Whether the controller Y-axis can be inverted. This only applies to games with some sort of camera control.
  • xinput controllers - Whether the game supports XInput controllers.
  • xbox prompts - Whether Xbox button prompts are available in-game.
  • impulse triggers - Whether the game supports the Xbox Wireless Controller Impulse Triggers.
  • playstation controllers - Whether the game supports DualShock 4 and/or DualSense controllers.
    • dualshock 4 - The deprecated argument for this information.
  • playstation controller models - What models and revisions of the DualShock 3, DualShock 4 or DualSense are supported (comma-separated).
  • playstation prompts - Whether DualShock and/or DualSense button prompts are available in-game.
    • dualshock prompts - The deprecated argument for this information.
  • light bar support - Whether the game supports the light bar.
  • dualsense adaptive trigger support - Whether the game supports the DualSense adaptive triggers.
  • dualsense haptics support - Whether the game supports DualSense haptic feedback.
  • playstation connection modes - What DualShock 4 and/or DualSense connection modes are supported by the game (comma-separated).
    • See {{Input/ps connections}} for acceptable values.
    • dualshock 4 modes - The deprecated argument for this information.
  • tracked motion controllers - Tracked motion controllers support.
  • tracked motion prompts - Whether the game supports Tracked motion controllers button/gesture prompts.
  • other controllers - Whether the game supports generic/other controllers.
  • other button prompts - Whether generic/other button prompts are available in-game (comma-separated).
  • controller hotplug - Whether the game supports controller hotplugging.
  • haptic feedback - Whether the game has haptic feedback.
  • digital movement supported - Whether the game is completely playable using digital movement controls (such as a D-pad, arcade joystick, or WASD keys), as opposed to analog.
  • simultaneous input - Whether supports using controller and keyboard/mouse inputs at the same time.
  • steam input api - Whether supports the Steam Input API.
  • steam hook input - Whether Steam manages to hook input using legacy mode (only when not using Steam Input API).
  • steam input presets - Whether the game supports official Steam Input presets.
  • steam controller prompts - Whether Steam Controller button prompts are available in-game.
  • steam cursor detection - Whether Steam manages to differentiate between elements of the game where cursor is visible and where its hidden (only for Legacy mode).


Syntax
{{Input
|key remap                 = 
|key remap notes           = 
|acceleration option       = 
|acceleration option notes = 
|mouse sensitivity         = 
|mouse sensitivity notes   = 
|mouse menu                = 
|mouse menu notes          = 
|invert mouse y-axis       = 
|invert mouse y-axis notes = 
|touchscreen               = 
|touchscreen notes         = 
|controller support        = 
|controller support notes  = 
|full controller           = 
|full controller notes     = 
|controller remap          = 
|controller remap notes    = 
|controller sensitivity    = 
|controller sensitivity notes = 
|invert controller y-axis  = 
|invert controller y-axis notes = 
|xinput controllers        = 
|xinput controllers notes  = 
|xbox prompts              = 
|xbox prompts notes        = 
|impulse triggers          = 
|impulse triggers notes    = 
|playstation controllers   = 
|playstation controller models = 
|playstation controllers notes = 
|playstation prompts       = 
|playstation prompts notes = 
|light bar support         = 
|light bar support notes   = 
|dualsense adaptive trigger support =
|dualsense adaptive trigger support notes =
|dualsense haptics support  =
|dualsense haptics support notes =
|playstation connection modes = 
|playstation connection modes notes = 
|tracked motion controllers = 
|tracked motion controllers notes = 
|tracked motion prompts    = 
|tracked motion prompts notes = 
|other controllers         = 
|other controllers notes   = 
|other button prompts      = 
|other button prompts notes= 
|controller hotplug        = 
|controller hotplug notes  = 
|haptic feedback           = 
|haptic feedback notes     = 
|digital movement supported = 
|digital movement supported notes= 
|simultaneous input        = 
|simultaneous input notes  = 
|steam input api           = 
|steam input api notes     = 
|steam hook input          = 
|steam hook input notes    = 
|steam input presets       = 
|steam input presets notes = 
|steam controller prompts  = 
|steam controller prompts notes = 
|steam cursor detection    = 
|steam cursor detection notes = 
}}
See also