Ярлык клавиатуры для вставки первичного выделения

Я получил его для работы с линией:

sudo apt-get install libapache2-mod-php7.0

sudo service apache2 restart
34
задан 27 December 2010 в 17:51

44 ответа

Отправка виртуальных клавиатур не работает для меня (см. комментарии), но этот ответ побудил меня искать похожие решения. Отправка «текстового» события с xvkbd игнорирует текущее состояние вашей физической клавиатуры:

sh -c 'xsel | xvkbd -xsendevent -file - 2>/dev/null'

xvkbd -text использует несколько обратных косых последовательностей, поэтому вместо того, чтобы танцевать с экранированием, -file работает. xvkbd также выводит некоторый предупреждающий текст об модификаторах, но он не имеет отношения к этому использованию (но я не хотел его видеть в ~/.xsession-errors).

Я связал это с ярлыком, используя System> Preferences> Shortcut.

Обратите внимание, что вам необходимо установить пакеты xsel и xvkbd:

sudo apt-get install xsel xvkbd
27
ответ дан 26 May 2018 в 00:59
  • 1
    Святые бананы! Оно работает! Это потрясающе. Ubuntu должен установить это по умолчанию. – Eric Johnson 13 January 2011 в 05:01
  • 2
    Для меня sh -c 'xsel | xvkbd -file - 2>/dev/null' работает, -xsendevent должен был выйти, чтобы заставить его работать. – sup 11 March 2012 в 17:46
  • 3
    Кстати, еще раз мне пришлось назначить эту команду на один ключевой ярлык (к счастью, у меня есть кнопка ThinkVantage, которая ничего не делает на моем Thinkpad - ctrl + alt + v вела себя странно и вставляла только часть того, что было в xsel). – sup 13 March 2012 в 16:50
  • 4
    Это работает очень хорошо, за исключением двух проблем. (1) Я использую выпадающий терминал (Guake), который я решил скрыть, потеряв фокус. Выполнение этого скрипта временно удаляет фокус с терминала, что приводит к его скрытию. (2) Это не работает с символами двухбайтовых символов UTF-8. например если я выбираю " éòü & quot ;, используя распечатки сценария " Ã Ã ² ¼ ". – Sparhawk 31 January 2013 в 05:18
  • 5
    Похоже, что вторая ошибка находится в xvkbd. xsel отлично работает с "éòü" в первичном отборе, но xvkbd не работает как сценарий выше. (И также не работает с xvkbd -text "éòü", хотя здесь он ничего не печатает.) – Sparhawk 31 January 2013 в 05:38

Я искал ответ на этот же вопрос, и я нашел этот ответ, в котором говорится, что Shift + Insert работает, чтобы вставить основной выбор. Я работаю для меня. Simpler.

27
ответ дан 31 July 2018 в 10:31

Я искал ответ на этот же вопрос, и я нашел этот ответ, в котором говорится, что Shift + Insert работает, чтобы вставить основной выбор. Я работаю для меня. Simpler.

27
ответ дан 31 July 2018 в 11:32

Я искал ответ на этот же вопрос, и я нашел этот ответ, в котором говорится, что Shift + Insert работает, чтобы вставить основной выбор. Я работаю для меня. Simpler.

27
ответ дан 2 August 2018 в 04:25

Я искал ответ на этот самый вопрос, и я нашел этот ответ , в котором говорится, что Shift + Insert работает, чтобы вставить основной выбор. Я работаю для меня. Simpler.

27
ответ дан 4 August 2018 в 20:57

Я искал ответ на этот самый вопрос, и я нашел этот ответ , в котором говорится, что Shift + Insert работает, чтобы вставить основной выбор. Я работаю для меня. Simpler.

27
ответ дан 6 August 2018 в 04:29

Я искал ответ на этот самый вопрос, и я нашел этот ответ , в котором говорится, что Shift + Insert работает, чтобы вставить основной выбор. Я работаю для меня. Simpler.

27
ответ дан 7 August 2018 в 22:38

Я искал ответ на этот самый вопрос, и я нашел этот ответ , в котором говорится, что Shift + Insert работает, чтобы вставить основной выбор. Я работаю для меня. Simpler.

27
ответ дан 10 August 2018 в 10:45

Я искал ответ на этот самый вопрос, и я нашел этот ответ , в котором говорится, что Shift + Insert работает, чтобы вставить основной выбор. Я работаю для меня. Simpler.

27
ответ дан 13 August 2018 в 17:18
  • 1
    Это не сработает, если активное текстовое поле и позиция курсора находятся в этой точной позиции, и это, безусловно, не так. На самом деле, если это считается границей оконного менеджера, это будет делать мой «средний щелчок по названию окна», действие, которое совершенно другое. – user 17 October 2010 в 00:11
  • 2
    @Roger Спасибо, исправил текст. Мне любопытно, есть ли лучший способ сделать это: я сам давно искал ключ «вставить» в течение некоторого времени ... – Riccardo Murri 17 October 2010 в 00:24
  • 3
    Хорошо, я ценю усилия, но это все равно не сработает. Если бы я хотел беспокоиться о позиции мыши, я бы просто использовал мышь в первую очередь. :) – user 17 October 2010 в 00:29
  • 4
    @Roger: Получил правильное второе время: xdotool + xsel делает это. (Ну, по крайней мере, работает для меня.) – Riccardo Murri 17 October 2010 в 00:36
  • 5
    Необходима опция --clearmodifiers, в противном случае существует условие гонки между выпуском сочетания клавиш и выполнением xdotool. Xdotool в репозиториях 10.04 не обновляется для этой опции, мне пришлось скачать и самостоятельно создать его. Тем не менее, --clearmodifiers, по-видимому, странно влияют на модификаторы, и я не вижу, как в конечном итоге сделать xdotool для работы с моей клавиатурой (хотя она отлично работает для ввода текста). – user 17 October 2010 в 01:52
  • 6
    Святые бананы! Оно работает! Это потрясающе. Ubuntu должен установить это по умолчанию. – Eric Johnson 13 January 2011 в 05:01
  • 7
    Для меня sh -c 'xsel | xvkbd -file - 2 & gt; / dev / null ' работает, -xsendevent должен был выйти, чтобы заставить его работать. – sup 11 March 2012 в 17:46
  • 8
    Кстати, еще раз мне пришлось назначить эту команду на один ключевой ярлык (к счастью, у меня есть кнопка ThinkVantage, которая ничего не делает на моем Thinkpad - ctrl + alt + v вела себя странно и вставляла только часть того, что было в xsel ). – sup 13 March 2012 в 16:50
  • 9
    Это работает очень хорошо, за исключением двух проблем. (1) Я использую выпадающий терминал (Guake), который я решил скрыть, потеряв фокус. Выполнение этого скрипта временно удаляет фокус с терминала, что приводит к его скрытию. (2) Это не работает с символами двухбайтовых символов UTF-8. например если я выбираю & quot; éòü & quot ;, используя распечатки сценария & quot; Ã Ã ² ¼ ". – Sparhawk 31 January 2013 в 05:18
  • 10
    Похоже, что вторая ошибка находится в xvkbd . xsel отлично работает с "éòü" в основном выборе, но xvkbd не работает как сценарий выше. (И также с ошибкой xvkbd -text "éòü & quot; , хотя здесь он ничего не печатает.) – Sparhawk 31 January 2013 в 05:38

Вы можете получить это при совместном использовании программ xdotool ( нажмите, чтобы установить ) и xsel ( нажмите, чтобы установить ).

xdotool может имитировать ввод текста в окно; xsel выводит содержимое выбора PRIMARY (по умолчанию); следующий слот оболочки будет выполнять трюк:

  xdotool type `xsel`  

Чтобы связать это с любой клавишей, используя System-> Настройки-> Клавиши быстрого доступа , необходимо обернуть его в вызове оболочки:

  sh -c 'xdotool type --clearmodifiers - "` xsel` "' [  ! d8] 

Ввод в xdotool не будет работать с некоторыми программами; см. примечания в документации xdotool .

27
ответ дан 15 August 2018 в 23:56
  • 1
    Это не сработает, если активное текстовое поле и позиция курсора находятся в этой точной позиции, и это, безусловно, не так. На самом деле, если это считается границей оконного менеджера, это будет делать мой «средний щелчок по названию окна», действие, которое совершенно другое. – user 17 October 2010 в 00:11
  • 2
    @Roger Спасибо, исправил текст. Мне любопытно, есть ли лучший способ сделать это: я сам долго искал ключ «вставить» в течение некоторого времени ... – Riccardo Murri 17 October 2010 в 00:24
  • 3
    Хорошо, я ценю усилия, но это все равно не сработает. Если бы я хотел беспокоиться о позиции мыши, я бы просто использовал мышь в первую очередь. :) – user 17 October 2010 в 00:29
  • 4
    @Roger: Получил правильное второе время: xdotool + xsel делает это. (Ну, по крайней мере, работает для меня.) – Riccardo Murri 17 October 2010 в 00:36
  • 5
    Необходима опция --clearmodifiers, в противном случае существует условие гонки между выпуском сочетания клавиш и выполнением xdotool. Xdotool в репозиториях 10.04 не обновляется для этой опции, мне пришлось скачать и самостоятельно создать его. Тем не менее, --clearmodifiers, по-видимому, странно влияют на модификаторы, и я не вижу, как в конечном итоге сделать xdotool для работы с моей клавиатурой (хотя она отлично работает для ввода текста). – user 17 October 2010 в 01:52
  • 6
    Святые бананы! Оно работает! Это потрясающе. Ubuntu должен установить это по умолчанию. – Eric Johnson 13 January 2011 в 05:01
  • 7
    Для меня sh -c 'xsel | xvkbd -file - 2 & gt; / dev / null ' работает, -xsendevent должен был выйти, чтобы заставить его работать. – sup 11 March 2012 в 17:46
  • 8
    Кстати, еще раз мне пришлось назначить эту команду на один ключевой ярлык (к счастью, у меня есть кнопка ThinkVantage, которая ничего не делает на моем Thinkpad - ctrl + alt + v вела себя странно и вставляла только часть того, что было в xsel ). – sup 13 March 2012 в 16:50
  • 9
    Это работает очень хорошо, за исключением двух проблем. (1) Я использую выпадающий терминал (Guake), который я решил скрыть, потеряв фокус. Выполнение этого скрипта временно удаляет фокус с терминала, что приводит к его скрытию. (2) Это не работает с символами двухбайтовых символов UTF-8. например если я выбираю & quot; éòü & quot ;, используя распечатки сценария & quot; Ã Ã ² ¼ ". – Sparhawk 31 January 2013 в 05:18
  • 10
    Похоже, что вторая ошибка находится в xvkbd . xsel отлично работает с "éòü" в основном выборе, но xvkbd не работает как сценарий выше. (И также с ошибкой xvkbd -text "éòü & quot; , хотя здесь он ничего не печатает.) – Sparhawk 31 January 2013 в 05:38

Отправка виртуальных клавиш не работает для меня (см. comments ), но этот ответ вдохновил меня искать похожие решения. Отправка «текстового» события с помощью xvkbd игнорирует текущее состояние вашей физической клавиатуры:

  sh -c 'xsel |  xvkbd -xsendevent -file - 2 & gt; / dev / null ' 

xvkbd -text использует несколько обратных слэш-последовательностей, поэтому вместо того, чтобы танцевать с экранированием, -file работает. xvkbd также выводит некоторый предупреждающий текст об модификаторах, но, похоже, это не имеет отношения к этому использованию (но я не хотел видеть его в ~ / .xsession-errors ) .

Я связал это с ярлыком с помощью System> Preferences> Shortcut.

Обратите внимание, что вам необходимо установить пакеты xsel и xvkbd:

  sudo apt-get install xsel xvkbd  
27
ответ дан 19 August 2018 в 02:17
  • 1
    Святые бананы! Оно работает! Это потрясающе. Ubuntu должен установить это по умолчанию. – Eric Johnson 13 January 2011 в 05:01
  • 2
    Для меня sh -c 'xsel | xvkbd -file - 2 & gt; / dev / null ' работает, -xsendevent должен был выйти, чтобы заставить его работать. – sup 11 March 2012 в 17:46
  • 3
    Кстати, еще раз мне пришлось назначить эту команду на один ключевой ярлык (к счастью, у меня есть кнопка ThinkVantage, которая ничего не делает на моем Thinkpad - ctrl + alt + v вела себя странно и вставляла только часть того, что было в xsel ). – sup 13 March 2012 в 16:50
  • 4
    Это работает очень хорошо, за исключением двух проблем. (1) Я использую выпадающий терминал (Guake), который я решил скрыть, потеряв фокус. Выполнение этого скрипта временно удаляет фокус с терминала, что приводит к его скрытию. (2) Это не работает с символами двухбайтовых символов UTF-8. например если я выбираю & quot; éòü & quot ;, используя распечатки сценария & quot; Ã Ã ² ¼ ". – Sparhawk 31 January 2013 в 05:18
  • 5
    Похоже, что вторая ошибка находится в xvkbd . xsel отлично работает с "éòü" в основном выборе, но xvkbd не работает как сценарий выше. (И также с ошибкой xvkbd -text "éòü & quot; , хотя здесь он ничего не печатает.) – Sparhawk 31 January 2013 в 05:38

Вы можете получить это при совместном использовании программ xdotool (щелкните для установки) и xsel (щелкните для установки).

xdotool может имитировать ввод текста в окно; xsel выводит содержимое выбора PRIMARY (по умолчанию); следующий оболочка один вкладыш выполнит трюк:

 xdotool type `xsel`

Чтобы связать это с любой клавишей, используя пункт меню «System-> Preferences-> Keyboard shortcuts», необходимо обернуть ее в вызове оболочки: [ ! d6]

 sh -c 'xdotool type --clearmodifiers -- "`xsel`"'

Ввод текста в xdotool не будет работать с некоторыми программами; см. примечания в xdotool .

5
ответ дан 26 May 2018 в 00:59
  • 1
    Это не сработает, если активное текстовое поле и позиция курсора находятся в этой точной позиции, и это, безусловно, не так. На самом деле, если это считается границей оконного менеджера, это будет делать мой «средний щелчок по названию окна», действие, которое совершенно другое. – user 17 October 2010 в 00:11
  • 2
    Это не сработает, если активное текстовое поле и позиция курсора находятся в этой точной позиции, и это, безусловно, не так. На самом деле, если это считается границей оконного менеджера, это будет делать мой «средний щелчок по названию окна», действие, которое совершенно другое. – user 17 October 2010 в 00:11
  • 3
    Это не сработает, если активное текстовое поле и позиция курсора находятся в этой точной позиции, и это, безусловно, не так. На самом деле, если это считается границей оконного менеджера, это будет делать мой «средний щелчок по названию окна», действие, которое совершенно другое. – user 17 October 2010 в 00:11
  • 4
    Это не сработает, если активное текстовое поле и позиция курсора находятся в этой точной позиции, и это, безусловно, не так. На самом деле, если это считается границей оконного менеджера, это будет делать мой «средний щелчок по названию окна», действие, которое совершенно другое. – user 17 October 2010 в 00:11
  • 5
    Это не сработает, если активное текстовое поле и позиция курсора находятся в этой точной позиции, и это, безусловно, не так. На самом деле, если это считается границей оконного менеджера, это будет делать мой «средний щелчок по названию окна», действие, которое совершенно другое. – user 17 October 2010 в 00:11
  • 6
    @Roger Спасибо, исправил текст. Мне любопытно, есть ли лучший способ сделать это: я сам давно искал ключ «вставить» в течение некоторого времени ... – Riccardo Murri 17 October 2010 в 00:24
  • 7
    Хорошо, я ценю усилия, но это все равно не сработает. Если бы я хотел беспокоиться о позиции мыши, я бы просто использовал мышь в первую очередь. :) – user 17 October 2010 в 00:29
  • 8
    Хорошо, я ценю усилия, но это все равно не сработает. Если бы я хотел беспокоиться о позиции мыши, я бы просто использовал мышь в первую очередь. :) – user 17 October 2010 в 00:29
  • 9
    Хорошо, я ценю усилия, но это все равно не сработает. Если бы я хотел беспокоиться о позиции мыши, я бы просто использовал мышь в первую очередь. :) – user 17 October 2010 в 00:29
  • 10
    Хорошо, я ценю усилия, но это все равно не сработает. Если бы я хотел беспокоиться о позиции мыши, я бы просто использовал мышь в первую очередь. :) – user 17 October 2010 в 00:29
  • 11
    Хорошо, я ценю усилия, но это все равно не сработает. Если бы я хотел беспокоиться о позиции мыши, я бы просто использовал мышь в первую очередь. :) – user 17 October 2010 в 00:29
  • 12
    @Roger: Получил правильное второе время: xdotool + xsel делает это. (Ну, по крайней мере, работает для меня.) – Riccardo Murri 17 October 2010 в 00:36
  • 13
    Необходима опция --clearmodifiers, в противном случае существует условие гонки между выпуском сочетания клавиш и выполнением xdotool. Xdotool в репозиториях 10.04 не обновляется для этой опции, мне пришлось скачать и самостоятельно создать его. Тем не менее, --clearmodifiers, по-видимому, странно влияют на модификаторы, и я не вижу, как в конечном итоге сделать xdotool для работы с моей клавиатурой (хотя она отлично подходит для ввода текста). – user 17 October 2010 в 01:52
  • 14
    Необходима опция --clearmodifiers, в противном случае существует условие гонки между выпуском сочетания клавиш и выполнением xdotool. Xdotool в репозиториях 10.04 не обновляется для этой опции, мне пришлось скачать и самостоятельно создать его. Тем не менее, --clearmodifiers, по-видимому, странно влияют на модификаторы, и я не вижу, как в конечном итоге сделать xdotool для работы с моей клавиатурой (хотя она отлично подходит для ввода текста). – user 17 October 2010 в 01:52
  • 15
    Необходима опция --clearmodifiers, в противном случае существует условие гонки между выпуском сочетания клавиш и выполнением xdotool. Xdotool в репозиториях 10.04 не обновляется для этой опции, мне пришлось скачать и самостоятельно создать его. Тем не менее, --clearmodifiers, по-видимому, странно влияют на модификаторы, и я не вижу, как в конечном итоге сделать xdotool для работы с моей клавиатурой (хотя она отлично подходит для ввода текста). – user 17 October 2010 в 01:52
  • 16
    Необходима опция --clearmodifiers, в противном случае существует условие гонки между выпуском сочетания клавиш и выполнением xdotool. Xdotool в репозиториях 10.04 не обновляется для этой опции, мне пришлось скачать и самостоятельно создать его. Тем не менее, --clearmodifiers, по-видимому, странно влияют на модификаторы, и я не вижу, как в конечном итоге сделать xdotool для работы с моей клавиатурой (хотя она отлично подходит для ввода текста). – user 17 October 2010 в 01:52
  • 17
    Необходима опция --clearmodifiers, в противном случае существует условие гонки между выпуском сочетания клавиш и выполнением xdotool. Xdotool в репозиториях 10.04 не обновляется для этой опции, мне пришлось скачать и самостоятельно создать его. Тем не менее, --clearmodifiers, по-видимому, странно влияют на модификаторы, и я не вижу, как в конечном итоге сделать xdotool для работы с моей клавиатурой (хотя она отлично подходит для ввода текста). – user 17 October 2010 в 01:52

Я искал ответ на этот же вопрос, и я нашел этот ответ, в котором говорится, что Shift + Insert работает, чтобы вставить основной выбор. Я работаю для меня. Simpler.

3
ответ дан 26 May 2018 в 00:59

Вызов xdotool click --clearmodifiers 2 имитирует щелчок средней кнопкой мыши. Это работает намного лучше, чем использование xsel (по крайней мере для меня). Прежде всего, вы должны навести свою мышь, прежде чем набирать текст ...

2
ответ дан 26 May 2018 в 00:59

Другое предложение xdotool, работающее в Debian Jessie 8.7 (январь 2017):

xdotool click --delay 0 --clearmodifiers 2
xdotool обрабатывает многобайтные строки (p.e. UTF-8), в отличие от xvkbd. xdotool click имитирует фактический щелчок, поэтому вам не нужно нажимать на себя, чтобы вставить в положение мыши, как это было бы, если бы вы использовали xdotool type или xvkbd.

Единственная проблема заключается в том, что --clearmodifiers будет «нажимать» обратно любой модификатор (Ctrl / Alt / Shift / Meta), который вы используете после имитации щелчка. Даже с --delay 0 (вместо 12ms), команда требует немного выполнения. Если вы отпустите клавиши до их окончания, ваши модификаторы снова будут нажаты и застряли там до тех пор, пока вы еще раз не нажмете и не отпустите фактическую клавишу.

Итак, с этим вы должны быть немного «медленными» «(50 мс?), Чтобы выпустить модификаторы, если вы используете их.

Вы можете проверить это, настроив сочетание клавиш, используя его в текстовом редакторе, а затем нажав клавишу (например, [ f7] или стрелка). Письмо должно появиться в нижнем регистре. Если что-то еще происходит, вы слишком быстро и застрял модификатор (p.e. Shift, если он в шапке, Ctrl, если вы выбрали весь текст, Alt, если вы открыли меню). Нажмите [... d6]

Если вы слишком быстро, вы можете использовать предложение ilkerk:

sh -c 'sleep 0.3 && xdotool type --clearmodifiers --delay 0  "`xsel`"'

Затем вы должны освободить их менее чем за 300 мс , и подождите полсекунды, чтобы текст появился.

Кроме того, использование xdotool type означает, что вы вставляете текст так, как если бы вы печатали текст в позиции курсора, а не указатель мыши. Вы можете изменить его на click, если вы предпочитаете обычное поведение среднего клика.

(сделал это сообщение, чтобы новичкам не приходилось снова фрагментировать фрагменты головоломки)

1
ответ дан 26 May 2018 в 00:59

У меня была такая же проблема, и интернет-поиск не очень помог мне. Проблема, имитирующая щелчок 2, раздражает, как упоминалось в OP.

Проблема с приведенными выше xdotool и xsel, когда xdotool начинает «набирать», вы все еще нажимаете другую клавишу. Это не всегда приводит к выходу. Например, если вы привязываете его к ключу «вставить», тогда xdotool отправляет ключи, пока ваш палец нажимает клавишу «вставить», которая ничего не вызывает.

Ниже приведено обходное решение, чтобы привязать его к нажатию клавиши:

sh -c 'sleep 0.3 && xdotool type --clearmodifiers --delay 0  "`xsel`"'

он не идеален, а работает. теперь у вас есть 0,3 секунды, чтобы закончить ваш выбор нажатия клавиши (и клавиши вверх).

0
ответ дан 26 May 2018 в 00:59

Другое предложение xdotool, работающее в Debian Jessie 8.7 (январь 2017):

xdotool click --delay 0 --clearmodifiers 2 xdotool обрабатывает многобайтные строки (p.e. UTF-8), в отличие от xvkbd. xdotool click имитирует фактический щелчок, поэтому вам не нужно нажимать на себя, чтобы вставить в положение мыши, как это было бы, если бы вы использовали xdotool type или xvkbd.

Единственная проблема заключается в том, что --clearmodifiers будет «нажимать» обратно любой модификатор (Ctrl / Alt / Shift / Meta), который вы используете после имитации щелчка. Даже с --delay 0 (вместо 12ms), команда требует немного выполнения. Если вы отпустите клавиши до их окончания, ваши модификаторы снова будут нажаты и застряли там до тех пор, пока вы еще раз не нажмете и не отпустите фактическую клавишу.

Итак, с этим вы должны быть немного «медленными» «(50 мс?), Чтобы выпустить модификаторы, если вы используете их.

Вы можете проверить это, настроив сочетание клавиш, используя его в текстовом редакторе, а затем нажав клавишу (например, a или стрелка). Письмо должно появиться в нижнем регистре. Если что-то еще происходит, вы слишком быстро и застрял модификатор (p.e. Shift, если он в шапке, Ctrl, если вы выбрали весь текст, Alt, если вы открыли меню). Нажмите [... d6]

Если вы слишком быстро, вы можете использовать предложение ilkerk:

sh -c 'sleep 0.3 && xdotool type --clearmodifiers --delay 0 "`xsel`"'

Затем вы должны освободить их менее чем за 300 мс , и подождите полсекунды, чтобы текст появился.

Кроме того, использование xdotool type означает, что вы вставляете текст так, как если бы вы печатали текст в позиции курсора, а не указатель мыши. Вы можете изменить его на click, если вы предпочитаете обычное поведение среднего клика.

(сделал это сообщение, чтобы новичкам не приходилось снова фрагментировать фрагменты головоломки)

1
ответ дан 25 July 2018 в 23:04

Я искал ответ на этот же вопрос, и я нашел этот ответ, в котором говорится, что Shift + Insert работает, чтобы вставить основной выбор. Я работаю для меня. Simpler.

4
ответ дан 25 July 2018 в 23:04
  • 1
    Это не сработает, если активное текстовое поле и позиция курсора находятся в этой точной позиции, и это, безусловно, не так. На самом деле, если это считается границей оконного менеджера, это будет делать мой «средний щелчок по названию окна», действие, которое совершенно другое. – user 17 October 2010 в 00:11
  • 2
    @Roger Спасибо, исправил текст. Мне любопытно, есть ли лучший способ сделать это: я сам давно искал ключ «вставить» в течение некоторого времени ... – Riccardo Murri 17 October 2010 в 00:24
  • 3
    Хорошо, я ценю усилия, но это все равно не сработает. Если бы я хотел беспокоиться о позиции мыши, я бы просто использовал мышь в первую очередь. :) – user 17 October 2010 в 00:29
  • 4
    @Roger: Получил правильное второе время: xdotool + xsel делает это. (Ну, по крайней мере, работает для меня.) – Riccardo Murri 17 October 2010 в 00:36
  • 5
    Необходима опция --clearmodifiers, в противном случае существует условие гонки между выпуском сочетания клавиш и выполнением xdotool. Xdotool в репозиториях 10.04 не обновляется для этой опции, мне пришлось скачать и самостоятельно создать его. Тем не менее, --clearmodifiers, по-видимому, странно влияют на модификаторы, и я не вижу, как в конечном итоге сделать xdotool для работы с моей клавиатурой (хотя она отлично подходит для ввода текста). – user 17 October 2010 в 01:52
  • 6
    Святые бананы! Оно работает! Это потрясающе. Ubuntu должен установить это по умолчанию. – Eric Johnson 13 January 2011 в 05:01
  • 7
    Для меня sh -c 'xsel | xvkbd -file - 2>/dev/null' работает, -xsendevent должен был выйти, чтобы заставить его работать. – sup 11 March 2012 в 17:46
  • 8
    Кстати, еще раз мне пришлось назначить эту команду на один ключевой ярлык (к счастью, у меня есть кнопка ThinkVantage, которая ничего не делает на моем Thinkpad - ctrl + alt + v вела себя странно и вставляла только часть того, что было в xsel). – sup 13 March 2012 в 16:50
  • 9
    Это работает очень хорошо, за исключением двух проблем. (1) Я использую выпадающий терминал (Guake), который я решил скрыть, потеряв фокус. Выполнение этого скрипта временно удаляет фокус с терминала, что приводит к его скрытию. (2) Это не работает с символами двухбайтовых символов UTF-8. например если я выбираю & quot; éòü & quot ;, используя распечатки сценария & quot; Ã Ã ² ¼ ". – Sparhawk 31 January 2013 в 05:18
  • 10
    Похоже, что вторая ошибка находится в xvkbd. xsel отлично работает с "éòü" в первичном отборе, но xvkbd не работает как сценарий выше. (И также не работает с xvkbd -text "éòü", хотя здесь он ничего не печатает.) – Sparhawk 31 January 2013 в 05:38

У меня была такая же проблема, и интернет-поиск не очень помог мне. Проблема, имитирующая щелчок 2, раздражает, как упоминалось в OP.

Проблема с приведенными выше xdotool и xsel, когда xdotool начинает «набирать», вы все еще нажимаете другую клавишу. Это не всегда приводит к выходу. Например, если вы привязываете его к ключу «вставить», тогда xdotool отправляет ключи, пока ваш палец нажимает клавишу «вставить», которая ничего не вызывает.

Ниже приведено обходное решение, чтобы привязать его к нажатию клавиши:

sh -c 'sleep 0.3 && xdotool type --clearmodifiers --delay 0 "`xsel`"'

он не идеален, а работает. теперь у вас есть 0,3 секунды, чтобы закончить ваш выбор нажатия клавиши (и клавиши вверх).

0
ответ дан 25 July 2018 в 23:04

Вызов xdotool click --clearmodifiers 2 имитирует щелчок средней кнопкой мыши. Это работает намного лучше, чем использование xsel (по крайней мере для меня). Прежде всего, вы должны навести свою мышь, прежде чем набирать текст ...

2
ответ дан 25 July 2018 в 23:04

Другое предложение xdotool, работающее в Debian Jessie 8.7 (январь 2017):

xdotool click --delay 0 --clearmodifiers 2 xdotool обрабатывает многобайтные строки (p.e. UTF-8), в отличие от xvkbd. xdotool click имитирует фактический щелчок, поэтому вам не нужно нажимать на себя, чтобы вставить в положение мыши, как это было бы, если бы вы использовали xdotool type или xvkbd.

Единственная проблема заключается в том, что --clearmodifiers будет «нажимать» обратно любой модификатор (Ctrl / Alt / Shift / Meta), который вы используете после имитации щелчка. Даже с --delay 0 (вместо 12ms), команда требует немного выполнения. Если вы отпустите клавиши до их окончания, ваши модификаторы снова будут нажаты и застряли там до тех пор, пока вы еще раз не нажмете и не отпустите фактическую клавишу.

Итак, с этим вы должны быть немного «медленными» «(50 мс?), Чтобы выпустить модификаторы, если вы используете их.

Вы можете проверить это, настроив сочетание клавиш, используя его в текстовом редакторе, а затем нажав клавишу (например, a или стрелка). Письмо должно появиться в нижнем регистре. Если что-то еще происходит, вы слишком быстро и застрял модификатор (p.e. Shift, если он в шапке, Ctrl, если вы выбрали весь текст, Alt, если вы открыли меню). Нажмите [... d6]

Если вы слишком быстро, вы можете использовать предложение ilkerk:

sh -c 'sleep 0.3 && xdotool type --clearmodifiers --delay 0 "`xsel`"'

Затем вы должны освободить их менее чем за 300 мс , и подождите полсекунды, чтобы текст появился.

Кроме того, использование xdotool type означает, что вы вставляете текст так, как если бы вы печатали текст в позиции курсора, а не указатель мыши. Вы можете изменить его на click, если вы предпочитаете обычное поведение среднего клика.

(сделал это сообщение, чтобы новичкам не приходилось снова фрагментировать фрагменты головоломки)

1
ответ дан 31 July 2018 в 10:31

У меня была такая же проблема, и интернет-поиск не очень помог мне. Проблема, имитирующая щелчок 2, раздражает, как упоминалось в OP.

Проблема с приведенными выше xdotool и xsel, когда xdotool начинает «набирать», вы все еще нажимаете другую клавишу. Это не всегда приводит к выходу. Например, если вы привязываете его к ключу «вставить», тогда xdotool отправляет ключи, пока ваш палец нажимает клавишу «вставить», которая ничего не вызывает.

Ниже приведено обходное решение, чтобы привязать его к нажатию клавиши:

sh -c 'sleep 0.3 && xdotool type --clearmodifiers --delay 0 "`xsel`"'

он не идеален, а работает. теперь у вас есть 0,3 секунды, чтобы закончить ваш выбор нажатия клавиши (и клавиши вверх).

0
ответ дан 31 July 2018 в 10:31

Вызов xdotool click --clearmodifiers 2 имитирует щелчок средней кнопкой мыши. Это работает намного лучше, чем использование xsel (по крайней мере для меня). Прежде всего, вы должны навести свою мышь, прежде чем набирать текст ...

2
ответ дан 31 July 2018 в 10:31

Другое предложение xdotool, работающее в Debian Jessie 8.7 (январь 2017):

xdotool click --delay 0 --clearmodifiers 2 xdotool обрабатывает многобайтные строки (p.e. UTF-8), в отличие от xvkbd. xdotool click имитирует фактический щелчок, поэтому вам не нужно нажимать на себя, чтобы вставить в положение мыши, как это было бы, если бы вы использовали xdotool type или xvkbd.

Единственная проблема заключается в том, что --clearmodifiers будет «нажимать» обратно любой модификатор (Ctrl / Alt / Shift / Meta), который вы используете после имитации щелчка. Даже с --delay 0 (вместо 12ms), команда требует немного выполнения. Если вы отпустите клавиши до их окончания, ваши модификаторы снова будут нажаты и застряли там до тех пор, пока вы еще раз не нажмете и не отпустите фактическую клавишу.

Итак, с этим вы должны быть немного «медленными» «(50 мс?), Чтобы выпустить модификаторы, если вы используете их.

Вы можете проверить это, настроив сочетание клавиш, используя его в текстовом редакторе, а затем нажав клавишу (например, a или стрелка). Письмо должно появиться в нижнем регистре. Если что-то еще происходит, вы слишком быстро и застрял модификатор (p.e. Shift, если он в шапке, Ctrl, если вы выбрали весь текст, Alt, если вы открыли меню). Нажмите [... d6]

Если вы слишком быстро, вы можете использовать предложение ilkerk:

sh -c 'sleep 0.3 && xdotool type --clearmodifiers --delay 0 "`xsel`"'

Затем вы должны освободить их менее чем за 300 мс , и подождите полсекунды, чтобы текст появился.

Кроме того, использование xdotool type означает, что вы вставляете текст так, как если бы вы печатали текст в позиции курсора, а не указатель мыши. Вы можете изменить его на click, если вы предпочитаете обычное поведение среднего клика.

(сделал это сообщение, чтобы новичкам не приходилось снова фрагментировать фрагменты головоломки)

1
ответ дан 31 July 2018 в 11:32

У меня была такая же проблема, и интернет-поиск не очень помог мне. Проблема, имитирующая щелчок 2, раздражает, как упоминалось в OP.

Проблема с приведенными выше xdotool и xsel, когда xdotool начинает «набирать», вы все еще нажимаете другую клавишу. Это не всегда приводит к выходу. Например, если вы привязываете его к ключу «вставить», тогда xdotool отправляет ключи, пока ваш палец нажимает клавишу «вставить», которая ничего не вызывает.

Ниже приведено обходное решение, чтобы привязать его к нажатию клавиши:

sh -c 'sleep 0.3 && xdotool type --clearmodifiers --delay 0 "`xsel`"'

он не идеален, а работает. теперь у вас есть 0,3 секунды, чтобы закончить ваш выбор нажатия клавиши (и клавиши вверх).

0
ответ дан 31 July 2018 в 11:32

Вызов xdotool click --clearmodifiers 2 имитирует щелчок средней кнопкой мыши. Это работает намного лучше, чем использование xsel (по крайней мере для меня). Прежде всего, вы должны навести свою мышь, прежде чем набирать текст ...

2
ответ дан 31 July 2018 в 11:32

Другое предложение xdotool, работающее в Debian Jessie 8.7 (январь 2017):

xdotool click --delay 0 --clearmodifiers 2 xdotool обрабатывает многобайтные строки (p.e. UTF-8), в отличие от xvkbd. xdotool click имитирует фактический щелчок, поэтому вам не нужно нажимать на себя, чтобы вставить в положение мыши, как это было бы, если бы вы использовали xdotool type или xvkbd.

Единственная проблема заключается в том, что --clearmodifiers будет «нажимать» обратно любой модификатор (Ctrl / Alt / Shift / Meta), который вы используете после имитации щелчка. Даже с --delay 0 (вместо 12ms), команда требует немного выполнения. Если вы отпустите клавиши до их окончания, ваши модификаторы снова будут нажаты и застряли там до тех пор, пока вы еще раз не нажмете и не отпустите фактическую клавишу.

Итак, с этим вы должны быть немного «медленными» «(50 мс?), Чтобы выпустить модификаторы, если вы используете их.

Вы можете проверить это, настроив сочетание клавиш, используя его в текстовом редакторе, а затем нажав клавишу (например, a или стрелка). Письмо должно появиться в нижнем регистре. Если что-то еще происходит, вы слишком быстро и застрял модификатор (p.e. Shift, если он в шапке, Ctrl, если вы выбрали весь текст, Alt, если вы открыли меню). Нажмите [... d6]

Если вы слишком быстро, вы можете использовать предложение ilkerk:

sh -c 'sleep 0.3 && xdotool type --clearmodifiers --delay 0 "`xsel`"'

Затем вы должны освободить их менее чем за 300 мс , и подождите полсекунды, чтобы текст появился.

Кроме того, использование xdotool type означает, что вы вставляете текст так, как если бы вы печатали текст в позиции курсора, а не указатель мыши. Вы можете изменить его на click, если вы предпочитаете обычное поведение среднего клика.

(сделал это сообщение, чтобы новичкам не приходилось снова фрагментировать фрагменты головоломки)

1
ответ дан 2 August 2018 в 04:25

У меня была такая же проблема, и интернет-поиск не очень помог мне. Проблема, имитирующая щелчок 2, раздражает, как упоминалось в OP.

Проблема с приведенными выше xdotool и xsel, когда xdotool начинает «набирать», вы все еще нажимаете другую клавишу. Это не всегда приводит к выходу. Например, если вы привязываете его к ключу «вставить», тогда xdotool отправляет ключи, пока ваш палец нажимает клавишу «вставить», которая ничего не вызывает.

Ниже приведено обходное решение, чтобы привязать его к нажатию клавиши:

sh -c 'sleep 0.3 && xdotool type --clearmodifiers --delay 0 "`xsel`"'

он не идеален, а работает. теперь у вас есть 0,3 секунды, чтобы закончить ваш выбор нажатия клавиши (и клавиши вверх).

0
ответ дан 2 August 2018 в 04:25

Вызов xdotool click --clearmodifiers 2 имитирует щелчок средней кнопкой мыши. Это работает намного лучше, чем использование xsel (по крайней мере для меня). Прежде всего, вы должны навести свою мышь, прежде чем набирать текст ...

2
ответ дан 2 August 2018 в 04:25

Вызов xdotool click --clearmodifiers 2 имитирует щелчок средней кнопкой мыши. Это работает намного лучше, чем использование xsel (по крайней мере для меня). Прежде всего, вы должны навести свою мышь перед вводом ...

2
ответ дан 4 August 2018 в 20:57

Другие вопросы по тегам:

Похожие вопросы: