When invoked, konsole starts this client application (which is the shell by default) and displays all the clients output in it's window while forwarding key presses and mouse clicks to the client.
By this most of konsole's behavior is really controlled by the application that actually runs in it. There are only a few special features that konsole adds to this. These additional features are not uncommon, so much of the following description applies to any decent terminal emulation.
Text that is scrolled out of the screen is kept in a history buffer for later review. Currently a maximum of 100 lines are kept in this buffer. While it is not possible to change text that has ended up in the buffer, one can look at it and copy it partially or entirely to the clipboard.
The Shift-PageUp, Shift-PageDown, Shift-Up and Shift-Down keys are used to scroll through the history buffer. Shift-Insert works like a middle mouse button click (paste). All other keystrokes are passed on to the application run within the emulation. Note that their might be some dead keys.
You need a three button mouse to make full use of the terminal. The buttons have different functions:
Clicking the left button is passed as an event to the application running in the emulation if it is mouse aware. If a program will react on mouse clicks konsole indicates this by showing an arrow cursor. If not an ibeam (bar) cursor is shown.
Holding the left button down and dragging the mouse over the screen with a mouse unaware application running, will mark a region of the text. While dragging, the marked text is displayed reverse for visual feedback. As soon as the button is released, the marked text copied to the clipboard for further use within Konsole or another application.
Normally, new-line characters are inserted at the end of each line selected. This is normally best for cut and paste of source code or the output of a particular command. For ordinary text, the line breaks are often not important. One would prefer for the text to be a stream of characters that will be automatically re-formatted when pasted another application. To select in text-stream mode, hold-down the Ctrl key while selecting normally.
It the upper or lower edge of the text area is touched while marking, Konsole scrolls up or down, thereby eventually exposing text within the history buffer. The scrolling stops as soon as you stop moving the mouse.
After releasing the mouse, Konsole attempts to keep the text in the clipboard visible by holding the marked area reversed. The marked area reverts back to normal as soon as either the contents of the clipboard is changed, the text within the marked area is altered or you've clicked the left mouse button.
To mark text on a mouse aware application the shift key has to be pressed when clicking.
Pressing the middle button copies text currently in the clipboard. This works just as if clipboard contents is typed on the keyboard, so the application running in the emulation will react by it's own way on it.
The right button brings up the configuration menu. Additionally, the shift and the control key may be uses with this button to get access to other parts of the menu.
Konsole offers to run several sessions (programs) at once. New sessions can be started using the "New"-menu. One can switch between sessions with the "Sessions"-menu. Both menus are available as right mouse button menus, too, when pression the shift or the control key as modifiers.
The session menu can be freely configured due to the local needs. (A section explaining how is missing, see /opt/kde/share/apps/konsole for some examples.)