 #define latchPin 2 // HCF4094/74HC595 Latch/Strobe Input
 #define dataPin 3 // HCF4094/74HC595 Data Input
 #define clockPin 4 // HCF4094/74HC595 Clock Input
-#define outputEnable 5 // HCF4094/74HC595 Output Enable Input, the HCF4094 allows output when the output enable input level is HIGH, the 74HC595 allows output when the output enable input level is LOW
 
 #define buttonSelect 0 // Left 10 
 #define buttonL3 1 // Right 9

  }
  if (isInputting == true)
  {
    if (sendInputOnlyOnce == true)
    {
      if (sentInputOnce == false)
      {
        for (serial_rx_buffer_counter = 0; serial_rx_buffer_counter < sizeof(serial_rx_buffer_controller); serial_rx_buffer_counter++) {
          Serial.write(serial_rx_buffer_controller[serial_rx_buffer_counter]); //  This line writes the serial data back to the computer as a way to check if the Arduino isn't interpreting wrong values
          //  Invert 0 to 255 and vice versa to make it easier to determine which commands to enable or not, and their values
          serial_rx_buffer_inverted_controller[serial_rx_buffer_counter] = (serial_rx_buffer_controller[serial_rx_buffer_counter]);
          sentInputOnce = true;
          //Serial.println("TEST 1A");
        }
        //Serial.println("TEST 1C");
      }
      //Serial.println("TEST 1D");
    }

    if (sendInputOnlyOnce == false)
    {
      if (sentInputOnce == true)
      {
        for (serial_rx_buffer_counter = 0; serial_rx_buffer_counter < sizeof(serial_rx_buffer_controller); serial_rx_buffer_counter++) {
          Serial.write(serial_rx_buffer_controller[serial_rx_buffer_counter]); //  This line writes the serial data back to the computer as a way to check if the Arduino isn't interpreting wrong values
          //  Invert 0 to 255 and vice versa to make it easier to determine which commands to enable or not, and their values
          serial_rx_buffer_inverted_controller[serial_rx_buffer_counter] = (serial_rx_buffer_controller[serial_rx_buffer_counter]);
          //sentInputOnce = true;
          //Serial.println("TEST 1B");
        }
      }
    }
    //Serial.print('\n');
    Serial.flush();
    //  Press Button

    //  First 8 buttons, Buffer Array Element 1
    //  SELECT, L3, R3, START, DUP, DRIGHT, DDOWN, DLEFT
    inputStatus[0] = (serial_rx_buffer_inverted_controller[1] & B00000001);
    inputStatus[1] = (serial_rx_buffer_inverted_controller[1] & B00000010);
    inputStatus[2] = (serial_rx_buffer_inverted_controller[1] & B00000100);
    inputStatus[3] = (serial_rx_buffer_inverted_controller[1] & B00001000);
    inputStatus[4] = (serial_rx_buffer_inverted_controller[1] & B00010000);
    inputStatus[5] = (serial_rx_buffer_inverted_controller[1] & B00100000);
    inputStatus[6] = (serial_rx_buffer_inverted_controller[1] & B01000000);
    inputStatus[7] = (serial_rx_buffer_inverted_controller[1] & B10000000);

    //  Second 8 buttons, Buffer Array Element 2
    //  L2, R2, L1, R1, Triangle/Delta, Circle/O, Cross/X, Square
    inputStatus[8] = (serial_rx_buffer_inverted_controller[2] & B00000001);
    inputStatus[9] = (serial_rx_buffer_inverted_controller[2] & B00000010);
    inputStatus[10] = (serial_rx_buffer_inverted_controller[2] & B00000100);
    inputStatus[11] = (serial_rx_buffer_inverted_controller[2] & B00001000);
    inputStatus[12] = (serial_rx_buffer_inverted_controller[2] & B00010000);
    inputStatus[13] = (serial_rx_buffer_inverted_controller[2] & B00100000);
    inputStatus[14] = (serial_rx_buffer_inverted_controller[2] & B01000000);
    inputStatus[15] = (serial_rx_buffer_inverted_controller[2] & B10000000);

    //  4 Axis, Buffer Array Elements 3, 4, 5, 6
    //  RX, RY, LX, LY

    //RX STICK
    if (serial_rx_buffer_inverted_controller[3] > 127)
    {
      // Push RX Stick to Right
      inputStatus[16] = HIGH;
      inputStatus[17] = HIGH;
    }

    if (serial_rx_buffer_inverted_controller[3] < 127)
    {
      // Push RX Stick to Left
      inputStatus[16] = LOW;
      inputStatus[17] = LOW;
    }

    if (serial_rx_buffer_inverted_controller[3] == 127)
    {
      // Keep RX Stick Centered
      inputStatus[16] = HIGH;

          }

          //RY STICK
          if (serial_rx_buffer[4] > 127)
          {
            // Push RY Stick to Up
            inputStatus[18] = HIGH;
            inputStatus[19] = HIGH;
          }

          if (serial_rx_buffer[4] < 127)
          {
            // Push RY Stick to Down
            inputStatus[18] = LOW;
            inputStatus[19] = LOW;
          }

          if (serial_rx_buffer[4] == 127)
          {
            // Keep RY Stick Centered
            inputStatus[18] = HIGH;
