aboutsummaryrefslogtreecommitdiff
path: root/key-string.c
Commit message (Collapse)AuthorAge
* Minor bits: fix an array size, add comment, make grid_cell_entry static.nicm2017-02-22
|
* Implement "all event" (1003) mouse mode but in a way that works. Thenicm2017-02-01
| | | | | | | | | | | main issue is that if we have two panes, A with 1002 and B with 1003, we need to set 1003 outside tmux in order to get all the mouse events, but then we need to suppress the ones that pane A doesn't want. This is easy in SGR mouse mode, because buttons == 3 is only used for movement events (for other events the trailing m/M marks a release instead), but in normal mouse mode we can't tell so easily. So for that, look at the previous event instead - if it is drag+release as well, then the current event is a movement event.
* Add some missing special keys to key_string_lookup_key, fix a mousenicm2017-01-11
| | | | check in server_client_handle_key, and tweak a comment.
* Highlight all occurrences of search string after searching in copy mode.nicm2017-01-05
|
* Error on invalid modifier keys.nicm2016-11-23
|
* Support double and triple clicks (they are cumulative, so double isnicm2016-10-11
| | | | | fired then triple), and use for select-word and select-line in copy mode. Inspired by a different solution from Omar Sandoval.
* Loads more static, except for cmd-*.c and window-*.c.nicm2016-10-10
|
* Extend 0x1234 keys form to more bits so that Unicode keys work.nicm2016-05-26
|
* Don't overwrite modifiers in the buffer when making UTF-8 strings,nicm2016-04-25
| | | | append instead.
* Instead of reusing MouseUp at the finish of a drag, add a new keynicm2016-03-18
| | | | MouseDragEnd. It can be useful to bind them separately in copy mode.
* 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).
* 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.)
* Handle unknown keys more gracefully, return a string instead of NULL.nicm2015-10-26
|
* 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.
* 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.
* In terminals with XT, turn on modifyOtherKeys=1 with the escape sequenceNicholas Marriott2013-03-22
| | | | and handle the most common set. Pass them through if xterm-keys is on.
* Accept hex values as keys, needed for send-keys, based on a diff fromNicholas Marriott2012-03-04
| | | | George Nachman.
* Drop the ability to have a list of keys in the prefix in favour of twoNicholas Marriott2012-01-21
| | | | | | | | | | separate options, prefix and prefix2. This simplifies the code and gets rid the data options type which was only used for this one option. Also add a -2 flag to send-prefix to send the secondary prefix key, fixing a cause of minor irritation. People who want three prefix keys are out of luck :-).
* Alias NPage/PPage as PageDown/PgDn/PageUp/PgUp to reduce occasionalNicholas Marriott2011-10-23
| | | | confusion.
* Allow top-bit-set characters to be used for key bindings, from TiagoNicholas Marriott2011-01-23
| | | | Cunha.
* Last few tables that should be const.Nicholas Marriott2011-01-01
|
* Use a macro-based mask for obtaining a key or modifier-set from theNicholas Marriott2010-06-06
| | | | combination. Display C-@, etc, as C-Space, in list-keys. By Micah Cowan.
* Fix binding of C-Space/C-@, from Micah Cowan.Nicholas Marriott2010-06-05
|
* Make C-] and other punctuation-based control key combinations work again.Ryan McBride2010-05-03
| | | | ok nicm
* When converting A-Z into a control character, want to subtract 64 notNicholas Marriott2010-04-23
| | | | 65... whoops.
* Rewrite key string conversions to be readable and to work properly forNicholas Marriott2010-04-21
| | | | multiple modifiers.
* Permit S- prefix on keys for shift. Relatively few terminals support thisNicholas Marriott2010-01-14
| | | | (basically xterm only) and even fewer have them in terminfo (kLFT2 and kRIT2).
* Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastNicholas Marriott2009-12-03
| | | | | time now I've configured emacs to make them displayed in really annoying colours...
* Make types clearer and lint happier.Nicholas Marriott2009-11-26
|
* Lookup key as a named key (eg 'Space') before checking for single characterNicholas Marriott2009-11-10
| | | | keys, makes C-Space/M-Space etc resolve to the correct key code.
* Rename keypad keys to something more useful.Nicholas Marriott2009-10-26
|
* Accept ^? for backspace as well as BSpace.Nicholas Marriott2009-10-06
|
* Add a key string for space ("Space") and document the names, suggested byNicholas Marriott2009-10-04
| | | | guenther@. Also document how to bind " and ', suggested by miod@.
* Accept and print "Enter" and "Escape" for keys rather than C-m and C-[.Nicholas Marriott2009-07-28
|
* Detect backspace by looking at termios VERASE and translate it into \177 (whichNicholas Marriott2009-07-26
| | | | | | 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.
* Accept lowercase c- and m- prefix as well as C- and M-.Nicholas Marriott2009-07-24
|
* Tidy up keys: use an enum for the key codes, and remove the macros which justNicholas Marriott2009-07-21
| | | | wrap flag sets/clears/tests.
* Add backspace key to named keys.Nicholas Marriott2009-07-14
|
* Import tmux, a terminal multiplexor allowing (among other things) a singleNicholas Marriott2009-06-01
terminal to be switched between several different windows and programs displayed on one terminal be detached from one terminal and moved to another. ok deraadt pirofti