Push button cursor position

I tried many different solutions but can't seem to make it work.

 if (page == 2 ) {
    while (true) {
    display.setCursor(cpos1, cpos2);
    display.print(characters[currentCharacter]);
    //display.setCursor(cpos1, cpos2);

    if (digitalRead(cursor) == HIGH){
      cursor = false;
    answer[cpos1] = characters[currentCharacter];
    cpos1++;
    currentCharacter = 0;
    if (cpos1 >= answerLength) {
        break;
      }
   
    if (up && page == 2 ) {
    up = false;
    currentCharacter--;
    display.print(currentCharacter);
  }
   if (down && page == 2 ) {
    down = false;
    currentCharacter++;
    display.print(currentCharacter);
  }
    //display.setCursor(cpos1, cpos2);
    if (currentCharacter < 0) {
      currentCharacter = currentCharacter + charactersCount;
    } else if (currentCharacter >= charactersCount) {
      currentCharacter = currentCharacter % charactersCount;
    }
  }
    }
}

I will be thankful if anyone looks into it.

Thanks,