Существуют ли стандартные или обычные сочетания клавиш для вставки основного выделения?
Я хотел бы выделить какой-нибудь текст и перейти в другое приложение, чтобы вставить, не удаляя содержимое буфера обмена. Я бы предпочел держать пальцы на клавиатуре, а не двигать мышь, найти указатель, расположить его там, где я хочу, и щелкнуть средней кнопкой мыши.
Если нет ничего обычного, или если оно специфично для приложения и не поддерживается многими, есть ли обходной путь, чтобы это работало глобально? (Или, по крайней мере, в других приложениях.)
keyboard
shortcut-keys
clipboard
Стефано Палаццо
источник
источник
Ответы:
Отправка виртуальных нажатий клавиш не работает для меня (см. Комментарии ), но этот ответ вдохновил меня на поиск аналогичных решений. Отправка «текстового» события с
xvkbd
игнорированием текущего состояния вашей физической клавиатуры:xvkbd -text
использует несколько последовательностей обратной косой черты, так что вместо того, чтобы танцевать с побегом,-file
работает.xvkbd
также выводит некоторый текст с предупреждением о модификаторах, но он, похоже, не имеет отношения к этому использованию (но я не хотел его видеть~/.xsession-errors
).Я связал это с ярлыком, используя Систему> Настройки> Сочетания клавиш .
Обратите внимание, что вам нужно установить пакеты xsel и xvkbd:
источник
sh -c 'xsel | xvkbd -file - 2>/dev/null'
работает, -xsendevent должен был выйти, чтобы заставить его работать.xsel
).xvkbd
.xsel
отлично работает с "éòü" в первичном выборе, ноxvkbd
не работает, как показано выше. (И тоже не справляетсяxvkbd -text "éòü"
, хотя здесь ничего не печатается.)Вы можете получить это при совместном использовании программ xdotool ( нажмите, чтобы установить ) и xsel ( нажмите, чтобы установить ).
xdotool
может имитировать набор текста в окне;xsel
выводит содержимое ПЕРВИЧНОГО выбора (по умолчанию); следующая оболочка один лайнер сделает свое дело:Чтобы связать это с любой клавишей, используя пункт меню System-> Preferences-> Keyboard shortcuts, необходимо заключить ее в вызов оболочки:
Набор
xdotool
не будет работать с некоторыми программами; см. примечания в документации по xdotool .источник
Я искал ответ на этот же вопрос и нашел ответ, который говорит, что Shift+ Insertработает для вставки основного выбора. Я работаю на меня. Simpler.
источник
Вызов
xdotool click --clearmodifiers 2
имитирует нажатие средней кнопки мыши. Это работает намного лучше, чем использование xsel (по крайней мере, для меня). Хотя вам нужно расположить мышь, прежде чем печатать ...источник
Еще одно предложение по xdotool, работающее в Debian Jessie 8.7 (январь 2017):
xdotool click
имитирует фактический щелчок, поэтому вам не нужно нажимать на себя, чтобы вставить в позицию мыши, как если бы вы использовалиxdotool type
, или xvkbd.Единственная проблема заключается в том, что
--clearmodifiers
после имитации клика «нажмет» обратно любой модификатор (Ctrl / Alt / Shift / Meta), который вы используете. Даже с--delay 0
(вместо 12 мс) выполнение команды занимает немного времени. Если вы отпустите клавиши до того, как они закончатся, ваши модификаторы будут снова «нажаты» и останутся там до тех пор, пока вы не нажмете и не отпустите актуальную клавишу еще раз.Так что с этим вы должны быть немного «медленными» (50 мс?), Чтобы выпустить ваши модификаторы, если вы их используете.
Вы можете проверить это, настроив сочетание клавиш, используя его в текстовом редакторе, а затем нажав клавишу (например
a
, или стрелку). Буква должна появиться в нижнем регистре. Если что-то происходит, вы слишком быстры, и модификатор застрял (например, Shift, если он написан заглавными буквами, Ctrl, если вы выбрали весь текст, Alt, если вы открыли меню). Нажмите и отпустите ваши модификаторы снова, чтобы сбросить их.Если вы слишком быстры, вы можете воспользоваться предложением ilkerk:
Затем вы должны выпустить их менее чем за 300 мс и подождать полсекунды, пока текст не появится.
Кроме того, использование
xdotool type
означает, что вы вставляете текст, как если бы вы печатали, в позиции курсора текста, а не в указателе мыши. Вы можете изменить его на,click
если вы предпочитаете обычное поведение среднего щелчка.(сделал этот пост, чтобы новичкам больше не приходилось разбирать кусочки головоломки, разложенные в комментариях)
источник
У меня были проблемы с решениями , которые имитируют наклеивать на
PRIMARY
выбор, так что вместо этого я добавил ярлык , который копируетPRIMARY
выбора вCLIPBOARD
. После того, как с помощью моего ярлыка я вставитьCLIPBOARD
обычным способом, сCtrl+V
,Ctrl+Shift+V
илиShift+Insert
, в зависимости от применения.Команда , чтобы скопировать
PRIMARY
выделение наCLIPBOARD
этокоторый я связываю
Ctrl+Insert
(произвольный выбор) в настройках ярлыка Gnome подSystem Settings -> Devices -> Keyboard
Краткое описание проблем , связанных с другими решениями: Я попробовал
xsel | xvkbd ...
иxsel | xdotool ...
решения, но обнаружили , что они не работают очень хорошо , потому что они имитируют печатая наPRIMARY
характер выбора по одному символу, который не является такой же , как вставить его средней кнопкой мыши. Проблемы включают: есть большая задержка, в то время как большой выбор вставляется по одному символу за раз; если вы хотите отменить «вставку», вы должны отменить ее посимвольно, что медленно; если вы используете «мертвые ключи», то все портится, например, «вставка»"e
производитë
;xvkdb
не обрабатывает Юникода правильно.Предупреждение. Это решение перезаписывает существующее
CLIPBOARD
содержимое, но ОП запросил решения, которые сохраняют существующееCLIPBOARD
содержимое.источник
У меня была та же проблема, и поиск в интернете мне не сильно помог. Проблема, имитирующая щелчок 2, раздражает, как упоминалось выше.
Проблема с предложенным выше
xdotool
и xsel заключается в том, что, когдаxdotool
начинает «печатать», вы все еще нажимаете другую клавишу. Это не всегда приводит к какому-либо результату. Например, если вы привязываете его к клавише «вставить», тоxdotool
отправляет ключи, в то время как ваш палец нажимает клавишу «вставить», которая ничего не вызывает.Ниже представлен обходной путь, чтобы привязать его к нажатию клавиши:
это не идеально, но работает. Теперь у вас есть 0,3 секунды, чтобы завершить выбор нажатия клавиши (и клавиши вверх).
источник