E-mail contact: cristian.scarlat@stud.acs.upb.ro
Proiectul este o mini tastatură și un mouse pentru jocul League of Legends. Tastatura conține butoanele principale folosite in joc. Mișcarea mouse-ului va fi controlată de un joystick, click-ul de butoane și scroll-ul de un senzor de distanță.
Scopul este crearea unor periferice de input mai compacte, însă ce păstrează cât mai multe din funcționalitățile necesare în jocul League of Legends.
Îmi doream sa aflu cum funcționează perifericele de Input. Deoarece o tastatură întreagă ar necesita mai mult timp, am ales să creez o tastatură pentru un joc ce necesită un număr redus de taste pentru a putea fi jucat la standarde normale.
Perifericele sunt mult mai compacte decât cele obișnuite. (+ nu mai poți să fii toxic în chat dacă îți lipsește mare parte din tastatură)
Utilizatorul se va folosi de butoane/joystick/senzorul de distanță pentru a trimite input către Arduino. Arduino preia apăsările de buton, mișcările joystick-ului și distanța citită de senzor și le va trimite către un program python. În programul python mă voi folosi de librăriile “mouse” și “autogui” pentru a simula apăsări de tastă, mișcarea mouse-ului, click-ul mouse-ului și scroll-ul mouse-ului. În timpul jocului de League of Legends aceste input-uri vor fi preluate de joc și se vor executa acțiuni precum mișcare player sau spell cast.
Pentru realizarea proiectului am folosit Arduino IDE și Python
Biblioteci folosite:
(+ driver CH340g Windows 8+ pentru Arduino )
Codul proiectului este împărțit între Arduino și Python. În codul Arduino se citesc input-urile de pe breadboard și se transmit prin interfața serială către Python. Python citește input-urile și le execută folosind bibliotecile pyautogui și pydirectinput. Deoarece League of Legends (împreună cu alte jocuri) nu poate fi controlat de către input-uri simulate, am putut folosi pyautogui doar pentru mouse. Pentru tastatură am folosit pydirectinput.
Joystick-ul este foarte puțin precis și nu poate fi manevrat ușor. Senzorul de distanță nu este nici el perfect, dar este mult mai ok decât joystick-ul. În ceea ce privește codul, a trecut ceva timp pana sa descopăr că unele jocuri nu acceptă input-uri simulate, ceea ce a dus la rescrierea logicii pentru tastatură. În rest totul a decurs bine și am fost pregătit datorită laboratoarelor.
Arhiva cu script-uri și poze: scarlat_cristian_336cc.zip
Documentația în format PDF