read position mouse cursor | Unix Linux Forums | UNIX and Linux Applications

  Go Back    


UNIX and Linux Applications Discuss UNIX and Linux software applications. This includes SQL, Databases, Middleware, MOM, SOA, EDA, CEP, BI, BPM and similar topics.

read position mouse cursor

UNIX and Linux Applications


Closed Thread    
 
Thread Tools Search this Thread Display Modes
    #1  
Old 09-16-2008
chris75 chris75 is offline
Registered User
 
Join Date: Sep 2008
Last Activity: 16 September 2008, 1:09 PM EDT
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
read position mouse cursor

Hi to all!
I'm a teacher of maths and physics in an italian high school in Milan, Italy.
I need a simple program that read the position of mouse cursor in function of time and write the coordinates in a text file. The time resolution have to be something like 1/10 sec or better (I have to know this parameter in advance). I can do that with a macro in labview but I can't buy that program. This work will be a part of physics lab in my classroom: we want to plot oscillation (in function of time) of a pendulum followed by an optical mouse.
thank you in advance for help!

Christian Bonfanti
Sponsored Links
    #2  
Old 09-24-2008
era era is offline Forum Advisor  
Herder of Useless Cats (On Sabbatical)
 
Join Date: Mar 2008
Last Activity: 28 March 2011, 6:41 AM EDT
Location: /there/is/only/bin/sh
Posts: 3,653
Thanks: 0
Thanked 10 Times in 8 Posts
It's probably better to use a modern framework such as Qt or GTK+ but Googling brought up a few half-promising links about raw X11 mouse coordinates.

http://www.soe.ucsc.edu/classes/cmps...ring99/prog1.c
X11 Programming - Ubuntu Forums
How to get mouse's position? - Qt Centre Forum

I don't know anything about X11 really but hopefully at least this is a start.
Sponsored Links
    #3  
Old 11-04-2008
daggilli daggilli is offline
Registered User
 
Join Date: Nov 2008
Last Activity: 5 November 2008, 10:52 AM EST
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Java

This is the complete code for a Qt application I threw together in about ten minutes (called crosshair) which displays the current mouse coordinates in a window. You might be able to pull enough out of it to be useful. This is Qt 3.1, but Qt 4 is not a great deal different. You will need the Qt development libraries, not just the runtimes. The code comprises two files, crosshair.h and crosshair.cpp.


crosshair.h:


Code:
#ifndef CROSSHAIR_H
#define CROSSHAIR_H
#include <qwidget.h>
#include <qstring.h>
#include <qlabel.h>
#include <qevent.h>

class Crosshair : public QLabel
{
Q_OBJECT

public:
    Crosshair(QWidget *parent=0);

protected:
    void mousePressEvent(QMouseEvent *);

private:
    QTimer         *timer;

private slots:
    void timerfire();
};

#endif

crosshair.cpp:


Code:
#include <qapplication.h>
#include <qpushbutton.h>
#include <qtimer.h>
#include <qcursor.h>
#include <iostream>
#include "crosshair.h"

using namespace std;

int main(int argc,char **argv)
{
    QApplication a(argc,argv);

    Crosshair mousepos;

    a.setMainWidget(&mousepos);
    mousepos.show();
    return a.exec();
}

Crosshair::Crosshair(QWidget *parent) : QLabel(parent)
{
    setIndent(20);
    resize(100,30);
    move(1200,200);
    setText("0,0");
    timer=new QTimer(this);
    connect(timer,SIGNAL(timeout()),this,SLOT(timerfire()));
    timer->start(50,false);
}

void Crosshair::mousePressEvent(QMouseEvent *)
{
    qApp->quit();
}

void Crosshair::timerfire()
{
    QPoint p=QCursor::pos();
    this->setText(QString().sprintf("%d,%d",p.x(),p.y()));
}

To build this, put both files in a directory called crosshair. cd to that directory and type

Code:
qmake -project
qmake
make

This does nothing more complex than inherit from a QLabel, set a timer to run 20x a second, grab the current cursor coordinates and write them into the label's text. Clicking in the window closes it. I use it for fixing up alignment bugs in JavaScript when I'm laying out objects.

You could open a file in the Crosshair class's constructor to store your data, and use gettimeofday(2) to get a timestamp. Nothing says Qt has to run in GUI mode (you can tell it explicitly not to in the QApplication constructor).

Qt from Trolltech: http://doc.trolltech.com
Sponsored Links
Closed Thread

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Getting the cursor position tinman47 Shell Programming and Scripting 3 09-15-2011 08:26 AM
ksh - moving cursor position cesarNZ Shell Programming and Scripting 1 10-01-2009 03:23 AM
Cursor position gefa UNIX for Dummies Questions & Answers 4 05-05-2009 05:21 PM
Cursor Global Position boogy Programming 3 02-12-2007 10:18 AM
Get the cursor position bestbuyernc Shell Programming and Scripting 0 07-27-2005 04:59 PM



All times are GMT -4. The time now is 09:33 AM.