deshabilitar insertar clave para todas las aplicaciones menos una

deshabilitar insertar clave para todas las aplicaciones menos una

Me gustaría desactivar la inserttecla de mi teclado, porque a menudo la presiono accidentalmente cuando escribo y estropea mi texto.

Descubrí que puedo usar xmodmappara deshabilitar completamente la inserción de clave:

xmodmap -e "keycode 106 ="

Esto funciona, pero hay otro problema. Resulta que midnight commanderusa la insertclave para un propósito completamente diferente. No para alternar sobreescribir, como en el editor de texto, sino para seleccionar varios archivos.

Esta característica mces realmente útil y la uso con bastante frecuencia.

¿Hay alguna forma de desactivar la inserttecla en los editores de texto en su función de sobrescribir ON/OFF, pero mantenerla en su segunda función de "seleccionar archivos" en mc?

Respuesta1

Haga que la Insertclave envíe un símbolo de clave diferente (el nombre simbólico de la clave que determina qué clave creen que es las aplicaciones), por ejemplo F25.

xmodmap -e "keycode 106 = F25"

Configure mc para que lo reconozca f25como un enlace para el Markcomando: copie /etc/mc.keymap(o donde esté ubicado el mapa de teclas que esté usando) ~/.mc/mc.keymapy cambie la línea Mark = insert; ctrl-ta Mark = insert; f25; ctrl-t.

Respuesta2

La mayoría de las combinaciones de teclas de Midnight Commander son personalizables. La característica de la que estás hablando parece serMarca, que está en el archivo de mapa de teclas predeterminado, por ejemplo /etc/mc.keymap:

[panel]
Search = ctrl-s; alt-s
Mark = insert; ctrl-t

De acuerdo con lapagina del manual, si proporciona su propio archivo de mapa de teclas (y lo convierte en el primero que se encuentre), utilizaráesoarchivo en lugar del mapa de teclas del sistema. Al asignarMarcaa una secuencia de claves diferente, puede mcignorarla Inserten el caso que cause problemas.

Puede ver los otros lugares donde Insertse utiliza en mclos archivos de mapas de teclas haciendo clic en

dpkg -L mc |xargs grep -i -n insert 2>/dev/null

lo que muestra, por ejemplo, que se utiliza en InsertOverwrite.

Binary file /usr/bin/mc matches
/etc/mc/mc.keymap.emacs:81:Mark = insert; ctrl-t
/etc/mc/mc.keymap.emacs:302:InsertFile = f15
/etc/mc/mc.keymap.emacs:304:InsertOverwrite = insert
/etc/mc/mc.keymap.emacs:322:InsertLiteral = ctrl-q
/etc/mc/mc.keymap.emacs:365:Up = k; y; insert; up; ctrl-p
/etc/mc/mc.keymap:80:Mark = insert; ctrl-t
/etc/mc/mc.keymap:220:Store = ctrl-insert
/etc/mc/mc.keymap:221:Paste = shift-insert
/etc/mc/mc.keymap:302:InsertFile = f15
/etc/mc/mc.keymap:304:InsertOverwrite = insert
/etc/mc/mc.keymap:322:InsertLiteral = ctrl-q
/etc/mc/mc.keymap:362:Up = k; y; insert; up; ctrl-p
/etc/mc/mc.keymap.default:80:Mark = insert; ctrl-t
/etc/mc/mc.keymap.default:220:Store = ctrl-insert
/etc/mc/mc.keymap.default:221:Paste = shift-insert
/etc/mc/mc.keymap.default:302:InsertFile = f15
/etc/mc/mc.keymap.default:304:InsertOverwrite = insert
/etc/mc/mc.keymap.default:322:InsertLiteral = ctrl-q
/etc/mc/mc.keymap.default:362:Up = k; y; insert; up; ctrl-p
/etc/mc/mcedit.menu:450:I       Insert `Changelog' string
/etc/mc/mcedit.menu:467:i       Insert a out of command to cursor.
Binary file /usr/bin/mcview matches
Binary file /usr/bin/mcdiff matches
Binary file /usr/bin/mcedit matches

información relacionada