DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Programmierung > Tastaturabfrage ohne Fenster? | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2006-11-09, 22:48 h Ralf27 Posts: 2779 User |
So, jetzt gibt es denn Feinschliff für das Programm, das mit WBRefresh angefangen hat und jetzt nur noch eine Abbruchmöglichkeit benötigt. Aber da gibt es nun ein Problem: Ich möchte das ganze *ohne* Fenster laufen lassen. Aber wie frage ich denn die Tastatur nach einem "Abbruchcode" (frei wählbar) ab? Z.b. CTRL-0 = Ende des Programms und das ohne ein Fenster offen ist. Ich dachte auch erst daran, einfach denn Joystickport nach einem Kopfdruck abzufragen, was auch recht einfach machbar wäre, aber vermutlich wirklich nicht das Gelbe vom Ei wäre. Also, wie kann ich dieses, vermutlich letzte ( ) kleine Problem bei diesem kleinen Tool lösen? Danke im vorraus! Der Hammer wäre natürlich das ganze als Commoditiy auszuführen, aber ich vermute mal, das das nicht so einfach ist. Aber lerne gerne dazu. -- http://www.alternativercomputerclub.de.vu [ - Answer - Quote - Direct link - ] |
2006-11-09, 23:02 h Kronos Posts: 1168 User |
@Ralf27: Also wenn du auf fremden User-input reagieren willst (und ohne eigenes Fenster ist jeder User-Input "fremd") ist ein Commodity die eintig legale Möglichkeit. Ein einfacher Hotkey ist dabei auch garnicht soooo kompliziert, es gibt reichlich Bespielsourcen dazu (sieh mal im NDK/Dev-CD oder Aminet nach), und wenn gar nicht anders geht kann ich ja mal kucken ob ich meine alten Sourcen zu "SpringMaus","DigiPen" oder "MonitorSwitch" noch finde (muss aber sagen viel Hoffnung ist nicht ). MfG Kronos -- Only the good die young all the evil seem to live forever [ Dieser Beitrag wurde von Kronos am 09.11.2006 um 23:02 Uhr geändert. ] [ - Answer - Quote - Direct link - ] |
2006-11-09, 23:26 h whose Posts: 2156 User |
@Kronos: Man könnte aber auch das input.device für diese Zwecke nutzen. Legal ist es noch dazu Entsprechenden Beispielcode gibts auch im RKM und irgendwo hatte ich auch Sourcen, die von Guido Meersmann stammen, dort hatte er eine lowlevel.library-kompatible Tastaturabfrage via input.device realisiert (API-ompatibel), für BoulderDaeshRTX. Ich kann ja mal danach suchen und das hier einstellen. @Ralf: Kannst Guido aber auch mal direkt anschreiben deswegen, er ist da eigentlich immer gern behilflich. Eventuell kann er Dir auch etwas Hilfestellung bei einem Commodity geben. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ Dieser Beitrag wurde von whose am 09.11.2006 um 23:37 Uhr geändert. ] [ - Answer - Quote - Direct link - ] |
2006-11-10, 01:58 h bubblebobble Posts: 707 User |
Man kann auch das keyboard.device benutzen, leider gibts das nicht unter MOS soviel ich weis. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Answer - Quote - Direct link - ] |
2006-11-10, 09:39 h Kronos Posts: 1168 User |
Ähm, Boulderdäsh, hat doch auch ein Fenster, oder reagiert das etwa auch wenn ich auf die WB zurückgesprungen bin ?? Klingt für eher nach etwas was unter AOS1.x noch normal war, aber 2.0 ein ganz böses Foul. Ein Commodity ist die sauberste Methode, und erlaubt auch noch die Deaktivierung/Entfernung des Tools per Exchange. MfG Kronos -- Only the good die young all the evil seem to live forever [ - Answer - Quote - Direct link - ] |
2006-11-10, 10:38 h Holger Posts: 8116 User |
Zitat: Aber umständlich. Genau deshalb wurde ja die commodities.library geschaffen. Dann gibt es eben auch automatisch ne Liste der Programme, die diese benutzen und eine vernünftige Steuerungsmöglichkeit, um eventuelle Konflikte lösen zu können. Beispiel für Commodity gibt's hier: http://thomas-rapp.homepage.t-online.de/examples/commodity.c mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2006-11-10, 20:01 h Ralf27 Posts: 2779 User |
Danke für Eure Infos. Ich vermute auch mal, das es via Commoditiy am besten wäre, ich hab mir auch das Beispiel mal angesehn. Aber leider ist es so, das ich es nicht verstanden habe. Ich progge "leider" als noch in Basic und versteh C nur rudimentär. Ich werd mir denn Beispielcode später nochmal genauer ansehn, bzw. ein paar Versuche machen, was aber vermutlich wieder in sowas wie Trail&Error ausartet. Hm, naja. Ich bin mal gespannt... -- http://www.alternativercomputerclub.de.vu [ - Answer - Quote - Direct link - ] |
2006-11-11, 09:49 h thomas Posts: 7717 User |
Ich habe mal ein neues Beispiel gemacht: http://thomas-rapp.homepage.t-online.de/examples/commo.c Es benutzt nicht mehr die Funktionen der amiga.lib, die es ja vermutlich für Basic nicht gibt. Außerdem habe ich ein paar Kommentare eingefügt. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Answer - Quote - Direct link - ] |
2006-11-11, 10:43 h Holger Posts: 8116 User |
Zitat:Doch, die gibt's auch für Basic. Sind in den includes in Basic nachprogrammiert. Aber ohne die AOS4-#ifdef's isses etwas lesbarer... mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2006-11-11, 19:58 h Ralf27 Posts: 2779 User |
Ich hab es eben nach Basic übersetzt und es ist mir eigentlich klar, nur eben mußte ich feststellen, das meine Includes (OS3.1) denn Befehl CxFilter gar nicht kennt?!? Wie kann das sein? Kommt dieser Befehl erst später vor? EDIT: Hab eben auch in den 3.9 Includes nachgesehn, bzw. in den AutoDocs und ihn da auch nicht gefunden? Was hat es denn damit auf sich? Ist das ein Macro? Oder woher kommt denn dieser Befehl? -- http://www.alternativercomputerclub.de.vu [ Dieser Beitrag wurde von Ralf27 am 11.11.2006 um 20:00 Uhr geändert. ] [ - Answer - Quote - Direct link - ] |
2006-11-11, 20:34 h thomas Posts: 7717 User |
Ja, das sind Makros. Die Auflösung findest du in libraries/commodity.h Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Answer - Quote - Direct link - ] |
2006-11-11, 21:27 h Ralf27 Posts: 2779 User |
Es funktioniert! Hammer. Danke! Die Sache mit dem Hotkey läuft super, allerdings kann ich das Programm jetzt nicht extern abbrechen, also via Exchange beenden. Es müßte aber doch im Programm integriert sein... hm Und die Sache mit dem Wait bzw. werd ich wohl nie richtig begreifen. Ich hab jetzt WaitPort genommen, das versteh ich wenigstens. Die Sache mit den SigBits muß ich mir nochmal genauer ansehn, bzw. da häng ich auch gerade mit Sudoku fest... -- http://www.alternativercomputerclub.de.vu [ - Answer - Quote - Direct link - ] |
2006-11-11, 22:41 h Ralf27 Posts: 2779 User |
Problem gefunden. Hab in die Brokerliste falsche Bytebreiten reingedrückt. Die Version ist nur ein Byte lang und kein Word, wie ich das zuerst angenommen habe. Auch die Flags sind nur ein Byte groß, was aber bei 0 wenig ausmacht, aber die Version wurde von 5 auf 0 gebracht, was das Problem gemacht hat. So kommt es halt wenn man die Basicincludes benutzt und dann durch die Sprungweiten einfach annahmen über BYTE/WORD oder LONG macht. Das C da selbst alles regelt ist schon recht interesant und macht es schon etwas einfacher... -- http://www.alternativercomputerclub.de.vu [ - Answer - Quote - Direct link - ] |
2007-01-14, 21:25 h LordRover Posts: 77 User |
Zitat: Wurde das angekündigte Update für die Version 0.8 (oder der Uplink ins Aminet) eigentlich je realisiert? Kann mich nicht mehr so recht erinnern, da ich die "Springmaus" am Draco mit 2 Monitoren nutze würde mich das schon noch interessieren. Wäre ja auch am Peg oder A1 nicht uninteressant (oder haben die das Feature inzwischen sowieso?). CU, Alex [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > Tastaturabfrage ohne Fenster? | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |