отключить ключ вставки для всех, кроме одного приложения

Я хотел бы отключить клавишу вставки на моей клавиатуре, потому что я часто попадал в нее случайно при наборе текста, и это испортило мой текст.

Я обнаружил, что могу использовать xmodmap для полного отключения ключа вставки:

 xmodmap -e "keycode 106 =" 

Это работает, но есть и другая проблема. Оказывается, midnight commander использует ключ вставки для совершенно другой цели. Не для переключения типов, как в текстовом редакторе, а для выбора нескольких файлов.

Эта функция в mc действительно полезна, и я использую ее довольно часто.

Есть ли способ отключить ключ вставки в текстовых редакторах в качестве включения / выключения overtype, но сохранить его в своей второй роли как «выбор файлов» в mc ?

2 Solutions collect form web for “отключить ключ вставки для всех, кроме одного приложения”

Сделайте клавишу Insert, чтобы отправить другой keyym (символическое имя ключа, которое определяет, какие ключевые приложения считают это), например F25 .

 xmodmap -e "keycode 106 = F25" 

Настройте mc, чтобы распознать f25 как привязку для команды Mark : скопируйте /etc/mc.keymap (или везде, где используется ~/.mc/mc.keymap ), в ~/.mc/mc.keymap и измените строку Mark = insert; ctrl-t Mark = insert; ctrl-tMark = insert; f25; ctrl-t Mark = insert; f25; ctrl-t Mark = insert; f25; ctrl-t .

Большинство клавишных клавиш Midnight Commander настраиваются. Функция, о которой вы говорите, выглядит как Mark , которая находится в файле /etc/mc.keymap файла по умолчанию, например, /etc/mc.keymap :

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

Согласно странице руководства , если вы предоставите свой собственный файл ключевого слова (и сделаете его первым), он будет использовать этот файл вместо раскладки клавиатуры системы. Назначив Mark другой последовательности клавиш, вы можете сделать mc игнорировать 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 
  • CapsLock в качестве ключа-модификатора для клавиатур приложений
  • Группа фиксации в сопоставлениях протокола xmodmap / core (XChangeKeyboardMapping ())
  • Mode_switch + Shift не совпадает с Shift + Mode_Switch?
  • Клавиши F1-F12 не работают
  • Почему мое переплетение Caps Lock отменено?
  • xmodmap проблемы и несоответствия с более чем 4 альтернативными символами на ключ
  • Настройка Mod4 в awesome
  • Карабинерские функции с xmodmap
  • Ключ, отличный от Control для отправки SIG *?
  • Отображать события ACPI для ключей X (или для пользовательских команд)
  • Изменение определенных клавиш на клавиатуре Apple в Fedora 22
  • Могу ли я использовать Xmodmap только для определенного устройства?
  • Linux и Unix - лучшая ОС в мире.