Spectrum: decimal point deletion fix #148, slower buttons repeats

This commit is contained in:
Krzysiek Egzmont
2023-11-26 19:05:44 +01:00
parent a0d052b68b
commit 199b1a27f1

View File

@@ -534,6 +534,8 @@ static void UpdateFreqInput(KEY_Code_t key) {
} }
if (key == KEY_EXIT) { if (key == KEY_EXIT) {
freqInputIndex--; freqInputIndex--;
if(freqInputDotIndex==freqInputIndex)
freqInputDotIndex = 0;
} else { } else {
freqInputArr[freqInputIndex++] = key; freqInputArr[freqInputIndex++] = key;
} }
@@ -996,17 +998,18 @@ bool HandleUserInput() {
kbd.prev = kbd.current; kbd.prev = kbd.current;
kbd.current = GetKey(); kbd.current = GetKey();
if (kbd.current == KEY_INVALID) { if (kbd.current != KEY_INVALID && kbd.current == kbd.prev) {
kbd.counter = 0; if(kbd.counter < 16)
return true;
}
if (kbd.current == kbd.prev && kbd.counter <= 16) {
kbd.counter++; kbd.counter++;
else
kbd.counter-=3;
SYSTEM_DelayMs(20); SYSTEM_DelayMs(20);
} }
else {
kbd.counter = 0;
}
if (kbd.counter == 3 || kbd.counter > 16) { if (kbd.counter == 3 || kbd.counter == 16) {
switch (currentState) { switch (currentState) {
case SPECTRUM: case SPECTRUM:
OnKeyDown(kbd.current); OnKeyDown(kbd.current);