MacroBoard-ArduinoCode/Maybe/modeAction.h

73 lines
1.8 KiB
C

struct Action
{
int keyID;
int keyModifierID;
};
//Hardware buttons and Actions are ordered from the bottom left to the top right matrix. Rotary encoder: left, right then press
Action presets[][15] =
{
{
{KEY_MEDIA_PREV_TRACK, 0},
{KEY_MEDIA_PLAY_PAUSE, 0},
{KEY_MEDIA_NEXT_TRACK, 0},
{KEY_F16, 0},
{KEY_F17, 0},
{KEY_F18, 0},
{KEY_F19, 0},
{KEY_F20, 0},
{KEY_F21, 0},
{KEY_F22, 0},
{KEY_F23, 0},
{-1, 0}, //menu / back
{KEY_MEDIA_VOLUME_DEC, 0},
{KEY_MEDIA_VOLUME_INC, 0},
{KEY_MEDIA_MUTE, 0}
},
{
{KEY_F13, MODIFIERKEY_SHIFT},
{KEY_F14, MODIFIERKEY_SHIFT},
{KEY_F15, MODIFIERKEY_SHIFT},
{KEY_F16, MODIFIERKEY_SHIFT},
{KEY_F17, MODIFIERKEY_SHIFT},
{KEY_F18, MODIFIERKEY_SHIFT},
{KEY_F19, MODIFIERKEY_SHIFT},
{KEY_F20, MODIFIERKEY_SHIFT},
{KEY_F21, MODIFIERKEY_SHIFT},
{KEY_F22, MODIFIERKEY_SHIFT},
{KEY_F23, MODIFIERKEY_SHIFT},
{-1, 0}, //menu / back
{KEYPAD_MINUS, MODIFIERKEY_ALT},
{KEYPAD_PLUS, MODIFIERKEY_ALT},
{KEYPAD_ASTERIX, MODIFIERKEY_ALT}
},
{
{KEY_F13, MODIFIERKEY_CTRL},
{KEY_F14, MODIFIERKEY_CTRL},
{KEY_F15, MODIFIERKEY_CTRL},
{KEY_F16, MODIFIERKEY_CTRL},
{KEY_F17, MODIFIERKEY_CTRL},
{KEY_F18, MODIFIERKEY_CTRL},
{KEY_F19, MODIFIERKEY_CTRL},
{KEY_F20, MODIFIERKEY_CTRL},
{KEY_F21, MODIFIERKEY_CTRL},
{KEY_F22, MODIFIERKEY_CTRL},
{KEY_F23, MODIFIERKEY_CTRL},
{-1, 0}, //menu / back
{KEYPAD_MINUS, MODIFIERKEY_CTRL},
{KEYPAD_PLUS, MODIFIERKEY_CTRL},
{KEYPAD_ASTERIX, MODIFIERKEY_CTRL}
}
};
int getPresetsCount()
{
return sizeof(presets)/(sizeof(Action)*15);
}
Action getAction(int presetID, int physicalKeyID)
{
int presetCount = getPresetsCount();
return presets[(presetID % presetCount)][physicalKeyID];
}