pytanie do ekspertów #python czy można ograniczyć skrypt do nasłuchiwania wprowadzenia konkretnego ciągu znaków z klawiatury (a następnie jego zamiany na inny) tylko do jednego konkretnego programu np tylko notatnika ? Jak w ogóle taki skrypt by obciążał system?
@Yelonek: przejrzałem i chodzi o coś podobnego ale chyba trochę bardziej skomplikowanego. Chciałbym odczytać skanerem kodów QR (lub np data matrix ogólnie 2D) kod który będzie miał np postać taką: 123;456;789; ale żeby skrypt mi to zamienił na postać taką: 123 TAB TAB 456 TAB TAB 789 ENTER INSERT Chodzi o wypełnienie pól w programie przy użyciu skanera kodów 2D - tak w skrócie
@roszej: To robiłem coś podobnego właśnie w autohotkey. Nie mogłem znaleźć sposobu na dostanie się do programu po linii poleceń, więc zautomatyzowałem wprowadzanie tekstu w GUI. Nawet odczytywałem dane z pliku jakiegoś. Jak odczytujesz dane ze skanera?
@Yelonek teraz doczytałem że to całkiem rozbudowane narzędzie a nie tylko do tworzenia skrótów klawiaturowych ( ಠ_ಠ) A z tym dostarczaniem danych to pytasz czy stwierdzasz? Bo chodzi o to, że każdy kod będzie praktycznie inny generowany na podstawie wagi produktu i danych wprowadzonych przez użytkownika.
@Yelonek dzięki, nie zajmuję się programowaniem ale to chyba będzie nieco lepsze rozwiązanie. W przyszłym tygodniu będę miał skaner więc się trochę pobawię. A jeżeli robiłeś coś podobnego to co sądzisz o takich założeniach: Sprawdzanie danych np co 100ms Ograniczenie działania tylko do określonego portu USB Ograniczenie działania tylko do określonego programu Uruchamianie skryptu przez autostart Zamiast dzielenia tekstu w skrypcie zmodyfikowanie kodów qr tak aby każdy np średnik odpowiadał jednemu
@roszej: Lepiej znaleźć funkcję, która się blokuje i czeka na naciśnięcie przycisku. Sprawdzanie stanu to zawsze będzie kompromis między zajętością CPU a czasem reakcji. Co dalej to zależy od tego jak konkretnie skaner daje informacje.
czuję się zobowiązany ci napisać, że udało mi się ogarnąć temat. Pierwsze co, to udało mi się pominąć zamianę średnika na tabulatory. Ciężko znaleźć informacje na ten temat. Najpierw znalazłem amerykańskie oprogramowanie, które umożliwia wstawianie w kody 1D/2D znaków w kodzie ASCII, idąc dalej tym tropem znalazłem zmienną "HEX UTF-8" w moim programie do tworzenia etykiet. Oprogramowanie jednego z wiodących polskich producentów wag z pewnej osady ( ͡°͜ʖ͡
czy można ograniczyć skrypt do nasłuchiwania wprowadzenia konkretnego ciągu znaków z klawiatury (a następnie jego zamiany na inny) tylko do jednego konkretnego programu np tylko notatnika ?
Jak w ogóle taki skrypt by obciążał system?
123;456;789;ale żeby skrypt mi to zamienił na postać taką:
123 TAB TAB 456 TAB TAB 789 ENTER INSERTChodzi o wypełnienie pól w programie przy użyciu skanera kodów 2D - tak w skrócie
Z tego co już zdążyłem się
Jak odczytujesz dane ze skanera?
import keyboard # Biblioteka do wykrywania naciśnięć klawiszy
import pyautogui # Biblioteka do symulowania naciśnięć klawiszy
# Symulowany ciąg znaków, który ma
@roszej: szybki research mówi mi, że jest funkcja keyboard.wait(), która będzie czekać na wciśnięcie klawisza
ispressed() zwraca tylko status czy jest wciśnięte czy nie i zaraz się kończy, to będzie mieliło procesor
A z tym dostarczaniem danych to pytasz czy stwierdzasz?
Bo chodzi o to, że każdy kod będzie praktycznie inny generowany na podstawie wagi produktu i danych wprowadzonych przez użytkownika.
https://www.perplexity.ai/search/using-autohotkey-can-i-interce-8A2b2QNiRayN8Lp.9srSVw
A jeżeli robiłeś coś podobnego to co sądzisz o takich założeniach:
Sprawdzanie danych np co 100ms
Ograniczenie działania tylko do określonego portu USB
Ograniczenie działania tylko do określonego programu
Uruchamianie skryptu przez autostart
Zamiast dzielenia tekstu w skrypcie zmodyfikowanie kodów qr tak aby każdy np średnik odpowiadał jednemu
TLDR
czuję się zobowiązany ci napisać, że udało mi się ogarnąć temat. Pierwsze co, to udało mi się pominąć zamianę średnika na tabulatory. Ciężko znaleźć informacje na ten temat. Najpierw znalazłem amerykańskie oprogramowanie, które umożliwia wstawianie w kody 1D/2D znaków w kodzie ASCII, idąc dalej tym tropem znalazłem zmienną "HEX UTF-8" w moim programie do tworzenia etykiet. Oprogramowanie jednego z wiodących polskich producentów wag z pewnej osady ( ͡° ͜ʖ ͡
źródło: hw
Pobierzźródło: man-gentlemen
Pobierz