amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Tastaturabfrage ohne Fenster? [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

09.11.2006, 22:48 Uhr

Ralf27
Posts: 2779
Nutzer
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 ( :glow: ) 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. :D
--
http://www.alternativercomputerclub.de.vu

[ - Antworten - Zitieren - Direktlink - ]

09.11.2006, 23:02 Uhr

Kronos
Posts: 1168
Nutzer
@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 :glow: :glow: ).

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. ]

[ - Antworten - Zitieren - Direktlink - ]

09.11.2006, 23:26 Uhr

whose
Posts: 2156
Nutzer
@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

--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233


[ Dieser Beitrag wurde von whose am 09.11.2006 um 23:37 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

10.11.2006, 01:58 Uhr

bubblebobble
Posts: 707
Nutzer
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


[ - Antworten - Zitieren - Direktlink - ]

10.11.2006, 09:39 Uhr

Kronos
Posts: 1168
Nutzer
Ä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

[ - Antworten - Zitieren - Direktlink - ]

10.11.2006, 10:38 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von whose:
Man könnte aber auch das input.device für diese Zwecke nutzen. Legal ist es noch dazu ;)


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.

[ - Antworten - Zitieren - Direktlink - ]

10.11.2006, 20:01 Uhr

Ralf27
Posts: 2779
Nutzer
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

[ - Antworten - Zitieren - Direktlink - ]

11.11.2006, 09:49 Uhr

thomas
Posts: 7717
Nutzer

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/

[ - Antworten - Zitieren - Direktlink - ]

11.11.2006, 10:43 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von thomas:
Es benutzt nicht mehr die Funktionen der amiga.lib, die es ja vermutlich für Basic nicht gibt.

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.

[ - Antworten - Zitieren - Direktlink - ]

11.11.2006, 19:58 Uhr

Ralf27
Posts: 2779
Nutzer
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? :dance3: 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. ]

[ - Antworten - Zitieren - Direktlink - ]

11.11.2006, 20:34 Uhr

thomas
Posts: 7717
Nutzer

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/

[ - Antworten - Zitieren - Direktlink - ]

11.11.2006, 21:27 Uhr

Ralf27
Posts: 2779
Nutzer
Es funktioniert! Hammer. :D 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

[ - Antworten - Zitieren - Direktlink - ]

11.11.2006, 22:41 Uhr

Ralf27
Posts: 2779
Nutzer
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

[ - Antworten - Zitieren - Direktlink - ]

14.01.2007, 21:25 Uhr

LordRover
Posts: 77
Nutzer
Zitat:
Original von Kronos:
snip... und wenn gar nicht anders geht kann ich ja mal kucken ob ich meine alten Sourcen zu "SpringMaus","DigiPen" oder "MonitorSwitch" noch finde ...snip


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

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Tastaturabfrage ohne Fenster? [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.