desativar a chave de inserção para todos os aplicativos, exceto um

desativar a chave de inserção para todos os aplicativos, exceto um

Gostaria de desabilitar a inserttecla do meu teclado, pois muitas vezes bato nela acidentalmente ao digitar e isso atrapalha meu texto.

Descobri que posso usar xmodmappara desabilitar completamente a chave de inserção:

xmodmap -e "keycode 106 ="

Isso funciona, mas há outro problema. Acontece que midnight commanderele usa a insertchave para uma finalidade totalmente diferente. Não para alternar sobrescrever, como no editor de texto, mas para selecionar vários arquivos.

Esse recurso mcé realmente útil e eu o uso com bastante frequência.

Existe alguma maneira de desabilitar a insertchave nos editores de texto em sua função de sobrescrever ON/OFF, mas mantê-la em sua segunda função como "selecionar arquivos" em mc?

Responder1

Faça com que a Insertchave envie um keysym diferente (o nome simbólico da chave que determina qual chave os aplicativos pensam que é), por exemplo F25.

xmodmap -e "keycode 106 = F25"

Configure mc para reconhecer f25como uma ligação para o Markcomando: copy /etc/mc.keymap(ou onde quer que o mapa de teclado que você está usando esteja localizado) para ~/.mc/mc.keymape altere a linha Mark = insert; ctrl-tpara Mark = insert; f25; ctrl-t.

Responder2

A maioria das combinações de teclas do Midnight Commander são personalizáveis. O recurso do qual você está falando parece serMarca, que está no arquivo de mapa de teclado padrão, por exemplo /etc/mc.keymap:

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

De acordo compágina de manual, se você fornecer seu próprio arquivo de mapa de teclado (e torná-lo o primeiro encontrado), ele usaráquearquivo em vez do mapa de teclado do sistema. Ao atribuirMarcapara uma sequência de teclas diferente, você pode mcignorar Insertno caso que causa problemas.

Você pode ver os outros locais onde Inserté usado em mcarquivos de mapa de teclado clicando em

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

o que mostra, por exemplo, que é usado em 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

informação relacionada