Описание тега badblocks
Используемый ключ ярлык не проблема
Вы можете увидеть, что сочетание клавиш успешно установить, заменив Баш ...
команды в xterm
(или некоторые другие графические приложения). Если появится окно, ярлык настроен правильно. Вопрос, вместо этого, почти наверняка нужную команду:
xvkbd-xsendevent-текст Баш-с '$(дата +%м%м%д)'
По моему опыту, использование XSendEvent
являются недостоверными.1 Что может быть источником вашей проблемы. С помощью xdotool и
можно выбрать между XTEST
и XSendEvent
, и он, как правило, работает для меня. Ваш xvkbd
могут иметь похожие варианты.
При отправке ключа-последовательности, необходимо очистить текущие модификаторы для того, чтобы убедиться, что вы отправляете нужной последовательности (например, тест
и не супер+Т, супер+еи т. д.)
Далее, xdotool и
не менее странное поведение, если это отправляет события слишком скоро, они исчезнут.2 это в действительности может быть X-сервер падает событий, или это может быть нечто совершенно иное. В любом случае, вы можете обойти это (по крайней мере в xdotool и
) с задержкой:
строки xdotool и спать 0.125 тип --clearmodifiers 'для типа'
Этот тип
подкоманда имеет --задержка
вариантом в случае первичной задержки не является достаточным для предотвращения падения событий.
В резюме
Я хотел бы использовать:
начиная с bash-c 'на xdotool и спать 0.125 тип --clearmodifiers --задержка 125 "$(дата +%м%м%д)"'
для репликации вашего предполагаемого поведения, хотя значения, используемые для сна
и --задержка
может нуждаться в корректировке, в зависимости от вашей установки.
Еще одним возможным вариантом
Если вы не возражаете, удалив свой буфер обмена, правильнее будет отправить по умолчанию сочетание клавиш для вставки выбор
:
Баш-с 'функции printf "%s" в "$(дата +%г%м%д)" | тройник >(xsel -Би) | xsel -я; xdotool и спать 0.125 ключ-clearmodifiers шифт+инсерт'
При этом используется xsel
, чтобы поместить нужный текст в буфер обмена
и первичных
выборов (как сдвигвставить не согласуется, в которой оно используется). Затем он синтезирует последовательность клавиш, чтобы вставить этот выбор. Так как это требует только двух синтезированных нажатия клавиш, это менее вероятно, чтобы упасть событий, чем другие методы.
1 из xdotool и(1)
:
SENDEVENT НОТЫ
Если вы пытаетесь отправить ввода ключа в специальное окно, и оно не будет работать, то это, скорее всего, ваше заявление проигнорирует события xdotool-это генерирование. Это довольно распространенная.
Отправка нажатий клавиш в определенном окне используются различные API, чем просто набрав в активное окно. Если вы укажите тип xdotool и --окна 12345 привет' xdotool и будет генерировать ключевые события и отправить их прямо в окно 12345. Однако, серверам X11 будет установить специальный флаг на все события, созданные таким образом (см. событие xevent.xany.send_event в Руководство по Х11). Многие программы соблюдать этот флаг и отказаться от этих событий.
Важно отметить, что для событий клавиатуры или мыши, мы используем только XSendEvent, когда конкретное окно предназначено. В противном случае, мы используем XTEST.
Некоторые программы могут быть настроены на прием событий, даже если они порожденные xdotool и. Искать документацию вашего приложения для помочь.
Особые указания по применению (из тестирования автора):
- В Firefox 3, кажется, игнорировать весь ввод, когда она не имеет фокуса.
- в xterm может быть настроен во время работы с CTRL+щелчком, позволяют SendEvents'
- гном-терминал принимает сгенерированный ввода по умолчанию.
2 я пересмотрю этот ответ и расширить этот момент, если я узнаю точно, почему это так.