HID keyboard won't release keys when called via schedule
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- embedded-iot
Línea de trabajo
Comienza con KeyboardInterface.send_keys y compara su comportamiento cuando se llama directamente con cuando se llama mediante micropython.schedule usando la reproducción mostrada en el issue. Confirma la causa en un Pico con MicroPython 1.23.0 y verifica después que las pulsaciones de teclas programadas se liberen correctamente sin producir entradas repetidas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Calling KeyboardInterface().send_keys() from a function called via micropython.schedule() doesn't seem to allow keys to be released, causing a spamming issue. This code reproduces the issue:
import usb.device
from usb.device.keyboard import KeyboardInterface
from time import sleep_ms
from micropython import schedule
KBD = None
def send_keys(foo):
keys = [-0x02, 5]
print("sending keypress")
KBD.send_keys(keys)
keys.clear()
print("clearing keypress")
KBD.send_keys(keys)
def main():
global KBD
KBD = KeyboardInterface()
usb.device.get().init(KBD, builtin_driver=True)
sleep_ms(5000)
print("starting loop")
while True:
send_keys(None)
# schedule(send_keys, None)
sleep_ms(3000)
if __name__ == '__main__': main()
running schedule(send_keys, None) instead of send_keys(None) causes a flood of 🅱️, this is on a Pico running 1.23.0 and whatever the latest version of usb-device-keyboard is currently in mip.
- Lenguaje dominante
- Python
- Estrellas
- 2.9k
- Forks
- 1.1k
- Merge medio
- 7 d 6 h
- PR fusionados (30 d)
- 3
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de micropython/micropython-lib
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
micropython/micropython-lib#1074 ·
-
needs-info
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
micropython/micropython-lib#943 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
micropython/micropython-lib#931 · 1 comentario ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
micropython/micropython-lib#795 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
micropython/micropython-lib#762 ·
Todos los issues de micropython/micropython-lib
Issues similares
-
sponsored
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
opensubtitlescom: moviehash never sent when opensubtitles (.org) is not in the provider list Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Diaoul/subliminal#1382 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
-
triage/confirmed
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
agentscope-ai/agentscope#2775 ·
-
worker.gpuVendors silently accepts unsupported/misspelled vendor names — no validation guard Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100