actionKeysEx: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Fix return value)
m (Some wiki formatting)
 
(4 intermediate revisions by 2 users not shown)
Line 4: Line 4:
|version1= 2.10
|version1= 2.10


|branch= dev


|gr1= Interaction
|gr1= Interaction


|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}}).
|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.<br>
Action names can be found in config class ControllerSchemes or [[:Category:Key Actions|user action names]] or user profile (see {{Link|#Example 1}}).<br>
In addition, some of the actions are also listed here: [[inputAction/actions]]
In addition, some of the actions are also listed here: [[inputAction/actions]]


The Key Device can be one of several types:
The Key Device can be one of several types:
{{Columns|3
{{Columns|3|
|
* {{hl|"KEYBOARD"}}
* {{hl|"KEYBOARD"}}
* {{hl|"MOUSE_BUTTON"}}
* {{hl|"MOUSE_BUTTON"}}
Line 22: Line 21:
* {{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
}}
}}


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


|r1= {{Feature|warning|The action key array format is subject to change as development for {{GVI|arma3|2.10|size=0.75}} is ongoing.}}
|r1= [[Array]] of [[Array]]s in format [mainKeyArray, comboKeyArray, isDoubleTap]:
[[Array]] of [[Array]]s in format [mainKeyArray, comboKeyArray, isDoubleTap]:
* mainKeyArray: [[Array]] in format [dikCode, device, deviceId]:
* mainKeyArray: [[Array]] in format [dikCode, device, deviceId]:
** dikCode: [[Number]]
** dikCode: [[Number]]
Line 39: Line 36:
** device: [[String]]
** device: [[String]]
** deviceId: [[Number]] - identical to ''mainKeyArray''<nowiki/>'s ''deviceId'' as it is impossible 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: [[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
* isDoubleTap: [[Boolean]] - is the action key a double-tap. In case of a combination key this applies to the main key.


|x1= To retrieve the following key's data, use the property name without 'key':
|x1= To retrieve the following key's data, use the property name without 'key':

Latest revision as of 16:42, 17 April 2023

Hover & click on the images for description

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:
Array of Arrays 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: Array 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. In case of a combination key this applies to the main key.

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