diff --git a/apps/plugins/keyremap.c b/apps/plugins/keyremap.c index 9917bc567e..a224cc292a 100644 --- a/apps/plugins/keyremap.c +++ b/apps/plugins/keyremap.c @@ -746,11 +746,14 @@ static int keymap_add_button_entry(int context, int action_code, for (int i = 0; i < ctx_data.act_count; i++) { if (ctx_data.act_map[i].context == context && - ctx_data.act_map[i].map.action_code == action_code) + ctx_data.act_map[i].map.action_code == action_code && + ctx_data.act_map[i].map.button_code == button_code && + ctx_data.act_map[i].map.pre_button_code == pre_button_code) { - /*Duplicate -- Update the existing entry */ - ctx_data.act_map[i].map.button_code = button_code; - ctx_data.act_map[i].map.pre_button_code = pre_button_code; + /*Duplicate -- Use the existing entry */ + /* FS#13975 allow multiple entries to map same action code */ + logf("keyremap: skipping duplicate @ [%d] ctx: %d, act: %d btn: %d pbtn: %d", + i, context, action_code, button_code, pre_button_code); return ctx_data.act_count; } }