|
|
|
|
@@ -7,12 +7,14 @@
|
|
|
|
|
|
|
|
|
|
uint8_t tempKeymapCount;
|
|
|
|
|
|
|
|
|
|
static parser_error_t parseNoneAction(key_action_t *keyAction, config_buffer_t *buffer) {
|
|
|
|
|
static parser_error_t parseNoneAction(key_action_t *keyAction, config_buffer_t *buffer)
|
|
|
|
|
{
|
|
|
|
|
keyAction->type = KeyActionType_None;
|
|
|
|
|
return ParserError_Success;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static parser_error_t parseKeyStrokeAction(key_action_t *keyAction, uint8_t keyStrokeAction, config_buffer_t *buffer) {
|
|
|
|
|
static parser_error_t parseKeyStrokeAction(key_action_t *keyAction, uint8_t keyStrokeAction, config_buffer_t *buffer)
|
|
|
|
|
{
|
|
|
|
|
uint8_t keystrokeType = (SERIALIZED_KEYSTROKE_TYPE_MASK_KEYSTROKE_TYPE & keyStrokeAction) >> SERIALIZED_KEYSTROKE_TYPE_OFFSET_KEYSTROKE_TYPE;
|
|
|
|
|
|
|
|
|
|
keyAction->type = KeyActionType_Keystroke;
|
|
|
|
|
@@ -42,7 +44,8 @@ static parser_error_t parseKeyStrokeAction(key_action_t *keyAction, uint8_t keyS
|
|
|
|
|
return ParserError_Success;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static parser_error_t parseSwitchLayerAction(key_action_t *KeyAction, config_buffer_t *buffer) {
|
|
|
|
|
static parser_error_t parseSwitchLayerAction(key_action_t *KeyAction, config_buffer_t *buffer)
|
|
|
|
|
{
|
|
|
|
|
uint8_t layer = readUInt8(buffer) + 1;
|
|
|
|
|
bool isToggle = readBool(buffer);
|
|
|
|
|
|
|
|
|
|
@@ -52,7 +55,8 @@ static parser_error_t parseSwitchLayerAction(key_action_t *KeyAction, config_buf
|
|
|
|
|
return ParserError_Success;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static parser_error_t parseSwitchKeymapAction(key_action_t *keyAction, config_buffer_t *buffer) {
|
|
|
|
|
static parser_error_t parseSwitchKeymapAction(key_action_t *keyAction, config_buffer_t *buffer)
|
|
|
|
|
{
|
|
|
|
|
uint8_t keymapIndex = readUInt8(buffer);
|
|
|
|
|
|
|
|
|
|
if (keymapIndex >= tempKeymapCount) {
|
|
|
|
|
@@ -63,14 +67,16 @@ static parser_error_t parseSwitchKeymapAction(key_action_t *keyAction, config_bu
|
|
|
|
|
return ParserError_Success;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static parser_error_t parsePlayMacroAction(key_action_t *keyAction, config_buffer_t *buffer) {
|
|
|
|
|
static parser_error_t parsePlayMacroAction(key_action_t *keyAction, config_buffer_t *buffer)
|
|
|
|
|
{
|
|
|
|
|
uint8_t macroIndex = readUInt8(buffer);
|
|
|
|
|
|
|
|
|
|
(void)macroIndex;
|
|
|
|
|
return ParserError_Success;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static parser_error_t parseMouseAction(key_action_t *keyAction, config_buffer_t *buffer) {
|
|
|
|
|
static parser_error_t parseMouseAction(key_action_t *keyAction, config_buffer_t *buffer)
|
|
|
|
|
{
|
|
|
|
|
uint8_t mouseAction = readUInt8(buffer);
|
|
|
|
|
|
|
|
|
|
keyAction->type = KeyActionType_Mouse;
|
|
|
|
|
@@ -121,7 +127,8 @@ static parser_error_t parseMouseAction(key_action_t *keyAction, config_buffer_t
|
|
|
|
|
return ParserError_Success;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static parser_error_t parseKeyAction(key_action_t *keyAction, config_buffer_t *buffer) {
|
|
|
|
|
static parser_error_t parseKeyAction(key_action_t *keyAction, config_buffer_t *buffer)
|
|
|
|
|
{
|
|
|
|
|
uint8_t keyActionType = readUInt8(buffer);
|
|
|
|
|
|
|
|
|
|
switch (keyActionType) {
|
|
|
|
|
@@ -141,7 +148,8 @@ static parser_error_t parseKeyAction(key_action_t *keyAction, config_buffer_t *b
|
|
|
|
|
return ParserError_InvalidSerializedKeyActionType;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static parser_error_t parseKeyActions(uint8_t targetLayer, config_buffer_t *buffer, uint8_t moduleId, uint8_t pointerRole) {
|
|
|
|
|
static parser_error_t parseKeyActions(uint8_t targetLayer, config_buffer_t *buffer, uint8_t moduleId, uint8_t pointerRole)
|
|
|
|
|
{
|
|
|
|
|
parser_error_t errorCode;
|
|
|
|
|
uint16_t actionCount = readCompactLength(buffer);
|
|
|
|
|
key_action_t dummyKeyAction;
|
|
|
|
|
@@ -158,14 +166,16 @@ static parser_error_t parseKeyActions(uint8_t targetLayer, config_buffer_t *buff
|
|
|
|
|
return ParserError_Success;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static parser_error_t parseModule(config_buffer_t *buffer, uint8_t layer) {
|
|
|
|
|
static parser_error_t parseModule(config_buffer_t *buffer, uint8_t layer)
|
|
|
|
|
{
|
|
|
|
|
uint8_t moduleId = readUInt8(buffer);
|
|
|
|
|
uint8_t pointerRole = readUInt8(buffer);
|
|
|
|
|
|
|
|
|
|
return parseKeyActions(layer, buffer, moduleId, pointerRole);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static parser_error_t parseLayer(config_buffer_t *buffer, uint8_t layer) {
|
|
|
|
|
static parser_error_t parseLayer(config_buffer_t *buffer, uint8_t layer)
|
|
|
|
|
{
|
|
|
|
|
parser_error_t errorCode;
|
|
|
|
|
uint16_t moduleCount = readCompactLength(buffer);
|
|
|
|
|
|
|
|
|
|
|