diff options
author | Richard M. Stallman <rms@gnu.org> | 2005-03-06 18:22:28 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2005-03-06 18:22:28 +0000 |
commit | 07ea73bb981382a7a47a37fbf4c21eb417758ad3 (patch) | |
tree | 7666e8ead3aacbf94b24a3e9ca6d9e80fab56aa2 /lispref/os.texi | |
parent | 4ccd1968d9420a8e20b74ffd35d1ef7c4a8576e5 (diff) | |
download | emacs-07ea73bb981382a7a47a37fbf4c21eb417758ad3.tar.gz |
(Translating Input): Replace flow-control example
with a less obsolete example that uses `keyboard-translate'.
Diffstat (limited to 'lispref/os.texi')
-rw-r--r-- | lispref/os.texi | 49 |
1 files changed, 20 insertions, 29 deletions
diff --git a/lispref/os.texi b/lispref/os.texi index 58bab17e139..1358e3421db 100644 --- a/lispref/os.texi +++ b/lispref/os.texi @@ -1618,35 +1618,6 @@ If @code{keyboard-translate-table} is a char-table looked up in this char-table. If the value found there is non-@code{nil}, then it is used instead of the actual input character. -In the example below, we set @code{keyboard-translate-table} to a -char-table. Then we fill it in to swap the characters @kbd{C-s} and -@kbd{C-\} and the characters @kbd{C-q} and @kbd{C-^}. Subsequently, -typing @kbd{C-\} has all the usual effects of typing @kbd{C-s}, and vice -versa. - -@cindex flow control example -@example -@group -(defun evade-flow-control () - "Replace C-s with C-\ and C-q with C-^." - (interactive) -@end group -@group - (setq keyboard-translate-table - (make-char-table 'keyboard-translate-table nil)) -@end group -@group - ;; @r{Swap @kbd{C-s} and @kbd{C-\}.} - (aset keyboard-translate-table ?\034 ?\^s) - (aset keyboard-translate-table ?\^s ?\034) -@end group -@group - ;; @r{Swap @kbd{C-q} and @kbd{C-^}.} - (aset keyboard-translate-table ?\036 ?\^q) - (aset keyboard-translate-table ?\^q ?\036)) -@end group -@end example - Note that this translation is the first thing that happens to a character after it is read from the terminal. Record-keeping features such as @code{recent-keys} and dribble files record the characters after @@ -1664,6 +1635,26 @@ character code @var{from} into character code @var{to}. It creates the keyboard translate table if necessary. @end defun + Here's an example of using the @code{keyboard-translate-table} to +make @kbd{C-x}, @kbd{C-c} and @kbd{C-v} perform the cut, copy and paste +operations: + +@example +(keyboard-translate ?\C-x 'control-x) +(keyboard-translate ?\C-c 'control-c) +(keyboard-translate ?\C-v 'control-v) +(global-set-key [control-x] 'kill-region) +(global-set-key [control-c] 'kill-ring-save) +(global-set-key [control-v] 'yank) +@end example + +@noindent +On a graphical terminal that supports extended @acronym{ASCII} input, +you can still get the standard Emacs meanings of one of those +characters by typing it with the shift key. That makes it a different +character as far as keyboard translation is concerned, but it has the +same usual meaning. + The remaining translation features translate subsequences of key sequences being read. They are implemented in @code{read-key-sequence} and have no effect on input read with @code{read-event}. |