| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Store client in tty struct directly instead of using a callback function
pointer.
|
|
|
|
|
| |
Store mouse data in tty structure not on the stack.
|
|
|
|
|
|
| |
Handle partial keys properly by making sure the timer has actually
expired, fixes problems with mintty reported by Michael Simpson.
|
|
|
|
|
|
| |
Some terminals respond to secondary DA with primary (they ignore the
intermediate character). So ignore the possible responses to primary DA.
|
|
|
|
|
|
|
| |
On xterm 271 and later, put the terminal into SCL 5 and use DECCRA for
scrolling the region in panes (if the large region check isn't
hit). With help from Ailin Nemui.
|
|
|
|
|
|
| |
Check event_initialized before event_del if event may not have been set
up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
|
|
|
|
|
|
| |
Send secondary DA to terminals with XT in terminfo when starting up and
parse it to work out the xterm version.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262
and supports larger terminals than the older way.
If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all
UTF-8 terminals. The option defaults to on if LANG etc are set in the
same manner as the utf8 option.
With help and based on code from hsim at gmx.li.
|
|
|
|
|
| |
Key table should be const.
|
|
|
|
|
|
|
|
|
|
| |
When the mode-mouse option is on, support dragging to make a selection
in copy mode.
Also support the scroll wheel, although xterm strangely does not ignore
it in application mouse mode, causing redraw artifacts when scrolling up
(other terminals appear to be better behaved).
|
|
|
|
|
| |
the buffer.
|
|
|
|
|
|
| |
Allow keys to be replaced and reorder the table so that terminfo-defined keys
(or terminal-overrides) take precedence over internally defined.
|
|
|
|
|
|
| |
New server option, escape-time, to set the timeout used to detect if escapes
are alone or part of a function key or meta sequence.
|
|
|
|
|
|
|
| |
Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last
time now I've configured emacs to make them displayed in really annoying
colours...
|
|
|
|
|
|
| |
Look for mice and xterm keys before standard function keys as they are less
likely to be partial versions.
|
|
|
|
|
| |
Handle partial xterm function key sequences.
|
|
|
|
|
|
| |
Continue rather than returning if not a mouse key, to avoid hanging on any
function key...
|
|
|
|
|
|
| |
Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to
the rest to reduce lint output.
|
|
|
|
|
| |
Handle the possibility of partial mouse reads, and fix a comment while here.
|
|
|
|
|
|
|
| |
Support rxvt-style keys again, but this time: support all the variations, put
them in as raw escape sequences rather than fiddling with the values from
terminfo, put them /after/ the terminfo values so the latter take precedence.
|
|
|
|
|
|
| |
Twiddling the last bit is an rxvtism, so do not support it in the table by
default.
|
|
|
|
|
|
| |
The input key should be a u_char. Fixes top-bit-set input problem reported by
ajacoutot@.
|
|
|
|
|
| |
Constify buf.
|
|
|
|
|
| |
Unused variable. Aargh.
|
|
|
|
|
|
|
|
|
| |
Switch the tty key tree over to an (unbalanced) ternary tree which allows
partial matches to be done (they wait for further data or a timer to expire,
like a naked escape).
Mouse and xterm-style keys still expect to be atomic.
|
|
|
|
|
|
| |
Key flags are only used for initialisation so they are not needed in the main
tty_key struct.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switch tty key input over to happen on a read event. This is a bit more
complicated because of escape input, but in that case instead of processing a
key immediately, schedule a timer and reprocess the bufer when it expires.
This currently assumes that keys will be atomic (ie that if eg F1 is pressed
the entire sequence is present in the buffer). This is usually but not always
true, a change in the tree format so it can differentiate potential (partial)
key sequences will happens soon and will allow this to be fixed.
|
|
|
|
|
| |
Switch tty fds over to a bufferevent.
|
|
|
|
|
|
|
|
| |
Not all terminals swap CSI and SS3 on ctrl, so remove that.
Also mark the rxvt special-cases as such until terminfo is updated to have
kLFT5, kRIT5 etc.
|
|
|
|
|
|
|
| |
Rewrite xterm-keys code (both input and output) so that works (doesn't always
output the same modifiers, accepts all the possible input keys) and is more
understandable.
|
|
|
|
|
|
|
| |
Support the (mostly new) function key+modifier caps (kIC-kIC7). Most of these
will be caught (soon) by the xterm keys code in xterm itself but some other
descriptions such as rxvt define them as well.
|
|
|
|
|
|
|
|
| |
As we always put the cursor keys into application mode, assume keys sent
with CSI have ctrl.
Also add a couple of comments.
|
|
|
|
|
| |
Tidy up table.
|
|
|
|
|
| |
Rename keypad keys to something more useful.
|
|
|
|
|
|
| |
Remove the xterm-keys code which is broken (a replacement is coming but some
more cleanup is needed first).
|
|
|
|
|
|
|
|
|
| |
Clean up by introducing a wrapper struct for mouse clicks rather than passing
three u_chars around.
As a side-effect this fixes incorrectly rejecting high cursor positions
(because it was comparing them as signed char), reported by Tom Doherty.
|
|
|
|
|
| |
Regularise some fatal messages.
|
|
|
|
|
|
|
|
| |
Detect backspace by looking at termios VERASE and translate it into \177
(which matches screen's behaviour if not its termcap/terminfo entry). The
terminfo kbs cap is often wrong or missing so it can't be used, and just
assuming \177 may be wrong.
|
|
|
|
|
|
| |
Tidy up keys: use an enum for the key codes, and remove the macros which just
wrap flag sets/clears/tests.
|
|
|
|
|
| |
check beforehand.
|
| |
|
|
|
|
|
| |
key (or other key prefixed by \033) is pressed. Reported by Stuart Henderson.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
it and adjust for different panes. Also support mouse in window/session choice mode.
* Bring back the fancy window titles with session/window names: it is easy to work around problems with elinks (see FAQ).
|
| |
|
| |
|