patch 8.1.2333: with modifyOtherKeys CTRL-^ doesn't work

Problem:    With modifyOtherKeys CTRL-^ doesn't work.
Solution:   Handle the exception.
diff --git a/src/getchar.c b/src/getchar.c
index 31843f6..475ee7e 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1768,12 +1768,19 @@
 	    {
 		// A modifier was not used for a mapping, apply it to ASCII
 		// keys.  Shift would already have been applied.
-		if ((mod_mask & MOD_MASK_CTRL)
-			&& ((c >= '`' && c <= 0x7f)
-			    || (c >= '@' && c <= '_')))
+		if (mod_mask & MOD_MASK_CTRL)
 		{
-		    c &= 0x1f;
-		    mod_mask &= ~MOD_MASK_CTRL;
+		    if ((c >= '`' && c <= 0x7f) || (c >= '@' && c <= '_'))
+		    {
+			c &= 0x1f;
+			mod_mask &= ~MOD_MASK_CTRL;
+		    }
+		    else if (c == '6')
+		    {
+			// CTRL-6 is equivalent to CTRL-^
+			c = 0x1e;
+			mod_mask &= ~MOD_MASK_CTRL;
+		    }
 		}
 		if ((mod_mask & (MOD_MASK_META | MOD_MASK_ALT))
 			&& c >= 0 && c <= 127)
diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim
index 6f8c8c0..2678dae 100644
--- a/src/testdir/test_termcodes.vim
+++ b/src/testdir/test_termcodes.vim
@@ -1192,6 +1192,14 @@
   call feedkeys('a' .. a:func('X', 9) .. "\<Esc>", 'Lx!')
   call assert_equal("Ø", getline(1))
 
+  " Ctrl-6 is Ctrl-^
+  split aaa
+  edit bbb
+  call feedkeys(a:func('6', 5), 'Lx!')
+  call assert_equal("aaa", bufname())
+  bwipe aaa
+  bwipe bbb
+
   bwipe!
   set timeoutlen&
 endfunc
diff --git a/src/version.c b/src/version.c
index 0fa2f7d..9037349 100644
--- a/src/version.c
+++ b/src/version.c
@@ -738,6 +738,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2333,
+/**/
     2332,
 /**/
     2331,