diff --git a/ChangeLog b/ChangeLog
index 4a8a6cf0bc32862e41371d305103b92f8843f349..d282c48cd6a7f5bc83b71d369f26acac44464cd6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
 CVS Code -
+- nano.c:
+  main()
+	- Add Esc-[IGL] keys for FreeBSD Console (PgUp,PgDn,Insert).
 
 nano-1.1.3 - 10/26/2001
 - General
diff --git a/nano.c b/nano.c
index 3afe626d5d5e53948b8b1a73c1eed0892b4b7db2..379b82a4421aaf04aa70b0d5ac3fcb17ea5f6a90 100644
--- a/nano.c
+++ b/nano.c
@@ -3027,10 +3027,16 @@ int main(int argc, char *argv[])
 		    kbinput = KEY_PPAGE;
 		    wgetch(edit);
 		    break;
+		case 'I':	/* Alt-[-I = Page Up - FreeBSD Console */
+		    kbinput = KEY_PPAGE;
+		    break;
 		case '6':	/* Alt-[-6 = Page Down */
 		    kbinput = KEY_NPAGE;
 		    wgetch(edit);
 		    break;
+		case 'G':	/* Alt-[-G = Page Down - FreeBSD Console */
+		    kbinput = KEY_NPAGE;
+		    break;
 		case '7':
 		    kbinput = KEY_HOME;
 		    wgetch(edit);
@@ -3039,6 +3045,14 @@ int main(int argc, char *argv[])
 		    kbinput = KEY_END;
 		    wgetch(edit);
 		    break;
+		case 'L':		/* Insert Key - FreeBSD Console */
+#ifdef ENABLE_MULTIBUFFER
+		    do_insertfile(ISSET(MULTIBUFFER));
+#else
+		    do_insertfile(0);
+#endif
+		    keyhandled = 1;
+		    break;
 		case '[':	/* Alt-[-[-[A-E], F1-F5 in linux console */
 		    kbinput = wgetch(edit);
 		    if (kbinput >= 'A' && kbinput <= 'E')