in reply to Detecting Mouse Clicks (GPI Trigger)

Captain,

In addition to GPM, if your interested in doing some c coding (and you're on linux), you could wrap parts of svgalib with inline. There is a Linux::Svgalib on CPAN but I don't think the author encapsulated the mouse api.

update: just for fun here's a simple inline script that uses svgalib to capture and report on mouse clicks. caveat hackour - your mouse inits may be different, you need to run as root, need to run on console (may drastically interfere with X), etc, etc, etc ...

#!/usr/bin/perl use Inline C => DATA => LIBS => '-lvga'; mouse_start(); mouse_loop(); __END__ __C__ #include <vga.h> #include <vgamouse.h> int mouse_start( ) { vga_init(); vga_setmousesupport(1); mouse_init("/dev/mouse", MOUSE_IMPS2, MOUSE_DEFAULTSAMPLERATE); } int mouse_loop( ) { int button, leftpressed, middlepressed, rightpressed; leftpressed = middlepressed = rightpressed = 0; for (;;) { mouse_update(); button = mouse_getbutton(); if (button & MOUSE_LEFTBUTTON) { if (!leftpressed) { printf( "LEFT PRESSED!\n" ); leftpressed = 1; } } else leftpressed = 0; if (button & MOUSE_MIDDLEBUTTON) { if (!middlepressed) { printf( "MIDDLE PRESSED!\n" ); middlepressed = 1; } } else middlepressed = 0; if (button & MOUSE_RIGHTBUTTON) { if (!rightpressed) { printf( "RIGHT PRESSED!\n" ); rightpressed = 1; } } else rightpressed = 0; } }

-derby