mirror of
				https://gitlab.freedesktop.org/wlroots/wlroots.git
				synced 2025-11-03 09:01:40 -05:00 
			
		
		
		
	Merge pull request #271 from thejan2009/issue/double-scrollwheel
Fix duplicated pointer axis events
This commit is contained in:
		
						commit
						2b09105bde
					
				
					 2 changed files with 12 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -128,7 +128,7 @@ void handle_pointer_axis(struct libinput_event *event,
 | 
			
		|||
			}
 | 
			
		||||
			wlr_event.delta = libinput_event_pointer_get_axis_value(
 | 
			
		||||
					pevent, axies[i]);
 | 
			
		||||
			wl_signal_emit(&wlr_dev->pointer->events.axis, &wlr_event);
 | 
			
		||||
		}
 | 
			
		||||
		wl_signal_emit(&wlr_dev->pointer->events.axis, &wlr_event);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,8 +63,7 @@ static bool handle_x11_event(struct wlr_x11_backend *x11, xcb_generic_event_t *e
 | 
			
		|||
		x11->time = ev->time;
 | 
			
		||||
		break;
 | 
			
		||||
	}
 | 
			
		||||
	case XCB_BUTTON_PRESS:
 | 
			
		||||
	case XCB_BUTTON_RELEASE: {
 | 
			
		||||
	case XCB_BUTTON_PRESS: {
 | 
			
		||||
		xcb_button_press_event_t *ev = (xcb_button_press_event_t *)event;
 | 
			
		||||
 | 
			
		||||
		if (ev->detail == XCB_BUTTON_INDEX_4 ||
 | 
			
		||||
| 
						 | 
				
			
			@ -79,7 +78,16 @@ static bool handle_x11_event(struct wlr_x11_backend *x11, xcb_generic_event_t *e
 | 
			
		|||
				.delta = delta,
 | 
			
		||||
			};
 | 
			
		||||
			wl_signal_emit(&x11->pointer.events.axis, &axis);
 | 
			
		||||
		} else {
 | 
			
		||||
			x11->time = ev->time;
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	/* fallthrough */
 | 
			
		||||
	case XCB_BUTTON_RELEASE: {
 | 
			
		||||
		xcb_button_press_event_t *ev = (xcb_button_press_event_t *)event;
 | 
			
		||||
 | 
			
		||||
		if (ev->detail != XCB_BUTTON_INDEX_4 &&
 | 
			
		||||
				ev->detail != XCB_BUTTON_INDEX_5) {
 | 
			
		||||
			struct wlr_event_pointer_button button = {
 | 
			
		||||
				.device = &x11->pointer_dev,
 | 
			
		||||
				.time_sec = ev->time / 1000,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue