Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: ubuntu luky 27 Května 2008, 15:20:58

Název: Odchytávání kláves nad X serverem
Přispěvatel: ubuntu luky 27 Května 2008, 15:20:58
mam tady takovej darecek v podobe tipu obzvlast pro windows programatory kteri jsou trochu zmateni z linuxu  :) ja sem chtel udelat zachytavani klaves v celym systemu ale porad se mi to nak nedarilo a teprve dnes sem zjistil jak na to.. nedela se to ani pres gtk ani pres qt ani pres podobnou grafickou knihovnu ale pres x window. slouzi k tomu funkce XSelectInput.

se nastavi id okna. ale nemam to presne vychytany zrejme je to tak hloupy ze se musti pustit nejakej loop kterej zjisti vsechny dcerinny okna hlavniho okna a tem to nastavi vsem. pak je samozrejme problem s novyma oknama na ktery to neplati. a druha vec, ono to ty klavesy sice chyta, cili ono to vyzvedne udalost z fronty, ale to puvodni okno ji nedostane, tak jeste zkoumam jestli jde udelat aby ji dostala.

a dalsi problem. zajimalo by me teda jak by se resilo kdyby mel clovek jinej window manager nez x window asi smula  :)
Název: Re: chytani klaves v linuxu
Přispěvatel: Pavel Půlpán 27 Května 2008, 15:25:37
Citace
In computing, the X Window System (commonly X11 or X) is a windowing system which implements the X display protocol and provides windowing on bitmap displays. It provides the standard toolkit and protocol with which to build graphical user interfaces (GUIs) on most Unix-like operating systems and OpenVMS, and has been ported to many other contemporary general purpose operating systems.

Window managery pracují nad X11, využívají a kombinují jeho funkce. ;)
Název: Re: Odchytávání kláves nad X serverem
Přispěvatel: ubuntu luky 27 Května 2008, 15:29:52
aha ok  :) ted jeste vyzkoumat aby se dorucila zprava i puvodnimu prijemci podle dokumentace by to melo jit ale ono se to tak nechova
Název: Re: Odchytávání kláves nad X serverem
Přispěvatel: Pavel Půlpán 27 Května 2008, 15:39:17
No nikdy jsem mistr v programování s X toolkitem nebyl... něco jsem si hrál kvůli změně rozlišení a tak, ale to je tak všechno. :D

Řešení pro odchyt kláves a jiných aktivit nad oknem by v QT měla řešit trojice QEvent (http://doc.trolltech.com/4.4/qevent.html), QKeyEvent (http://doc.trolltech.com/4.4/qkeyevent.html) a QInputEvent (http://doc.trolltech.com/4.4/qinputevent.html).
Název: Re: Odchytávání kláves nad X serverem
Přispěvatel: ubuntu luky 27 Května 2008, 15:48:31
Nene to resi si myslim jen tvoji aplikaci proto jsem to zalozil tohle vlakno, ja totiz chtel chytat klavesy v celym systemu. Ale stejne to neni moc elegantni protoze na Windows nainstalujes hak jednou procedurou a uz ho dostanou i novy okna, tady asi musis dokola instalovat haky se mi zda.
Název: Re: Odchytávání kláves nad X serverem
Přispěvatel: Martin - ViPEr*CZ* 28 Května 2008, 17:51:13
No nikdy jsem mistr v programování s X toolkitem nebyl... něco jsem si hrál kvůli změně rozlišení a tak, ale to je tak všechno. :D

Řešení pro odchyt kláves a jiných aktivit nad oknem by v QT měla řešit trojice QEvent (http://doc.trolltech.com/4.4/qevent.html), QKeyEvent (http://doc.trolltech.com/4.4/qkeyevent.html) a QInputEvent (http://doc.trolltech.com/4.4/qinputevent.html).

Mmmm a nevíte někdo jak zachytit přes QT klávesu ENTER.... viz moje téma: http://forum.ubuntu.cz/index.php?topic=22659.0
Název: Re: Odchytávání kláves nad X serverem
Přispěvatel: ubuntu luky 28 Května 2008, 18:16:37
tobe to jeste porad nefunguje jo? :) a jako ostatni klavesy jdou jo? prapodivny.. prapodivny  :) sem aspon nahraj  zdrojak. doufam ze to neni zadnej roman  >:( :)
Název: Re: Odchytávání kláves nad X serverem
Přispěvatel: pavolzetor 02 Června 2008, 15:39:03
ahoj pozri si moj program (http://disk.jabbim.cz/pk@jabbim.sk/snake.cpp) tam som riesil zachytavanie klaves cez Xlib