- switch(ksym) {
- case XK_Up:
- case XK_Down:
- case XK_Left:
- case XK_Right:
- /* XXX: shift up/down doesn't work */
- sprintf(buf, "\033%c%c",
- IS_SET(MODE_APPKEYPAD) ? 'O' : '[',
- (shift ? "dacb":"DACB")[ksym - XK_Left]);
- len = 3;
- break;
- case XK_Insert:
- if(shift) {
- selpaste();
- return;
- }
- memcpy(buf, xstr, len);
- break;
- case XK_Return:
- len = 0;
- if(meta)
- *cp++ = '\033', len++;
-
- *cp++ = '\r', len++;
-
- if(IS_SET(MODE_CRLF))
- *cp = '\n', len++;
- break;
- /* 3. X lookup */
- default:
- if(len == 0)
- return;