désactiver la touche d'insertion pour toutes les applications sauf une

Je voudrais désactiver la touche d' insertion sur mon keyboard, parce que je frappe souvent accidentellement lors de la frappe, et cela gâcher mon text.

J'ai trouvé que je peux utiliser xmodmap pour désactiver complètement la key d'insertion:

 xmodmap -e "keycode 106 =" 

Cela fonctionne, mais il y a un autre problème. Il s'avère que le midnight order utilise la touche d' insertion pour un but complètement différent. Pas pour basculer overtype, comme dans l'éditeur de text, mais pour sélectionner plusieurs files.

Cette fonctionnalité dans mc est en fait utile, et je l'utilise assez souvent.

Y at-il un moyen de désactiver la key d' insertion dans les éditeurs de text dans son rôle de type ON / OFF, mais de le garder dans son second rôle de «sélection de files» dans mc ?

Faites en sorte que la touche Insert envoie un keysym différent (le nom symbolique de la key qui détermine quelles applications keys le pensent), par exemple F25 .

 xmodmap -e "keycode 106 = F25" 

Configurez mc pour reconnaître f25 comme binding pour la command Mark : copyz /etc/mc.keymap (ou l'endroit où se trouve le keymap que vous utilisez) vers ~/.mc/mc.keymap et changez la ligne Mark = insert; ctrl-t Mark = insert; ctrl-t à Mark = insert; f25; ctrl-t Mark = insert; f25; ctrl-t Mark = insert; f25; ctrl-t .

La plupart des raccourcis keyboard de Midnight Commander sont personnalisables. La fonctionnalité dont vous parlez semble être Mark , qui se trouve dans le file keymap par défaut, par exemple, /etc/mc.keymap :

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

Selon la page de manuel , si vous fournissez votre propre file keymap (et faites que le premier trouvé), il utilisera ce file à la place du keymap du système. En affectant Mark à une séquence de touches différente, vous pouvez faire en sorte que mc ignore Insérer dans le cas qui cause des problèmes.

Vous pouvez voir les autres endroits où Insert est utilisé dans les files mc keymap par

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

qui montre, par exemple, qu'il est utilisé dans 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' ssortingng /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