Why there is F in
lcd.print(F((char)223));
In my opinion, your code is way too big to handle for a beginner at once. My advice is try a smaller code wheres your problem resides. For example: make a small program that read the keypad. If keypad UP is pressed, send serial UP to your PC. if keypad DOWN is pressed, send serial DOWN to your PC and so on. If the small program is still have a problem, dont advance to the next step.