Source Code File 14-04_bclick
14-04_bclick.c
#include <ncurses.h> int main() { MEVENT mort; int ch; initscr(); noecho(); keypad(stdscr,TRUE); mousemask(ALL_MOUSE_EVENTS,NULL); while(1) { ch = getch(); if( ch == KEY_MOUSE ) { clear(); getmouse(&mort); switch(mort.bstate) { case BUTTON1_PRESSED: mvaddstr(0,0,"B1 Press"); break; case BUTTON1_RELEASED: mvaddstr(1,0,"B1 Release"); break; case BUTTON1_CLICKED: mvaddstr(2,0,"B1 Click"); break; case BUTTON1_DOUBLE_CLICKED: mvaddstr(3,0,"B1 2xClick"); break; case BUTTON2_PRESSED: mvaddstr(0,20,"B2 Press"); break; case BUTTON2_RELEASED: mvaddstr(1,20,"B2 Release"); break; case BUTTON2_CLICKED: mvaddstr(2,20,"B2 Click"); break; case BUTTON2_DOUBLE_CLICKED: mvaddstr(3,40,"B2 2xClick"); break; case BUTTON3_PRESSED: mvaddstr(0,40,"B3 Press"); break; case BUTTON3_RELEASED: mvaddstr(1,40,"B3 Release"); break; case BUTTON3_CLICKED: mvaddstr(2,40,"B3 Click"); break; case BUTTON3_DOUBLE_CLICKED: mvaddstr(3,40,"B3 2xClick"); break; default: break; } refresh(); continue; } if( ch == '\n' ) break; } endwin(); return(0); }
Output Screenshot
Notes
* Output depends on what you click.
* As opposed to clicking, press the mouse button, then release. You see output similar to the screenshot animation shown above.
Copyright © 1997-2024 by QPBC.
All rights reserved