osx – ¿Cómo usar la tecla Insertar para alternar el "modo de sobrescritura" cuando se usa un teclado de PC en OS X?

Pregunta:

De forma predeterminada, cuando se utiliza un teclado de PC conectado a una Mac, OS X trata las pulsaciones de la tecla Insert como pulsaciones de la tecla Help que aparece en el teclado extendido de Mac.

¿Cómo mapeo esa pulsación de tecla para que tenga el mismo resultado en GNU Emacs que cuando se ejecuta en, digamos, Windows o Linux: activando y desactivando el overwrite-mode ? ( https://www.gnu.org/software/emacs/manual/html_node/efaq/Overwrite-mode.html )

En una ventana GUI, Emacs trata las pulsaciones de Insert como pulsaciones de la tecla Help y muestra la ayuda, lo cual es lógico. Buscando en Google, no puedo encontrar ningún lugar que discuta la reasignación de la tecla de Help .

En Terminal.app de OS X, por lo que puedo decir, las pulsaciones de teclas no se pasan en absoluto al terminal. En un indicador de Bash, Ctrl-v Insert da como resultado ninguna salida. Presionar otra tecla se comporta como si estuviera Ctrl-v <key> sin presionar Insert .

EDITAR : Me he acercado. Creo.

Usé Karabiner [1] para mapear Insert a algo más útil que Help , ya que Terminal.app no ​​ve la Help . Elegí F13 .

[1] pqrs.org/osx/karabiner/

<item>
    <name>Map Insert to F13</name>
    <identifier>private.map_insert_to_f13</identifier>
    <autogen>__KeyToKey__ KeyCode::PC_INSERT, KeyCode::F13</autogen>
</item>

Ctrl+v Insert en Bash y luego muestra ^[[25~ .

Inspirándome en http://www.emacswiki.org/emacs/LinuxConsoleKeys , agregué lo siguiente a mi .emacs:

(define-key input-decode-map "\e[25~" [(f13)])
(define-key key-translation-map (kbd "<f13>") (kbd "<Insert>"))

Ahora, presionar Insert una vez no hace nada. Al presionarlo dos veces se muestra

<f1> <Insert> is undefined.

Al presionar Insert Down muestra

<f1> <down> is undefined.

No sé a dónde ir desde aquí.

Respuesta:

Colocar el siguiente fragmento en user-init-file ( ~/.emacs.d/init.el en mi caso) funcionó para mí. También configuro ctrl-insert y shift-insert para copiar / pegar.

(when (eq system-type 'darwin)
  ;; when using Windows keyboard on Mac, the insert key is mapped to <help>
  ;; copy ctrl-insert, paste shift-insert on windows keyboard
  (global-set-key [C-help] #'clipboard-kill-ring-save)
  (global-set-key [S-help] #'clipboard-yank)
  ;; insert to toggle `overwrite-mode'
  (global-set-key [help] #'overwrite-mode))

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım