[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.66 and 1.67

version 1.66, 2019/11/18 09:42:09 version 1.67, 2020/01/13 07:51:54
Line 150 
Line 150 
 }  }
   
 /* Translate a key code into an output key sequence. */  /* Translate a key code into an output key sequence. */
 void  int
 input_key(struct window_pane *wp, key_code key, struct mouse_event *m)  input_key(struct window_pane *wp, key_code key, struct mouse_event *m)
 {  {
         const struct input_key_ent      *ike;          const struct input_key_ent      *ike;
Line 167 
Line 167 
         if (KEYC_IS_MOUSE(key)) {          if (KEYC_IS_MOUSE(key)) {
                 if (m != NULL && m->wp != -1 && (u_int)m->wp == wp->id)                  if (m != NULL && m->wp != -1 && (u_int)m->wp == wp->id)
                         input_key_mouse(wp, m);                          input_key_mouse(wp, m);
                 return;                  return (0);
         }          }
   
         /* Literal keys go as themselves (can't be more than eight bits). */          /* Literal keys go as themselves (can't be more than eight bits). */
         if (key & KEYC_LITERAL) {          if (key & KEYC_LITERAL) {
                 ud.data[0] = (u_char)key;                  ud.data[0] = (u_char)key;
                 bufferevent_write(wp->event, &ud.data[0], 1);                  bufferevent_write(wp->event, &ud.data[0], 1);
                 return;                  return (0);
         }          }
   
         /* Is this backspace? */          /* Is this backspace? */
Line 195 
Line 195 
                         bufferevent_write(wp->event, "\033", 1);                          bufferevent_write(wp->event, "\033", 1);
                 ud.data[0] = justkey;                  ud.data[0] = justkey;
                 bufferevent_write(wp->event, &ud.data[0], 1);                  bufferevent_write(wp->event, &ud.data[0], 1);
                 return;                  return (0);
         }          }
         if (justkey > 0x7f && justkey < KEYC_BASE) {          if (justkey > 0x7f && justkey < KEYC_BASE) {
                 if (utf8_split(justkey, &ud) != UTF8_DONE)                  if (utf8_split(justkey, &ud) != UTF8_DONE)
                         return;                          return (-1);
                 if (key & KEYC_ESCAPE)                  if (key & KEYC_ESCAPE)
                         bufferevent_write(wp->event, "\033", 1);                          bufferevent_write(wp->event, "\033", 1);
                 bufferevent_write(wp->event, ud.data, ud.size);                  bufferevent_write(wp->event, ud.data, ud.size);
                 return;                  return (0);
         }          }
   
         /*          /*
Line 214 
Line 214 
                 if ((out = xterm_keys_lookup(key)) != NULL) {                  if ((out = xterm_keys_lookup(key)) != NULL) {
                         bufferevent_write(wp->event, out, strlen(out));                          bufferevent_write(wp->event, out, strlen(out));
                         free(out);                          free(out);
                         return;                          return (0);
                 }                  }
         }          }
         key &= ~KEYC_XTERM;          key &= ~KEYC_XTERM;
Line 237 
Line 237 
         }          }
         if (i == nitems(input_keys)) {          if (i == nitems(input_keys)) {
                 log_debug("key 0x%llx missing", key);                  log_debug("key 0x%llx missing", key);
                 return;                  return (-1);
         }          }
         dlen = strlen(ike->data);          dlen = strlen(ike->data);
         log_debug("found key 0x%llx: \"%s\"", key, ike->data);          log_debug("found key 0x%llx: \"%s\"", key, ike->data);
Line 246 
Line 246 
         if (key & KEYC_ESCAPE)          if (key & KEYC_ESCAPE)
                 bufferevent_write(wp->event, "\033", 1);                  bufferevent_write(wp->event, "\033", 1);
         bufferevent_write(wp->event, ike->data, dlen);          bufferevent_write(wp->event, ike->data, dlen);
           return (0);
 }  }
   
 /* Translate mouse and output. */  /* Translate mouse and output. */

Legend:
Removed from v.1.66  
changed lines
  Added in v.1.67