[BACK]Return to input-keys.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/input-keys.c between version 1.4 and 1.5

version 1.4, 2009/10/11 07:01:10 version 1.5, 2009/10/26 13:02:53
Line 32 
Line 32 
 #define INPUTKEY_KEYPAD 0x1     /* keypad key */  #define INPUTKEY_KEYPAD 0x1     /* keypad key */
 #define INPUTKEY_CURSOR 0x2     /* cursor key */  #define INPUTKEY_CURSOR 0x2     /* cursor key */
 #define INPUTKEY_CTRL 0x4       /* may be modified with ctrl */  #define INPUTKEY_CTRL 0x4       /* may be modified with ctrl */
 #define INPUTKEY_XTERM 0x4      /* may have xterm argument appended */  
 };  };
   
 struct input_key_ent input_keys[] = {  struct input_key_ent input_keys[] = {
Line 40 
Line 39 
         { KEYC_BSPACE, "\177",     0 },          { KEYC_BSPACE, "\177",     0 },
   
         /* Function keys. */          /* Function keys. */
         { KEYC_F1,     "\033OP",   INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F1,     "\033OP",   INPUTKEY_CTRL },
         { KEYC_F2,     "\033OQ",   INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F2,     "\033OQ",   INPUTKEY_CTRL },
         { KEYC_F3,     "\033OR",   INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F3,     "\033OR",   INPUTKEY_CTRL },
         { KEYC_F4,     "\033OS",   INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F4,     "\033OS",   INPUTKEY_CTRL },
         { KEYC_F5,     "\033[15~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F5,     "\033[15~", INPUTKEY_CTRL },
         { KEYC_F6,     "\033[17~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F6,     "\033[17~", INPUTKEY_CTRL },
         { KEYC_F7,     "\033[18~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F7,     "\033[18~", INPUTKEY_CTRL },
         { KEYC_F8,     "\033[19~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F8,     "\033[19~", INPUTKEY_CTRL },
         { KEYC_F9,     "\033[20~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F9,     "\033[20~", INPUTKEY_CTRL },
         { KEYC_F10,    "\033[21~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F10,    "\033[21~", INPUTKEY_CTRL },
         { KEYC_F11,    "\033[23~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F11,    "\033[23~", INPUTKEY_CTRL },
         { KEYC_F12,    "\033[24~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F12,    "\033[24~", INPUTKEY_CTRL },
         { KEYC_F13,    "\033[25~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F13,    "\033[25~", INPUTKEY_CTRL },
         { KEYC_F14,    "\033[26~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F14,    "\033[26~", INPUTKEY_CTRL },
         { KEYC_F15,    "\033[28~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F15,    "\033[28~", INPUTKEY_CTRL },
         { KEYC_F16,    "\033[29~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F16,    "\033[29~", INPUTKEY_CTRL },
         { KEYC_F17,    "\033[31~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F17,    "\033[31~", INPUTKEY_CTRL },
         { KEYC_F18,    "\033[32~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F18,    "\033[32~", INPUTKEY_CTRL },
         { KEYC_F19,    "\033[33~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F19,    "\033[33~", INPUTKEY_CTRL },
         { KEYC_F20,    "\033[34~", INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_F20,    "\033[34~", INPUTKEY_CTRL },
         { KEYC_IC,     "\033[2~",  INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_IC,     "\033[2~",  INPUTKEY_CTRL },
         { KEYC_DC,     "\033[3~",  INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_DC,     "\033[3~",  INPUTKEY_CTRL },
         { KEYC_HOME,   "\033[1~",  INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_HOME,   "\033[1~",  INPUTKEY_CTRL },
         { KEYC_END,    "\033[4~",  INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_END,    "\033[4~",  INPUTKEY_CTRL },
         { KEYC_NPAGE,  "\033[6~",  INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_NPAGE,  "\033[6~",  INPUTKEY_CTRL },
         { KEYC_PPAGE,  "\033[5~",  INPUTKEY_CTRL|INPUTKEY_XTERM },          { KEYC_PPAGE,  "\033[5~",  INPUTKEY_CTRL },
         { KEYC_BTAB,   "\033[Z",   INPUTKEY_CTRL },          { KEYC_BTAB,   "\033[Z",   INPUTKEY_CTRL },
   
         /* Arrow keys. Cursor versions must come first. */          /* Arrow keys. Cursor versions must come first. */
Line 171 
Line 170 
         dlen = strlen(ike->data);          dlen = strlen(ike->data);
   
         log_debug2("found key 0x%x: \"%s\"", key, ike->data);          log_debug2("found key 0x%x: \"%s\"", key, ike->data);
   
         /*  
          * If in xterm keys mode, work out and append the modifier as an  
          * argument.  
          */  
         xterm_keys = options_get_number(&wp->window->options, "xterm-keys");  
         if (xterm_keys && ike->flags & INPUTKEY_XTERM) {  
                 ch = '\0';  
                 if (key & (KEYC_SHIFT|KEYC_ESCAPE|KEYC_CTRL))  
                         ch = '8';  
                 else if (key & (KEYC_ESCAPE|KEYC_CTRL))  
                         ch = '7';  
                 else if (key & (KEYC_SHIFT|KEYC_CTRL))  
                         ch = '6';  
                 else if (key & KEYC_CTRL)  
                         ch = '5';  
                 else if (key & (KEYC_SHIFT|KEYC_ESCAPE))  
                         ch = '4';  
                 else if (key & KEYC_ESCAPE)  
                         ch = '3';  
                 else if (key & KEYC_SHIFT)  
                         ch = '2';  
                 if (ch != '\0') {  
                         buffer_write(wp->out, ike->data, dlen - 1);  
                         buffer_write8(wp->out, ';');  
                         buffer_write8(wp->out, ch);  
                         buffer_write8(wp->out, ike->data[dlen - 1]);  
                 } else  
                         buffer_write(wp->out, ike->data, dlen);  
                 return;  
         }  
   
         /*          /*
          * Not in xterm mode. Prefix a \033 for escape, and set bit 5 of the           * Not in xterm mode. Prefix a \033 for escape, and set bit 5 of the

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5