We don't have all the events in the first call to get_next_button_press. So we have to set all the buttons to max on the first call. We also have to make sure that we don't manipulate the values if we just want to know the connection status.
Also fix unique_ptr vs shared_ptr nonsense in pad_threads