# HG changeset patch # User John "Elwin" Edwards # Date 1432762172 14400 # Node ID 9aa9b9a2e15948912ce5e0174d5454afc5cf03e1 # Parent c8fc38d903a37cc4157921b97ddbb19f5ee032a7 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(). diff -r c8fc38d903a3 -r 9aa9b9a2e159 arogue7/mdport.c --- 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; diff -r c8fc38d903a3 -r 9aa9b9a2e159 xrogue/command.c --- 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 */