Adafruit_RGBLCDShield Library BUTTON_SELECT Always TRUE

I am running a program that uses the Adafruit_RGBLCDShield.h library.

I have 4 modes that my loop runs:

  1. Set Value
  2. Dispensing
  3. Paused
  4. Running out last gallon

I am using copied sample code to check for button presses.
In Set Value mode, it seems to work fine.
In Dispensing mode, it seems to work fine.
In Running out last gallon mode, it seems to work fine.

but for some reason, when it is in Paused mode, it acts like the SELECT button is always pressed.

I am using the exact same if statement in all places:

if (buttons & BUTTON_SELECT) {
// do what I want it to
}

and if I change it to BUTTON_DOWN, it works fine with the down button.

Any ideas on how I can get this working?

Without your sketch ? seriously ? Include the whole sketch, within code </> tags so people can have a look.

Do you remember to do "buttons = lcd.readButtons();" even in "Paused" mode?

Yes, I did... that is the first line in my loop.

also, I just realized that I had an error in my post...
I said BUTTON_DOWN in all cases...
I am having trouble with BUTTON_SELECT (I corrected that in the original post)

so, what would be a reason for this to work with one button and not the other.

I figured it out...

The "buttons = lcd.readButtons();" was the first line of my loop.
since the SELECT button was used to put it in paused mode... that was true for that entire loop.
now I have it at the beginning of the "Paused mode" condition when running and it is working fine.

Thanks John for getting me thinking in the right direction!