對除一個應用程式之外的所有應用程式停用插入鍵

對除一個應用程式之外的所有應用程式停用插入鍵

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

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

xmodmap -e "keycode 106 ="

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

這個功能mc其實很有用,我也常使用。

有沒有什麼方法可以禁用insert文字編輯器中的按鍵作為覆蓋開/關的角色,但保留它的第二個角色作為“選擇文件” mc

答案1

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

xmodmap -e "keycode 106 = F25"

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

答案2

Midnight Commander 的大多數按鍵綁定都是可自訂的。您正在談論的功能似乎是標記,位於預設鍵盤映射檔中,例如/etc/mc.keymap

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

根據手冊頁,如果您提供自己的鍵盤映射檔案(並使其成為第一個找到的檔案),它將使用文件而不是系統的鍵盤映射。透過分配標記對於不同的按鍵序列,您可以在導致問題的情況下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

相關內容