Где на клавиатуре any key

Обновлено: 27.04.2024

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

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

В этом руководстве мы рассмотрим, как настроить и использовать модуль клавиатуры в Python.

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

Установка модуля клавиатуры

Версия Python, используемая в этом руководстве, равна 3.8. Однако модуль клавиатуры может работать как с Python 2.x, так и с Python 3.x.

Если вы используете Linnux, чтобы использовать эту библиотеку, вы должны установить ее от root. Если вы этого не сделаете, вы получите:

Кроме того, при запуске сценария вы должны запускать его с правами суперпользователя:

В Windows и macOS, поскольку привилегии работают совсем по-другому - вы можете установить его просто через pip и запустить сценарии:

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

Функция модуля клавиатуры

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

keyboard.wait(key) - блокирует программу до тех пор, пока не будет нажата клавиша. Ключ передается в виде строки ("пробел", "esc" и т.д.)

keyboard.press(key)- нажимает клавишу и удерживается до вызова функции release(key)

keyboard.release(key)- выпускает ключ.

keyboard.send(key)- нажимает и отпускает клавишу.

keyboard.add_hotkey(hotkey, function)- создает hotkey, которая при нажатии выполняет function.

keyboard.record(key)- записывает активность клавиатуры до нажатия key.

keyboard.play(recorded_events, [speed_factor]) - воспроизводит события, записанные with keyboard.record(key) функция, с дополнительным speed_factor.

Тем не менее, мы рассмотрим все это. Вот быстрый пример:

Функции write() и wait() клавиатуры

Мы создадим бесконечный цикл True, чтобы проверить, нажата ли клавиша, и вы можете запустить сценарий в фоновом режиме:

Примечание: Специальные символы не поддерживаются этой функцией, поэтому, если вы добавите, скажем, ! - вы получите исключение остановки.

Функции клавиши press() и release()

Поскольку сложно имитировать press () и release(), чтобы действия были видны, мы также увидим в действии record() и play() .

Функция press() нажимает клавишу и отпускает ее, когда вы вызываете release() на той же клавише.

Тем не менее, вы можете удерживать некоторые специальные клавиши, такие как [SHIFT] или [CTRL] следующим образом:

Функции клавиатуры record() и play()

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

Функция record() принимает ключ запуска, до которого она записывает, и возвращает последовательность событий типа KeyboardEvent. Затем вы можете поместить эту последовательность событий в функцию play(), которая точно воспроизводит их, с дополнительным аргументом speed_factor. Он действует как множитель скорости исходных событий:

Если мы напечатаем recorded_events, они будут выглядеть примерно так:

Функция клавиатуры send()

Функция send() включает в себя press () и release () вместе и используется для отдельных клавиш, в отличие от функции write(), которая используется для целых предложений:

После нажатия клавиши s воспроизводятся клавиши w и a.

Хотя это неправильный способ добавить горячие клавиши. Также вы можете использовать функцию add_hotkey().

Функция клавиатуры add_abreviation()

Функция add_abbreviation() является довольно изящной, так как она позволяет определять сокращения для длинных входных данных и заменяет сокращенные версии сохраненными полными версиями.

Например, подобно тому, как такие службы, как Google, сохраняют вашу электронную почту для большинства форм ввода, вы можете создать свою собственную аббревиатуру и запустить ее через [SPACE]:

Во время выполнения, если вы введете @, за которым следует [ПРОБЕЛ] - ввод в длинной форме заменит введенный @.

Функция клавиатуры add_hotkey()

Функция add_hotkey() принимает горячую клавишу, которую вы хотите сохранить, или комбинацию клавиш и функцию. Здесь легко передать анонимные лямбда-функции, хотя вы также можете добавить именованные функции.

Например, давайте добавим горячую клавишу для CTRL+j, которая запускает лямбда-функцию, регистрирующей это:

Горячая клавиша ctrl + alt + p сохраняется, и при нажатии этой комбинации вы должны увидеть вывод лямбды.

Заключение

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

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