17 Keymap
keymap:aug-keymap<%> : interface? | ||
|
(send a-keymap:aug-keymap get-chained-keymaps) → (listof (instance keymap%)) Returns the list of keymaps that are chained to this one.
(send a-keymap:aug-keymap get-map-function-table) → hash-table Returns a hash-table that maps symbols naming key sequences to the names of the keymap functions the are bound to.
(send a-keymap:aug-keymap get-map-function-table/ht ht) → hash-table ht : hash-table This is a helper function for get-map-function-table that returns the same result, except it accepts a hash-table that it inserts the bindings into. It does not replace any bindings already in ht.
keymap:aug-keymap-mixin : (class? . -> . class?) | ||
| ||
|
(send a-keymap:aug-keymap chain-to-keymap next prefix?) → void next : (instance keymap%) prefix? : boolean? Overrides chain-to-keymap in keymap%.Keeps a list of the keymaps chained to this one.
(send a-keymap:aug-keymap remove-chained-keymap keymap) → void keymap : (is-a?/c keymap) Overrides remove-chained-keymap in keymap%.Keeps the list of the keymaps chained to this one up to date.
(send a-keymap:aug-keymap map-function key-name function-name) → void key-name : string function-name : string Overrides map-function in keymap%.Keeps a separate record of the key names and functions that they are bound to in this keymap.
keymap:aug-keymap% : class? |
superclass: (keymap:aug-keymap-mixin keymap%) |
(keymap:remove-user-keybindings-file user-keybindings-path) |
→ any |
user-keybindings-path : any/c |
(keymap:add-user-keybindings-file user-keybindings-path-or-require-spec) |
→ any |
user-keybindings-path-or-require-spec : any/c |
| ||||||||||
(keymap:add-to-right-button-menu proc) → void? | ||||||||||
|
Before calling this procedure, the function append-editor-operation-menu-items is called.
(keymap:add-to-right-button-menu/before) |
→ (-> (is-a?/c popup-menu%) (is-a?/c editor<%>) (is-a?/c event%) void?) |
(keymap:add-to-right-button-menu/before proc) → void? |
proc : (-> (is-a?/c popup-menu%) (is-a?/c editor<%>) (is-a?/c event%) void?) |
After calling this procedure, the function append-editor-operation-menu-items is called.
(keymap:call/text-keymap-initializer thunk-proc) → any/c |
thunk-proc : (-> any/c) |
(keymap:canonicalize-keybinding-string keybinding-string) |
→ string? |
keybinding-string : string? |
(keymap:get-editor) → (is-a?/c keymap%) |
"z": undo
"y": redo
"x": cut
"c": copy
"v": paste
"a": select all
(keymap:get-file) → (is-a?/c keymap%) |
(keymap:get-user) → (is-a?/c keymap%) |
(keymap:get-global) → (is-a?/c keymap%) |
(keymap:get-search) → (is-a?/c keymap%) |
(keymap:make-meta-prefix-list key) → (listof string?) |
key : string? |
| |||||||||||||||||||||
keymap : (is-a?/c keymap%) | |||||||||||||||||||||
key : string? | |||||||||||||||||||||
func : string? |
(keymap:setup-editor keymap) → void? |
keymap : (is-a?/c keymap%) |
(keymap:setup-file keymap) → void? |
keymap : (is-a?/c keymap%) |
(keymap:setup-global keymap) → void? |
keymap : (is-a?/c keymap%) |
ring-bell (any events) —
Rings the bell (using bell) and removes the search panel from the frame, if there. save-file (key events) —
Saves the buffer. If the buffer has no name, then finder:put-file is invoked. save-file-as (key events) —
Calls finder:put-file to save the buffer. find-string (key events) —
Opens the search buffer at the bottom of the frame, unless it is already open, in which case it searches for the text in the search buffer. find-string-reverse (key events) —
Same as “find-string”, but in the reverse direction. find-string-replace (key events) —
Opens a replace string dialog box. toggle-anchor (key events) —
Turns selection-anchoring on or off. center-view-on-line (key events) —
Centers the buffer in its display using the currently selected line. collapse-space (key events) —
Collapses all non-return whitespace around the caret into a single space. remove-space (key events) —
Removes all non-return whitespace around the caret. collapse-newline (key events) —
Collapses all empty lines around the caret into a single empty line. If there is only one empty line, it is removed. transpose-chars (key events) —
Transposes the characters before and after the caret and moves forward one position. transpose-words (key events) —
Transposes words before and after the caret and moves forward one word. capitalize-word (key events) —
Changes the first character of the next word to a capital letter and moves to the end of the word. upcase-word (key events) —
Changes all characters of the next word to capital letters and moves to the end of the word. downcase-word (key events) —
Changes all characters of the next word to lowercase letters and moves to the end of the word. goto-line (any events) —
Queries the user for a line number and moves the caret there. goto-position (any events) —
Queries the user for a position number and moves the caret there. copy-clipboard (mouse events) —
Copies the current selection to the clipboard. cut-clipboard (mouse events) —
Cuts the current selection to the clipboard. paste-clipboard (mouse events) —
Pastes the clipboard to the current selection. copy-click-region (mouse events) —
Copies the region between the caret and the input mouse event. cut-click-region (mouse events) —
Cuts the region between the caret and the input mouse event. paste-click-region (mouse events) —
Pastes the clipboard into the position of the input mouse event. select-click-word (mouse events) —
Selects the word under the input mouse event. select-click-line (mouse events) —
Selects the line under the input mouse event. start-macro (key events) – Starts recording a keyboard macro
These functions are bound to the following keys (C = control, S = shift, A = alt, M = “meta”, D = command):
C-g : “ring-bell”
M-C-g : “ring-bell”
C-c C-g : “ring-bell”
C-x C-g : “ring-bell”
C-p : “previous-line”
S-C-p : “select-previous-line”
C-n : “next-line”
S-C-n : “select-next-line”
C-e : “end-of-line”
S-C-e : “select-to-end-of-line”
D-RIGHT : “end-of-line”
S-D-RIGHT : “select-to-end-of-line”
M-RIGHT : “end-of-line”
S-M-RIGHT : “select-to-end-of-line”
C-a : “beginning-of-line”
S-C-a : “select-to-beginning-of-line”
D-LEFT : “beginning-of-line”
D-S-LEFT : “select-to-beginning-of-line”
M-LEFT : “beginning-of-line”
M-S-LEFT : “select-to-beginning-of-line”
C-h : “delete-previous-character”
C-d : “delete-next-character”
C-f : “forward-character”
S-C-f : “select-forward-character”
C-b : “backward-character”
S-C-b : “select-backward-character”
M-f : “forward-word”
S-M-f : “select-forward-word”
A-RIGHT : “forward-word”
A-S-RIGHT : “forward-select-word”
M-b : “backward-word”
S-M-b : “select-backward-word”
A-LEFT : “backward-word”
A-S-LEFT : “backward-select-word”
M-d : “kill-word”
M-DELETE : “backward-kill-word”
M-c : “capitalize-word”
M-u : “upcase-word”
M-l : “downcase-word”
M-< : “beginning-of-file”
S-M-< : “select-to-beginning-of-file”
M-> : “end-of-file”
S-M-> : “select-to-end-of-file”
C-v : “next-page”
S-C-v : “select-next-page”
M-v : “previous-page”
S-M-v : “select-previous-page”
C-l : “center-view-on-line”
C-k : “delete-to-end-of-line”
C-y : “paste-clipboard” (Except Windows)
A-v : “paste-clipboard”
D-v : “paste-clipboard”
C-_ : “undo”
C-x u : “undo”
C-+ : “redo”
C-w : “cut-clipboard”
M-w : “copy-clipboard”
C-x C-s : “save-file”
C-x C-w : “save-file-as”
C-x C-f : “load-file”
C-s : “find-string”
C-r : “find-string-reverse”
M-% : “find-string-replace”
SPACE : “collapse-space”
M-Backslash : “remove-space”
C-x C-o : “collapse-newline”
C-o : “open-line”
C-t : “transpose-chars”
M-t : “transpose-words”
C-SPACE : “toggle-anchor”
M-g : “goto-line”
M-p : “goto-position”
LEFTBUTTONTRIPLE : “select-click-line”
LEFTBUTTONDOUBLE : “select-click-word”
RIGHTBUTTON : “copy-click-region”
RIGHTBUTTONDOUBLE : “cut-click-region”
MIDDLEBUTTON : “paste-click-region”
C-RIGHTBUTTON : “copy-clipboard”
INSERT : “toggle-overwrite”
M-o : “toggle-overwrite”
(keymap:setup-search keymap) → void? |
keymap : (is-a?/c keymap%) |
| ||||||||||||||
keymap : (is-a?/c keymap:aug-keymap<%>) | ||||||||||||||
children-keymaps : (listof (is-a?/c keymap%)) |
| ||||||||||||||
editor : (is-a?/c editor<%>) | ||||||||||||||
keymap : (is-a?/c keymap:aug-keymap<%>) |
Each of the keymaps chained to editor must be an keymap:aug-keymap% and keymap cannot be the result of (send editor get-keymap) That is, keymap must be chained to some keymap attached to the editor.