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
-
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 :)
-
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. ;)
-
aha ok :) ted jeste vyzkoumat aby se dorucila zprava i puvodnimu prijemci podle dokumentace by to melo jit ale ono se to tak nechova
-
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).
-
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.
-
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
-
tobe to jeste porad nefunguje jo? :) a jako ostatni klavesy jdou jo? prapodivny.. prapodivny :) sem aspon nahraj zdrojak. doufam ze to neni zadnej roman >:( :)
-
ahoj pozri si moj program (http://disk.jabbim.cz/pk@jabbim.sk/snake.cpp) tam som riesil zachytavanie klaves cez Xlib