
for (;;) {
    if (last_keyscan_time != time) {
        last_keyscan_time = time;
        key = get_key();
        if (!key) {
            key_armed = TRUE;    // Have seen key lift, so may accept new key presses.
        } else if (key == prev_key) {
            // Multiple identical read.
            if (key_armed) {
                // First time same read since last key lift.
                handle_key(key);
                key_armed = FALSE; // Don't want key repetition.
             }
         } else {
             // Still jittery detection - do nothing.
        }
    }
    // Do other important stuff
    handle_adc();
    handle_received_data();
} // for
