하나의 응용 프로그램을 제외한 모든 응용 프로그램에 대해 삽입 키를 비활성화합니다.

하나의 응용 프로그램을 제외한 모든 응용 프로그램에 대해 삽입 키를 비활성화합니다.

키보드의 키를 비활성화하고 싶습니다 insert. 입력할 때 실수로 치는 경우가 많아 텍스트가 엉망이 되기 때문입니다.

xmodmap삽입 키를 완전히 비활성화하는 데 사용할 수 있다는 것을 알았습니다 .

xmodmap -e "keycode 106 ="

이것은 작동하지만 또 다른 문제가 있습니다. 알고 보니 이 키는 전혀 다른 목적으로 midnight commander사용되었습니다 . insert텍스트 편집기에서와 같이 겹쳐쓰기를 전환하는 것이 아니라 여러 파일을 선택하는 데 사용됩니다.

이 기능은 mc실제로 유용해서 꽤 자주 사용하고 있습니다.

insert겹쳐쓰기 ON/OFF 역할을 하는 텍스트 편집기의 키를 비활성화하고 에서 "파일 선택"이라는 두 번째 역할을 유지하는 방법이 있습니까 mc?

답변1

Insert키가 다른 키심(키 응용 프로그램이 생각하는 키를 결정하는 키의 기호 이름)을 보내 도록 만듭니다 F25. 예를 들어 .

xmodmap -e "keycode 106 = F25"

f25명령 에 대한 바인딩으로 인식하도록 mc를 구성합니다 Mark. copy /etc/mc.keymap(또는 사용 중인 키맵이 있는 위치) ~/.mc/mc.keymap및 행을 Mark = insert; ctrl-t로 변경합니다 Mark = 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

관련 정보