USB myš a programovací jazyk C

David

USB myš a programovací jazyk C
« kdy: 08. 11. 2011, 22:00:16 »
Ahoj lidi, hele nevíte někdo, jak bych mohl vytvořit stream mezi pc a usb myší, kde bych na zakladě stisknutí tlačítka vykonal nějaký příkaz?
« Poslední změna: 09. 11. 2011, 11:55:43 od Petr Krčmář »


Nassir

Re: Usb myš a programovací jazyk C
« Odpověď #1 kdy: 08. 11. 2011, 22:37:33 »
Logicky spravna odpeved je: ano.

Na konzole, alebo ako daemon v linuxe by som priamo cital zo zariadenia /dev/mice (na niektorych linuxoch /dev/mouse, /dev/mouse0, /dev/usbXX atd.). Kazda udalost ma konkretny binarny retazec, takze kliknutie urcite odhalis asi tak do minuty.
Kazde lepsia kniznica na spracovanie udalosti ma vlastne funkcie na pracu s misou, takze onClick(event e) by bola asi prva funkcia, ktoru by som hladal. Ale prevazne sa budu viazat na spustenu aplikaciu, alebo na konkretny prvok v nej. Takze ak to chces vseobecne, tak sa musis pozriet na dokumentaciu k X serveru, HAL, alebo opacnym smerom na KDE (Qt), alebo Gnome (GTK).
A ak je to vo windows, tak zalezi od verzie a druhu kompilatora C, kedze gcc to asi nebude. Borland C, ms visual c, alebo vsetky tie bezplatne c-cka to riesia kazde inak - teda co sa tyka spracovania udalosti v aplikacii. Ale vseobecne ako sluzba na pozadi aj tak budes potrebovat len MSDN a systemove volania z win32 API.

Ja som za svoju burlivu kratku programatorsku historiu stihol pricuchnut len asi k polovicke z toho hore, takze konkretne priklady ti dat nemozem.

nhx

Re: Usb myš a programovací jazyk C
« Odpověď #2 kdy: 09. 11. 2011, 09:20:32 »
A ak je to vo windows, tak zalezi od verzie a druhu kompilatora C, kedze gcc to asi nebude. Borland C, ms visual c, alebo vsetky tie bezplatne c-cka to riesia kazde inak - teda co sa tyka spracovania udalosti v aplikacii. Ale vseobecne ako sluzba na pozadi aj tak budes potrebovat len MSDN a systemove volania z win32 API.

Na kompilatoru urcite nezalezi. Vzdycky by mely byt k dispozici windowsacke hlavicky. Wokenice posilaj (threadu) zpravy, ktere se z fronty vycitaj funkci GetMessage(). Je taky mozne vytvorit globalni hook funkci SetWindowsHook().

nhx

Re: Usb myš a programovací jazyk C
« Odpověď #3 kdy: 09. 11. 2011, 09:21:58 »
Ahoj lidi, hele nevíte někdo, jak bych mohl vytvořit stream mezi pc a usb myší, kde bych na zakladě stisknutí tlačítka vykonal nějaký příkaz?

Nebo ty se chces povesit na kabel k mysi?

faha42

Re: Usb myš a programovací jazyk C
« Odpověď #4 kdy: 09. 11. 2011, 10:58:45 »
DD,

predpokladam, ze vite co chcete jen nevite jak, zkusim trochu popostrcit, mozna
kdyby jste specifikoval problem muzeme byt konkretnejsi.

http://lxr.free-electrons.com/source/drivers/hid/hidraw.c
- hledejte v /dev zarizeni hidrawXY (pripadne /dev/usb/hidrawXY)

Podivejte se uinput
http://www.einfochips.com/download/dash_jan_tip.pdf

X server obsahuje ovladac evdev
http://linux.die.net/man/4/evdev


xbl7

Re: Usb myš a programovací jazyk C
« Odpověď #5 kdy: 09. 11. 2011, 11:01:56 »
Pokud se jedná o windows tak koukni na winapi. viz http://www.cplusplus.com/forum/windows/12927/