aboutsummaryrefslogtreecommitdiff
path: root/tty-keys.c
Commit message (Collapse)AuthorAge
...
* 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
|
* Add names for mouse button bits rather than using magic numbers, fromnicm2014-03-31
| | | | Marcel Partap.
* The last fix to xterm keys meant that some keys such as \033OA werenicm2014-02-10
| | | | | | 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.
* Assign mouse x/y coords before checking them. When receiving mousenicm2013-10-10
| | | | | | 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.
* Handle input mouse positions <33 (we already can generate them).nicm2013-10-10
|
* Only accept partial keys if the timer has not expired, fixes infiniteNicholas Marriott2013-03-26
| | | | loop when Escape is pressed the wrong number of times.
* Process ^[ as meta when a partial key is found.Nicholas Marriott2013-03-25
|
* Handle focus events from the terminal, from Aaron Jensen.Nicholas Marriott2013-03-24
|
* Support the latest theory for mouse input, this is enabled/disabled withNicholas Marriott2013-03-22
| | | | | SM/RM 1006 and is similar in style to SGR input: \033[<b;x;yM or \033[b;x;ym. From Egmont Koblinger.
* Don't set key KEYC_NONE on xterm_keys_find match()Nicholas Marriott2013-03-21
| | | | | | | | 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
* Fix a comment for new key table names.Nicholas Marriott2013-03-21
|
* Put helper function back, will be needed in a bit.Nicholas Marriott2012-11-22
|
* Make mouse event structure clearer by defining events (up, click, drag)Nicholas Marriott2012-10-26
| | | | | and simplifying how buttons and wheels are represented, from Ailin Nemui. Should be no functional changes.
* Can't call evtimer_pending on uninitialized events, callNicholas Marriott2012-09-03
| | | | | evtimer_initialized first. Reported by Vladimir Lomov, fix from Thomas Adam slightly modified by me.
* xterm won't reach version 500 for a while so set that as the upper limit.Nicholas Marriott2012-08-21
|
* xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott2012-07-10
|
* Store client in tty struct directly instead of using a callback functionNicholas Marriott2012-05-22
| | | | pointer.
* Store mouse data in tty structure not on the stack.Nicholas Marriott2012-05-22
|
* Handle partial keys properly by making sure the timer has actuallyNicholas Marriott2012-04-22
| | | | expired, fixes problems with mintty reported by Michael Simpson.
* Some terminals respond to secondary DA with primary (they ignore theNicholas Marriott2012-03-21
| | | | intermediate character). So ignore the possible responses to primary DA.
* On xterm 271 and later, put the terminal into SCL 5 and use DECCRA forNicholas Marriott2012-03-17
| | | | | 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 setNicholas Marriott2012-03-17
| | | | up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
* Send secondary DA to terminals with XT in terminfo when starting up andNicholas Marriott2012-03-15
| | | | parse it to work out the xterm version.
* Two fixes by Micah Cowan: make mouse work properly beyond >127 on signedNicholas Marriott2011-03-04
| | | | | char architectures and properly parse $TMUX by stopping the socket path at the first comma.
* Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262Nicholas Marriott2011-01-03
| | | | | | | | | | 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.Nicholas Marriott2011-01-01
|
* When the mode-mouse option is on, support dragging to make a selectionNicholas Marriott2010-05-31
| | | | | | | | 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).