aboutsummaryrefslogtreecommitdiff
path: root/tty-keys.c
Commit message (Collapse)AuthorAge
* Break message type stuff out into its own header.nicm2021-08-13
|
* Change focus to be driven by events rather than walking all panes at endnicm2021-08-13
| | | | | of event loop, this way the ordering of in and out can be enforced. GitHub issue 2808.
* Add client focus hooks.nicm2021-08-06
|
* Add another couple of keys needed for extended keys, GitHub issue 2658.nicm2021-06-10
| | | | Handle modifier 9 as Meta, GitHub issue 2647.
* Change how extended ctrl keys are processed to fix C-S-Tab and C-;.nicm2021-04-13
|
* Handle C-Tab correctly with extended keys, GitHub issue 2642.nicm2021-04-13
|
* Restore previous behaviour so that C-X remains the same as C-x. Instead,nicm2021-04-07
| | | | translate incoming extended keys so that they are consistent.
* Fixes for extended keys: 1) allow C-x and C-X to be bound separatelynicm2021-04-07
| | | | | | | | | | since some terminals report them differently 2) use the "backspace" option to translate backspace 3) map ctrl which are have the ctrl implied (such as C-x) properly when the terminal reports both the key and the modifier. Note that any key bindings for C-X where C-x is meant must now be changed.
* Escape+Up and the other arrow keys should be kept as Escape+Up and notnicm2020-09-23
| | | | | | converted to M-Up. Do not give them the implied meta flag so they don't match the M-Up entry in the output key tree. Fixes problem with vi reported by jsing@.
* Old Terminal.app versions do not respond correctly to secondary DA,nicm2020-08-24
| | | | | instead responding with the primary DA response. Ignore it. Reported by Dave Vandervies.
* Always send xterm-style keys for M-Left and M-Right. GitHub issue 2296.nicm2020-07-06
|
* Use CLOCK_MONOTONIC for timer measurement and add a timestamp to controlnicm2020-06-02
| | | | mode %output blocks.
* Use the internal representation for UTF-8 keys instead of wchar_t andnicm2020-05-25
| | | | drop some code only needed for that.
* FocusIn keys can also update the latest client, like normal keys.nicm2020-05-22
|
* Add a terminal feature for enable/disable extended keys (supported bynicm2020-05-16
| | | | | | | xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well.
* Only redraw popup on the client it belongs to.nicm2020-05-16
|
* Move terminal features into a single file.nicm2020-05-16
|
* Response is iTerm2 not not ITerm2.nicm2020-05-16
|
* Remove support for iTerm2's DSR 1337 extension and use the CSI > qnicm2020-05-16
| | | | extension now supported by a few different terminals.
* Change how sync works to always send the end sequence after all outputnicm2020-04-20
| | | | | is done when we are returning to the event loop (since we always move the cursor at that point). Also a man fix from jmc.
* Tidy up the terminal detection and feature code and add named sets ofnicm2020-04-20
| | | | | | | | | | | | | | | | | | | | | terminal features, each of which are defined in one place and map to a builtin set of terminfo(5) capabilities. Features can be specified based on TERM with a new terminal-features option or with the -T flag when running tmux. tmux will also detect a few common terminals from the DA and DSR responses. This is intended to make it easier to configure tmux's use of terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5) databases or for features which do not yet have a terminfo(5) entry. Instead of having to grok terminfo(5) capability names and what they should be set to in the terminal-overrides option, the user can hopefully just give tmux a feature name and let it do the right thing. The terminal-overrides option remains both for backwards compatibility and to allow tweaks of individual capabilities. tmux already did much of this already, this makes it tidier and simpler to configure.
* Support the application escape sequence mintty (means tmux doesn't havenicm2020-04-17
| | | | to delay to wait for Escape).
* Send secondary device attributes instead of primary which gives us a bitnicm2020-04-16
| | | | more useful information on some terminals.
* Add support for the iTerm2 sychronized updates escape sequence whichnicm2020-04-16
| | | | drastically reduces flickering.
* If we can identify the terminal as iTerm2 or as tmux, we can be surenicm2020-01-28
| | | | they support 256 and RGB colours, so set those flags too.
* Add support for the iTerm2 DSR 1337 sequence to get the terminal version.nicm2020-01-28
|
* Be more specific in the DSR we are looking for so it doesn't getnicm2020-01-13
| | | | | | confused with mouse sequences. Also set a flag and don't bother checking for it if we have already seen it (same for DA), and don't check if we never asked for it.
* Detect iTerm2 and enable DECSLRM.nicm2020-01-12
|
* The terminal type was never as much use as I expected so remove it innicm2020-01-12
| | | | | favour of a couple of flags for the features used (DECSLRM and DECFRA). Also rename the flag for no xenl to be more obvious while here.
* Loop over all DA features, don't skip the first.nicm2020-01-12
|
* Parse out DA features.nicm2019-11-28
|
* Fix parsing of DA with only one argument in the response and add 65 for VT520.nicm2019-11-14
|
* 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.