input/cursor: don't apply pointer constraint to emulated tablet input
Closes #5268.
This commit is contained in:
		
							parent
							
								
									a8a6ed667d
								
							
						
					
					
						commit
						2262ae60f4
					
				
					 1 changed files with 7 additions and 4 deletions
				
			
		|  | @ -292,16 +292,19 @@ void cursor_unhide(struct sway_cursor *cursor) { | |||
| static void pointer_motion(struct sway_cursor *cursor, uint32_t time_msec, | ||||
| 		struct wlr_input_device *device, double dx, double dy, | ||||
| 		double dx_unaccel, double dy_unaccel) { | ||||
| 	cursor_handle_activity(cursor, IDLE_SOURCE_POINTER); | ||||
| 	if (device->type == WLR_INPUT_DEVICE_POINTER) { | ||||
| 		cursor_handle_activity(cursor, IDLE_SOURCE_POINTER); | ||||
| 	} | ||||
| 
 | ||||
| 	wlr_relative_pointer_manager_v1_send_relative_motion( | ||||
| 		server.relative_pointer_manager, | ||||
| 		cursor->seat->wlr_seat, (uint64_t)time_msec * 1000, | ||||
| 		dx, dy, dx_unaccel, dy_unaccel); | ||||
| 
 | ||||
| 	struct wlr_surface *surface = NULL; | ||||
| 	double sx, sy; | ||||
| 	if (cursor->active_constraint) { | ||||
| 	// Only apply pointer constraints to real pointer input.
 | ||||
| 	if (cursor->active_constraint && device->type == WLR_INPUT_DEVICE_POINTER) { | ||||
| 		struct wlr_surface *surface = NULL; | ||||
| 		double sx, sy; | ||||
| 		node_at_coords(cursor->seat, | ||||
| 			cursor->cursor->x, cursor->cursor->y, &surface, &sx, &sy); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue