{"name":"actionKeysEx","operator":null,"title":"actionKeysEx","type":"command","url":"https://community.bistudio.com/wiki/actionKeysEx","revid":377679,"updated":"2026-01-02T09:02:44Z","groups":["Interaction"],"status":"ok","replaced_by":[],"games":[{"game":"arma3","name":"Arma 3","version":"2.10"}],"since":{"game":"arma3","name":"Arma 3","version":"2.10"},"arma3_since":"2.10","branch":null,"locality":{"argument":null,"effect":null,"server_exec":false},"exec":null,"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.\n\nAction names can be found in config class ControllerSchemes or user action names or user profile (see #Example 1).\n\nIn addition, some of the actions are also listed here: inputAction/actions\n\nThe Key Device can be one of several types:\n- `\"KEYBOARD\"`\n- `\"MOUSE_BUTTON\"`\n- `\"MOUSE_AXIS\"`\n- `\"JOYSTICK_BUTTON\"`\n- `\"JOYSTICK_AXIS\"`\n- `\"JOYSTICK_POV\"`\n- `\"XINPUT\"` - (Xbox) Controller Input\n- `\"TRACKER\"` - Motion Tracking (TrackIR, Tobii etc)","syntaxes":[{"syntax":"actionKeysEx userAction","since":null,"effect":null,"exec":null,"params":[{"name":"userAction","type":"String","optional":false,"default":null,"description":"user action name (see inputAction/actions)","types":["String"],"since":null,"text":"userAction: String - user action name (see inputAction/actions)"}],"returns":{"type":"Array of Arrays in format [mainKeyArray, comboKeyArray, isDoubleTap]:","types":["Array"],"description":"mainKeyArray: Array with [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.","text":"Array of Arrays in format [mainKeyArray, comboKeyArray, isDoubleTap]:\n- mainKeyArray: Array with [dikCode, device, deviceId]\n  - dikCode: Number\n  - device: String\n  - deviceId: Number - only given if the device is a Joystick type\n- comboKeyArray: Array identical to *mainKeyArray* - filled only if the action key is a key combination\n  - dikCode: Number\n  - device: String\n  - deviceId: Number - identical to *mainKeyArray*'s *deviceId* as it is impossible to use two different Joystick devices in a key combination\n- isDoubleTap: Boolean - is the action key a double-tap. In case of a combination key this applies to the main key."},"form":"unary","operator":null,"left":null,"right":{"text":"userAction","types":["String"]}}],"examples":[{"text":"To retrieve the following key's data, use the property name without 'key':\n\n```cpp\nkeyWatch[] = { 24 };\n```\n\n```sqf\nactionKeysEx \"Watch\"; // [[[24, \"KEYBOARD\"], [], false]]\n```","code":["actionKeysEx \"Watch\"; // [[[24, \"KEYBOARD\"], [], false]]"]},{"text":"```sqf\nprivate _result = actionKeysEx \"OpticsMode\"; // [[[129,\"MOUSE_BUTTON\"],[29,\"KEYBOARD\"],false],[[181,\"KEYBOARD\"],[],false]]\n```","code":["private _result = actionKeysEx \"OpticsMode\"; // [[[129,\"MOUSE_BUTTON\"],[29,\"KEYBOARD\"],false],[[181,\"KEYBOARD\"],[],false]]"]}],"multiplayer":null,"problems":null,"aliases":[],"see_also":["actionKeys","actionKeysNames","actionKeysNamesArray"],"notes":[],"categories":["Arma 3: New Scripting Commands","Arma 3: Scripting Commands","Command Group: Interaction","Introduced with Arma 3 version 2.10","Scripting Commands"]}