Added basic tap-to-click for touchpad users
This commit is contained in:
		
							
								
								
									
										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> | ||||
| @@ -33,6 +34,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 | ||||
| @@ -603,6 +605,10 @@ createnotify(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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user