Portál AbcLinuxu, 10. května 2025 05:08
V telefonu to urcite nic nevytvari, to by vyzadovalo bud nejakou Java aplikaci, nebo zasah do firmwaru. Tohle je proste nizkourovnovy ovladac, ktery, jak jsem to pochopil, prevadi modemove prikazy na stisknuti tlacitek mysi. Jak funguje ten joystick nevim, treba to prozkouma nekdo kvalifikovanejsi nez takovy lamer-programator, jako jsem ja.
#include fcntl .h #include linux/input.h #include linux/uinput.h int main() { int i,fd; struct uinput_user_dev device; struct input_event event; fd=open("/dev/uinput",O_WRONLY); strcpy(device.name,"test mouse"); device.idbus=BUS_RS232; device.idvendor=42; device.idproduct=42; device.idversion=42; device.absmin[ABS_X]=0; device.absmax[ABS_X]=255; device.absfuzz[ABS_X]=0; device.absflat[ABS_X]=0; ioctl(fd,UI_SET_EVBIT,EV_REL); for(i=REL_X;i je mensi REL_MAX;i++) ioctl(fd,UI_SET_RELBIT,i); write(fd,&device,sizeof(struct uinput_user_dev)); ioctl(fd,UI_DEV_CREATE); getchar(); event.type=EV_REL; event.code=REL_X; event.value=100; write(fd,&event,sizeof(struct input_event)); close(fd); }koukam "spis se jen domnivam" ze se proste otevre nejake spojeni s /dev/uinput a do toho uinputu se pak zapisuji nejake veci, ktere by mely ovladat to zarizeni. Ale ten uinput pak udela? ten zahybe napr. s USB mysi, kterou mam pripojenou, nebo musim do Xek pridat nejakou dalsi mys? takze jestli si to myslim spravne by ten program mohl zjednodusene vypadat nasledovne kdyz prijde z mobilu kod napr. E_YES, tak zapis do /dev/uinput treba posun mys o 5 bodu do leva ale nikde sem nenasel ja ovladat ten uinput, jak rict, aby se stiskla napr. klavesa mysi|na co je EV_REL a co dat za device.idbus stahnul jsem si z CVS bthid a v adresari utils2 je pouze adr. hid a nikde zadna dokumentace. promin, ze te takhle porad otravuju, ale rad bych to , i pres moji neznalost Cecka, doresil >> aby mohl za 3 tydny na obhajobe moji maturitni prace pouzivat jako dalkove ovladani prezentace mobil --- a hned po maturite se vrhnu na Cecko -- a nebo ji neudelam a vrhnu se z vokna
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.