PyFrame Guide to wxPython
Copyright and License information Home
__ A B C D E F G H I L M P R S T U V W
wxStyledTextCtrl - Key Mapping and Execution
CmdKeyAssign
CmdKeyClear
CmdKeyClearAll
CmdKeyExecute
Summary:
The first three commands in this set are used to modify keyboard-to-action mappings, the last one is normally used to programmatically invoke functions normally executed by a user pressing a keyboard key. It theoretically can also be used to send any parameterless command to the STC, but this feature is probably of limited use (?).
backgrounder:
The STC has a default mapping between certain keys and functions. This is simplified/summarized below, but also see the source files: contrib/src/stc/Scintilla/src/KeyMap.cxx and contrib/src/stc/Scintilla/include/Scintilla.iface.
The actual keystroke mappings occur in a platform-adaptation layer, e.g., see contrib/src/stc/ScintillaWx.cpp.
The xxEXTEND actions extend the selection, and the WORDPARTxxx actions move between word segments marked by capitalization or underscores; e.g., aMixedCaseIdentifier or a_broken_up_identifier, respectively.
Key
Action
Description
DOWN ARROW
LINEDOWN
Move caret down one line
SHIFT DOWN ARROW
LINEDOWNEXTEND
Move caret down one line extending selection to new caret position
CTRL DOWN ARROW
LINESCROLLDOWN
Scroll the document down, keeping the caret visible
UP ARROW
LINEUP
Move caret up one line
SHIFT UP ARROW
LINEUPEXTEND
Move caret up one line extending selection to new caret position
CTRL UP ARROW
LINESCROLLUP
Scroll the document up, keeping the caret visible
LEFT ARROW
CHARLEFT
Move caret left one character
SHIFT LEFT ARROW
CHARLEFTEXTEND
Move caret left one character extending selection to new caret position
CTRL LEFT ARROW
WORDLEFT
Move caret left one word
CTRL+SHIFT LEFT ARROW
WORDLEFTEXTEND
Move caret left one word extending selection to new caret position
ALT LEFT ARROW
WORDPARTLEFT
Move to the previous change in capitalisation
ALT+SHIFT LEFT ARROW
WORDPARTLEFTEXTEND
Move to the previous change in capitalisation extending selection to new caret position
RIGHT ARROW
CHARRIGHT
Move caret right one character
SHIFT RIGHT ARROW
CHARRIGHTEXTEND
Move caret right one character extending selection to new caret position
CTRL RIGHT ARROW
WORDRIGHT
Move caret right one word
CTRL+SHIFT RIGHT ARROW
WORDRIGHTEXTEND
Move caret right one word extending selection to new caret position
ALT RIGHT ARROW
WORDPARTRIGHT
Move to the next change in capitalisation
ALT+SHIFT RIGHT ARROW
WORDPARTRIGHTEXTEND
Move to the next change in capitalisation extending selection to new caret position.
HOME
VCHOME
Move caret to before first visible character on line. If already there move to first character on line
SHIFT HOME
VCHOMEEXTEND
Like VCHome but extending selection to new caret position
CTRL HOME
DOCUMENTSTART
Move caret to first position in document
CTRL+SHIFT HOME
DOCUMENTSTARTEXTEND
Move caret to first position in document extending selection to new caret position
ALT HOME
HOMEDISPLAY
Move caret to first position on display line
ALT+SHIFT HOME
HOMEDISPLAYEXTEND
Move caret to first position on display line extending selection to new caret position.
END
LINEEND
Move caret to last position on line
SHIFT END
LINEENDEXTEND
Move caret to last position on line extending selection to new caret position
CTRL END
DOCUMENTEND
Move caret to last position in document
CTRL+SHIFT END
DOCUMENTENDEXTEND
Move caret to last position in document extending selection to new caret position
ALT END
LINEENDDISPLAY
Move caret to last position on display line
ALT+SHIFT END
LINEENDDISPLAYEXTEND
Move caret to last position on display line extending selection to new caret position
PRIOR
PAGEUP
Move caret one page up
SHIFT PRIOR
PAGEUPEXTEND
Move caret one page up extending selection to new caret position
NEXT
PAGEDOWN
Move caret one page down
SHIFT NEXT
SCI_PAGEDOWNEXTEND
Move caret one page down extending selection to new caret position
DELETE
CLEAR
Delete all text in the document
SHIFT DELETE
CUT
Cut the selection to the clipboard
CTRL DELETE
DELWORDRIGHT
Delete the word to the right of the caret
CTRL+SHIFT DELETE
DELLINERIGHT
Delete forwards from the current position to the end of the line
INSERT
EDITTOGGLEOVERTYPE
Switch from insert to overtype mode or the reverse
SHIFT INSERT
PASTE
Paste the contents of the clipboard into the document replacing the selection
CTRL INSERT
COPY
Copy the selection to the clipboard
ESCAPE
CANCEL
Cancel any modes such as call tip or auto-completion list display
BACK
DELETEBACK
Delete the selection or if no selection, the character before the caret
SHIFT BACK
DELETEBACK
Delete the selection or if no selection, the character before the caret
CTRL BACK
DELWORDLEFT
Delete the word to the left of the caret
ALT BACK
UNDO
Undo one action in the undo history
CTRL+SHIFT BACK
DELLINELEFT
Delete back from the current position to the start of the line
CTRL 'Z'
UNDO
Undo one action in the undo history
CTRL 'Y'
REDO
Redoes the next action on the undo history
CTRL 'X'
CUT
Cut the selection to the clipboard
CTRL 'C'
COPY
Copy the selection to the clipboard
CTRL 'V'
PASTE
Paste the contents of the clipboard into the document replacing the selection
CTRL 'A'
SELECTALL
Select all the text in the document
TAB
TAB
If selection is empty or all on one line replace the selection with a tab character. If more than one line selected, indent the lines.
SHIFT TAB
BACKTAB
Dedent the selected lines
RETURN
NEWLINE
Insert a new line, may use a CRLF, CR or LF depending on EOL mode
SHIFT RETURN
NEWLINE
Insert a new line, may use a CRLF, CR or LF depending on EOL mode
CTRL ADD
ZOOMIN
Magnify the displayed text by increasing the sizes by 1 point
CTRL SUBTRACT
ZOOMOUT
Make the displayed text smaller by decreasing the sizes by 1 point
CTRL DIVIDE
SETZOOM
Set the zoom level to 0. This returns the zoom to 'normal,' i.e., no zoom.
CTRL 'L'
LINECUT
Cut the line containing the caret
CTRL+SHIFT 'L'
LINEDELETE
Delete the line containing the caret
CTRL 'T'
LINETRANSPOSE
Switch the current line with the previous
CTRL 'U'
LOWERCASE
Transform the selection to lower case
CTRL+SHIFT 'U'
UPPERCASE
Transform the selection to upper case
----
CmdKeyAssign(key,modifiers,command)
This command is used to add or change an assignment in the key map. Returns None.
The key can be any visible (e.g., 'A') or control character (e.g., Ctrl-A) or a key from the SCK_ enumeration (an internal Scintilla enum). The SCK_ values are directly available in wxPython and are summarized below.
The modifiers are an OR of wxSTC_SCMOD_SHIFT, wxSTC_SCMOD_CTRL, and wxSTC_SCMOD_ALT (or 0 if you don't want to specify a modifier at all).
The message is an action from the second list (messages) below. You can use an action of SCI_NULL (which is not defined in wxPython but has a value of 2172) to set a key mapping to no action, or you can use CmdKeyClear, which will do the same thing. You can execute one of these actions with the CmdKeyExecute method.
Example
CmdKeyAssign('L', wxSTC_SCMOD_SHIFT | wxSTC_SCMOD_CTRL, wxSTC_CMD_LINEDELETE);
Special key value from SCK_ enum
wxSTC_KEY_DOWN
wxSTC_KEY_UP
wxSTC_KEY_LEFT
wxSTC_KEY_RIGHT
wxSTC_KEY_HOME
wxSTC_KEY_END
wxSTC_KEY_PRIOR
wxSTC_KEY_NEXT
wxSTC_KEY_DELETE
wxSTC_KEY_INSERT
wxSTC_KEY_ESCAPE
wxSTC_KEY_BACK
wxSTC_KEY_TAB
wxSTC_KEY_RETURN
wxSTC_KEY_ADD
wxSTC_KEY_SUBTRACT
wxSTC_KEY_DIVIDE
Values to use for message
Command
Action
wxSTC_CMD_BACKTAB
Dedent the selected lines
wxSTC_CMD_CANCEL
Cancel any modes such as call tip or auto-completion list display
wxSTC_CMD_CHARLEFT
Move caret left one character
wxSTC_CMD_CHARLEFTEXTEND
Move caret left one character extending selection to new caret position
wxSTC_CMD_CHARRIGHT
Move caret right one character
wxSTC_CMD_CHARRIGHTEXTEND
Move caret right one character extending selection to new caret position
wxSTC_CMD_COPY
Copy the selection to the clipboard
wxSTC_CMD_CUT
Cut the selection to the clipboard
wxSTC_CMD_DELETEBACK
Delete the selection or if no selection, the character before the caret
wxSTC_CMD_DELETEBACKNOTLINE
Delete the selection or if no selection, the character before the caret. Will not delete the character before at the start of a line.
wxSTC_CMD_DELWORDLEFT
Delete the word to the left of the caret
wxSTC_CMD_DELWORDRIGHT
Delete the word to the right of the caret
wxSTC_CMD_DOCUMENTEND
Move caret to last position in document
wxSTC_CMD_DOCUMENTENDEXTEND
Move caret to last position in document extending selection to new caret position
wxSTC_CMD_DOCUMENTSTART
Move caret to first position in document
wxSTC_CMD_DOCUMENTSTARTEXTEND
Move caret to first position in document extending selection to new caret position
wxSTC_CMD_EDITTOGGLEOVERTYPE
Switch from insert to overtype mode or the reverse
wxSTC_CMD_FORMFEED
Insert a Form Feed character
wxSTC_CMD_HOME
Move caret to first position on line
wxSTC_CMD_HOMEDISPLAY
Move caret to first position on display line
wxSTC_CMD_HOMEDISPLAYEXTEND
Move caret to first position on display line extending selection to new caret position
wxSTC_CMD_HOMEEXTEND
Move caret to first position on line extending selection to new caret position
wxSTC_CMD_LINECUT
Cut the line containing the caret
wxSTC_CMD_LINEDELETE
Delete the line containing the caret
wxSTC_CMD_LINEDOWN
Move caret down one line
wxSTC_CMD_LINEDOWNEXTEND
Move caret down one line extending selection to new caret position
wxSTC_CMD_LINEEND
Move caret to last position on line
wxSTC_CMD_LINEENDDISPLAY
Move caret to last position on display line
wxSTC_CMD_LINEENDDISPLAYEXTEND
Move caret to last position on display line extending selection to new caret position
wxSTC_CMD_LINEENDEXTEND
Move caret to last position on line extending selection to new caret position
wxSTC_CMD_LINESCROLLDOWN
Scroll the document down, keeping the caret visible
wxSTC_CMD_LINESCROLLUP
Scroll the document up, keeping the caret visible
wxSTC_CMD_LINETRANSPOSE
Switch the current line with the previous
wxSTC_CMD_LINEUP
Move caret up one line
wxSTC_CMD_LINEUPEXTEND
Move caret up one line extending selection to new caret position
wxSTC_CMD_LOWERCASE
Transform the selection to lower case
wxSTC_CMD_NEWLINE
Insert a new line, may use a CRLF, CR or LF depending on EOL mode
wxSTC_CMD_PAGEDOWN
Move caret one page down
wxSTC_CMD_PAGEDOWNEXTEND
Move caret one page down extending selection to new caret position
wxSTC_CMD_PAGEUP
Move caret one page up
wxSTC_CMD_PAGEUPEXTEND
Move caret one page up extending selection to new caret position
wxSTC_CMD_REDO
Redoes the next action on the undo history
wxSTC_CMD_SELECTALL
Select all the text in the document
wxSTC_CMD_TAB
If selection is empty or all on one line replace the selection with a tab character. If more than one line selected, indent the lines
wxSTC_CMD_UNDO
Redoes the next action on the undo history
wxSTC_CMD_UPPERCASE
Transform the selection to upper case
wxSTC_CMD_VCHOME
Move caret to before first visible character on line. If already there move to first character on line
wxSTC_CMD_VCHOMEEXTEND
Like VCHome but extending selection to new caret position
wxSTC_CMD_WORDLEFT
Move caret left one word
wxSTC_CMD_WORDLEFTEXTEND
Move caret left one word extending selection to new caret position
wxSTC_CMD_WORDRIGHT
Move caret right one word
wxSTC_CMD_WORDRIGHTEXTEND
Move caret right one word extending selection to new caret position
wxSTC_CMD_ZOOMIN
Magnify the displayed text by increasing the sizes by 1 point
wxSTC_CMD_ZOOMOUT
Make the displayed text smaller by decreasing the sizes by 1 point
A few values are not defined in wxPython as of this writing, but should be as they are even in the default keymapping shown earlier on this page. They were added in CVS as this was being written.
wxSTC_CMD_DELLINELEFT: Use 2395
Delete back from the current position to the start of the line
wxSTC_CMD_DELLINERIGHT: Use 2396
Delete forwards from the current position to the end of the line
wxSTC_CMD_WORDPARTLEFT: Use 2390
Move to the next change in capitalisation
wxSTC_CMD_WORDPARTLEFTEXTEND: Use 2391
Move to the previous change in capitalisation extending selection to new caret position
wxSTC_CMD_WORDPARTRIGHT: Use 2392
Move caret right one word extending selection to new caret position
wxSTC_CMD_WORDPARTRIGHTEXTEND: Use 2393
Move to the next change in capitalisation extending selection to new caret position.
top
----
CmdKeyClear(key,modifiers)
Sets the keyboard action for the keyboard key specified by the method arguments to SCI_NULL, which effectively causes no action for that key. The arguments key and modifiers are identical to those that would be used in the CmdKeyAssign method, above. Returns None.
top
----
CmdKeyClearAll()
Actually completely removes all entries from the key-map. Doesn't restore the defaults: there's no method to do so, although obviously one could do that manually. Returns None.
top
----
CmdKeyExecute(cmd)
This method is used to programmatically execute one of the key-actions (wxSTC_CMD_xxx) that is normally executed by a keypress. For the cmd argument, use one of the values in the message table shown for the CmdKeyAssign method. Returns None.
Note that several of the messages have direct wxPython methods that you can use instead; for example,
HomeDisplay()
rather than CmdKeyExecute(wxSTC_CMD_HOMEDISPLAY). See this page for those methods.
top
----