aboutsummaryrefslogtreecommitdiff
path: root/tty-keys.c
Commit message (Collapse)AuthorAge
* Save mouse buttons as well as position.nicm2019-05-09
|
* Treat keys in identify mode (display-panes) specially and handle themnicm2019-05-07
| | | | | | immediately rather than queuing them (the command can block the queue which means they were not being seen until it finished which was too late). Reported by denis@ and solene@, ok solene@.
* Use the right index for user-keys.nicm2019-05-03
|
* Instead of processing keys all together, put them up on the clientnicm2019-05-03
| | | | | command queue so they are ordered correctly with the commands that they execute.
* options_array_item_value cannot return NULL.nicm2019-04-25
|
* Somehow missed these bits in last commit.nicm2019-04-23
|
* Add an argument to copy commands to set the prefix for the buffer name,nicm2019-04-02
| | | | allows buffers for different sessions to be named separately.
* Make array options a sparse tree instead of an array of char * andnicm2019-03-18
| | | | remove the size limit.
* Do not look at next key byte if the length is 0, originally from Shingonicm2019-02-16
| | | | NISHIOKA in GitHub issue 1601.
* Do not check for a key again without an escape if only \033 is present.nicm2018-10-28
|
* Support OSC 52 ? to read the top buffer inside tmux (when set-clipboardnicm2018-10-18
| | | | | | is changed to on), also add refresh-client -l to ask tmux to use the same mechanism to get the clipboard from the terminal outside tmux. GitHub issue 1477.
* Add the KEYC_XTERM flag to all function keys that imply a modifier sonicm2018-08-16
| | | | | that they are correctly translated into xterm(1)-style keys. GitHub issue 1437.
* kind should be S-Down not S-Up.nicm2017-10-09
|
* Check for complete keys before escape prefix, allows keys to be definednicm2017-08-29
| | | | with a leading escape. GitHub issue 1048.
* Use kind and kri for S-Up/Down as well as kUP and kDN.nicm2017-08-27
|
* Add user-keys option to allow user-defined keys to be set, from Dannicm2017-06-23
| | | | Aloni.
* Add explicit keys for the bracketed paste sequences, both to avoid mixnicm2017-06-12
| | | | ups with other keys and to make logs clearer.
* Up to now, tmux sees \033\033[OA as M-Up and since we turned onnicm2017-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | xterm-keys by default, generates \033[1;3A instead of \033\033[OA. Unfortunately this confuses vi, which doesn't understand xterm keys and now sees Escape+Up pressed within escape-time as Escape followed by A. The issue doesn't happen in xterm itself because it gets the keys from X and can distinguish between a genuine M-Up and Escape+Up. Because xterm can, tmux can too: xterm will give us \033[1;3A (that is, kUP3) for a real M-Up and \033\033OA for Escape+Up - in fact, we can be sure any \033 preceding an xterm key is a real Escape key press because Meta would be part of the xterm key instead of a separate \033. So change tmux to recognise both sequences as M-Up for its own purposes, but generate the xterm version of M-Up only if it originally received the xterm version from the terminal. This means we will return to sending \033\033OA instead of the xterm key for terminals that do not support xterm keys themselves, but there is no practical way around this because they do not allow us to distinguish between Escape+Up and M-Up. xterm style escape sequences are now the de facto standard for these keys in any case. Problem reported by jsing@ and subsequently by Cecile Tonglet in GitHub issue 907.
* Revert use of DECSLRM on iTerm2, it doesn't help as much as we throught,nicm2017-04-18
| | | | and there are some question marks about it's support.
* Detect iTerm2 and use DECSLRM for it as well.nicm2017-04-18
|
* Include client name in key logging.nicm2017-04-18
|
* Don't use a bufferevent for the tty, so we can keep better track of whatnicm2017-02-10
| | | | | | is being written and when. Also a manpage typo fix from jmc@.
* Use a macro for looking up tty types.nicm2017-01-11
|
* Initial attempt to make use of left and right margins if the terminalnicm2016-11-15
| | | | | | | supports them (that is, if it advertises itself as a VT420 - probably just xterm). These are the vertical equivalent of the scroll region and allow much faster scrolling of panes that do not take up the full width of the terminal.
* Loads more static, except for cmd-*.c and window-*.c.nicm2016-10-10
|
* Fix keys parsing again to correctly accept Unicode when not prefixednicm2016-04-29
| | | | with Escape.
* Apply backspace check after working out the actual key, so that M-BSpacenicm2016-04-27
| | | | can work.
* Simplify next key matching and fix problems with meta and Unicode keys.nicm2016-04-26
|
* Handle wcwidth() and mbtowc() failures in better style and dropnicm2016-03-02
| | | | | characters where we can't find the width (wcwidth() fails) on input, the same as we drop invalid UTF-8. Suggested by schwarze@.
* I no longer use my SourceForge address so replace it.nicm2016-01-19
|
* Allow prefix and prefix2 to be set to None to disable (useful if younicm2015-12-12
| | | | would rather bind the prefix in the root table).
* Remove support for the UTF-8 mouse extension. This was a briefly used,nicm2015-11-23
| | | | | | | | poor idea that was fairly quickly replaced by SGR mouse input (which is now widespread). It is impossible to tell the difference between UTF-8 and non-UTF-8 mouse input; since the mouse-utf8 option was removed tmux has not handled it correctly in any case; and it is ridiculous to have three different forms of mouse input.
* Use __unused rather than rolling our own.nicm2015-11-18
|
* All these return values from utf8_* are confusing, use an enum.nicm2015-11-14
|
* Couple of assignments to remove compiler warnings.nicm2015-11-14
|
* Be more strict about invalid UTF-8.nicm2015-11-14
|
* Rename overly-long utf8data to ud throughout.nicm2015-11-12
|
* Support UTF-8 key bindings by expanding the key type from int tonicm2015-11-12
| | | | | | uint64_t and converting UTF-8 to Unicode on input and the reverse on output. (This allows key bindings, there are still omissions - the largest being that the various prompts do not accept UTF-8.)
* Move struct options into options.c.nicm2015-10-27
|
* We no longer need the terminal service class, so don't bother asking for it.nicm2015-09-02
|
* Do not use the key variable uninitialized (in a debug log statement),nicm2015-06-05
| | | | reported by jungleboogie0 at gmail dot com.
* Rewrite of tmux mouse support which was a mess. Instead of havingnicm2015-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on). See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event). The default builtin bindings for the mouse are: bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M To get the effect of turning mode-mouse off, do: unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
* Fix some spacing nits.nicm2014-10-22
|
* Drop explicit support for F13-F20 and change to match the xterm terminfonicm2014-07-21
| | | | | | | | | | | | | 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.
* Count mouse clicks correctly, from Balazs Kezes.nicm2014-06-23
|
* Reset the buttons when the wheel is used, from Balazs Kezes.nicm2014-06-19
|
* Some terminals send spurious releases for mouse wheel in SGR mouse mode,nicm2014-06-19
| | | | | | 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.
* Instead of forcing mouse scroll to 1 in choose mode, scale it downnicm2014-05-08
| | | | | instead. Means modifier keys still increase the line count, just not as much. Based on a diff from Marcel Partap.
* Work out mouse scroll wheel effect when the mouse is first detected andnicm2014-04-03
| | | | | | | 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.
* A couple of trivial mouse-related style nits.nicm2014-04-03
|