version 1.133, 2020/05/16 16:32:21 |
version 1.134, 2020/05/16 16:33:16 |
|
|
0, |
0, |
0, |
0, |
KEYC_SHIFT|KEYC_XTERM, |
KEYC_SHIFT|KEYC_XTERM, |
KEYC_ESCAPE|KEYC_XTERM, |
KEYC_META|KEYC_XTERM, |
KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM, |
KEYC_SHIFT|KEYC_META|KEYC_XTERM, |
KEYC_CTRL|KEYC_XTERM, |
KEYC_CTRL|KEYC_XTERM, |
KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM, |
KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM, |
KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM, |
KEYC_META|KEYC_CTRL|KEYC_XTERM, |
KEYC_SHIFT|KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM |
KEYC_SHIFT|KEYC_META|KEYC_CTRL|KEYC_XTERM |
}; |
}; |
|
|
/* |
/* |
|
|
{ TTYC_KF47, KEYC_F11|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KF47, KEYC_F11|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KF48, KEYC_F12|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_KF49, KEYC_F1|KEYC_META|KEYC_XTERM }, |
{ TTYC_KF50, KEYC_F2|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KF50, KEYC_F2|KEYC_META|KEYC_XTERM }, |
{ TTYC_KF51, KEYC_F3|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KF51, KEYC_F3|KEYC_META|KEYC_XTERM }, |
{ TTYC_KF52, KEYC_F4|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KF52, KEYC_F4|KEYC_META|KEYC_XTERM }, |
{ TTYC_KF53, KEYC_F5|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KF53, KEYC_F5|KEYC_META|KEYC_XTERM }, |
{ TTYC_KF54, KEYC_F6|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KF54, KEYC_F6|KEYC_META|KEYC_XTERM }, |
{ TTYC_KF55, KEYC_F7|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KF55, KEYC_F7|KEYC_META|KEYC_XTERM }, |
{ TTYC_KF56, KEYC_F8|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KF56, KEYC_F8|KEYC_META|KEYC_XTERM }, |
{ TTYC_KF57, KEYC_F9|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KF57, KEYC_F9|KEYC_META|KEYC_XTERM }, |
{ TTYC_KF58, KEYC_F10|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KF58, KEYC_F10|KEYC_META|KEYC_XTERM }, |
{ TTYC_KF59, KEYC_F11|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KF59, KEYC_F11|KEYC_META|KEYC_XTERM }, |
{ TTYC_KF60, KEYC_F12|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KF60, KEYC_F12|KEYC_META|KEYC_XTERM }, |
|
|
{ TTYC_KF61, KEYC_F1|KEYC_ESCAPE|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KF61, KEYC_F1|KEYC_META|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KF62, KEYC_F2|KEYC_ESCAPE|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KF62, KEYC_F2|KEYC_META|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KF63, KEYC_F3|KEYC_ESCAPE|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KF63, KEYC_F3|KEYC_META|KEYC_SHIFT|KEYC_XTERM }, |
|
|
{ TTYC_KICH1, KEYC_IC }, |
{ TTYC_KICH1, KEYC_IC }, |
{ TTYC_KDCH1, KEYC_DC }, |
{ TTYC_KDCH1, KEYC_DC }, |
|
|
|
|
/* Key and modifier capabilities. */ |
/* Key and modifier capabilities. */ |
{ TTYC_KDC2, KEYC_DC|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KDC2, KEYC_DC|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KDC3, KEYC_DC|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KDC3, KEYC_DC|KEYC_META|KEYC_XTERM }, |
{ TTYC_KDC4, KEYC_DC|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KDC4, KEYC_DC|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, |
{ TTYC_KDC5, KEYC_DC|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KDC5, KEYC_DC|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KDC6, KEYC_DC|KEYC_SHIFT|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_KDC7, KEYC_DC|KEYC_META|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KIND, KEYC_DOWN|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KIND, KEYC_DOWN|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KDN2, KEYC_DOWN|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KDN2, KEYC_DOWN|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KDN3, KEYC_DOWN|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KDN3, KEYC_DOWN|KEYC_META|KEYC_XTERM }, |
{ TTYC_KDN4, KEYC_DOWN|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KDN4, KEYC_DOWN|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, |
{ TTYC_KDN5, KEYC_DOWN|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KDN5, KEYC_DOWN|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KDN6, KEYC_DOWN|KEYC_SHIFT|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_KDN7, KEYC_DOWN|KEYC_META|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KEND2, KEYC_END|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KEND2, KEYC_END|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KEND3, KEYC_END|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KEND3, KEYC_END|KEYC_META|KEYC_XTERM }, |
{ TTYC_KEND4, KEYC_END|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KEND4, KEYC_END|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, |
{ TTYC_KEND5, KEYC_END|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KEND5, KEYC_END|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KEND6, KEYC_END|KEYC_SHIFT|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_KEND7, KEYC_END|KEYC_META|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KHOM2, KEYC_HOME|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KHOM2, KEYC_HOME|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KHOM3, KEYC_HOME|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KHOM3, KEYC_HOME|KEYC_META|KEYC_XTERM }, |
{ TTYC_KHOM4, KEYC_HOME|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KHOM4, KEYC_HOME|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, |
{ TTYC_KHOM5, KEYC_HOME|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KHOM5, KEYC_HOME|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KHOM6, KEYC_HOME|KEYC_SHIFT|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_KHOM7, KEYC_HOME|KEYC_META|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KIC2, KEYC_IC|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KIC2, KEYC_IC|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KIC3, KEYC_IC|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KIC3, KEYC_IC|KEYC_META|KEYC_XTERM }, |
{ TTYC_KIC4, KEYC_IC|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KIC4, KEYC_IC|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, |
{ TTYC_KIC5, KEYC_IC|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KIC5, KEYC_IC|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KIC6, KEYC_IC|KEYC_SHIFT|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_KIC7, KEYC_IC|KEYC_META|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KLFT2, KEYC_LEFT|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KLFT2, KEYC_LEFT|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KLFT3, KEYC_LEFT|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KLFT3, KEYC_LEFT|KEYC_META|KEYC_XTERM }, |
{ TTYC_KLFT4, KEYC_LEFT|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KLFT4, KEYC_LEFT|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, |
{ TTYC_KLFT5, KEYC_LEFT|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KLFT5, KEYC_LEFT|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KLFT6, KEYC_LEFT|KEYC_SHIFT|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_KLFT7, KEYC_LEFT|KEYC_META|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KNXT2, KEYC_NPAGE|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KNXT2, KEYC_NPAGE|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KNXT3, KEYC_NPAGE|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KNXT3, KEYC_NPAGE|KEYC_META|KEYC_XTERM }, |
{ TTYC_KNXT4, KEYC_NPAGE|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KNXT4, KEYC_NPAGE|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, |
{ TTYC_KNXT5, KEYC_NPAGE|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KNXT5, KEYC_NPAGE|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KNXT6, KEYC_NPAGE|KEYC_SHIFT|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_KNXT7, KEYC_NPAGE|KEYC_META|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KPRV2, KEYC_PPAGE|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KPRV2, KEYC_PPAGE|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KPRV3, KEYC_PPAGE|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KPRV3, KEYC_PPAGE|KEYC_META|KEYC_XTERM }, |
{ TTYC_KPRV4, KEYC_PPAGE|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KPRV4, KEYC_PPAGE|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, |
{ TTYC_KPRV5, KEYC_PPAGE|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KPRV5, KEYC_PPAGE|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KPRV6, KEYC_PPAGE|KEYC_SHIFT|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_KPRV7, KEYC_PPAGE|KEYC_META|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KRIT2, KEYC_RIGHT|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KRIT2, KEYC_RIGHT|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KRIT3, KEYC_RIGHT|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KRIT3, KEYC_RIGHT|KEYC_META|KEYC_XTERM }, |
{ TTYC_KRIT4, KEYC_RIGHT|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KRIT4, KEYC_RIGHT|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, |
{ TTYC_KRIT5, KEYC_RIGHT|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KRIT5, KEYC_RIGHT|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KRIT6, KEYC_RIGHT|KEYC_SHIFT|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_KRIT7, KEYC_RIGHT|KEYC_META|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KRI, KEYC_UP|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KRI, KEYC_UP|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KUP2, KEYC_UP|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KUP2, KEYC_UP|KEYC_SHIFT|KEYC_XTERM }, |
{ TTYC_KUP3, KEYC_UP|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KUP3, KEYC_UP|KEYC_META|KEYC_XTERM }, |
{ TTYC_KUP4, KEYC_UP|KEYC_SHIFT|KEYC_ESCAPE|KEYC_XTERM }, |
{ TTYC_KUP4, KEYC_UP|KEYC_SHIFT|KEYC_META|KEYC_XTERM }, |
{ TTYC_KUP5, KEYC_UP|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KUP5, KEYC_UP|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KUP6, KEYC_UP|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KUP6, KEYC_UP|KEYC_SHIFT|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KUP7, KEYC_UP|KEYC_ESCAPE|KEYC_CTRL|KEYC_XTERM }, |
{ TTYC_KUP7, KEYC_UP|KEYC_META|KEYC_CTRL|KEYC_XTERM }, |
}; |
}; |
|
|
/* Add key to tree. */ |
/* Add key to tree. */ |
|
|
size = 1; |
size = 1; |
goto complete_key; |
goto complete_key; |
} |
} |
key |= KEYC_ESCAPE; |
key |= KEYC_META; |
size++; |
size++; |
goto complete_key; |
goto complete_key; |
} |
} |
|
|
* escape). So pass it through even if the timer has not expired. |
* escape). So pass it through even if the timer has not expired. |
*/ |
*/ |
if (*buf == '\033' && len >= 2) { |
if (*buf == '\033' && len >= 2) { |
key = (u_char)buf[1] | KEYC_ESCAPE; |
key = (u_char)buf[1] | KEYC_META; |
size = 2; |
size = 2; |
} else { |
} else { |
key = (u_char)buf[0]; |
key = (u_char)buf[0]; |
|
|
(*key) |= KEYC_SHIFT; |
(*key) |= KEYC_SHIFT; |
break; |
break; |
case 3: |
case 3: |
(*key) |= KEYC_ESCAPE; |
(*key) |= KEYC_META; |
break; |
break; |
case 4: |
case 4: |
(*key) |= (KEYC_SHIFT|KEYC_ESCAPE); |
(*key) |= (KEYC_SHIFT|KEYC_META); |
break; |
break; |
case 5: |
case 5: |
(*key) |= KEYC_CTRL; |
(*key) |= KEYC_CTRL; |
|
|
(*key) |= (KEYC_SHIFT|KEYC_CTRL); |
(*key) |= (KEYC_SHIFT|KEYC_CTRL); |
break; |
break; |
case 7: |
case 7: |
(*key) |= (KEYC_ESCAPE|KEYC_CTRL); |
(*key) |= (KEYC_META|KEYC_CTRL); |
break; |
break; |
case 8: |
case 8: |
(*key) |= (KEYC_SHIFT|KEYC_ESCAPE|KEYC_CTRL); |
(*key) |= (KEYC_SHIFT|KEYC_META|KEYC_CTRL); |
break; |
break; |
default: |
default: |
*key = KEYC_NONE; |
*key = KEYC_NONE; |