kbd_task: Send keyboard event when the key is pressed, not when it's lifted

This commit is contained in:
Federico Amedeo Izzo 2020-12-18 18:41:34 +01:00
parent 1f8840b3ca
commit 95a8e99605
1 changed files with 1 additions and 5 deletions

View File

@ -164,10 +164,6 @@ static void kbd_task(void *arg)
{ {
// Save timestamp // Save timestamp
key_ts[k] = now; key_ts[k] = now;
}
// Key has been released
else if((prev_keys & (1 << k)) && !(keys & (1 << k)))
{
send_event = true; send_event = true;
} }
} }
@ -175,7 +171,7 @@ static void kbd_task(void *arg)
// Some key is kept pressed // Some key is kept pressed
else if(keys != 0) else if(keys != 0)
{ {
// Check for long-press timers // Check for saved timestamp to trigger long-presses
for(uint8_t k=0; k < kbd_num_keys; k++) for(uint8_t k=0; k < kbd_num_keys; k++)
{ {
// The key is pressed and its long-press timer is over // The key is pressed and its long-press timer is over