changeset 56:3c5682bbf164

Improve support for keypad 5.
author elwin
date Fri, 28 Oct 2011 16:00:05 +0000
parents e7dc901146f1
children fdc588551178
files rogue4/mdport.c rogue5/mdport.c
diffstat 2 files changed, 10 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/rogue4/mdport.c	Fri Oct 28 15:45:12 2011 +0000
+++ b/rogue4/mdport.c	Fri Oct 28 16:00:05 2011 +0000
@@ -1172,6 +1172,9 @@
                 case   '1': lastch = 'y'; mode=M_TRAIL; break;  /* Home     */
                 case   '4': lastch = 'b'; mode=M_TRAIL; break;  /* End      */
 
+                /* ESC [ - not understood by screen/tmux */
+                case   'E': ch = '.'; break;			/* Keypad 5 */
+
                 /* ESC O - PuTTY */
                 case   'D': ch = MOD_MOVE('H'); break;
                 case   'C': ch = MOD_MOVE('L'); break;
@@ -1217,6 +1220,7 @@
             case KEY_LL     : ch = 'b'; break;
 #endif
             case KEY_NPAGE  : ch = 'n'; break;
+            case KEY_BEG    : ch = '.'; break;
 
 #ifdef KEY_B1
             case KEY_B1     : ch = 'h'; break;
@@ -1228,8 +1232,7 @@
             case KEY_A3     : ch = 'u'; break;
             case KEY_C1     : ch = 'b'; break;
             case KEY_C3     : ch = 'n'; break;
-            /* next should be '.', but for problem with putty/linux */
-            case KEY_B2     : ch = 'u'; break;
+            case KEY_B2	    : ch = '.'; break;
 
 #ifdef KEY_SLEFT
             case KEY_SRIGHT  : ch = MOD_MOVE('L'); break;
--- a/rogue5/mdport.c	Fri Oct 28 15:45:12 2011 +0000
+++ b/rogue5/mdport.c	Fri Oct 28 16:00:05 2011 +0000
@@ -1249,6 +1249,9 @@
 		case   '1': lastch = 'y'; mode=M_TRAIL; break;	/* Home	    */
 		case   '4': lastch = 'b'; mode=M_TRAIL; break;	/* End	    */
 
+		/* ESC [ - not understood by screen/tmux */
+		case   'E': ch = '.'; break;			/* Keypad 5 */
+
 		/* ESC O - PuTTY */
 		case   'D': ch = CTRL('H'); break;
 		case   'C': ch = CTRL('L'); break;
@@ -1294,6 +1297,7 @@
 	    case KEY_LL	    : ch = 'b'; break;
 #endif
 	    case KEY_NPAGE  : ch = 'n'; break;
+	    case KEY_BEG    : ch = '.'; break;
 
 #ifdef KEY_B1
 	    case KEY_B1	    : ch = 'h'; break;
@@ -1305,8 +1309,7 @@
 	    case KEY_A3     : ch = 'u'; break;
 	    case KEY_C1     : ch = 'b'; break;
 	    case KEY_C3     : ch = 'n'; break;
-            /* next should be '.', but for problem with putty/linux */
-	    case KEY_B2	    : ch = 'u'; break;
+	    case KEY_B2	    : ch = '.'; break;
 
 #ifdef KEY_SLEFT
 	    case KEY_SRIGHT  : ch = CTRL('L'); break;