changeset 149:9aa9b9a2e159

arogue7, xrogue: add support for keypad 5. Keypad 5 is now equivalent to the '.' key. XRogue does not include md_readchar() and its ability to work around deficiencies in the terminfo entry. So the key will not be recognized in screen/tmux or anywhere else without the kb2 capability. Adding md_readchar() would be more complex than it was for Super-Rogue, since XRogue already does KEY_* interpretation in command().
author John "Elwin" Edwards
date Wed, 27 May 2015 17:29:32 -0400
parents c8fc38d903a3
children a307ff9cd95e
files arogue7/mdport.c xrogue/command.c
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/arogue7/mdport.c	Thu May 21 09:02:15 2015 -0400
+++ b/arogue7/mdport.c	Wed May 27 17:29:32 2015 -0400
@@ -1073,6 +1073,9 @@
                 case   '1': lastch = 'y'; mode=M_TRAIL; break;  /* Home     */
                 case   '4': lastch = 'b'; mode=M_TRAIL; break;  /* End      */
 
+                /* ESC [ - screen/tmux */
+                case   'E': ch = '.'; break;
+
                 /* ESC O - PuTTY */
                 case   'D': ch = MOD_MOVE('H'); break;
                 case   'C': ch = MOD_MOVE('L'); break;
@@ -1124,8 +1127,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/xrogue/command.c	Thu May 21 09:02:15 2015 -0400
+++ b/xrogue/command.c	Wed May 27 17:29:32 2015 -0400
@@ -344,6 +344,7 @@
                             player.t_action = A_NIL;
                         }
                     when '.' :
+                    case KEY_B2 :
                         player.t_no_move = movement(&player);  /* Rest */
                         player.t_action = A_NIL;
                     when ' ' : after = FALSE;   /* Do Nothing */