Epoch/Sources/epoch_code/compile/setup/EPOCH_clientKeyMap.sqf
He-Man 2f1ba9a20d E-Pad + Earplugs (WIP)
First Test of the E-Pad.
Current Apps are only examples
Everybody is welcome to add suggestions for Scripts / Apps.
2018-06-21 21:59:37 +02:00

112 lines
3.2 KiB
Plaintext

/*
Author: Raimonds Virtoss - EpochMod.com
Contributors:
Description:
Custom Epoch keymap
Licence:
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
Github:
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/setup/EPOCH_clientKeyMap.sqf
Example:
_arr = 2 call EPOCH_clientKeyMap;
Parameter(s):
TBA
Returns:
Mixed
*/
//[[[cog import generate_private_arrays ]]]
private ["_arr","_keyMap","_return","_s"];
//[[[end]]]
params [["_args",0],["_input",0]];
_keyMap =
[
//["Name", "Variable name", Default value],
["Action","EPOCH_keysAction",0x39],
["Holster Weapon", "EPOCH_keysHolster", 35],
["Debug Monitor", "EPOCH_keysDebugMon", 41],
["E-Pad", "EPOCH_keysEPad", 0x44],
["AutoRun", "EPOCH_keysAutoRun", 0x11],
["Earplugs", "EPOCH_Earplugs", 0x3E],
["Volume + (ctrl)","EPOCH_keysVolumeUp",0x0D],
["Volume - (ctrl)","EPOCH_keysVolumeDown",0x0C],
["Favorite Bar 1", "EPOCH_keysfav1", 0x02],
["Favorite Bar 2", "EPOCH_keysfav2", 0x03],
["Favorite Bar 3", "EPOCH_keysfav3", 0x04],
["Favorite Bar 4", "EPOCH_keysfav4", 0x05],
["Favorite Bar 5", "EPOCH_keysfav5", 0x06],
["Build: Mode 1", "EPOCH_keysBuildMode1", 2],
// ["Build: Mode 2", "EPOCH_keysBuildMode2", 3],
// ["Build: Direction", "EPOCH_keysBuildDir", 4],
// ["Build: Static", "EPOCH_keysBuildStatic", 5],
["Build: Move UP", "EPOCH_keysBuildMovUp", 0xC9],
["Build: Move DOWN", "EPOCH_keysBuildMovDn", 0xD1],
["Build: Move FORWARD", "EPOCH_keysBuildMovFwd", 0xC7],
["Build: Move BACK", "EPOCH_keysBuildMovBak", 0xCF],
["Build: Move LEFT", "EPOCH_keysBuildMovL", 0xD2],
["Build: Move RIGHT", "EPOCH_keysBuildMovR", 0xD3],
["Build: Rotate LEFT", "EPOCH_keysBuildRotL", 0x12],
["Build: Rotate RIGHT", "EPOCH_keysBuildRotR", 0x10],
["Build: Vector LEFT", "eXpoch_keysVectorTiltL", 0xCB],
["Build: Vector RIGHT", "eXpoch_keysVectorTiltR", 0xCD],
["Build: Vector AWAY", "eXpoch_keysVectorTiltAwy", 0xC8],
["Build: Vector TOWARD", "eXpoch_keysVectorTiltTwd", 0xD0],
["Build: Reset Object", "eXpoch_keysVectorResetObject", 0x4C],
["BaseCam: NextCam","Epoch_KB_BaseCamNextCam",0x9C],
["BaseCam: Left","Epoch_KB_BaseCamLeft",0x4B],
["BaseCam: Right","Epoch_KB_BaseCamRight",0x4D],
["BaseCam: Up","Epoch_KB_BaseCamUp",0x48],
["BaseCam: Down","Epoch_KB_BaseCamDown",0x50],
["BaseCam: Zoom -","Epoch_KB_BaseCamZoomOut",74],
["BaseCam: Zoom +","Epoch_KB_BaseCamZoomIn",78],
["BaseCam: AutoCam","Epoch_KB_BaseCamAutoCam",0x52]
];
_keyMap call EPOCH_custom_KeyMap;
switch (_args) do {
case 0: //load variables
{
{
call compile format ["%1 = profileNamespace getVariable ['%1', %2]",_x select 1, _x select 2];
} forEach _keyMap;
_return = true;
};
case 1: //delete all profile namespace variables
{
{
profileNamespace setVariable [_x select 1, nil];
} forEach _keyMap;
_return = true;
};
case 2: //returns keymap to a caller for processing
{
_return = _keyMap;
};
case 3: //search by variable name and return element if exists (not tested)
{
_return =
{
_s = toLower(_x select 1) find toLower _input;
if (_s > -1) exitWith {_x};
[]
} forEach _keyMap;
};
};
_return