diff options
Diffstat (limited to 'kbc.c')
| -rw-r--r-- | kbc.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -362,2 +362,3 @@ static uint8_t cntr = 0; static uint8_t close_try = 0; +static uint8_t idle_looped = 0; #ifdef KILLSWITCH @@ -428,3 +429,9 @@ static void state_enter(void) break; - nextstate = STATE_NONE; + + /* We have some issues with the keyboard failing every + * now and then. Until we know more about the issue, + * reset it every 256th time we enter STATE_IDLE :/ */ + idle_looped += 1; + if (idle_looped != 0xff) + nextstate = STATE_NONE; break; @@ -443,2 +450,3 @@ static void state_enter(void) toutstate = STATE_IDLE; + idle_looped = 0; /* input still works, reset idle counter */ statecntr = WAIT_INPUT; |
