Keyboard-Shortcuts

禁用除一個應用程序以外的所有應用程序的插入鍵

  • May 22, 2016

我想禁用insert鍵盤上的鍵,因為我在打字時經常不小心敲到它,它會弄亂我的文字。

我發現我可以用來xmodmap完全禁用插入鍵:

xmodmap -e "keycode 106 ="

這可行,但還有另一個問題。事實證明,midnight commanderinsert密鑰用於完全不同的目的。不是用於切換改寫,如在文本編輯器中,而是用於選擇多個文件。

這個功能mc實際上很有用,我經常使用它。

有什麼方法可以禁用insert文本編輯器中的鍵作為改寫 ON/OFF 的角色,但將其保留為“選擇文件”的第二個角色mc

使Insert密鑰發送不同的密鑰符號(密鑰的符號名稱,確定密鑰應用程序認為它是什麼),例如F25.

xmodmap -e "keycode 106 = F25"

配置 mc 以將其辨識f25Mark命令的綁定:複製/etc/mc.keymap(或您正在使用的鍵盤映射所在的任何位置)~/.mc/mc.keymap並將行更改Mark = insert; ctrl-tMark = insert; f25; ctrl-t.

Midnight Commander 的大多數鍵綁定都是可自定義的。您正在談論的功能似乎是Mark,它位於預設的鍵盤映射文件中,例如/etc/mc.keymap

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

根據手冊頁,如果您提供自己的鍵盤映射文件(並使其成為第一個找到的),它將使用文件而不是系統的鍵盤映射。通過將Mark分配給不同的鍵序列,您可以在導致問題的情況下mc忽略。Insert

您可以通過以下方式查看在鍵盤映射文件Insert中使用的其他地方mc

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

例如,這表明它用於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

引用自:https://unix.stackexchange.com/questions/284798