Replace serial monitor input with matrix keypad

This is the code implementing the keypad:

#include <Keypad.h>
#include "AccelStepper.h" 
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>


LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

// AccelStepper Setup
AccelStepper stepperX(1, 12, 11);   // 1 = Easy Driver interface
                                  // NANO Pin 2 connected to STEP pin of Easy Driver
                                  // NANO Pin 3 connected to DIR pin of Easy Driver

// Define the Pins used
#define home_switch 10 // Pin 9 connected to Home Switch (MicroSwitch)

// Stepper Travel Variables
long TravelX;  // Used to store the X value entered in the Serial Monitor
int move_finished=1;  // Used to check if move is completed
long initial_homing=-1;  // Used to Home Stepper at startup


//keypad setup
const int ROW_NUM = 4; //four rows
const int COLUMN_NUM = 4; //four columns

char keys[ROW_NUM][COLUMN_NUM] = {
  {'1','2','3', 'A'},
  {'4','5','6', 'B'},
  {'7','8','9', 'C'},
  {'*','0','#', 'D'}
};

byte pin_rows[ROW_NUM] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad
byte pin_column[COLUMN_NUM] = {9, 8, 7, 6}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM );

String inputString;
long inputInt;



void setup() {
  inputString.reserve(10); // maximum number of digit for a number is 10, change if needed

  //lcd setup
  lcd.clear();
  lcd.init();                      // initialize the lcd 
  lcd.backlight();
 

   Serial.begin(9600);  // Start the Serial monitor with speed of 9600 Bauds
   
   pinMode(home_switch, INPUT_PULLUP);
   delay(5);
   //  Set Max Speed and Acceleration of each Steppers at startup for homing
  stepperX.setMaxSpeed(800.0);      // Set Max Speed of Stepper (Slower to get better accuracy)
  stepperX.setAcceleration(800.0);  // Set Acceleration of Stepper
 
// Start Homing procedure of Stepper Motor at startup
  lcd.setCursor(0,0);
  Serial.print("Stepper is Homing . . . . . . . . . . . ");

  while (digitalRead(home_switch)) {  // Make the Stepper move CCW until the switch is activated   
    stepperX.moveTo(initial_homing);  // Set the position to move to
    initial_homing--;  // Decrease by 1 for next move if needed
    stepperX.run();  // Start moving the stepper
   delay(1);
   lcd.print("INITIALIZING!");
  delay(250);
  lcd.clear();
  delay(250);
}
 

stepperX.setCurrentPosition(0);  // Set the current position as zero for now
stepperX.setMaxSpeed(100.0);      // Set Max Speed of Stepper (Slower to get better accuracy)
 stepperX.setAcceleration(100.0);  // Set Acceleration of Stepper
initial_homing=1;

  while (!digitalRead(home_switch)) { // Make the Stepper move CW until the switch is deactivated
    stepperX.moveTo(initial_homing);  
    initial_homing++;
    stepperX.run();
    delay(1);
  }


  stepperX.setCurrentPosition(0);
  lcd.setCursor(0,0);
  lcd.print("HOMING COMPLETED");
  //delay(5000);
  Serial.println("Homing Completed");
  Serial.println("");
  stepperX.setMaxSpeed(1000.0);      // Set Max Speed of Stepper (Faster for regular movements)
  stepperX.setAcceleration(500.0);  // Set Acceleration of Stepper

// Print out Instructions on the Serial Monitor at Start
lcd.setCursor(0,1);
lcd.print("enter value:");
  Serial.println("Enter Travel distance (Positive for CW / Negative for CCW and Zero for back to Home): ");
}

void loop() {
  
//keypad part
char key = keypad.getKey();
 if (key) {
   

    if (key >= '0' && key <= '9') {     // only act on numeric keys
      inputString += key;               // append new character to input string
    } else if (key == '#') {
      if (inputString.length() > 0) {
        inputInt = inputString.toInt(); // YOU GOT AN INTEGER NUMBER
        inputString = "";               // clear input
         Serial.println(inputInt);
        // DO YOUR WORK HERE

     
  
 
while (Serial.available()>0)  {
//motor part

  move_finished=0;  // Set variable for checking move of the Stepper
  
  //TravelX= Serial.parseInt();  // Put numeric value from buffer in TravelX variable
  TravelX= inputInt;
  if (TravelX < 0 || TravelX > 140250) {  // Make sure the position entered is not beyond the HOME or MAX position
    Serial.println("");
    Serial.println("Please enter a value greater than zero and smaller or equal to 70250.....");
    Serial.println("");
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("invalid value.");
    delay(10000);
    lcd.clear();
    lcd.print("enter value:");

    
  } else {
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Moving to:");
    Serial.print("Moving stepper into position: ");
    lcd.print(TravelX);
    Serial.println(TravelX);
  
  stepperX.moveTo(TravelX);  // Set new moveto position of Stepper
  
  delay(1000);  // Wait 1 seconds before moving the Stepper
  }
  }

  if (TravelX >= 0 && TravelX <= 140250) {

// Check if the Stepper has reached desired position
  if ((stepperX.distanceToGo() != 0)) {
    
    stepperX.run();  // Move Stepper into position
    
  }

// If move is completed display message on Serial Monitor
  if ((move_finished == 0) && (stepperX.distanceToGo() == 0)) {
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("COMPLETED!");
    Serial.println("COMPLETED!");
    Serial.println("");
     Serial.println("Enter Travel distance (Positive for CW / Negative for CCW and Zero for back to Home): ");
     lcd.setCursor(0,1);
     lcd.print("enter value:");
    move_finished=1;  // Reset move variable
    
  }
  }
  //stepperX.stop();
   }
    } else if (key == '*') {
      inputString = "";                 // clear input
    }
  }
}

with this i can enter upto 10 digits, and when i press '"#" on the keypad. the number is displayed in the serial monitor as well. But it isnot being taken as "TravelX" input.

Basically what i want it to do is the motor to move to the number given in the keypad, and should move as soon as i press #