wow and congratulation, you found a bug in M2tklib.
Thanks for that.
As a workaround, please extend the setup procedure to this:
void setup() {
// Serial.begin(9600);
m2_SetLiquidCrystal(&lcd, 20, 4);
m2.setPin(M2_KEY_SELECT, uiKeySelectPin);
m2.setPin(M2_KEY_NEXT, uiKeyNextPin);
m2.getKey(); // this is new, (bugfix workaround)
}
I will create an issue for this.
Thanks, Oliver