IR signals inconsistent

Hello, I am back at it with trying to get this IR setup to work.
I currently have 2 VS1838B IR receivers. ( I am only using one at a time for this project) One that came with a sensor kit and one that came with my Arduino kit a while back.
I am currently trying to send IR signals with 4 different types of IR remotes to the VS receiver and hook that up to an Arduino and when I send the code it is supposed to light up 4 different LEDs hooked up to the digital pins.
I have also tried 2 different types of code( for all pics of hardware and software -below).

My problem is when I upload the code and send the signal, on my serial monitor it will flash 2 different #s almost everytime( EX 16575
65535)

( 11839
65535 )
It will almost always flash 65535 as the second #.
So I was able to change the code so that it would receive 65575 as LED1. It would work about 70% of the time ( but it is very inconsistent )
I have tried with different t.v remotes and every time it pops up that code. I don’t know if I have cheap sensors because I don’t see why different remotes would do that.

Below I have the built-in Arduino example IR relay code which still I have the same issue. I have even tried putting the receiver pin on pin 11 for( which I believe you should for the IRremote library??) and still, I get the same problem.
If anyone Could look at my code and hardware and have any suggestions that would be greatly appreciated because I have wanted for the longest time now to control and have different relays around my room that i can control through an IR remote.

#include <IRremote.h>

int RECV_PIN = 11;
int RELAY_PIN = 4;

IRrecv irrecv(RECV_PIN);
decode_results results;

// Dumps out the decode_results structure.
// Call this after IRrecv::decode()
// void * to work around compiler issue
//void dump(void *v) {
//  decode_results *results = (decode_results *)v
void dump(decode_results *results) {
  int count = results->rawlen;
  if (results->decode_type == UNKNOWN) {
    Serial.println("Could not decode message");
  } 
  else {
    if (results->decode_type == NEC) {
      Serial.print("Decoded NEC: ");
    } 
    else if (results->decode_type == SONY) {
      Serial.print("Decoded SONY: ");
    } 
    else if (results->decode_type == RC5) {
      Serial.print("Decoded RC5: ");
    } 
    else if (results->decode_type == RC6) {
      Serial.print("Decoded RC6: ");
    }
    Serial.print(results->value, HEX);
    Serial.print(" (");
    Serial.print(results->bits, DEC);
    Serial.println(" bits)");
  }
  Serial.print("Raw (");
  Serial.print(count, DEC);
  Serial.print("): ");

  for (int i = 0; i < count; i++) {
    if ((i % 2) == 1) {
      Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
    } 
    else {
      Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC);
    }
    Serial.print(" ");
  }
  Serial.println("");
}

void setup()
{
  pinMode(RELAY_PIN, OUTPUT);
  pinMode(13, OUTPUT);
    Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

int on = 0;
unsigned long last = millis();

void loop() {
  if (irrecv.decode(&results)) {
    // If it's been at least 1/4 second since the last
    // IR received, toggle the relay
    if (millis() - last > 250) {
      on = !on;
      digitalWrite(RELAY_PIN, on ? HIGH : LOW);
      digitalWrite(13, on ? HIGH : LOW);
      dump(&results);
    }
    last = millis();      
    irrecv.resume(); // Receive the next value
  }
}
#include <IRremote.h>
 
#define first_key  65535 
#define second_key  58359 
#define third_key  539 
#define fourth_key  25979 
int receiver_pin = 11;   

int first_led_pin = 7;
int second_led_pin = 6;
int third_led_pin = 5;
int fourth_led_pin = 4;

int led[] = {0,0,0,0}; 
IRrecv receiver(receiver_pin); 
decode_results output;
 
void setup()
{
  Serial.begin(9600);
  receiver.enableIRIn();  
  pinMode(first_led_pin, OUTPUT);
  pinMode(second_led_pin, OUTPUT);
  pinMode(third_led_pin, OUTPUT);
  pinMode(fourth_led_pin, OUTPUT);
  }
 
void loop() {
  if (receiver.decode(&output)) {
    unsigned int value = output.value;
    switch(value) {
       case first_key:    
         if(led[1] == 1) {       
            digitalWrite(first_led_pin, LOW);
            led[1] = 0;           
         } else {                      
             digitalWrite(first_led_pin, HIGH); 
             led[1] = 1;          
         }
          break; 
       case second_key:
      
         if(led[2] == 1) {
            digitalWrite(second_led_pin, LOW);
            led[2] = 0;
         } else {
             digitalWrite(second_led_pin, HIGH);
             led[2] = 1;
         }
          break;
       case third_key:
      
         if(led[3] == 1) {
            digitalWrite(third_led_pin, LOW);
            led[3] = 0;
         } else {
             digitalWrite(third_led_pin, HIGH);
             led[3] = 1;
         }
          break;   
          case fourth_key:
      
         if(led[4] == 1) {       
            digitalWrite(fourth_led_pin, LOW);
            led[4] = 0;           
         } else {                      
             digitalWrite(fourth_led_pin, HIGH); 
             led[4] = 1;          
         }
          break;        
    }
    Serial.println(value); 
    receiver.resume(); 
  }
}

0xFFFFFFFF (65535) is the repeat code for NEC (and maybe other) remotes.

groundFungus:
0xFFFFFFFF (65535) is the repeat code for NEC (and maybe other) remotes.

Thank you for the response, but what does that mean exactly?

That means that if you hold a button down the first code reported is the key code and after that the repeat code is sent as long as the key is held down.

groundFungus:
0xFFFFFFFF (65535) is the repeat code for NEC (and maybe other) remotes.

0xFFFFFFFF (4294967295) would be better.

Yes, yes it would. Palm meets forhead.

groundFungus:
That means that if you hold a button down the first code reported is the key code and after that the repeat code is sent as long as the key is held down.

So i mosidy the code to accecpt the first code?? Thanks for response

You can code to ignore the repeat codes. But in the case of, say, a volume control the repeat codes are useful.