hi m.a.r.v.i.n,

bin ich da auf dem richtigen weg?
Code:
int LED_PollSwitch (void)
{
int yellow, blue, red;

//makrodefinitionen der taster
  #define LCD_KEY_YELLOW   (PIND&(1<<PD6))
  #define LCD_KEY_RED      (PIND&(1<<PD2))
  #define LCD_KEY_BLUE     (PINB&(1<<PB3))


//taster pins auf input schalten
  TCCR2 = (1 << WGM21) | (1 << CS20);   //  OC2 PIN deaktivieren, aber 36kHz Timer weiterlaufen lassen (z.B. für Sleep(void) ) 

  DDRD &= ~((1<<PD2)|(1<<PD6));      // roten und gelben Taster als Eingang definieren 
  DDRB &= ~(1<<PB3);            // blauen Taster als Eingang definieren 

//taster abfragen

yellow=(LCD_KEY_YELLOW);
red=(LCD_KEY_RED);
blue=(LCD_KEY_BLUE);

//taster pins auf output schalten

 TCCR2 = (0 << WGM21) | (1 << CS20);   OC2 PIN aktivieren

 DDRD &= ~((0<<PD2)|(0<<PD6));      // roten und gelben Taster als ausgang definieren 
 DDRB &= ~(0<<PB3);            // blauen Taster als ausgang definieren 


//tasterwert zurückgeben

???


}