void Qt5GLWidget::mouseReleaseEvent(QMouseEvent* event) { int x = event->x(); int y = m_height - event->y() - 1; switch (event->button()) { case Qt::LeftButton: mouseRelease(Left, x, y); if (!m_mouseDragged) mouseClick(Left, m_startX, m_startY); else mouseDragStop(Left, x, y); m_leftDown = false; break; case Qt::RightButton: mouseRelease(Right, x, y); if (!m_mouseDragged) mouseClick(Right, m_startX, m_startY); else mouseDragStop(Right, x, y); m_rightDown = false; break; case Qt::MiddleButton: mouseRelease(Middle, x, y); if (!m_mouseDragged) mouseClick(Middle, m_startX, m_startY); else mouseDragStop(Middle, x, y); m_middleDown = false; break; default: break; } m_mouseDragged = false; }
/* * Event: Mouse Double Click * Input: int left = 1, right = 2 * Input Error: return INPUT_ERROR */ int Event::mouseDClick(int left_or_right) { if(left_or_right == 1){ //left button click twice mouseClick(1); mouseClick(1); return 0; }else if(left_or_right == 2){ //rigth button click twice mouseClick(2); mouseClick(2); return 0; }else { return INPUT_ERROR; } }
bool Menu::mouseMove(int x, int y) { if (_menuActivated) if (mouseClick(x, y)) return true; return false; }
bool EditboxNoWrapView::mouseDragOther(int x, int) { //maybe pressing arrow, or sliding? if(leftarrow_state == 1) { scrollLeft(); return true; } if(rightarrow_state == 1) { scrollRight(); return true; } if(hbarstate == 1) { //fake a click //first, clip the coords int fakey = leftarrow_y+1; return mouseClick(x,fakey); } return false; }
bool EditboxVScrollView::mouseDrag(int x, int y) { int textheight; textheight = text_height(textfont); if(model->getSelection().isSelecting()) { return BasicEditboxView::mouseDrag(x,y); } else { //maybe pressing arrow, or sliding? if(toparrow_state == 1) { scrollUp(); return true; } if(bottomarrow_state == 1) { scrollDown(); return true; } if(barstate == 1) { //fake a click //first, clip the coords int fakex = toparrow_x+1; return mouseClick(fakex,y); } return mouseDragOther(x,y); } }
void spellButton::update() { if (mouseClick()) { messageBus::sharedMessageBus()->sendMessage(castSpellEvent(sName)); std::cout << "sent castSpell" << std::endl; } }
int Dialog::run() { bool shouldQuit = false; Common::Rect r(_bbox); _tempSurface.copyRectToSurface(_gui->_screen.getBasePtr(_bbox.left, _bbox.top), _gui->_screen.pitch, 0, 0, _bbox.width() + 1, _bbox.height() + 1); _gui->_wm.pushArrowCursor(); while (!shouldQuit) { Common::Event event; while (_gui->_engine->_eventMan->pollEvent(event)) { switch (event.type) { case Common::EVENT_QUIT: _gui->_engine->_shouldQuit = true; shouldQuit = true; break; case Common::EVENT_MOUSEMOVE: mouseMove(event.mouse.x, event.mouse.y); break; case Common::EVENT_LBUTTONDOWN: mouseClick(event.mouse.x, event.mouse.y); break; case Common::EVENT_LBUTTONUP: shouldQuit = mouseRaise(event.mouse.x, event.mouse.y); break; case Common::EVENT_KEYDOWN: switch (event.kbd.keycode) { case Common::KEYCODE_ESCAPE: _pressedButton = -1; shouldQuit = true; default: break; } break; default: break; } } if (_needsRedraw) paint(); g_system->updateScreen(); g_system->delayMillis(50); } _gui->_screen.copyRectToSurface(_tempSurface.getBasePtr(0, 0), _tempSurface.pitch, _bbox.left, _bbox.top, _bbox.width() + 1, _bbox.height() + 1); g_system->copyRectToScreen(_gui->_screen.getBasePtr(r.left, r.top), _gui->_screen.pitch, r.left, r.top, r.width() + 1, r.height() + 1); _gui->_wm.popCursor(); return _pressedButton; }
void QgsGrassEditTool::canvasPressEvent( QMouseEvent * event ) { QgsPoint point = toLayerCoordinates( e->layer(), event->pos() ); mouseClick( point, event->button() ); // Set last click e->mLastPoint = point; e->statusBar()->showMessage( e->mCanvasPrompt ); QgsDebugMsg( QString( "n_points = %1" ).arg( e->mEditPoints->n_points ) ); }
int DrawCanvas::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: draw((*reinterpret_cast< QPainter*(*)>(_a[1]))); break; case 1: mouseClick((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break; default: ; } _id -= 2; } return _id; }
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QMainWindow::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: keyPress((*reinterpret_cast< int(*)>(_a[1]))); break; case 1: doMouseLeftClick1(); break; case 2: doMouseLeftClick2(); break; case 3: mouseClick((*reinterpret_cast< int(*)>(_a[1]))); break; default: ; } _id -= 4; } return _id; }
void startGame() { GLFWwindow* Window = initWindow(); bool Clicked = false; GLuint VAO[2]; GLuint VBO[2]; GLuint LinesVBO[2]; glGenVertexArrays(2, VAO); CellList cellList = createCellList(); GLfloat* cellVertexArray = createCellVertexArray(cellVertexArray, cellList); GLfloat* cellColorArray = constructCellColorArray(cellColorArray, cellList, true); constructVO(VAO[0], VBO, cellVertexArray, cellColorArray); //constructLines(VAO[1], LinesVBO); createShaders(); glClearColor(1.0, 1.0, 1.0, 1.0); while (!glfwWindowShouldClose(Window)){ glClear(GL_COLOR_BUFFER_BIT); constructCellColorArray(cellColorArray, cellList, false); constructVO(VAO[0], VBO, cellVertexArray, cellColorArray); glBindVertexArray(VAO[0]); glDrawArrays(GL_TRIANGLES, 0, cellDim * cellDim * 12); glBindVertexArray(VAO[1]); //glDrawArrays(GL_LINES, 0, cellDim * 8); glfwSwapBuffers(Window); glfwWaitEvents(); if (glfwGetMouseButton(Window, GLFW_MOUSE_BUTTON_LEFT) == 1 && !Clicked){ Clicked = true; mouseClick(Window, cellList); } if (glfwGetMouseButton(Window, GLFW_MOUSE_BUTTON_LEFT) == 0 && Clicked) Clicked = false; } glfwDestroyWindow(Window); glfwTerminate(); }
int main(int argc, char** argv) { printf("Init\n"); //Open X Display Display *display = XOpenDisplay(NULL); assert(display != NULL); Window root = XDefaultRootWindow(display); char* eventName = "/dev/input/event2"; mouseMove(display, root, 0, 0); mouseClick(display, root, Button1); getInput(display, root, eventName); //Close the display XCloseDisplay(display); printf("You are awesome :) \n"); return EXIT_SUCCESS; }
int myView::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QGraphicsView::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: mouseOnScene(); break; case 1: mouseOutScene(); break; case 2: mouseMoving((*reinterpret_cast< float(*)>(_a[1])),(*reinterpret_cast< float(*)>(_a[2]))); break; case 3: mouseClick((*reinterpret_cast< float(*)>(_a[1])),(*reinterpret_cast< float(*)>(_a[2]))); break; case 4: mouseDoubleClick(); break; case 5: ameliorerItem(); break; case 6: vendreItem(); break; case 7: switchMouseMoving(); break; default: ; } _id -= 8; } return _id; }
int Dialog::processEventQueue() { bool hasMove = false; for (std::list<Events::Event>::const_iterator e = _eventQueue.begin(); e != _eventQueue.end(); ++e) { if (e->type == Events::kEventMouseMove) hasMove = true; else if (e->type == Events::kEventKeyDown) keyPressed(*e); else if (e->type == Events::kEventMouseDown) mouseClick(*e); } _eventQueue.clear(); if (hasMove) mouseMove(); return hasEnded() ? 1 : 0; }
void Keyboard::doKeyboard(unsigned char key, int x, int y, float solidZ, float transparentZ, float MAXZ, float MINZ, float ZINC, float WINPOSX, float WINPOSY) { _solidZ = solidZ; _transparentZ = transparentZ; _MAXZ = MAXZ; _MINZ = MINZ; _ZINC = ZINC; switch (key) { case 'a': case 'A': solidZ = MAXZ; transparentZ = MINZ; glutIdleFunc(animate); break; case 'r': case 'R': solidZ = MAXZ; transparentZ = MINZ; glutPostRedisplay(); break; case 27: exit(0); break; } std::cout << "_solidZ: " << _solidZ << "_transparentZ: " << _transparentZ << "_MAXZ: " << _MAXZ; Display *display = XOpenDisplay(0); Window root = DefaultRootWindow(display); XWarpPointer(display, None, root, 0, 0, 0, 0, WINPOSX+30, WINPOSY+30); mouseClick(Button1); XFlush(display); XCloseDisplay(display); }
VOID Combobox::MouseEventProc(MOUSE_EVENT_RECORD mer) { switch (mer.dwEventFlags) { case 0: if (mer.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED && mer.dwMousePosition.Y == 8 && mer.dwMousePosition.X > 22 && mer.dwMousePosition.X < 26) showList(); else if (mer.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED && mer.dwMousePosition.Y > 9 && mer.dwMousePosition.X > 8 && mer.dwMousePosition.X < 17) mouseClick(mer.dwMousePosition.Y); break; case MOUSE_MOVED: if (mer.dwMousePosition.Y > 9 && mer.dwMousePosition.Y < 15 && mer.dwMousePosition.X > 8 && mer.dwMousePosition.X < 17) { mouseMove(mer.dwMousePosition.Y); } break; default: //Nothing... break; } }
void XComp::mousePaste(){ mouseClick(Button3); }
void EventRecorder::redisplay(double t, double dt) { if (isRecording) { recordedEvents.push_back(Event(t, dt, TerrainNode::nextGroundHeightAtCamera)); } else if (isPlaying) { ostringstream s; bool replay = true; isPlaying = false; while (replay && lastPlayed < recordedEvents.size()) { Event e = recordedEvents[lastPlayed++]; switch (e.kind) { case Event::DISPLAY: t = e.display.t; dt = e.display.dt; TerrainNode::nextGroundHeightAtCamera = e.display.groundHeight; replay = false; break; case Event::MOUSE: mouseClick((button) e.e.arg1, (state) e.e.arg2, (modifier) e.e.m, e.e.arg3, e.e.arg4); savedX = e.e.arg3; savedY = e.e.arg4; break; case Event::MOTION: mouseMotion(e.e.arg1, e.e.arg2); savedX = e.e.arg1; savedY = e.e.arg2; break; case Event::PASSIVEMOTION: mousePassiveMotion(e.e.arg1, e.e.arg2); savedX = e.e.arg1; savedY = e.e.arg2; break; case Event::WHEEL: mouseWheel((wheel) e.e.arg1, (modifier) e.e.m, e.e.arg2, e.e.arg3); savedX = e.e.arg2; savedY = e.e.arg3; break; case Event::KEYBOARD: if (e.e.arg4 == 0) { keyTyped(e.e.arg1, (modifier) e.e.m, e.e.arg2, e.e.arg3); if (e.e.arg1 == 27) { ::exit(0); } } else { keyReleased(e.e.arg1, (modifier) e.e.m, e.e.arg2, e.e.arg3); } break; case Event::SPECIAL: if (e.e.arg4 == 0) { specialKey((key) e.e.arg1, (modifier) e.e.m, e.e.arg2, e.e.arg3); } else { specialKeyReleased((key) e.e.arg1, (modifier) e.e.m, e.e.arg2, e.e.arg3); } break; } } isPlaying = lastPlayed < recordedEvents.size(); } if (next != NULL) { next->redisplay(t, dt); } if (isPlaying) { ptr<FrameBuffer> fb = FrameBuffer::getDefault(); vec4<GLint> vp = fb->getViewport(); fb->setBlend(true, ADD, SRC_ALPHA, ONE_MINUS_SRC_ALPHA, ADD, ZERO, ONE); fb->setColorMask(true, true, true, false); fb->setDepthMask(false); fb->setStencilMask(0, 0); correctU->set(vec3f(0.f, 0.f, 1.f)); rescaleU->set(vec4f(2.0f * (float)(savedX + 0.5f * cursW) / vp.z - 1.0f, 2.0f * (float)(vp.w - savedY - 0.5f * cursH) / vp.w - 1.0f, cursW / (float)vp.z, cursH / (float)vp.w)); cursorSamplerU->set(cursor); fb->drawQuad(cursorProg); fb->setBlend(false); fb->setColorMask(true, true, true, true); fb->setDepthMask(true); fb->setStencilMask(0xFFFFFFFF,0xFFFFFFFF); } if (isPlaying && saveVideo) { int frameCount = 0; if (lastSavedEvent >= 0) { double prevTime = recordedEvents[lastSavedEvent].display.t; double curTime = recordedEvents[lastPlayed - 1].display.t; assert(recordedEvents[lastSavedEvent].kind == Event::DISPLAY && prevTime > 0.0); assert(recordedEvents[lastPlayed - 1].kind == Event::DISPLAY && curTime > 0.0); frameCount = int(floor(curTime / 40000.0) - floor(prevTime / 40000.0)); } // if the delay between two recorded frames is more than 1/25 of a second // the first one must be saved several times in the video to keep a video // framerate of 25 frames per second. for (int i = 0; i < frameCount; ++i) { char name[256]; sprintf(name, frames, lastSavedFrame++); saveFrame(name); } lastSavedEvent = lastPlayed - 1; } }
void getInput(Display *display, Window root, char* devName) { int fd, rd, i, root_x, root_y; struct input_event ev[64]; Window window_returned; int win_x, win_y; unsigned int mask_return; int prev_x, prev_y; int slots = 0; fd = open(devName, O_RDONLY); if(fd < 0) { printf("Error Opening device. Are you root?\n"); } while(1) { rd = read(fd, ev, sizeof(struct input_event) * 64); if(rd < (int) sizeof(struct input_event)) { printf("Error Reading Input"); } for(i = 0; i < rd / sizeof(struct input_event); i++) { if(ev[i].code >= 47 && ev[i].code <= 60) { //Get current pointer information XQueryPointer(display, root, &window_returned, &window_returned, &root_x, &root_y, &win_x, &win_y, &mask_return); int ii; //Fill the slots if(ev[i].code == ABS_MT_SLOT && (ev[i].value - slots) == 1){ slots++; printf("ADD SLOTS: %d\n",slots); } //X-Axis if(ev[i].code == ABS_MT_POSITION_X) { mouseMove(display, root, ev[i].value, root_y); prev_x = ev[i].value; } //Y-Axis if(ev[i].code == ABS_MT_POSITION_Y) { mouseMove(display, root, root_x, ev[i].value); prev_y = ev[i].value; } if(ev[i].code == ABS_MT_TRACKING_ID && ev[i].value == -1){ slots--; printf("REMOVE SLOTS: %d\n",slots); //We can click with one slot ;) /*if(slots == 0){ mouseClick(display, root, Button1); }*/ mouseClick(display, root, Button1); } } } } close(fd); }
int SDLApp::run() { Uint32 msec=0, last_msec=0, buffer_msec=0, total_msec = 0; frame_count = 0; fps_updater = 0; if(!appFinished) init(); msec = SDL_GetTicks(); last_msec = msec; while(!appFinished) { last_msec = msec; msec = SDL_GetTicks(); Uint32 delta_msec = msec - last_msec; // cant have delta ticks be 0 buffer_msec += delta_msec; if(buffer_msec < 1) { SDL_Delay(1); continue; } delta_msec = buffer_msec; buffer_msec =0; //determine time elapsed since last time we were here total_msec += delta_msec; float t = total_msec / 1000.0f; float dt = delta_msec / 1000.0f; fps_updater += delta_msec; //update framerate if a second has passed if (fps_updater >= 1000) { updateFramerate(); } //process new events SDL_Event event; while ( SDL_PollEvent(&event) ) { switch(event.type) { case SDL_QUIT: appFinished=true; break; case SDL_MOUSEMOTION: mouseMove(&event.motion); break; case SDL_MOUSEBUTTONDOWN: mouseClick(&event.button); break; case SDL_MOUSEBUTTONUP: mouseClick(&event.button); break; case SDL_KEYDOWN: keyPress(&event.key); break; case SDL_KEYUP: keyPress(&event.key); break; default: break; } } update(t, dt); //update display display.update(); frame_count++; } return return_code; }
void MouseClick::executeFinish(const QHash<QString, QVariant>& /*attrs*/) { if (!at_start) { mouseClick(); } }
void processCommand(const char *cmd) { int tmpx, tmpy, btn; float tmpInterval; UInt32 tmpkc; char str[CMD_STRING_MAXLEN]; bzero(str, CMD_STRING_MAXLEN); if (IS_CMD(cmd, "mouselocation")) { CGPoint cgLoc = mouseLoc(); printf("%.f %.f\n", cgLoc.x, cgLoc.y); } else if (IS_CMD(cmd, "mousewarp ")) { print_msg("Warping mouse to location."); sscanf(cmd, "mousewarp %d %d", &tmpx, &tmpy); mouseMove(tmpx, tmpy); } else if (IS_CMD(cmd, "mousemove ")) { print_msg("Moving mouse."); sscanf(cmd, "mousemove %d %d", &tmpx, &tmpy); mouseMoveTo(tmpx, tmpy, 0.7); } else if (IS_CMD(cmd, "mousedown")) { print_msg("Pressing mouse button."); sscanf(cmd, "mousedown %d", &btn); mousePress(btn, SINGLE_CLICK); } else if (IS_CMD(cmd, "mouseup")) { print_msg("Releasing mouse button."); sscanf(cmd, "mouseup %d", &btn); mouseRelease(btn, SINGLE_CLICK); } else if (IS_CMD(cmd, "mouseclick")) { print_msg("Clicking mouse."); sscanf(cmd, "mouseclick %d", &btn); mouseClick(btn, SINGLE_CLICK); } else if (IS_CMD(cmd, "mousedoubleclick")) { print_msg("Double-clicking mouse."); sscanf(cmd, "mousedoubleclick %d", &btn); mouseClick(btn, DOUBLE_CLICK); } else if (IS_CMD(cmd, "mousetripleclick")) { print_msg("Triple-clicking mouse."); sscanf(cmd, "mousetripleclick %d", &btn); mouseClick(btn, TRIPLE_CLICK); } else if (IS_CMD(cmd, "mousedrag ")) { print_msg("Dragging mouse."); sscanf(cmd, "mousedrag %d %d", &tmpx, &tmpy); mouseDrag(LEFT_MOUSE, tmpx, tmpy); } else if (IS_CMD(cmd, "press ")) { print_msg("Pressing key."); sscanf(cmd, "press %x", &tmpkc); keyPress((CGKeyCode)tmpkc, NULL); } else if (IS_CMD(cmd, "release ")) { print_msg("Releasing key."); sscanf(cmd, "release %x", &tmpkc); keyRelease((CGKeyCode)tmpkc, NULL); } else if (IS_CMD(cmd, "hit ")) { print_msg("Hitting key."); sscanf(cmd, "hit %x", &tmpkc); keyHit((CGKeyCode)tmpkc, NULL); } else if (IS_CMD(cmd, "type ")) { print_msg("Typing."); strncpy(str, &cmd[5], CMD_STRING_MAXLEN); typeString(str); } else if (IS_CMD(cmd, "wait")) { print_msg("Waiting."); sscanf(cmd, "wait %f", &tmpInterval); usleep(1000000 * tmpInterval); } else { print_msg("I don't know what you want to do."); } }
int SDLApp::run() { #ifdef USE_X11 SDLApp::initX11ClipboardEventFilter(); #endif Uint32 msec=0, last_msec=0, buffer_msec=0, total_msec = 0; frame_count = 0; fps_updater = 0; if(!appFinished) init(); msec = SDL_GetTicks(); last_msec = msec; while(!appFinished) { last_msec = msec; msec = SDL_GetTicks(); Uint32 delta_msec = msec - last_msec; // cant have delta ticks be less than 8ms buffer_msec += delta_msec; if(buffer_msec < min_delta_msec) { SDL_Delay(1); continue; } delta_msec = buffer_msec; buffer_msec =0; //determine time elapsed since last time we were here total_msec += delta_msec; float t = total_msec / 1000.0f; float dt = delta_msec / 1000.0f; fps_updater += delta_msec; //update framerate if a second has passed if (fps_updater >= 1000) { updateFramerate(); } //process new events SDL_Event event; while ( SDL_PollEvent(&event) ) { switch(event.type) { case SDL_QUIT: quit(); break; case SDL_MOUSEMOTION: mouseMove(&event.motion); break; #if SDL_VERSION_ATLEAST(1,3,0) case SDL_MOUSEWHEEL: mouseWheel(&event.wheel); break; case SDL_WINDOWEVENT: if(event.window.event == SDL_WINDOWEVENT_RESIZED) { resize(event.window.data1, event.window.data2); } break; #else case SDL_VIDEORESIZE: resize(event.resize.w, event.resize.h); break; #endif case SDL_MOUSEBUTTONDOWN: mouseClick(&event.button); break; case SDL_MOUSEBUTTONUP: mouseClick(&event.button); break; case SDL_KEYDOWN: keyPress(&event.key); break; case SDL_KEYUP: keyPress(&event.key); break; default: break; } } update(t, dt); //update display display.update(); frame_count++; } return return_code; }
void XComp::rightClick(){ mouseClick(Button3); }
int main(int argc, char **argv) { fprintf(stderr, "Launch the app BTMouse in your phone and connect with the PC! \n"); struct sockaddr_rc loc_addr = { 0 }, rem_addr = { 0 }; char buf[1024] = { 0 }; int s, client, bytes_read,flag=1; socklen_t opt = sizeof(rem_addr); // allocate socket s = socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM); // bind socket to port 1 of the first available // local bluetooth adapter loc_addr.rc_family = AF_BLUETOOTH; loc_addr.rc_bdaddr = *BDADDR_ANY; loc_addr.rc_channel = (uint8_t) 1; bind(s, (struct sockaddr *)&loc_addr, sizeof(loc_addr)); // put socket into listening mode listen(s, 1); // accept one connection client = accept(s, (struct sockaddr *)&rem_addr, &opt); ba2str( &rem_addr.rc_bdaddr, buf ); fprintf(stderr, "accepted connection from %s\n", buf); memset(buf, 0, sizeof(buf)); // initialise X components dpy = XOpenDisplay(0); root_window = XRootWindow(dpy, 0); XSelectInput(dpy, root_window, KeyReleaseMask); // read data from the client while(1){ bytes_read = read(client, buf, sizeof(buf)); if( bytes_read > 0 ) { //if(flag==1){ printf("%s \n", buf); //flag=2;} switch(buf[0]){ case 'l': mouseClick(1); break; case 'r': mouseClick(3); break; case '(': act(buf); break; }} else { } } // close connection close(client); close(s); //move(100,100); //refresh(); return 0; }
void XComp::scrollDown(){ mouseClick(Button5); }
void ThumbnailStrip::mousePressEvent(QMouseEvent *event) { emit(mouseClick(event)); }
void XComp::mouseClick(){ mouseClick(Button1); }
void click() { mouseClick(Button1); }
void XComp::scrollUp(){ mouseClick(Button4); }