From 713a76873391d38329f5d5897bd86064c9f7bd2d Mon Sep 17 00:00:00 2001 From: yuquanjun Date: Mon, 14 Sep 2026 12:36:39 +0800 Subject: [PATCH] Disable fretboard chord/stop side-effects in universal mode. Ignore TM1629 keys 0-21 in universal so pad no longer changes KEY_ID or arms OutTime_Stop; keep tap-tempo and stop. Clear stale KEY_ID/PressFlag when entering universal tab. Co-authored-by: Cursor --- Global/Global.c | 9 +++++++++ UI/UI_SongMode.c | 2 ++ 2 files changed, 11 insertions(+) diff --git a/Global/Global.c b/Global/Global.c index efb4c4b..1b177cb 100644 --- a/Global/Global.c +++ b/Global/Global.c @@ -680,6 +680,15 @@ void TM1629_Handle(uint8_t key) STRING_MIDI *MIDI; const STRING_MIDI *ORGAN_MIDI; static uint8_t Last_Tm1926D_Key = 0; + + /* 万能:指板不改和弦、不启停伴奏;保留拍速/停止 */ + if (mGuiData[GUI_TAB_INDEX].Current == 0) + { + if (key == 22) { Tap_to_Speed(); return; } + if (key == 23) { Stop_AutoBand(); return; } + return; /* 忽略 0~21:不改 KEY_ID/USE_MIDI/PressFlag,不启停 OutTime_Stop */ + } + if(BP_Transpose(key)) return; switch(key) diff --git a/UI/UI_SongMode.c b/UI/UI_SongMode.c index 4d180ec..c458ec5 100644 --- a/UI/UI_SongMode.c +++ b/UI/UI_SongMode.c @@ -280,6 +280,8 @@ void Touch_Action(int8_t FLAG, uint8_t ID, uint8_t areaIndex,uint8_t value) if(mGuiData[GUI_TAB_LAST_INDEX].Current == mGuiData[ID].Current) break; StartFlag = 0; + KEY_ID_1629 = 0; /* 清专业等残留指板键,拨片按当前调走走向 */ + PressFlag = 0; AutoBandTop1_Stop(); UI_ReloadTonePreset(); /* 切换模式必须换库,避免专业仍播万能数据 */ break;