Article View: fras.text.programmieren
Article #95Re: Tastaturabfrage
From: Joerg Holle
Date: Wed, 27 Mar 1996 12:04
Date: Wed, 27 Mar 1996 12:04
73 lines
3522 bytes
3522 bytes
>>Hallo, Kenner des AmigaOS! >>Da ich fuer mich so etwas aehnliches wie den `ToolManager` >>programmieren moechte, braeuchte ich dazu noch ein paar >>Informationen. Damit das Starten von Programmen ueber eine gewisse >>Taste oder Tastaturabkuerzung funktioniert, muss das Programm doch >>alle Tastatureingaben abfangen, oder? Also muesste ich dazu einen >>Input-Handler schreiben, der sich auf oberster Ebene in das System >>einklingt. Leider habe ich keine Ahnung, wie man so etwas macht... >> Kann mir jemand von Euch da etwas weiterhelfen?? >RKRM Libraries 3rd Ed. p.727-753. >Wenn Du die RKRMs nicht hast, vergiss Dein Vorhaben am besten gleich >wieder. > mfG, Lars >-- >Lars Dannenberg, Lange Str. 11, D-30952 Ronnenberg [persoenliche Bemerkung ON] Was sollte denn dieser 'hilfreiche' Kommentar ? Ein weiteres Posting, um die manchmal in dieser NewsGroup herrschende Arroganz mancher 'Kenner des AmigaOS' zu plegen, oder was ? [persoenliche Bemerkung OFF] So schwer ist es jetzt auch nicht, einen Inputhandler zu schreiben, der Tastatureingaben abfaengt, auch _ohne_ das RKRM zu besitzen. Eine gewisses Wissen um bestimmte Strukturen muss man allerdings schon haben, dafuer gibt es aber auch andere Quellen, wie das (leider, manchmal recht fehlerhafte) 'InternII' oder einfach nur die entsprechenden C-/Assembler-Includes. Wenn Du allerdings noch nie von Devices gehoert hast oder wie man eines benutzt, dann wird's schon etwas schwierig ... Naja, hier jedenfalls eine grobe Vorgehensweise: - InputDevice oeffnen (incl. MessagePort vorher einrichten, StdIOReq-Struct einrichten, das uebliche eben, um ein Device zu oeffnen ...) - InputHandler-Struktur initialisieren (eigentlich nur eine InterruptHandler-Struktur -> s. dort; Prioritaet am Besten ueber dem des System-InputHandlers in Deinem Fall) - InputDevice mit Kommando IND_ADDHANDLER aufrufen (DoIO()) und so den InputHandler aktivieren - dieser Handler bekommt jetzt im Register a0 eine InputEvent-Struktur uebergeben; diese ist nach Wunsch abzufragen (RAWKEY oder nicht ?) - Rueckgabewert: d0=InputEvent/NULL => weitere Handler zulassen/ignorieren (fuer Deine Zwecke also wohl NULL) [ Zu den letzten 2 Punkten: Wie das in C funktioniert, weiss ich leider nicht ... weitere Hilfen dazu (auch von mir) erwuenscht] - Aufraeumen am Ende entsprechend (Entfernen des Handlers mit Kommando IND_REMHANDLER und dann analog weiter etc.) Ich hoffe, dass das etwas weitergeholfen hat. Tschuess Joerg ---------------------------------------------- | Joerg Holle | 'Anger is an energy' | | holle@ira.uka.de | (John Lydon) | ---------------------------------------------- -- ---------------------------------------------- | | | | Joerg Holle | 'Anger is an energy' | | holle@ira.uka.de | (John Lydon) |
Technical Details
Message-ID:
<4jbat3$m4e@nz12.rz.uni-karlsruhe.de>Path:
arc1-ca.pugleaf.net!rz.uni-karlsruhe.de!holleReferences:
<xVp8MMD356aez2@p-zimmer.ame.osn.de> <DowCyD.2tn@vendetta.han.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!rz.uni-karlsruhe.de!holle From: holle@ira.uka.de (Joerg Holle) Newsgroups: fras.text.programmieren,z-netz.rechner.amiga.programmieren Subject: Re: Tastaturabfrage Date: 27 Mar 1996 12:04:51 GMT Organization: University of Karlsruhe, Germany Message-ID: <4jbat3$m4e@nz12.rz.uni-karlsruhe.de> References: <xVp8MMD356aez2@p-zimmer.ame.osn.de> <DowCyD.2tn@vendetta.han.de> NNTP-Posting-Host: i10s17.ira.uka.de Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-newsreader: xrn 7.03 Originator: holle@i10s17