Hmm...

ganz ehrlich, ich finde Drehimpulsgeber + 2 Taster immernoch am besten von der Bedienung her. (oder alternativ eben 4 Taster)
Klar, man kann auch ein Menü mit nur zwei oder sogar nur einem einzigen Taster bedienen, aber das ist nicht nur programmiertechnisch aufwändiger, sondern auch für den Benutzer nicht so intuitiv.

Es gibt Dinge an denen man zwar sparen kann, aber es nicht unbedingt tun sollte


Was die eigentliche Frage angeht...
Wenn ein Taster je nach Situation verschiedene Funktionen haben soll, würde ich Funktionspointer verwenden.

Bei jedem Tastendruck wird der gleiche Funktionspointer aufgerufen, der aber je nach Situation auf unterschiedliche Funktionen zeigt. Falls noch unterschieden werden soll ob die Taste lang oder kurz gedrückt wurde kann man das entweder als Parameter dem Funktionspointer übergeben, oder man macht eben zwei Funktionspointer.