Blob Blame History Raw
--- a/src/keymap.c	
+++ a/src/keymap.c	
@@ -286,6 +286,8 @@ static const struct _vte_keymap_entry _vte_keymap_GDK_Home[] = {
 	{cursor_all, keypad_all, fkey_vt220, 0, _VTE_CAP_CSI "1~", -1, X_NULL},
 	{cursor_all, keypad_all, fkey_hp, 0, _VTE_CAP_ESC "h", -1, X_NULL},
 	{cursor_all, keypad_all, fkey_nothpvt, 0, X_NULL, 0, "kh"},
+	{cursor_default, keypad_all, fkey_default, 0, _VTE_CAP_CSI "H", -1, X_NULL},
+	{cursor_app, keypad_all, fkey_default, 0, _VTE_CAP_SS3 "H", -1, X_NULL},
 	{cursor_all, keypad_all, fkey_all, 0, X_NULL, 0, X_NULL},
 };
 
@@ -293,6 +295,8 @@ static const struct _vte_keymap_entry _vte_keymap_GDK_End[] = {
 	{cursor_all, keypad_all, fkey_all, 0, X_NULL, 0, "@7"},
 	{cursor_all, keypad_all, fkey_vt220, 0, _VTE_CAP_CSI "4~", -1, X_NULL},
 	{cursor_all, keypad_all, fkey_notvt220, 0, X_NULL, 0, "@7"},
+	{cursor_default, keypad_all, fkey_default, 0, _VTE_CAP_CSI "F", -1, X_NULL},
+	{cursor_app, keypad_all, fkey_default, 0, _VTE_CAP_SS3 "F", -1, X_NULL},
 	{cursor_all, keypad_all, fkey_all, 0, X_NULL, 0, X_NULL},
 };
 
@@ -504,10 +508,11 @@ static const struct _vte_keymap_entry _vte_keymap_GDK_KP_Insert[] = {
 
 static const struct _vte_keymap_entry _vte_keymap_GDK_KP_End[] = {
 	{cursor_all, keypad_default, fkey_all, 0, X_NULL, 0, "K4"},
-	{cursor_all, keypad_default, fkey_notvt220,
-	 0, _VTE_CAP_CSI "4~", -1, X_NULL},
+	{cursor_default, keypad_default, fkey_notvt220, 0, _VTE_CAP_CSI "F", -1, X_NULL},
+	{cursor_app, keypad_default, fkey_notvt220, 0, _VTE_CAP_SS3 "F", -1, X_NULL},
 	{cursor_all, keypad_default, fkey_vt220, 0, "1", 1, X_NULL},
-	{cursor_all, keypad_app, fkey_notvt220, 0, _VTE_CAP_CSI "4~", -1, X_NULL},
+	{cursor_default, keypad_app, fkey_notvt220, 0, _VTE_CAP_CSI "F", -1, X_NULL},
+	{cursor_app, keypad_app, fkey_notvt220, 0, _VTE_CAP_SS3 "F", -1, X_NULL},
 	{cursor_all, keypad_app, fkey_vt220, 0, _VTE_CAP_SS3 "q", -1, X_NULL},
 	{cursor_all, keypad_all, fkey_all, 0, X_NULL, 0, X_NULL},
 };
@@ -565,10 +570,11 @@ static const struct _vte_keymap_entry _vte_keymap_GDK_KP_Right[] = {
 
 static const struct _vte_keymap_entry _vte_keymap_GDK_KP_Home[] = {
 	{cursor_all, keypad_default, fkey_all, 0, X_NULL, 0, "K1"},
-	{cursor_all, keypad_default, fkey_notvt220,
-	 0, _VTE_CAP_CSI "1~", -1, X_NULL},
+	{cursor_default, keypad_default, fkey_notvt220, 0, _VTE_CAP_CSI "H", -1, X_NULL},
+	{cursor_app, keypad_default, fkey_notvt220, 0, _VTE_CAP_SS3 "H", -1, X_NULL},
 	{cursor_all, keypad_default, fkey_vt220, 0, "7", 1, X_NULL},
-	{cursor_all, keypad_app, fkey_notvt220, 0, _VTE_CAP_CSI "1~", -1, X_NULL},
+	{cursor_default, keypad_app, fkey_notvt220, 0, _VTE_CAP_CSI "H", -1, X_NULL},
+	{cursor_app, keypad_app, fkey_notvt220, 0, _VTE_CAP_SS3 "H", -1, X_NULL},
 	{cursor_all, keypad_app, fkey_vt220, 0, _VTE_CAP_SS3 "w", -1, X_NULL},
 	{cursor_all, keypad_all, fkey_all, 0, X_NULL, 0, X_NULL},
 };
@@ -1280,6 +1286,8 @@ _vte_keymap_key_gets_modifiers(guint keyval)
 	case GDK_KEY (Right):
 	case GDK_KEY (Insert):
 	case GDK_KEY (Delete):
+	case GDK_KEY (Home):
+	case GDK_KEY (End):
 	case GDK_KEY (Page_Up):
 	case GDK_KEY (Page_Down):
 	case GDK_KEY (KP_Up):
@@ -1288,6 +1296,8 @@ _vte_keymap_key_gets_modifiers(guint keyval)
 	case GDK_KEY (KP_Right):
 	case GDK_KEY (KP_Insert):
 	case GDK_KEY (KP_Delete):
+	case GDK_KEY (KP_Home):
+	case GDK_KEY (KP_End):
 	case GDK_KEY (KP_Page_Up):
 	case GDK_KEY (KP_Page_Down):
 	case GDK_KEY (F1):