mirror of
				https://codeberg.org/dwl/dwl.git
				synced 2025-11-03 09:01:45 -05:00 
			
		
		
		
	Added basic tap-to-click for touchpad users
This commit is contained in:
		
							parent
							
								
									bfbfe9f2b2
								
							
						
					
					
						commit
						4f1e557d3d
					
				
					 3 changed files with 11 additions and 1 deletions
				
			
		
							
								
								
									
										2
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -5,7 +5,7 @@ CFLAGS += -I. -DWLR_USE_UNSTABLE -std=c99 -Werror=declaration-after-statement
 | 
			
		|||
WAYLAND_PROTOCOLS=$(shell pkg-config --variable=pkgdatadir wayland-protocols)
 | 
			
		||||
WAYLAND_SCANNER=$(shell pkg-config --variable=wayland_scanner wayland-scanner)
 | 
			
		||||
 | 
			
		||||
PKGS = wlroots wayland-server xcb xkbcommon
 | 
			
		||||
PKGS = wlroots wayland-server xcb xkbcommon libinput
 | 
			
		||||
CFLAGS += $(foreach p,$(PKGS),$(shell pkg-config --cflags $(p)))
 | 
			
		||||
LDLIBS += $(foreach p,$(PKGS),$(shell pkg-config --libs $(p)))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,10 @@ static const struct xkb_rule_names xkb_rules = {
 | 
			
		|||
	.options = "ctrl:nocaps",
 | 
			
		||||
	*/
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Trackpad */
 | 
			
		||||
int tap_to_click = 1;
 | 
			
		||||
 | 
			
		||||
static const int repeat_rate = 25;
 | 
			
		||||
static const int repeat_delay = 600;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										6
									
								
								dwl.c
									
										
									
									
									
								
							
							
						
						
									
										6
									
								
								dwl.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -10,6 +10,7 @@
 | 
			
		|||
#include <sys/wait.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <libinput.h>
 | 
			
		||||
#include <wayland-server-core.h>
 | 
			
		||||
#include <wlr/backend.h>
 | 
			
		||||
#include <wlr/render/wlr_renderer.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -38,6 +39,7 @@
 | 
			
		|||
#include <wlr/types/wlr_xdg_decoration_v1.h>
 | 
			
		||||
#include <wlr/types/wlr_xdg_output_v1.h>
 | 
			
		||||
#include <wlr/types/wlr_xdg_shell.h>
 | 
			
		||||
#include <wlr/backend/libinput.h>
 | 
			
		||||
#include <wlr/util/log.h>
 | 
			
		||||
#include <xkbcommon/xkbcommon.h>
 | 
			
		||||
#ifdef XWAYLAND
 | 
			
		||||
| 
						 | 
				
			
			@ -970,6 +972,10 @@ createlayersurface(struct wl_listener *listener, void *data)
 | 
			
		|||
void
 | 
			
		||||
createpointer(struct wlr_input_device *device)
 | 
			
		||||
{
 | 
			
		||||
	struct libinput_device *libinput_device =  (struct libinput_device*)
 | 
			
		||||
			wlr_libinput_get_device_handle(device);
 | 
			
		||||
	if (tap_to_click && libinput_device_config_tap_get_finger_count(libinput_device))
 | 
			
		||||
		libinput_device_config_tap_set_enabled(libinput_device, LIBINPUT_CONFIG_TAP_ENABLED);
 | 
			
		||||
	/* We don't do anything special with pointers. All of our pointer handling
 | 
			
		||||
	 * is proxied through wlr_cursor. On another compositor, you might take this
 | 
			
		||||
	 * opportunity to do libinput configuration on the device to set
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue