~ruther/dwl

b6a3891ce6eeef0167c55acc0e89236572c1ae42 — Devin J. Pohly 4 years ago a42613d + 7ad14a9
Merge pull request #62 from Java-boi/master

Added basic tap-to-click for touchpad users
3 files changed, 17 insertions(+), 1 deletions(-)

M Makefile
M config.def.h
M dwl.c
M Makefile => Makefile +1 -1
@@ 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)))


M config.def.h => config.def.h +5 -0
@@ 41,6 41,11 @@ static const struct xkb_rule_names xkb_rules = {
	.options = "ctrl:nocaps",
	*/
};

/* Trackpad */
int tap_to_click = 1;
int natural_scrolling = 1;

static const int repeat_rate = 25;
static const int repeat_delay = 600;


M dwl.c => dwl.c +11 -0
@@ 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,15 @@ 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);

	if (libinput_device_config_scroll_has_natural_scroll(libinput_device))
		libinput_device_config_scroll_set_natural_scroll_enabled(libinput_device, natural_scrolling);

	/* 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

Do not follow this link