Es ist schön festzustellen, dass sich immer mehr für AVRs begeistern können.
Das wird ja fast zum Volkssport 
Du machst einige unnötige Dinge in Deinem Code.
Dein Programm startet ja in der main(), zu diesem Zeitpunkt ist DDRB= 0000.0000 (binär).
In der setPins() setzt du dann die B2 und B3 0, obwohl sie es schon sind, tut also nicht not 
Das selbe Spiel am Ende der setPins(), PORTD ist bereits 0000.0000 und muss nicht extra genullt werden. 
Außerdem kannst Du Dir die beiden Variablen sparen
Code:
void eventhandler()
{
if((PINB & (1 << PB2)) ) {
PORTD |= 1<<PD6; /* LED on */
PORTD &= ~(1<<PD7); /* LED off */
}
if((PINB & (1 << PB3)) ){
PORTD &= ~(1<<PD6); /* LED off */
PORTD |= 1<<PD7; /* LED on */
}
}
Ein kleiner Tipp am Rande, diese schönen Kästchen im Code sind gruselig.
Fang am besten jetzt schon mit einem sauberen Schreibstiel an
Lesezeichen