=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/tty-keys.c,v retrieving revision 1.133 retrieving revision 1.134 diff -c -r1.133 -r1.134 *** src/usr.bin/tmux/tty-keys.c 2020/05/16 16:32:21 1.133 --- src/usr.bin/tmux/tty-keys.c 2020/05/16 16:33:16 1.134 *************** *** 1,4 **** ! /* $OpenBSD: tty-keys.c,v 1.133 2020/05/16 16:32:21 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: tty-keys.c,v 1.134 2020/05/16 16:33:16 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 226,237 **** 0, 0, KEYC_SHIFT|KEYC_XTERM, ! KEYC_ESCAPE|KEYC_XTERM, ! KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM, KEYC_CTRL|KEYC_XTERM, KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM, ! KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM, ! KEYC_SHIFT|KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM }; /* --- 226,237 ---- 0, 0, KEYC_SHIFT|KEYC_XTERM, ! KEYC_META|KEYC_XTERM, ! KEYC_SHIFT|KEYC_META|KEYC_XTERM, KEYC_CTRL|KEYC_XTERM, KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM, ! KEYC_META|KEYC_CTRL|KEYC_XTERM, ! KEYC_SHIFT|KEYC_META|KEYC_CTRL|KEYC_XTERM }; /* *************** *** 297,318 **** { TTYC_KF47, KEYC_F11|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, { TTYC_KF48, KEYC_F12|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KF49, KEYC_F1|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KF50, KEYC_F2|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KF51, KEYC_F3|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KF52, KEYC_F4|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KF53, KEYC_F5|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KF54, KEYC_F6|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KF55, KEYC_F7|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KF56, KEYC_F8|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KF57, KEYC_F9|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KF58, KEYC_F10|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KF59, KEYC_F11|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KF60, KEYC_F12|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KF61, KEYC_F1|KEYC_ESCAPE|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KF62, KEYC_F2|KEYC_ESCAPE|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KF63, KEYC_F3|KEYC_ESCAPE|KEYC_SHIFT|KEYC_XTERM }, { TTYC_KICH1, KEYC_IC }, { TTYC_KDCH1, KEYC_DC }, --- 297,318 ---- { TTYC_KF47, KEYC_F11|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, { TTYC_KF48, KEYC_F12|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KF49, KEYC_F1|KEYC_META|KEYC_XTERM }, ! { TTYC_KF50, KEYC_F2|KEYC_META|KEYC_XTERM }, ! { TTYC_KF51, KEYC_F3|KEYC_META|KEYC_XTERM }, ! { TTYC_KF52, KEYC_F4|KEYC_META|KEYC_XTERM }, ! { TTYC_KF53, KEYC_F5|KEYC_META|KEYC_XTERM }, ! { TTYC_KF54, KEYC_F6|KEYC_META|KEYC_XTERM }, ! { TTYC_KF55, KEYC_F7|KEYC_META|KEYC_XTERM }, ! { TTYC_KF56, KEYC_F8|KEYC_META|KEYC_XTERM }, ! { TTYC_KF57, KEYC_F9|KEYC_META|KEYC_XTERM }, ! { TTYC_KF58, KEYC_F10|KEYC_META|KEYC_XTERM }, ! { TTYC_KF59, KEYC_F11|KEYC_META|KEYC_XTERM }, ! { TTYC_KF60, KEYC_F12|KEYC_META|KEYC_XTERM }, ! { TTYC_KF61, KEYC_F1|KEYC_META|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KF62, KEYC_F2|KEYC_META|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KF63, KEYC_F3|KEYC_META|KEYC_SHIFT|KEYC_XTERM }, { TTYC_KICH1, KEYC_IC }, { TTYC_KDCH1, KEYC_DC }, *************** *** 330,396 **** /* Key and modifier capabilities. */ { TTYC_KDC2, KEYC_DC|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KDC3, KEYC_DC|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KDC4, KEYC_DC|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, { TTYC_KDC5, KEYC_DC|KEYC_CTRL|KEYC_XTERM }, { TTYC_KDC6, KEYC_DC|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KDC7, KEYC_DC|KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM }, { TTYC_KIND, KEYC_DOWN|KEYC_SHIFT|KEYC_XTERM }, { TTYC_KDN2, KEYC_DOWN|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KDN3, KEYC_DOWN|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KDN4, KEYC_DOWN|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, { TTYC_KDN5, KEYC_DOWN|KEYC_CTRL|KEYC_XTERM }, { TTYC_KDN6, KEYC_DOWN|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KDN7, KEYC_DOWN|KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM }, { TTYC_KEND2, KEYC_END|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KEND3, KEYC_END|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KEND4, KEYC_END|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, { TTYC_KEND5, KEYC_END|KEYC_CTRL|KEYC_XTERM }, { TTYC_KEND6, KEYC_END|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KEND7, KEYC_END|KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM }, { TTYC_KHOM2, KEYC_HOME|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KHOM3, KEYC_HOME|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KHOM4, KEYC_HOME|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, { TTYC_KHOM5, KEYC_HOME|KEYC_CTRL|KEYC_XTERM }, { TTYC_KHOM6, KEYC_HOME|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KHOM7, KEYC_HOME|KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM }, { TTYC_KIC2, KEYC_IC|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KIC3, KEYC_IC|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KIC4, KEYC_IC|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, { TTYC_KIC5, KEYC_IC|KEYC_CTRL|KEYC_XTERM }, { TTYC_KIC6, KEYC_IC|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KIC7, KEYC_IC|KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM }, { TTYC_KLFT2, KEYC_LEFT|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KLFT3, KEYC_LEFT|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KLFT4, KEYC_LEFT|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, { TTYC_KLFT5, KEYC_LEFT|KEYC_CTRL|KEYC_XTERM }, { TTYC_KLFT6, KEYC_LEFT|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KLFT7, KEYC_LEFT|KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM }, { TTYC_KNXT2, KEYC_NPAGE|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KNXT3, KEYC_NPAGE|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KNXT4, KEYC_NPAGE|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, { TTYC_KNXT5, KEYC_NPAGE|KEYC_CTRL|KEYC_XTERM }, { TTYC_KNXT6, KEYC_NPAGE|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KNXT7, KEYC_NPAGE|KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM }, { TTYC_KPRV2, KEYC_PPAGE|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KPRV3, KEYC_PPAGE|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KPRV4, KEYC_PPAGE|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, { TTYC_KPRV5, KEYC_PPAGE|KEYC_CTRL|KEYC_XTERM }, { TTYC_KPRV6, KEYC_PPAGE|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KPRV7, KEYC_PPAGE|KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM }, { TTYC_KRIT2, KEYC_RIGHT|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KRIT3, KEYC_RIGHT|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KRIT4, KEYC_RIGHT|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, { TTYC_KRIT5, KEYC_RIGHT|KEYC_CTRL|KEYC_XTERM }, { TTYC_KRIT6, KEYC_RIGHT|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KRIT7, KEYC_RIGHT|KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM }, { TTYC_KRI, KEYC_UP|KEYC_SHIFT|KEYC_XTERM }, { TTYC_KUP2, KEYC_UP|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KUP3, KEYC_UP|KEYC_ESCAPE|KEYC_XTERM }, ! { TTYC_KUP4, KEYC_UP|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, { TTYC_KUP5, KEYC_UP|KEYC_CTRL|KEYC_XTERM }, { TTYC_KUP6, KEYC_UP|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KUP7, KEYC_UP|KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM }, }; /* Add key to tree. */ --- 330,396 ---- /* Key and modifier capabilities. */ { TTYC_KDC2, KEYC_DC|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KDC3, KEYC_DC|KEYC_META|KEYC_XTERM }, ! { TTYC_KDC4, KEYC_DC|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, { TTYC_KDC5, KEYC_DC|KEYC_CTRL|KEYC_XTERM }, { TTYC_KDC6, KEYC_DC|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KDC7, KEYC_DC|KEYC_META|KEYC_CTRL|KEYC_XTERM }, { TTYC_KIND, KEYC_DOWN|KEYC_SHIFT|KEYC_XTERM }, { TTYC_KDN2, KEYC_DOWN|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KDN3, KEYC_DOWN|KEYC_META|KEYC_XTERM }, ! { TTYC_KDN4, KEYC_DOWN|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, { TTYC_KDN5, KEYC_DOWN|KEYC_CTRL|KEYC_XTERM }, { TTYC_KDN6, KEYC_DOWN|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KDN7, KEYC_DOWN|KEYC_META|KEYC_CTRL|KEYC_XTERM }, { TTYC_KEND2, KEYC_END|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KEND3, KEYC_END|KEYC_META|KEYC_XTERM }, ! { TTYC_KEND4, KEYC_END|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, { TTYC_KEND5, KEYC_END|KEYC_CTRL|KEYC_XTERM }, { TTYC_KEND6, KEYC_END|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KEND7, KEYC_END|KEYC_META|KEYC_CTRL|KEYC_XTERM }, { TTYC_KHOM2, KEYC_HOME|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KHOM3, KEYC_HOME|KEYC_META|KEYC_XTERM }, ! { TTYC_KHOM4, KEYC_HOME|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, { TTYC_KHOM5, KEYC_HOME|KEYC_CTRL|KEYC_XTERM }, { TTYC_KHOM6, KEYC_HOME|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KHOM7, KEYC_HOME|KEYC_META|KEYC_CTRL|KEYC_XTERM }, { TTYC_KIC2, KEYC_IC|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KIC3, KEYC_IC|KEYC_META|KEYC_XTERM }, ! { TTYC_KIC4, KEYC_IC|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, { TTYC_KIC5, KEYC_IC|KEYC_CTRL|KEYC_XTERM }, { TTYC_KIC6, KEYC_IC|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KIC7, KEYC_IC|KEYC_META|KEYC_CTRL|KEYC_XTERM }, { TTYC_KLFT2, KEYC_LEFT|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KLFT3, KEYC_LEFT|KEYC_META|KEYC_XTERM }, ! { TTYC_KLFT4, KEYC_LEFT|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, { TTYC_KLFT5, KEYC_LEFT|KEYC_CTRL|KEYC_XTERM }, { TTYC_KLFT6, KEYC_LEFT|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KLFT7, KEYC_LEFT|KEYC_META|KEYC_CTRL|KEYC_XTERM }, { TTYC_KNXT2, KEYC_NPAGE|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KNXT3, KEYC_NPAGE|KEYC_META|KEYC_XTERM }, ! { TTYC_KNXT4, KEYC_NPAGE|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, { TTYC_KNXT5, KEYC_NPAGE|KEYC_CTRL|KEYC_XTERM }, { TTYC_KNXT6, KEYC_NPAGE|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KNXT7, KEYC_NPAGE|KEYC_META|KEYC_CTRL|KEYC_XTERM }, { TTYC_KPRV2, KEYC_PPAGE|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KPRV3, KEYC_PPAGE|KEYC_META|KEYC_XTERM }, ! { TTYC_KPRV4, KEYC_PPAGE|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, { TTYC_KPRV5, KEYC_PPAGE|KEYC_CTRL|KEYC_XTERM }, { TTYC_KPRV6, KEYC_PPAGE|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KPRV7, KEYC_PPAGE|KEYC_META|KEYC_CTRL|KEYC_XTERM }, { TTYC_KRIT2, KEYC_RIGHT|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KRIT3, KEYC_RIGHT|KEYC_META|KEYC_XTERM }, ! { TTYC_KRIT4, KEYC_RIGHT|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, { TTYC_KRIT5, KEYC_RIGHT|KEYC_CTRL|KEYC_XTERM }, { TTYC_KRIT6, KEYC_RIGHT|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KRIT7, KEYC_RIGHT|KEYC_META|KEYC_CTRL|KEYC_XTERM }, { TTYC_KRI, KEYC_UP|KEYC_SHIFT|KEYC_XTERM }, { TTYC_KUP2, KEYC_UP|KEYC_SHIFT|KEYC_XTERM }, ! { TTYC_KUP3, KEYC_UP|KEYC_META|KEYC_XTERM }, ! { TTYC_KUP4, KEYC_UP|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, { TTYC_KUP5, KEYC_UP|KEYC_CTRL|KEYC_XTERM }, { TTYC_KUP6, KEYC_UP|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, ! { TTYC_KUP7, KEYC_UP|KEYC_META|KEYC_CTRL|KEYC_XTERM }, }; /* Add key to tree. */ *************** *** 731,737 **** size = 1; goto complete_key; } ! key |= KEYC_ESCAPE; size++; goto complete_key; } --- 731,737 ---- size = 1; goto complete_key; } ! key |= KEYC_META; size++; goto complete_key; } *************** *** 744,750 **** * escape). So pass it through even if the timer has not expired. */ if (*buf == '\033' && len >= 2) { ! key = (u_char)buf[1] | KEYC_ESCAPE; size = 2; } else { key = (u_char)buf[0]; --- 744,750 ---- * escape). So pass it through even if the timer has not expired. */ if (*buf == '\033' && len >= 2) { ! key = (u_char)buf[1] | KEYC_META; size = 2; } else { key = (u_char)buf[0]; *************** *** 902,911 **** (*key) |= KEYC_SHIFT; break; case 3: ! (*key) |= KEYC_ESCAPE; break; case 4: ! (*key) |= (KEYC_SHIFT|KEYC_ESCAPE); break; case 5: (*key) |= KEYC_CTRL; --- 902,911 ---- (*key) |= KEYC_SHIFT; break; case 3: ! (*key) |= KEYC_META; break; case 4: ! (*key) |= (KEYC_SHIFT|KEYC_META); break; case 5: (*key) |= KEYC_CTRL; *************** *** 914,923 **** (*key) |= (KEYC_SHIFT|KEYC_CTRL); break; case 7: ! (*key) |= (KEYC_ESCAPE|KEYC_CTRL); break; case 8: ! (*key) |= (KEYC_SHIFT|KEYC_ESCAPE|KEYC_CTRL); break; default: *key = KEYC_NONE; --- 914,923 ---- (*key) |= (KEYC_SHIFT|KEYC_CTRL); break; case 7: ! (*key) |= (KEYC_META|KEYC_CTRL); break; case 8: ! (*key) |= (KEYC_SHIFT|KEYC_META|KEYC_CTRL); break; default: *key = KEYC_NONE;