Fl_Input_ | +----Fl_Input | +----Fl_Float_Input, Fl_Int_Input, Fl_Multiline_Input, Fl_Secret_Input
#include <FL/Fl_Input.H>
Mouse button 1 | Moves the cursor to this point. Drag selects characters. Double click selects words. Triple click selects all text. Shift+click extends the selection. |
Mouse button 2 | Insert the current X selection at the cursor (unlike Motif this does not move the insertion point to the mouse). If the widget does not have the input focus (and thus no cursor) it puts the cursor where clicked and inserts the selection there. |
Mouse button 3 | Currently acts like button 1. |
Backspace | Deletes one character to the left, or deletes the selected region. |
Enter | May cause the callback, see when(). |
^A or Home | Go to start of line. |
^B or Left | Move left |
^C | Copy the selection to the clipboard |
^D or Delete | Deletes one character to the right or deletes the selected region. Due to silly historical X problems, the Delete key will act like Backspace until you type a "real" backspace. |
^E or End | Go to the end of line. |
^F or Right | Move right |
^K | Delete to the end of line (next \n character) or deletes a single \n character. These deletions are all concatenated into the clipboard. |
^N or Down | Move down (for Fl_Multiline_Input only, otherwise it moves to the next input field). |
^P or Up | Move up (for Fl_Multiline_Input only, otherwise it moves to the previous input field). |
^Q or
RightCtrl or Compose | Start a compose-character sequence. The next one or two keys typed define the character to insert. This also can be used to "quote" control characters. |
^U | Delete everything. |
^V or ^Y | Paste the clipboard |
^X or ^W | Copy the region to the clipboard and delete it. |
^Z or ^_ | Undo. This is a single-level undo mechanism, but all adjacent deletions and insertions are concatenated into a single "undo". Often this will undo a lot more than you expected. |
Shift+move | Move the cursor but also extend the selection. |
The second two forms change the text and set the mark and the point to the end of it. The string is copied to the internal buffer. Passing NULL is the same as "". This returns non-zero if the new value is different than the current one. You can use the second version to directly set the length if you know it already or want to put nul's in the text.