/** * Special function for sending double clicks, needed for Mac OS X. * @param button Button to click. */ void doubleClick(MMMouseButton button) { #if defined(IS_MACOSX) /* Double click for Mac. */ const CGPoint currentPos = CGPointFromMMPoint(getMousePos()); const CGEventType mouseTypeDown = MMMouseToCGEventType(true, button); const CGEventType mouseTypeUP = MMMouseToCGEventType(false, button); CGEventRef event = CGEventCreateMouseEvent(NULL, mouseTypeDown, currentPos, kCGMouseButtonLeft); /* Set event to double click. */ CGEventSetIntegerValueField(event, kCGMouseEventClickState, 2); CGEventPost(kCGHIDEventTap, event); CGEventSetType(event, mouseTypeUP); CGEventPost(kCGHIDEventTap, event); CFRelease(event); #else /* Double click for everything else. */ clickMouse(button); microsleep(200); clickMouse(button); #endif }
void parsing(char* buf,char* x,char* y,char* z) { if (buf[0] == 'L') clickMouse(1); else if (buf[0] == 'R') clickMouse(3); int i=0; int idx=0; cleararr(x); cleararr(y); cleararr(z); i=0; while(buf[idx]!=' ') { x[i]=buf[idx]; i++; idx++; } i=0; idx++; while(buf[idx]!=' ') { y[i]=buf[idx]; i++; idx++; } i=0; idx++; while(buf[idx]!=' ') { z[i]=buf[idx]; i++; idx++; } printf("pa----- %s %s %s \n ",x,y,z); }
static PyObject *mouse_click(PyObject *self, PyObject *args) { MMMouseButton button = LEFT_BUTTON; if (!PyArg_ParseTuple(args, "|I", &button)) return NULL; if (!MMMouseButtonIsValid(button)) { PyErr_SetString(PyExc_ValueError, "Invalid mouse button"); return NULL; } clickMouse(button); Py_RETURN_NONE; }
P( MOVE | RL, SEND(KC_UP)); P( MOVE | RT, SEND(KC_RIGHT)); P( MOVE | ST3, SEND(KC_PGUP)); P( MOVE | ST4, SEND(KC_PGDN)); // Media Layer P( MEDIA | RF, SEND(KC_MPRV)); P( MEDIA | RP, SEND(KC_MPLY)); P( MEDIA | RL, SEND(KC_MPLY)); P( MEDIA | RT, SEND(KC_MNXT)); P( MEDIA | RD, SEND(KC_VOLU)); P( MEDIA | RZ, SEND(KC_VOLD)); P( MEDIA | RS, SEND(KC_MUTE)); // Mouse Keys P( LP | LH, clickMouse(KC_MS_BTN1)); P( LW | LR, clickMouse(KC_MS_BTN2)); // Number Row P( NUM | LSU, SEND(KC_1)); P( NUM | LFT, SEND(KC_2)); P( NUM | LP, SEND(KC_3)); P( NUM | LH, SEND(KC_4)); P( NUM | ST1, SEND(KC_5)); P( NUM | ST3, SEND(KC_6)); P( NUM | RF, SEND(KC_7)); P( NUM | RP, SEND(KC_8)); P( NUM | RL, SEND(KC_9)); P( NUM | RT, SEND(KC_0)); P( NUM | LA, SEND(KC_5)); P( NUM | RT, SEND(KC_0));
static void on_button1_clicked(GtkButton* button, gpointer data) { /* cast the data back to a char* */ char* txt = (char*)data; /*button activate*/ gtk_widget_set_sensitive(button1, FALSE); gtk_widget_set_sensitive(button2, TRUE); buttonflag = 1; while(buttonflag == 1) { memset(&readbuf, 0, MAXBUF); //make server socket if((ssock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { perror("Failed to make socket discriptor"); exit(1); } clen = sizeof(client_addr); //setting address structure memset(&server_addr, 0, sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_addr.s_addr = htonl(INADDR_ANY); server_addr.sin_port = htons(9999); //binding if(bind(ssock, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) { perror("Failed to binding server socket"); exit(1); } //wait for client if(listen(ssock, 8) <0 ) { perror("listen error : "); exit(1); } while(1) { csock = accept(ssock, (struct sockaddr *)&client_addr, &clen); i++; //if(write(csock, buf, MAXBUF) <= 0) // perror("Writing error : "); if(read(csock, readbuf, MAXBUF) < 0) perror("Reading error : "); fprintf(stderr, "[client] %s\n", readbuf); result=parsing(readbuf,x,y,z); if(result == 888) clickMouse(1); if(result == 999) clickMouse(3); if(result != 999){ scaledata(x); scaledata(y); scaledata(z); //printf("sa----- %s %s %s\n ",x,y,z); MoveMouse(z,x); } close(csock); } } printf("open_button_clicked - '%s'\n", txt); fflush(stdout); }