Timing problems and Keypad interface

static int timer_1 = 0;              // a repeating timer

Nonsense. It may be a count of durations. It is NOT a timer.

      Event();                //Calls event function

Does that comment contribute anything? Does that function name mean anything?

  keypad.getKey();

And throw the value away. Why bother?

The code you posted does not seem to have a real purpose, or if it does, it is uselessly complex. Please try again to explain what it is supposed to do.