Все приложения, которые вы упомянули, являются gtk+приложениями, поэтому на них довольно легко ответить. Почему ... Потому что во всех gtk+ приложениях ( кроме одного ) Shift+ Insertвставляется из CLIPBOARD - т.е. это эквивалентно Ctrl+ V. Ярлык жестко закодирован в gtkentry.c(строка 2022) и gtktextview.c(строка 1506):
gtk_binding_entry_add_signal (binding_set, GDK_KEY_Insert, GDK_SHIFT_MASK,
"paste-clipboard", 0);
Это также задокументировано в Справочном руководстве GTK + 3 под GtkEntry:
The “paste-clipboard” signal
void
user_function (GtkEntry *entry,
gpointer user_data)
The ::paste-clipboard signal is a keybinding signal which gets emitted
to paste the contents of the clipboard into the text view.
The default bindings for this signal are Ctrl-v and Shift-Insert.
Насколько я знаю , что это было сделано для обеспечения согласованности с другими DE (см KDE«s Qtклавиш в QTextEdit Class) и ОС Windows 1 . Единственным исключением является . После долгих дебатов разработчики решили (для совместимости с другими терминалами) , что, в , + следует вставить из ПЕРВИЧНЫХ и + + должны вставить из буфера обмена (хотя у вас есть возможность настроить некоторые ярлыки).
gnome-terminalgnome-terminalShiftInsertCtrlShiftV
Что касается того, как вы вставляете выделение с помощью сочетания клавиш ... нет простого пути.
Самый простой способ - назначить ярлык для запускаемого скрипта xdotool click 2(имитирует нажатие средней кнопки мыши). Хотя это работает (и должно работать со всеми или с большинством DE и наборов инструментов), оно работает только в том случае, если курсор мыши находится на самом деле над полем ввода текста, в противном случае происходит сбой.
Другой относительно простой способ - через Gnome Accessibility, если он доступен в вашей системе. Это также требует присутствия цифровой клавиатуры. Перейдите к Universal Access>> Pointing & Clickingи включите Mouse Keys. Убедитесь, что NumLockвыключен. Затем вы можете использовать цифровые клавиши для перемещения курсора и щелчка. Чтобы смоделировать щелчок средней кнопкой мыши, нажмите (и отпустите) *(звездочку), затем нажмите 5(вот краткое руководство ). Это решение, кажется, всегда работает в gtk+окружающей среде. Недостатком является то, что для этого требуется Gnome Accessibilityи цифровая клавиатура. Кроме того, вы не можете настроить ярлык.
На gnome-bugzilla было предложено интересное решение (ошибка 643391) . (Обновление 2018: проблема теперь перенесена сюда .) Требуется исправление некоторых исходных файлов и настройка параметров конфигурации в ~/.config/gtk-3.0/gtk.css(или ~/.gtkrc-2.0для gtk+2 приложений). Я не пробовал это лично, но отзывы положительные.
В идеале вы должны исправить исходные файлы и определить "paste-selection"сигнал, а затем связать Shift+ Insertс "paste-selection"вместо "paste-clipboard". Код Энди (прикрепленный в сообщении об ошибке, связанном выше) может послужить руководством для того, как это сделать. Даже тогда это будет влиять только на gtk+приложения (я не KDE/Qtпарень, поэтому я не знаю, как изменить Qtповедение приложений).
1: (не говоря уже о CUA IBM)