Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p><kbd>C-h f</kbd> <code>keyboard-translate</code> <kbd>RET</kbd> says that: </p> <blockquote> <p>This variable has a separate binding for each terminal. See Info node `(elisp)Multiple displays'.</p> </blockquote> <p>which points us in the right direction, although there's an error in that documentation, as the referenced info node doesn't exist. A search suggests that the node is actually renamed <code>(elisp)Multiple terminals</code>, which you can also read here: <a href="http://www.gnu.org/s/emacs/manual/html_node/elisp/Multiple-Terminals.html" rel="nofollow">http://www.gnu.org/s/emacs/manual/html_node/elisp/Multiple-Terminals.html</a></p> <blockquote> <p>On GNU and Unix systems, each X display is a separate graphical terminal [...] Emacs can even connect to other text-only terminals, by interacting with the emacsclient program. </p> </blockquote> <p>So when you start emacs as a daemon, you have not yet connected to a terminal (or at least, not to one that is useful to you), and so your commands do not generate bindings for the terminal(s) that you end up using.</p> <p>The <code>after-make-frame-functions</code> variable provides one way to resolve this.</p> <pre><code>(defun my-dvorak-translations (&amp;optional frame) "Re-map keys in the current terminal." (keyboard-translate ?\C-j ?\C-c) (keyboard-translate ?\C-c ?\C-j)) ;; Evaluate both now (for non-daemon emacs) and upon frame creation ;; (for new terminals via emacsclient). (my-dvorak-translations) (add-hook 'after-make-frame-functions 'my-dvorak-translations) </code></pre> <p>Experimentally it appears safe to repeat your commands, so we don't need to worry about only executing this once per terminal (but if we did, we could use <code>(get-device-terminal FRAME)</code> to help with that).</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload