… | |
… | |
276 | * use Num_Lock to toggle Keypad on/off. If Num_Lock is off, allow an |
276 | * use Num_Lock to toggle Keypad on/off. If Num_Lock is off, allow an |
277 | * escape sequence to toggle the Keypad. |
277 | * escape sequence to toggle the Keypad. |
278 | * |
278 | * |
279 | * Always permit `shift' to override the current setting |
279 | * Always permit `shift' to override the current setting |
280 | */ |
280 | */ |
281 | shft = (ev.state & ShiftMask); |
281 | shft = ev.state & ShiftMask; |
282 | ctrl = (ev.state & ControlMask); |
282 | ctrl = ev.state & ControlMask; |
283 | meta = (ev.state & ModMetaMask); |
283 | meta = ev.state & ModMetaMask; |
284 | |
284 | |
285 | if (numlock_state || (ev.state & ModNumLockMask)) |
285 | if (numlock_state || (ev.state & ModNumLockMask)) |
286 | { |
286 | { |
287 | numlock_state = (ev.state & ModNumLockMask); |
287 | numlock_state = (ev.state & ModNumLockMask); |
288 | PrivMode ((!numlock_state), PrivMode_aplKP); |
288 | PrivMode ((!numlock_state), PrivMode_aplKP); |
… | |
… | |
3176 | { |
3176 | { |
3177 | switch (priv) |
3177 | switch (priv) |
3178 | { |
3178 | { |
3179 | case '>': |
3179 | case '>': |
3180 | if (ch == CSI_DA) /* secondary device attributes */ |
3180 | if (ch == CSI_DA) /* secondary device attributes */ |
3181 | tt_printf ("\033[>%d;%-.8s;0c", 'R', VSTRING); |
3181 | tt_printf ("\033[>%d;%c%c;0c", 'U', VERSION[0], VERSION[2]); |
3182 | break; |
3182 | break; |
3183 | case '?': |
3183 | case '?': |
3184 | if (ch == 'h' || ch == 'l' || ch == 'r' || ch == 's' || ch == 't') |
3184 | if (ch == 'h' || ch == 'l' || ch == 'r' || ch == 's' || ch == 't') |
3185 | process_terminal_mode (ch, priv, nargs, arg); |
3185 | process_terminal_mode (ch, priv, nargs, arg); |
3186 | break; |
3186 | break; |