MCPcopy Create free account
hub / github.com/MaaXYZ/MaaFramework / pointer

Method pointer

source/MaaWlRootsControlUnit/Client/WaylandClient.cpp:269–305  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

267}
268
269bool WaylandClient::pointer(EventPhase phase, int x, int y, int contact)
270{
271 if (!connected_) {
272 return false;
273 }
274
275 const uint32_t event_time = WaylandHelper::get_ms();
276
277 int btn = BTN_LEFT;
278 switch (contact) {
279 case 1:
280 btn = BTN_RIGHT;
281 break;
282 case 2:
283 btn = BTN_MIDDLE;
284 break;
285 case 0:
286 default:;
287 }
288
289 switch (phase) {
290 case EventPhase::Began:
291 zwlr_virtual_pointer_v1_motion_absolute(pointer_.get(), event_time, x, y, screen_size_.first, screen_size_.second);
292 zwlr_virtual_pointer_v1_button(pointer_.get(), event_time, btn, WL_POINTER_BUTTON_STATE_PRESSED);
293 break;
294 case EventPhase::Moved:
295 zwlr_virtual_pointer_v1_motion_absolute(pointer_.get(), event_time, x, y, screen_size_.first, screen_size_.second);
296 break;
297 case EventPhase::Ended:
298 zwlr_virtual_pointer_v1_button(pointer_.get(), event_time, btn, WL_POINTER_BUTTON_STATE_RELEASED);
299 break;
300 default:;
301 }
302
303 zwlr_virtual_pointer_v1_frame(pointer_.get());
304 return process_requests();
305}
306
307bool WaylandClient::relative_move(int dx, int dy)
308{

Callers 15

set_inferenceMethod · 0.80
get_latest_nodeMethod · 0.80
get_action_detailMethod · 0.80
get_node_detailMethod · 0.80
get_task_detailMethod · 0.80
set_save_drawMethod · 0.80
set_stdout_levelMethod · 0.80
set_debug_modeMethod · 0.80
set_save_on_errorMethod · 0.80
set_draw_qualityMethod · 0.80

Calls 4

getMethod · 0.45

Tested by

no test coverage detected