Hi, On 6/22/2006 11:31 AM, Dr. Jürgen Vollmer wrote:
Hallo,
On 6/21/2006 10:10 PM, Dr. Jürgen Vollmer wrote:
Hallo
für eine spzeille Anwendung möchte ich den Buttonstatus eines Joysticks auslesen. (Es werden da einfache Schalter angeschlossen, also kein "echter" Joystick).
nur: wie macht man das?
Angeschlossen aber an den üblichen Joystick-Anschluss?
ja
Schau' mal in /usr/src/linux/Documentation/input Ich fand' da mehrere interessante Dokumente. Im wesentlichen: passende Datei benutzen und dann open und read oder select.
die /dev(js* gab's nicht, hab' sie angelget und mit jstest versucht anzusprechen, aber da kam nur die Meldung, daß es das Device /dev/js0 nicht gibt.
Ich hab' hier folgendes C-Proggi gefunden: --------------- #define JOYPORT 0x200 /* Hoffentlich der Richtige! */
int main() { int buttons,zaehler,bitmask; usleep(100000); if (ioperm(JOYPORT, 3, 1)) ... selbst wenn ich das mit Adresse 0x200-0x218 laufen lasse, wird nicht angezeigt, ob ein Button gedrückt wurde.
Ich hab' hier eine "ESS 1696 solo1" soundkarte drin. Die sollte via "gameport" angesprochen werden. nur das sagt mir nicht viel.
Hmm. Die Soundkarte bzw. den darauf verbauten Chip kene ich nun leider nicht. Was gibt denn 'cat /propc/ioports' aus? Ist daraus denn ersichtlich dass irgendein Kernelmodul den Joystick-Port benutzt? Ich vermute dass man erstmal das dafür notwendige Kernelmodul in Gang setzen muss - nach der Dokumentation die ich gestern (angeregt durch Deine Frage :-) dazu durchgesehen habe kann das durchaus etwas komplexer sein. ISA-Karten unterscheiden sich von PCI-Karten, ALSA-Treiber bringen teils eigene Joystick- bzw. Gameport module mit oder auch nicht, und es scheint mehrere darauf aufsetzende High-Level-Interfaces zu geben. Mangels eines Rechners mit Linux und Soundkarte bzw. Gameport der nicht als wichtiger Server läuft konnte ich da auch nicht viel probieren. Ich habe auch nur feststellen können das das Laden aller möglichen Module (analog, joydev, ...) zwar problemlos ging, aber nix bei rauskam... Ich würde, wemm hier keine weiteren Rückmeldungen kommen (David!?) mal die Archive der Kernel-Mailingliste durchsuchen oder einen der Entwickler direkt anschreiben. Viel Erfolg jedenfalls! (Übrigens, wenn es nur um eine begrenzte Zahl von Digitaleingängen geht die Du abfragen möchtest kann man auch Parallelport-Statusbits nehmen. Setzt aber etwas Erfahrung im Hardware-Basteln voraus, sonst hat man sich schnell das Mainboard gegrillt...) Arno
Bye Jürgen
-- IT-Service Lehmann al@its-lehmann.de Arno Lehmann http://www.its-lehmann.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com