¿Cómo crear una tecla de acceso directo en Python?

Este artículo trata sobre cómo crear una tecla de acceso rápido usando Python. Pero primero, analicemos qué es una tecla de acceso rápido. Una tecla de acceso rápido es una tecla asignada o una secuencia de teclas programadas para ejecutar un comando o realizar una tarea seleccionada durante una aplicación de software: por ejemplo, en computadoras con Windows, la tecla de acceso rápido Ctrl+S se usa a menudo para guardar rápidamente un archivo.

Al reducir tales secuencias a unas pocas pulsaciones de teclas, a menudo se puede ahorrar tiempo al usuario, por lo tanto, «acceso directo» y hacer que la informática sea mucho más fácil para las personas con discapacidades.

Método 1: usar pynput (esta biblioteca le permite controlar y monitorear dispositivos de entrada).

Enfoque utilizado:

  1. Importamos teclado desde pynput
  2. Luego creamos un conjunto para realizar un seguimiento de las entradas clave que se presionan actualmente
  3. Cree una lista de las teclas de acceso rápido que se deben presionar para realizar la operación deseada. Aquí queríamos que las teclas rápidas fueran Shift+A y Shift+a
  4. Creamos una función ejecutar() que ejecuta nuestro programa deseado mientras presiona la tecla de acceso rápido. Aquí deseamos imprimir «tecla de acceso directo detectada»
  5. Cree una función on_press() que verifique que cualquier tecla presionada debajo del dado que tenemos. En caso afirmativo, debemos agregar al conjunto y luego ver si todas las teclas y combinaciones particulares están en el conjunto actual. Si es así, entonces ejecutamos nuestra operación.
  6. Cree una función on_release() que verifique que cualquier tecla se libere bajo las combinaciones dadas que tenemos. En caso afirmativo, debemos eliminarlo del conjunto actual.
  7. Por último, ejecute el programa.

Python3

from pynput import keyboard
 
cmb = [{keyboard.Key.shift, keyboard.Key(char='a')},{keyboard.Key.shift, keyboard.Key(char='A')}]
 
current = set()
 
def execute():
  print("Detected hotkey")
 
def on_press(key):
  if any([key in z for z in cmb]):
    current.add(key)
    if any(all(k in current for k in z) for z in cmb):
      execute()
 
def on_release(key):
  if any([key in z for z in cmb]):
    current.remove(key)
 
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
  listener.join()

Producción :

Método 2:Usandoteclado (Consulte el artículo: Módulo de teclado en Python)

Python proporciona una biblioteca llamada teclado que se emplea para impulsar el control total del teclado. Es una pequeña biblioteca de Python que puede conectar eventos globales, registrar teclas de acceso rápido, simular pulsaciones de teclas y mucho más.

  • Ayuda a ingresar teclas, registrar las actividades del teclado y bloquear las teclas hasta que se ingrese una tecla específica y simule las teclas.
  • Captura todas las teclas, incluso los eventos del teclado en pantalla también se capturan.
  • El módulo de teclado admite teclas de acceso rápido complejas.
  • Con este módulo, escucharemos y enviaremos eventos de teclado. Funciona en los sistemas operativos Windows y Linux.

Python3

# Keyboard module in Python
import keyboard
 
# press ctrl+shift+z to print "Hotkey Detected"
keyboard.add_hotkey('ctrl + shift + z', print, args =('Hotkey', 'Detected'))
 
keyboard.wait('esc')

Producción:

Hotkey Detected

Publicación traducida automáticamente

Artículo escrito por biswasarkadip y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *