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

danke, hast mir sehr geholfen. habe ein bischen mit dem code experimentiert, folgendes noch geändert:

key |= (PIND&LCD_KEY_RED); //PINB in PIND

und bei der umstellung in outputpins:

DDRD &= ~((0<<PD2)|(0<<PD6));
DDRB &= ~(0<<PB3);

überall 0 eingesetzt...
Jetzt kann es wieder ein bischen weitergehen...

btw:
nicht so ganz, aber fast.
darüber habe ich mich richtig gefreut. Wenn ich ein paar monate zurückdenke, heute konnte ich sogar die meisten änderungen von Dir nachvollziehen und verstehen...