mrunix.de

Zurück   mrunix.de > Programmieren > Umgebungen, Entwicklungstools, Frameworks, IDEs
Benutzername
Kennwort
Registrieren Hilfe Benutzerliste Kalender Suchen Heutige Beiträge Alle Foren als gelesen markieren

Umgebungen, Entwicklungstools, Frameworks, IDEs Konsole, Qt, GTK/GTK+, KDE, Delphi, Kylix, Eclipse, Widgets/Motif/Lesstif/Openview *NIX Systemprogrammierung

Antwort
 
Themen-Optionen Thema bewerten Ansicht
Alt 19-04-2012, 19:09   #1
roadracer
Registrierter Benutzer
 
Benutzerbild 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.
roadracer ist offline   Mit Zitat antworten
Alt 20-04-2012, 13:35   #2
undefined
Registrierter Benutzer
 
Benutzerbild 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.
__________________
mfg undefined
--
Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
xhtml Debugger

Geändert von undefined (20-04-2012 um 13:38 Uhr)
undefined ist offline   Mit Zitat antworten
Alt 20-04-2012, 14:32   #3
roadracer
Registrierter Benutzer
 
Benutzerbild 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.
roadracer ist offline   Mit Zitat antworten
Alt 20-04-2012, 14:49   #4
undefined
Registrierter Benutzer
 
Benutzerbild 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
undefined ist offline   Mit Zitat antworten
Alt 20-04-2012, 18:47   #5
roadracer
Registrierter Benutzer
 
Benutzerbild 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.
roadracer ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2014, vBulletin Solutions, Inc.