Ergebnis 1 bis 5 von 5

Thema: [X] Maustasten in Pascal abfragen

  1. #1
    Registrierter Benutzer Avatar von roadracer
    Registriert seit
    16.02.2010
    Ort
    Wolfenbüttel
    Beiträge
    48

    [X] Maustasten in Pascal abfragen

    Hallo,
    ich möchte gerne in Pascal (d.h. nur mit diesen Units http://wiki.freepascal.org/X11) den Status der Maustasten abfragen, also wissen ob z.B. die linke oder die rechte gedrückt ist. Unter Windows kann man dazu
    Code:
    getkeystate(VK_LBUTTON)
    o.ä. abfragen. Weiß jemand wie das am einfachsten geht?
    OpenSUSE 12.1 x86 KDE 4.7

    Alle Rechtschreibfehler unterliegen der GFDL und dürfen so oder in veränderter Form genutzt und weiter gegeben werden.
ZitierenZitieren

  • #2
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Wie der Link Pfad es schon vermuten lässt ist X11 dafür zuständig.
    Siehe /usr/include/X11/XKBlib.h
    PHP-Code:
    #include <stdlib.h>
    #include <stdio.h>
    #include <X11/XKBlib.h>
    #include <X11/extensions/XKB.h>

    int main(void)
    {
      
    DisplayXOpenDisplay(0);
      if (
    d)
      {
        
    unsigned n;
        
    XkbGetIndicatorState(d/* dpy */
                            
    XkbUseCoreKbd/* deviceSpec */
                            
    &n); /* pStateRtrn */

        
    printf ( ( (1) ? "Capslock ON\n" "Capslock OFF\n" ) );
      }
      return 
    EXIT_SUCCESS;

    Eine Weitere Variante wäre mit XGrabPointer...
    Siehe in einer meiner QX11Grab Klassen.
    Geändert von undefined (20-04-2012 um 13:38 Uhr)
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  • #3
    Registrierter Benutzer Avatar von roadracer
    Registriert seit
    16.02.2010
    Ort
    Wolfenbüttel
    Beiträge
    48
    Okay, deine Funktion fragt jetzt den status von Capslock ab, aber wie mache ich das für die Muastasten? Tut mir leid, wenn ich dich bitte mir alles vorzukauen, aber ich hab kein plan von X
    OpenSUSE 12.1 x86 KDE 4.7

    Alle Rechtschreibfehler unterliegen der GFDL und dürfen so oder in veränderter Form genutzt und weiter gegeben werden.

  • #4
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Siehe meinen eingefügten Link.
    Ein einfaches abfragen wie oben im Quelltext wird bei der Maus nichts bringen weil es immer false zurück geben wird.
    Hier mußt du mit einer Schleife und XEvent Arbeiten.
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  • #5
    Registrierter Benutzer Avatar von roadracer
    Registriert seit
    16.02.2010
    Ort
    Wolfenbüttel
    Beiträge
    48
    Es tut mir Leid, aber ich habe keinen Plan was du mir hier mit 3 Funktionen, von denen zumindest eine schon mal nicht funktioniert, mitteilen möchtest. Wie gesagt, ich habe _überhaupt_ keine _Ahnung von X und möchte nur wissen ob die linke oder rechte Maustaste gedrückt ist.
    Kannst du mir nicht einfach 15 Zeilen C-Code vorkauen, den ich dann nur noch nach Pascal übersetzen muss?
    OpenSUSE 12.1 x86 KDE 4.7

    Alle Rechtschreibfehler unterliegen der GFDL und dürfen so oder in veränderter Form genutzt und weiter gegeben werden.

  • Lesezeichen

    Berechtigungen

    • Neue Themen erstellen: Nein
    • Themen beantworten: Nein
    • Anhänge hochladen: Nein
    • Beiträge bearbeiten: Nein
    •