Как эмулировать нажатие кнопки на клавиатуре Python

Обновлено: 28.06.2024

Пакет pynput.keyboard содержит классы для управления и мониторинга клавиатуры.

Управление клавиатурой¶

Используйте pynput.keyboard.Controller следующим образом:

Наблюдение за клавиатурой¶

Используйте pynput.keyboard.Listener следующим образом:

Прослушиватель клавиатуры — это threading.Thread , и все обратные вызовы будут вызываться из потока.

Вызовите pynput.keyboard.Listener.stop из любого места, вызовите pynput.keyboard.Listener.StopException или верните False из обратного вызова, чтобы остановить прослушиватель.

Запуск прослушивателя клавиатуры может иметь некоторые ограничения на вашей платформе.

В Mac OSX должно выполняться одно из следующих условий:

  • Процесс должен запускаться от имени пользователя root.
  • Ваше приложение должно быть внесено в белый список в разделе Разрешить доступ для вспомогательных устройств. Обратите внимание, что для этого может потребоваться упаковка вашего приложения, поскольку в противном случае вся установка Python должна быть в белом списке.

В Windows виртуальные события, отправленные другими процессами, могут не приниматься. Однако эта библиотека принимает меры предосторожности, чтобы отправлять любые сгенерированные виртуальные события всем запущенным слушателям текущего процесса.

Справочник¶

Контроллер для отправки событий виртуальной клавиатуры в систему.

Исключение возникает, когда в строке, переданной в Controller.type(), встречается недопустимый символ.

Его первый аргумент — это индекс символа в строке, а второй — сам символ.

исключение Контроллер. InvalidKeyException [источник] ¶

Исключение возникает, когда в Controller.press() или Controller.release() передается недопустимый ключевой параметр.

Его первый аргумент — ключевой параметр.

Нажат ли altgr.

Нажата ли какая-либо клавиша alt.

Нажата ли какая-либо клавиша ctrl.

Ключи-модификаторы, нажатые в данный момент.

Будут установлены только общие модификаторы; при нажатии Key.shift_l , Key.shift_r или Key.shift будет присутствовать только Key.shift.

Используйте это свойство в блоке контекста следующим образом:

Это гарантирует, что модификаторы не могут быть изменены другим потоком.

Ключ может быть строкой длиной 1, одним из членов Key или KeyCode .

клавиша — клавиша, которую нужно нажать.

  • InvalidKeyException — если ключ недействителен
  • ValueError — если ключ является строкой, но ее длина не равна 1

Выполняет блок с нажатыми клавишами.

Параметры:keys — клавиши, которые нужно держать нажатыми.
Контроллер. релиз ( key ) [источник] ¶

Ключ может быть строкой длиной 1, одним из членов Key или KeyCode .

key — ключ для освобождения. Если это строка, она передается в touches() и используются возвращенные релизы.

  • InvalidKeyException — если ключ недействителен
  • ValueError — если ключ является строкой, но ее длина не равна 1

Независимо от того, нажата ли какая-либо клавиша shift или включен режим caps lock.

Вызывает либо press(), либо release() в зависимости от значения is_press .

Этот метод будет отправлять все нажатия и отпускания клавиш, необходимые для ввода всех символов в строке.

Параметры:string (str) – Строка для ввода.
Вызывает исключение InvalidCharacterException:
если встречается нетипируемый символ
класс pynput.keyboard. Прослушиватель ( on_press=None, on_release=None ) [источник] ¶

Прослушиватель событий клавиатуры.

Экземпляры этого класса можно использовать в качестве менеджеров контекста. Это эквивалентно следующему коду:

Этот класс наследуется от threading.Thread и поддерживает все его методы. При создании для демона будет установлено значение True.

Обратный вызов для вызова при нажатии кнопки.

Он будет вызываться с аргументом (key) , где key – это KeyCode , Key или None, если ключ неизвестен.

Обратный вызов для вызова при отпускании кнопки.

Он будет вызываться с аргументом (key) , где key – это KeyCode , Key или None, если ключ неизвестен.

Выполняется ли прослушиватель в данный момент.

Начать действие ветки.

Он должен вызываться не более одного раза для каждого объекта потока. Он обеспечивает вызов метода объекта run() в отдельном потоке управления.

Этот метод вызовет ошибку RuntimeError, если будет вызван более одного раза для одного и того же объекта потока.

Перестает прослушивать события мыши.

После возврата этого метода события больше не доставляются.

Ждет, пока этот слушатель будет готов.

Класс, представляющий различные кнопки, которые могут не соответствовать буквам. Сюда входят клавиши-модификаторы и функциональные клавиши.

Фактические значения этих элементов различаются в зависимости от платформы. На некоторых платформах могут быть дополнительные кнопки, но они гарантированно присутствуют везде.

Общая клавиша Alt. Это модификатор.

Клавиша AltGr. Это модификатор.

Левая клавиша Alt. Это модификатор.

Правая клавиша Alt. Это модификатор.

Клавиша Backspace.

Клавиша CapsLock.

Общая командная кнопка. На платформах PC это соответствует клавише Super или Windows, а на Mac — клавише Command. Это может быть модификатор.

Левая кнопка управления. На платформах PC это соответствует клавише Super или Windows, а на Mac — клавише Command. Это может быть модификатор.

Правая командная кнопка. На платформах PC это соответствует клавише Super или Windows, а на Mac — клавише Command. Это может быть модификатор.

Управляйте мышью, создавайте виртуальную клавиатуру и контролируйте ввод с клавиатуры с помощью этого удобного модуля Python.
Одним из первых постов, опубликованных во вторник, был симулятор клавиатуры, но в этом посте рассказывается о гораздо лучшей реализации, не требующей root-доступа!

Так что же это такое?

Pynput – это модуль, который может управлять клавиатурой и мышью или отслеживать эти устройства и действовать соответствующим образом.
С помощью Pynput мы можем заставить Python имитировать нажатие клавиши, перемещать мышь в определенную точку на экране и отслеживать вводимые данные.

Привет, могу ли я сделать из этого кейлоггер?
Да, вы могли бы, но не делайте этого. Использование этого проекта для наблюдения за коллегой, другом или кем-либо еще аморально и неправильно! Не глупите и используйте этот инструмент для полезных и хороших проектов.

Так что я могу с этим сделать?

Скриншот-2020-07-20-33-45


Недавно я сделал полетный контроллер для Raspberry Pi и использовал эту библиотеку для имитации нажатия клавиш, когда использовался контроллер, подключенный к GPIO.

Итак, как мне его установить?

Через диспетчер пакетов pip
Для установки в Linux/macOS

Итак, как мне его использовать?

Управление клавиатурой


Быстрое введение — это создание чего-то, что будет печатать сообщение на экране.

Мы импортируем модуль pynput, определяя классы Key и Controller, которые используются для доступа к клавиатуре. Затем мы создаем объектную клавиатуру, которая создает соединение из нашего кода с виртуальной клавиатурой. Чтобы ввести предложение или абзац, мы используем keyboard.type() .
Этот код введет Hello World в любой открытый текстовый редактор. Я добавил пятисекундную паузу, чтобы дать мне возможность открыть окно текстового редактора.

Чтобы нажать определенную клавишу, в данном случае ввести

Я написал этот код.

Я сохраняю буквы в списке, а затем использую цикл for для перебора каждой буквы, вводя каждую букву в открытый редактор. Обратите внимание, что есть функция нажатия и отпускания, которая эмулирует быстрое нажатие клавиши или, если используется с sleep() между ними, она может эмулировать долгое нажатие.
Чтобы использовать специальные клавиши, такие как Enter, ESC, Shift и т. д., нам нужно передать имя клавиши, но с префиксом Key, чтобы сказать, что мы используем клавиатуру. В этом случае я нажимаю Enter (Key.enter) в конце каждой строки, чтобы создать новую строку.

Управление мышью


Если вам когда-нибудь понадобится управлять мышью с помощью кода, то этот модуль для вас. В этом примере я использую функцию randint из random для генерации случайного числа от 0 до 1920 и от 0 до 1080, используя эти диапазоны, я могу расположить мышь в любой точке экрана моего ноутбука с разрешением 1080p. Сгенерированные случайные числа перемещают мышь по сумасшедшей схеме.

Я делаю это только 50 раз, используя цикл for. Если бы я попробовал это с циклом while True, я бы никогда не получил контроль над мышью!

Python используется практически для всего. Используя Python, мы можем разрабатывать серверные части для веб-приложений, серверные части для мобильных приложений и API-интерфейсы, используя бесплатные платформы с открытым исходным кодом, такие как Django и Flask.

Более того, программы Python также создают эффективные модели машинного обучения с использованием надежных библиотек, таких как Keras , NumPy , Tensorflow и PyTorch , которые строят различные виды графиков с помощью Matplotlib и многих других.

В этой статье мы рассмотрим такие варианты использования Python. Мы научимся имитировать или управлять клавиатурой с помощью Python.

Мы поговорим о двух библиотеках Python с открытым исходным кодом, клавиатуре и PyAutoGUI, которые позволяют нам управлять нашей клавиатурой с помощью скриптов Python.

Имитация клавиатуры с помощью библиотеки клавиатуры в Python

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

Эта библиотека может прослушивать и отправлять события клавиатуры, использовать горячие клавиши, поддерживать интернационализацию и обеспечивать поддержку мыши с помощью библиотеки мыши, которую мы можем загрузить с помощью pip install mouse или pip3 install mouse .

Чтобы установить библиотеку клавиатуры, используйте любую из следующих двух команд pip.

Давайте разберемся, как использовать эту библиотеку для управления клавиатурой. Обратитесь к следующему коду Python для простого примера ввода текста.

Перед запуском приведенного выше кода обратите внимание на текстовый курсор или знак вставки. Текст выше внутри поля вывода будет напечатан там автоматически.

Функция write() напечатает любую строку, переданную этой функции в качестве аргумента. Эта функция отправляет в операционную систему искусственные события клавиатуры, которые в дальнейшем набираются на знаке вставки.

Если какой-либо символ недоступен на клавиатуре, вместо него вводятся явные символы Unicode. Функция press_and_release() отправляет события операционной системы для выполнения горячих клавиш и ввода символов, переданных в качестве аргументов.

Чтобы узнать больше об этой библиотеке, обратитесь к ее документации здесь.

Имитация клавиатуры с помощью библиотеки PyAutoGUI в Python

Библиотека PyAutoGUI позволяет нам писать сценарии Python для управления клавиатурой и мышью.

Эта библиотека может перемещать курсор мыши и щелкать по окнам и приложениям, отправлять ключевые события для ввода символов и выполнения горячих клавиш, делать снимки экрана, перемещать, изменять размер, сворачивать, разворачивать и находить приложения на экране, а также отображать предупреждающие сообщения, и т. д.

Чтобы установить эту библиотеку, используйте одну из следующих команд.

В нашем случае мы можем использовать библиотеку PyAutoGUI. Для этого обратитесь к следующему коду.

Как мы видим, функция write() печатает символ строки, переданной в качестве аргумента в точке вставки. Эта функция может нажимать только односимвольные клавиши, такие как буквы алфавита и цифры.

Это означает, что мы не можем нажимать такие клавиши, как Shift, Ctrl, Command, Alt, Option, F1 и F3. Мы можем использовать методы keyDown() и keyUp() для нажатия таких клавиш.

Метод keyDown() нажимает клавишу и удерживает ее. И метод keyUp() освобождает удерживаемую клавишу.

В качестве примера см. следующий код Python. Не забудьте отметить положение текстового курсора или курсора.

Чтобы нажимать такие клавиши, как Shift + F, мы также можем использовать метод press(). Эта функция будет нажимать любые клавиши, переданные в виде строки.

На самом деле эта функция является оболочкой для методов keyDown() и keyUp().

Чтобы узнать больше об этой библиотеке, обратитесь к ее документации здесь.

Статьи DelftStack написаны такими же фанатами программного обеспечения, как и вы. Если вы также хотите внести свой вклад в DelftStack, написав платные статьи, вы можете посетить страницу «Написать для нас».

Статья по теме — Ввод Python

Статья по теме — ввод с клавиатуры Python


сообщить об этом объявлении

Управляйте своей клавиатурой с помощью этой небольшой библиотеки Python. Перехватывайте глобальные события, регистрируйте горячие клавиши, имитируйте нажатие клавиш и многое другое.

  • Глобальный обработчик событий на всех клавиатурах (захватывает клавиши независимо от фокуса).
  • Прослушивание и отправка событий клавиатуры.
  • Работает с Windows и Linux (требуется sudo), с экспериментальной поддержкой OS X (спасибо @glitchassassin!).
  • Чистый Python, модули C не нужно компилировать.
  • Ноль зависимостей. Простота установки и развертывания — просто скопируйте файлы.
  • Питон 2 и 3.
  • Поддержка сложных горячих клавиш (например, ctrl+shift+m, ctrl+space ) с регулируемым временем ожидания.
  • Включает API высокого уровня (например, запись и воспроизведение, add_abbreviation).
  • Сопоставляет клавиши в том виде, в котором они есть в вашем макете, с полной поддержкой интернационализации (например, Ctrl+ç ).
  • События автоматически фиксируются в отдельном потоке, не блокируя основную программу.
  • Проверено и задокументировано.
  • Не ломает акцентированные мертвые клавиши (я смотрю на тебя, pyHook).
  • Поддержка мыши доступна через проектную мышь ( pip install mouse ).

или клонировать репозиторий (установка не требуется, достаточно исходных файлов):

или загрузите и распакуйте ZIP-файл в папку проекта.

Затем ознакомьтесь с документацией по API ниже, чтобы узнать, какие функции доступны.

Использовать как отдельный модуль:

Распространенные шаблоны и ошибки

Предотвращение закрытия программы

Ожидание однократного нажатия клавиши

Неоднократное ожидание нажатия клавиши

Вызов кода при возникновении события

'Нажмите любую клавишу, чтобы продолжить'

Оглавление

клавиатура.KEY_DOWN

клавиатура.KEY_UP

класс клавиатуры.KeyboardEvent

KeyboardEvent.device

KeyboardEvent.event_type

Событие Клавиатуры.is_keypad

KeyboardEvent.modifiers

KeyboardEvent.name

KeyboardEvent.scan_code

KeyboardEvent.time

KeyboardEvent.to_json(self, sure_ascii=False)

keyboard.all_modifiers

keyboard.side_modifiers

клавиатура.версия

keyboard.is_modifier(клавиша)

Возвращает True, если ключ является скан-кодом или именем ключа-модификатора.

keyboard.key_to_scan_codes(key, error_if_missing=True)

Возвращает список скан-кодов, связанных с этим ключом (имя или скан-код).

keyboard.parse_hotkey(горячая клавиша)

Разбирает указанную пользователем горячую клавишу на вложенные кортежи, представляющие проанализированную структуру, причем нижние значения представляют собой списки кодов сканирования. Также принимает необработанные скан-коды, которые затем упаковываются в необходимое количество вложений.

keyboard.send(горячая клавиша, do_press=True, do_release=True)

Отправляет события ОС, вызывающие указанную горячую клавишу.

  • горячая клавиша может быть кодом сканирования (например, 57 для пробела), одной клавишей (например, "пробел") или многоклавишной, многоступенчатой ​​горячей клавишей (например, "alt+F4, Enter").
  • do_press, если true, то отправляются события нажатия. По умолчанию — Истина.
  • do_release, если true, то отправляются события выпуска. По умолчанию — Истина.

Примечание: клавиши отпускаются в порядке, обратном их нажатию.

keyboard.press(горячая клавиша)

Нажимает и удерживает горячую клавишу (см. «Отправить»).

keyboard.release(горячая клавиша)

Вызывает горячую клавишу (см. «Отправить»).

keyboard.is_pressed(горячая клавиша)

Возвращает True, если клавиша нажата.

keyboard.call_later(fn, args=(), delay=0,001)

Вызывает указанную функцию в новом потоке после некоторого ожидания. Полезно, чтобы дать системе некоторое время для обработки события, не блокируя текущий поток выполнения.

keyboard.hook(обратный вызов, подавление=False, on_remove= )

Устанавливает глобальный прослушиватель на все доступные клавиатуры, вызывая обратный вызов при каждом нажатии или отпускании клавиши.

Событие, передаваемое обратному вызову, имеет тип keyboard.KeyboardEvent со следующими атрибутами:

  • имя : Unicode-представление символа (например, "&") или описание (например, "пробел"). Имя всегда пишется строчными буквами.
  • scan_code : число, представляющее физический ключ, например. 55.
  • время : метка времени, когда произошло событие, с точностью, заданной операционной системой.

Возвращает заданный обратный вызов для упрощения разработки.

keyboard.on_press(обратный вызов, подавление=False)

Вызывает обратный вызов для каждого события KEY_DOWN. Подробнее см. крючок .

keyboard.on_release(обратный вызов, подавление=False)

Вызывает обратный вызов для каждого события KEY_UP. Подробнее см. крючок .

keyboard.hook_key(ключ, обратный вызов, подавление=False)

Перехватывает события нажатия и нажатия клавиши для одной клавиши. Возвращает созданный обработчик события. Чтобы удалить перехваченный ключ, используйте unhook_key(key) или unhook_key(handler) .

Примечание: эта функция имеет то же состояние, что и горячие клавиши, поэтому clear_all_hotkeys также влияет на нее.

keyboard.on_press_key(клавиша, обратный вызов, подавление=False)

Вызывает обратный вызов для события KEY_DOWN, связанного с данной клавишей. Подробнее см. крючок .

keyboard.on_release_key(ключ, обратный вызов, подавление=ложь)

Вызывает обратный вызов для события KEY_UP, связанного с данным ключом. Подробнее см. крючок .

keyboard.unhook(удалить)

Удаляет ранее добавленный хук либо обратным вызовом, либо возвращаемым значением хука .

keyboard.unhook_all()

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

keyboard.block_key(ключ)

Подавляет все ключевые события данной клавиши, независимо от модификаторов.

keyboard.remap_key(src, dst)

Всякий раз, когда нажата или отпущена клавиша src, независимо от модификаторов, вместо этого нажимайте или отпускайте горячую клавишу dst.

keyboard.parse_hotkey_combinations(горячая клавиша)

Разбирает указанную пользователем горячую клавишу. В отличие от parse_hotkey , вместо того, чтобы каждый шаг представлял собой список различных кодов сканирования для каждой клавиши, каждый шаг представляет собой список всех возможных комбинаций этих кодов сканирования.

keyboard.add_hotkey(горячая клавиша, обратный вызов, args=(), submit=False, timeout=1, trigger_on_release=False)

Вызывает обратный вызов при каждом нажатии горячей клавиши. Горячая клавиша должна быть в формате ctrl+shift+a, s . Это срабатывает, когда пользователь одновременно удерживает ctrl, shift и «a», отпускает, а затем нажимает «s». Для представления буквенных запятых, плюсов и пробелов используйте их имена ("запятая", "плюс", "пробел").

  • args – это необязательный список аргументов, которые передаются функции обратного вызова во время каждого вызова.
  • suppress определяет, должны ли успешные триггеры блокировать отправку ключей другим программам.
  • время ожидания – это количество секунд, которое может пройти между нажатиями клавиш.
  • trigger_on_release, если true, обратный вызов вызывается при отпускании клавиши, а не при ее нажатии.

Возвращается функция обработчика событий. Чтобы удалить горячую клавишу, вызовите remove_hotkey(hotkey) или remove_hotkey(handler) . до сброса состояния горячей клавиши.

Примечание: горячие клавиши активируются при нажатии последней клавиши, а не при отпускании. Примечание: обратный вызов выполняется в отдельном потоке асинхронно. Пример синхронного использования обратного вызова см. в разделе ожидания .

keyboard.remove_hotkey(hotkey_or_callback)

Удаляет ранее зацепленную горячую клавишу. Должен вызываться со значением, возвращаемым add_hotkey .

keyboard.unhook_all_hotkeys()

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

keyboard.remap_hotkey(src, dst, submit=True, trigger_on_release=False)

Всякий раз, когда нажимается горячая клавиша src, подавляйте ее и вместо этого отправляйте dst.

keyboard.stash_state()

Создает список всех нажатых в данный момент скан-кодов, освобождает их и возвращает список. Хорошо сочетается с restore_state и restore_modifiers .

keyboard.restore_state(scan_codes)

Данный список scan_codes гарантирует, что эти клавиши и только эти клавиши будут нажаты. Хорошо сочетается с stash_state , альтернативой restore_modifiers .

keyboard.restore_modifiers(scan_codes)

То же, что restore_state , но восстанавливает только ключи-модификаторы.

keyboard.write(текст, задержка=0, restore_state_after=True, точное=нет)

Отправляет в ОС искусственные события клавиатуры, имитирующие ввод заданного текста. Символы, недоступные на клавиатуре, вводятся как явные символы Юникода с использованием функций ОС, таких как alt+codepoint.

Чтобы обеспечить целостность текста, все нажатые в данный момент клавиши отпускаются до того, как текст будет набран, а модификаторы восстанавливаются после этого.

  • задержка — это количество секунд ожидания между нажатиями клавиш, по умолчанию нет задержки.
  • restore_state_after можно использовать для восстановления состояния нажатых клавиш после набора текста, т. е. нажатия клавиш, которые были отпущены в начале. По умолчанию — Истина.
  • exact заставляет вводить все символы как явный код Unicode (например, alt+codepoint или специальные события). Если нет, используется рекомендуемое значение для конкретной платформы.

keyboard.wait(hotkey=None, submit=False, trigger_on_release=False)

Блокирует выполнение программы до тех пор, пока не будет нажата заданная горячая клавиша, или, если параметры не заданы, блокируется навсегда.

keyboard.get_hotkey_name(names=None)

Возвращает строковое представление горячей клавиши из заданных названий клавиш или нажатых в данный момент клавиш, если они не указаны. Эта функция:

  • нормализует имена;
  • удаляет префиксы "левый" и "правый";
  • заменяет имя ключа "+" на "плюс", чтобы избежать двусмысленности;
  • клавиши-модификаторы ставятся на первое место в стандартном порядке;
  • отсортировать оставшиеся ключи;
  • наконец, соединяет все с помощью "+".

keyboard.read_event(suppress=False)

Блокирует до тех пор, пока не произойдет событие клавиатуры, а затем возвращает это событие.

keyboard.read_key(suppress=False)

Блокируется до тех пор, пока не произойдет событие клавиатуры, а затем возвращает имя этого события или, если оно отсутствует, его скан-код.

keyboard.read_hotkey(suppress=True)

Аналогичен read_key() , но блокируется до тех пор, пока пользователь не нажмет и не отпустит горячую клавишу (или одну клавишу), а затем возвращает строку, представляющую нажатую горячую клавишу.

keyboard.get_typed_strings(events, allow_backspace=True)

По заданной последовательности событий пытается определить, какие строки были введены. Строки разделяются при нажатии нетекстовой клавиши (например, табуляции или ввода). Символы преобразуются в верхний регистр в соответствии со статусом Shift и CapsLock. Если для параметра allow_backspace установлено значение True, символы возврата удаляют последний введенный символ.

Эта функция является генератором, поэтому вы можете передавать бесконечный поток событий и преобразовывать их в строки в режиме реального времени.

Обратите внимание, что эти функции являются просто эвристикой. Windows, например, сохраняет состояние клавиатуры для каждого процесса, например раскладку клавиатуры, и эта информация недоступна для наших перехватчиков.

keyboard.start_recording(recorded_events_queue=None)

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

keyboard.stop_recording()

Остановка глобальной записи событий и возврат списка захваченных событий.

keyboard.record(until='escape', submit=False, trigger_on_release=False)

Записывает все события со всех клавиатур, пока пользователь не нажмет указанную горячую клавишу. Затем возвращает список записанных событий типа keyboard.KeyboardEvent . Хорошо сочетается с play(events) .

Примечание: это блокирующая функция. Примечание. Подробнее о хуке клавиатуры и событиях см. хук .

keyboard.play(события, speed_factor=1.0)

Примечание: текущее состояние клавиатуры очищается в начале и восстанавливается в конце функции.

keyboard.add_word_listener(word, callback, triggers=['space'], match_suffix=False, timeout=2)

Вызывает обратный вызов каждый раз, когда вводится последовательность символов (например, "домашнее животное"), за которой следует триггерная клавиша (например, пробел). Модификаторы (например, alt, ctrl, shift) игнорируются.

  • сформулируйте набранный текст для сопоставления. Например. 'домашнее животное'.
  • обратный вызов — это функция без аргументов, которая вызывается каждый раз при вводе слова.
  • triggers – это список ключей, которые вызывают проверку соответствия. Если пользователь нажмет какую-то клавишу, которая не является символом (len>1) и не находится в триггерах, символы до сих пор будут отброшены. По умолчанию триггером является только пробел .
  • match_suffix определяет, следует ли также проверять окончания слов, а не только целые слова. Например. если true, ввод «ковра» + пробел вызовет прослушивание «домашнего животного». По умолчанию false, проверяются только целые слова.
  • время ожидания – это максимальное количество секунд между введенными символами, прежде чем текущее слово будет отброшено. По умолчанию 2 секунды.

Возвращает созданный обработчик событий. Чтобы удалить прослушиватель слов, используйте remove_word_listener(word) или remove_word_listener(handler) .

Примечание: все действия выполняются при нажатии клавиши. События нажатия клавиши игнорируются. Примечание: совпадения слов чувствительны к регистру.

keyboard.remove_word_listener(word_or_handler)

Удаляет ранее зарегистрированный прослушиватель слов. Принимает либо слово, использованное при регистрации (точная строка), либо обработчик события, возвращенный функциями add_word_listener или add_abbreviation.

keyboard.add_abbreviation(source_text, replace_text, match_suffix=False, timeout=2)

Регистрирует горячую клавишу, которая заменяет один введенный текст другим. Например

Заменяет каждую букву "tm", за которой следует пробел, символом ™ (без пробела). Замена выполняется путем отправки событий возврата.

Читайте также: