diff --git a/src/winio.c b/src/winio.c
index 693c81eae1caecfff4274d967f208f04d8576727..f75304fceb3adfc0ef59654998f3ebfbaba1d011 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -632,12 +632,18 @@ int parse_kbinput(WINDOW *win)
 	case KEY_C1:	/* End (1) on keypad with NumLock off. */
 	    return KEY_END;
 #ifndef NANO_TINY
-	case SHIFT_PAGEUP:		/* Fake key, from Shift+Alt+Up. */
+#ifdef KEY_SPREVIOUS
+	case KEY_SPREVIOUS:
+#endif
+	case SHIFT_PAGEUP:	/* Fake key, from Shift+Alt+Up. */
 	    shift_held = TRUE;
 #endif
 	case KEY_A3:	/* PageUp (9) on keypad with NumLock off. */
 	    return KEY_PPAGE;
 #ifndef NANO_TINY
+#ifdef KEY_SNEXT
+	case KEY_SNEXT:
+#endif
 	case SHIFT_PAGEDOWN:	/* Fake key, from Shift+Alt+Down. */
 	    shift_held = TRUE;
 #endif