summaryrefslogtreecommitdiffstats
path: root/tty-keys.c
AgeCommit message (Collapse)Author
2014-10-22Fix some spacing nits.nicm
2014-07-21Drop explicit support for F13-F20 and change to match the xterm terminfonicm
entry: F13-F24 are S-F1 to S-F12 F25-F36 are C-F1 to C-F12 F37-F48 are C-S-F1 to C-S-F12 F49-F60 are M-F1 to M-F12 and F61-F63 are M-S-F1 to M-S-F3 This should be no difference for applications inside tmux, but means that any key binding for F13 will need to be replaced by S-F1 and so on.
2014-06-23Count mouse clicks correctly, from Balazs Kezes.nicm
2014-06-19Reset the buttons when the wheel is used, from Balazs Kezes.nicm
2014-06-19Some terminals send spurious releases for mouse wheel in SGR mouse mode,nicm
this causes confusion when tmux uses SGR outside but the application inside tmux is using conventional xterm mouse reporting. So suppress obviously bad input. From Timothy Allen, SF bug 128.
2014-05-08Instead of forcing mouse scroll to 1 in choose mode, scale it downnicm
instead. Means modifier keys still increase the line count, just not as much. Based on a diff from Marcel Partap.
2014-04-03Work out mouse scroll wheel effect when the mouse is first detected andnicm
store it in struct mouse_event, reduce the scroll size the 3 but allow shift to reduce it to 1 and meta and ctrl to multiply by 3 if the terminal supports them, also support wheel in choose mode. From Marcel Partap.
2014-04-03A couple of trivial mouse-related style nits.nicm
2014-03-31Add names for mouse button bits rather than using magic numbers, fromnicm
Marcel Partap.
2014-02-10The last fix to xterm keys meant that some keys such as \033OA werenicm
being wrongly treated as partial matches. So both check xterm keys after standard keys and only wildcard the minimum required ('1' to '8'). Problems reported by Ralf Horstmann and Tim van der Molen.
2013-10-10Assign mouse x/y coords before checking them. When receiving mousenicm
inputs, we should set the x/y coordinates earlier than we currently do, so that we aren't off-by-one in the case when the statusbar is at the top of the screen. By Thomas Adam.
2013-10-10Handle input mouse positions <33 (we already can generate them).nicm
2013-03-26Only accept partial keys if the timer has not expired, fixes infiniteNicholas Marriott
loop when Escape is pressed the wrong number of times.
2013-03-25Process ^[ as meta when a partial key is found.Nicholas Marriott
2013-03-24Handle focus events from the terminal, from Aaron Jensen.Nicholas Marriott
2013-03-22Support the latest theory for mouse input, this is enabled/disabled withNicholas Marriott
SM/RM 1006 and is similar in style to SGR input: \033[<b;x;yM or \033[b;x;ym. From Egmont Koblinger.
2013-03-21Don't set key KEYC_NONE on xterm_keys_find match()Nicholas Marriott
When calling xterm_keys_find(); if we get a complete match, don't set the key to unknown before calling the action to complete the binding; otherwise non-prefixed bindings will not work. From Thomas Adam
2013-03-21Fix a comment for new key table names.Nicholas Marriott
2012-11-22Put helper function back, will be needed in a bit.Nicholas Marriott
2012-10-26Make mouse event structure clearer by defining events (up, click, drag)Nicholas Marriott
and simplifying how buttons and wheels are represented, from Ailin Nemui. Should be no functional changes.
2012-09-03Can't call evtimer_pending on uninitialized events, callNicholas Marriott
evtimer_initialized first. Reported by Vladimir Lomov, fix from Thomas Adam slightly modified by me.
2012-08-21xterm won't reach version 500 for a while so set that as the upper limit.Nicholas Marriott
2012-07-10xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott
2012-05-22Store client in tty struct directly instead of using a callback functionNicholas Marriott
pointer.
2012-05-22Store mouse data in tty structure not on the stack.Nicholas Marriott
2012-04-22Handle partial keys properly by making sure the timer has actuallyNicholas Marriott
expired, fixes problems with mintty reported by Michael Simpson.
2012-03-21Some terminals respond to secondary DA with primary (they ignore theNicholas Marriott
intermediate character). So ignore the possible responses to primary DA.
2012-03-17On xterm 271 and later, put the terminal into SCL 5 and use DECCRA forNicholas Marriott
scrolling the region in panes (if the large region check isn't hit). With help from Ailin Nemui.
2012-03-17Check event_initialized before event_del if event may not have been setNicholas Marriott
up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
2012-03-15Send secondary DA to terminals with XT in terminfo when starting up andNicholas Marriott
parse it to work out the xterm version.
2011-03-04Two fixes by Micah Cowan: make mouse work properly beyond >127 on signedNicholas Marriott
char architectures and properly parse $TMUX by stopping the socket path at the first comma.
2011-01-03Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262Nicholas Marriott
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.
2011-01-01Key table should be const.Nicholas Marriott
2010-05-31When the mode-mouse option is on, support dragging to make a selectionNicholas Marriott
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).
2010-03-22Accept a full key match (not a partial) even if there is data left inNicholas Marriott
the buffer.
2009-12-17Allow keys to be replaced and reorder the table so that terminfo-defined keysNicholas Marriott
(or terminal-overrides) take precedence over internally defined.
2009-12-14New server option, escape-time, to set the timeout used to detect if escapesNicholas Marriott
are alone or part of a function key or meta sequence.
2009-12-03Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastNicholas Marriott
time now I've configured emacs to make them displayed in really annoying colours...
2009-12-01Look for mice and xterm keys before standard function keys as they are lessNicholas Marriott
likely to be partial versions.
2009-11-30Handle partial xterm function key sequences.Nicholas Marriott
2009-11-26Continue rather than returning if not a mouse key, to avoid hanging on anyNicholas Marriott
function key...
2009-11-26Remove a couple of unused arguments where possible, and add /* ARGSUSED */ toNicholas Marriott
the rest to reduce lint output.
2009-11-26Handle the possibility of partial mouse reads, and fix a comment while here.Nicholas Marriott
2009-11-12Support rxvt-style keys again, but this time: support all the variations, putNicholas Marriott
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.
2009-11-10Twiddling the last bit is an rxvtism, so do not support it in the table byNicholas Marriott
default.
2009-11-09The input key should be a u_char. Fixes top-bit-set input problem reported byNicholas Marriott
ajacoutot@.
2009-11-09Constify buf.Nicholas Marriott
2009-11-05Unused variable. Aargh.Nicholas Marriott
2009-11-05Switch the tty key tree over to an (unbalanced) ternary tree which allowsNicholas Marriott
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.
2009-11-05Key flags are only used for initialisation so they are not needed in the mainNicholas Marriott
tty_key struct.