actionKeysEx: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Update with USEFUL information <:aviator:717748619796545677> - thanks Lou for creating the page :D)
m (Some wiki formatting)
Line 6: Line 6:
|branch= dev
|branch= dev


|descr= Gives a broken down version of the return from [[actionKeys]]. Returns an [[array]] containing the breakdowns of the [[DIK_KeyCodes|dikCodes]] of keys, buttons and combos assigned to the given user action. Action names can be found in config class ControllerSchemes or [[:Category:Key Actions|user action names]] or user profile, for example:
|gr1= Interaction
<syntaxhighlight lang="cpp">
 
keyWatch[] = { 24 };
|descr= Gives a broken down version of [[actionKeys]] return. Returns an [[Array]] containing the breakdowns of the [[DIK_KeyCodes|dikCodes]] of keys, buttons and combos assigned to the given user action. Action names can be found in config class ControllerSchemes or [[:Category:Key Actions|user action names]] or user profile (see {{HashLink|#Example 1}}).
</syntaxhighlight>
In addition, some of the actions are also listed here: [[inputAction/actions]]
To retrieve the broken down value, use the property name without 'key':
<code>[[actionKeysEx]] "Watch"; {{cc|[[[24, "KEYBOARD"], [], false]]}}</code>
In addition, some of the actions are also listed in here: [[inputAction/actions]]


The Key Device can be one of several types:
The Key Device can be one of several types:
{{Columns|3
|
* {{hl|"KEYBOARD"}}
* {{hl|"KEYBOARD"}}
* {{hl|"MOUSE_BUTTON"}}
* {{hl|"MOUSE_BUTTON"}}
Line 22: Line 21:
* {{hl|"JOYSTICK_POV"}}
* {{hl|"JOYSTICK_POV"}}
* {{hl|"XINPUT"}} - (Xbox) Controller Input
* {{hl|"XINPUT"}} - (Xbox) Controller Input
* {{hl|"TRACKER"}} - Motion Tracking (TrackIR, Tobii, etc.)
* {{hl|"TRACKER"}} - Motion Tracking (TrackIR, Tobii etc)
 
|shrink= y
|gr1= Interaction
}}


|s1= [[actionKeysEx]] userAction
|s1= [[actionKeysEx]] userAction
Line 30: Line 29:
|p1= userAction: [[String]] - user action name (see [[inputAction/actions]])
|p1= userAction: [[String]] - user action name (see [[inputAction/actions]])


|r1= [[Array]] of Arrays - using the following format for each action key:
|r1= {{Feature|warning|The action key array format is subject to change as development for {{GVI|arma3|2.10|size=0.75}} is ongoing.}}
{{Feature|warning|The action key array format is subject to change as development for 2.10 is ongoing.}}  
[[Array]] - in format [mainKeyArray, comboKeyArray, isDoubleTap]:
# Main Key [[Array]] - Always given
* mainKeyArray: [[Array]] in format [dikCode, device, deviceId]:
#* Main Key DIK Code: [[Number]]
** dikCode: [[Number]]
#* Main Key Device: [[String]]
** device: [[String]]
#* Main Key Device ID: [[Number]] - Only given if the device is a Joystick type
** deviceId: [[Number]] - only given if the device is a Joystick type
# Combo Key [[Array]] - Only if the action key is a key combination
* comboKeyArray: identical to mainKeyArray - filled only if the action key is a key combination
#* Combo Key DIK Code: [[Number]]
** dikCode: [[Number]]
#* Combo Key Device: [[String]]
** device: [[String]]
#* Combo Key Device ID: [[Number]] - Would always be the same as the Main Key Device ID, as it is not possible to use two different Joystick devices in a key combination
** deviceId: [[Number]] - identical to ''mainKeyArray''<nowiki/>'s ''deviceId'' as it is impossible to use two different Joystick devices in a key combination
# IsDoubleTap Flag: [[Boolean]] - Action Key is a double-tap. Only possible when there is just the Main Key, key combinations can't have a double-tap flag
* isDoubleTap: [[Boolean]] - is the action key a double-tap. Only possible when there is just the Main Key, as key combinations cannot have a double-tap flag
 
|x1= To retrieve the following key's data, use the property name without 'key':
<syntaxhighlight lang="cpp">keyWatch[] = { 24 };</syntaxhighlight>
<sqf>actionKeysEx "Watch"; // [[[24, "KEYBOARD"], [], false]]</sqf>


|x1= <sqf>private _result = actionKeysEx "OpticsMode"; // [[[129,"MOUSE_BUTTON"],[29,"KEYBOARD"],false],[[181,"KEYBOARD"],[],false]]</sqf>
|x2= <sqf>private _result = actionKeysEx "OpticsMode"; // [[[129,"MOUSE_BUTTON"],[29,"KEYBOARD"],false],[[181,"KEYBOARD"],[],false]]</sqf>


|seealso= [[actionKeys]] [[actionKeysNames]] [[actionKeysNamesArray]]
|seealso= [[actionKeys]] [[actionKeysNames]] [[actionKeysNamesArray]]
}}
}}

Revision as of 13:46, 29 March 2022

Hover & click on the images for description
Only available in Development branch(es) until its release with Arma 3 patch v2.10.

Description

Description:
Gives a broken down version of actionKeys return. Returns an Array containing the breakdowns of the dikCodes of keys, buttons and combos assigned to the given user action. Action names can be found in config class ControllerSchemes or user action names or user profile (see Example 1). In addition, some of the actions are also listed here: inputAction/actions The Key Device can be one of several types:
  • "KEYBOARD"
  • "MOUSE_BUTTON"
  • "MOUSE_AXIS"
  • "JOYSTICK_BUTTON"
  • "JOYSTICK_AXIS"
  • "JOYSTICK_POV"
  • "XINPUT" - (Xbox) Controller Input
  • "TRACKER" - Motion Tracking (TrackIR, Tobii etc)
Groups:
Interaction

Syntax

Syntax:
actionKeysEx userAction
Parameters:
userAction: String - user action name (see inputAction/actions)
Return Value:
The action key array format is subject to change as development for Arma 3 logo black.png2.10 is ongoing.

Array - in format [mainKeyArray, comboKeyArray, isDoubleTap]:

  • mainKeyArray: Array in format [dikCode, device, deviceId]:
    • dikCode: Number
    • device: String
    • deviceId: Number - only given if the device is a Joystick type
  • comboKeyArray: identical to mainKeyArray - filled only if the action key is a key combination
    • dikCode: Number
    • device: String
    • deviceId: Number - identical to mainKeyArray's deviceId as it is impossible to use two different Joystick devices in a key combination
  • isDoubleTap: Boolean - is the action key a double-tap. Only possible when there is just the Main Key, as key combinations cannot have a double-tap flag

Examples

Example 1:
To retrieve the following key's data, use the property name without 'key':
keyWatch[] = { 24 };
actionKeysEx "Watch"; // [[[24, "KEYBOARD"], [], false]]
Example 2:
private _result = actionKeysEx "OpticsMode"; // [[[129,"MOUSE_BUTTON"],[29,"KEYBOARD"],false],[[181,"KEYBOARD"],[],false]]

Additional Information

See also:
actionKeys actionKeysNames actionKeysNamesArray

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note