         serial_rx_buffer_controller[serial_rx_buffer_counter] = serial_rx_buffer[serial_rx_buffer_counter];
         serial_rx_buffer_inverted_controller[serial_rx_buffer_counter] = (serial_rx_buffer_controller[serial_rx_buffer_counter]);
       }
+
+      if (sendInputOnce == 0)
+      {
+        sendInputOnlyOnce = true;
+        sentInputOnce = false;
+      }
+      if (sendInputOnce != 0)
+      {
+        sendInputOnlyOnce = false;
+        sentInputOnce = true;
+      }
+
       //Serial.print('\n');
       Serial.flush();
       // Make the button presses actually work

  manualResetControllerData();
  toggleBeforeInputReset();
  toggleDisconnectOnPingTimeout();

  serial_rx_buffer_change_autoreset_controller_status[0] = 0x11;
  serial_rx_buffer_change_autoreset_controller_status[1] = 0x00;

unsigned int buttonArray[] = {buttonA, buttonB, buttonZ, buttonStart, buttonDUp, buttonDDown, buttonDLeft, buttonDRight, buttonL, buttonR, buttonCUp, buttonCDown, buttonCLeft, buttonCRight};

void setup() {

  serial_rx_buffer_toggle_controller_pwr[0] = 0x17;
  serial_rx_buffer_toggle_controller_pwr[1] = 0x00;
  serial_rx_buffer_toggle_controller_pwr[2] = 0x00;
  serial_rx_buffer_toggle_controller_pwr[3] = 0x00;
  serial_rx_buffer_toggle_controller_pwr[4] = 0x00;
  serial_rx_buffer_toggle_controller_pwr[5] = 0x00;
  serial_rx_buffer_toggle_controller_pwr[6] = 0x00;
  serial_rx_buffer_toggle_controller_pwr[7] = 0x00;
  serial_rx_buffer_toggle_controller_pwr[8] = 0x00;
  serial_rx_buffer_toggle_controller_pwr[9] = 0x00;
  serial_rx_buffer_toggle_controller_pwr[10] = 0x00;
  serial_rx_buffer_toggle_controller_pwr[11] = 0x17;

  serial_rx_buffer_toggle_motors_after_ping[0] = 0x19;
  serial_rx_buffer_toggle_motors_after_ping[1] = 0x00;
  serial_rx_buffer_toggle_motors_after_ping[2] = 0x00;
  serial_rx_buffer_toggle_motors_after_ping[3] = 0x00;
  serial_rx_buffer_toggle_motors_after_ping[4] = 0x00;
  serial_rx_buffer_toggle_motors_after_ping[5] = 0x00;
  serial_rx_buffer_toggle_motors_after_ping[6] = 0x00;
  serial_rx_buffer_toggle_motors_after_ping[7] = 0x00;
  serial_rx_buffer_toggle_motors_after_ping[8] = 0x00;
  serial_rx_buffer_toggle_motors_after_ping[9] = 0x00;
  serial_rx_buffer_toggle_motors_after_ping[10] = 0x00;
  serial_rx_buffer_toggle_motors_after_ping[11] = 0x19;

  serial_rx_buffer_toggle_send_input_back[0] = 0x1B;
  serial_rx_buffer_toggle_send_input_back[1] = 0x00;
  serial_rx_buffer_toggle_send_input_back[2] = 0x00;
  serial_rx_buffer_toggle_send_input_back[3] = 0x00;
  serial_rx_buffer_toggle_send_input_back[4] = 0x00;
  serial_rx_buffer_toggle_send_input_back[5] = 0x00;
  serial_rx_buffer_toggle_send_input_back[6] = 0x00;
  serial_rx_buffer_toggle_send_input_back[7] = 0x00;
  serial_rx_buffer_toggle_send_input_back[8] = 0x00;
  serial_rx_buffer_toggle_send_input_back[9] = 0x00;
  serial_rx_buffer_toggle_send_input_back[10] = 0x00;
  serial_rx_buffer_toggle_send_input_back[11] = 0x1B;

  inputDelay = 0;
  isInputtingDelayed = false;
  isInputting = false;
