-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Precisamos evitar que o clipboard seja usado apenas para passagem dos snippets para o texto quando são recuperados.
Isso é necessário pois ser intrusivos e usarmos o clipboard para resolver uma parte de um problema que é do addon pode prejudicar o operar do usuário, sobrescrevendo por exemplo algo que estava no clipboard ao recuperar o snippet.
Como implementar
Pesquisei por bastante tempo e o código do NVDA parece não oferecer uma API de alto nível do tipo EnviaTexto(texto). As abstrações principais estão no módulo inputCore mas são de bastante baixo nível.
Acima, no módulo keyboardHandler, classe KeyboardInputGesture, demos o método send() que pode oferecer uma guia base para usar as coisas do imputCore.
Quem implementar pode tentar usá-lo diretamente enviando uma série de gestures compostos de cada caracter da string a ser colocada no texto, mas há problemas com esta implementação se o NVDA estiver configurado para não repassar comandos não mapeados para gestos diretamente para o sistema.
O ideal seria construir uma API com base nesta função que enviasse diretamente strings, mas mesmo assim precisaríamos testar esta configuração. Se ela estiver sendo considerada, o nível precisará ser ainda mais baixo.
Outra alternativa seria usar muitas implementações de bibliotecas que já fazem esse tipo de coisa. Deixo abaixo links para a pesquisa:
https://stackoverflow.com/questions/13564851/how-to-generate-keyboard-events-in-python
https://github.com/asweigart/pyautogui