mirror of
				https://github.com/DreamMaoMao/maomaowm.git
				synced 2025-11-03 09:01:47 -05:00 
			
		
		
		
	feat: add option to disable trackpad
This commit is contained in:
		
							parent
							
								
									7f314254f3
								
							
						
					
					
						commit
						dadbccbac0
					
				
					 4 changed files with 12 additions and 0 deletions
				
			
		| 
						 | 
					@ -89,6 +89,7 @@ xkb_rules_layout=us
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Trackpad 
 | 
					# Trackpad 
 | 
				
			||||||
# need relogin to make it apply
 | 
					# need relogin to make it apply
 | 
				
			||||||
 | 
					disable_trackpad=0
 | 
				
			||||||
tap_to_click=1
 | 
					tap_to_click=1
 | 
				
			||||||
tap_and_drag=1
 | 
					tap_and_drag=1
 | 
				
			||||||
drag_lock=1
 | 
					drag_lock=1
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -192,6 +192,7 @@ typedef struct {
 | 
				
			||||||
	unsigned int numlockon;
 | 
						unsigned int numlockon;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Trackpad */
 | 
						/* Trackpad */
 | 
				
			||||||
 | 
						int disable_trackpad;
 | 
				
			||||||
	int tap_to_click;
 | 
						int tap_to_click;
 | 
				
			||||||
	int tap_and_drag;
 | 
						int tap_and_drag;
 | 
				
			||||||
	int drag_lock;
 | 
						int drag_lock;
 | 
				
			||||||
| 
						 | 
					@ -1101,6 +1102,8 @@ void parse_config_line(Config *config, const char *line) {
 | 
				
			||||||
		config->repeat_rate = atoi(value);
 | 
							config->repeat_rate = atoi(value);
 | 
				
			||||||
	} else if (strcmp(key, "repeat_delay") == 0) {
 | 
						} else if (strcmp(key, "repeat_delay") == 0) {
 | 
				
			||||||
		config->repeat_delay = atoi(value);
 | 
							config->repeat_delay = atoi(value);
 | 
				
			||||||
 | 
						} else if (strcmp(key, "disable_trackpad") == 0) {
 | 
				
			||||||
 | 
							config->disable_trackpad = atoi(value);
 | 
				
			||||||
	} else if (strcmp(key, "tap_to_click") == 0) {
 | 
						} else if (strcmp(key, "tap_to_click") == 0) {
 | 
				
			||||||
		config->tap_to_click = atoi(value);
 | 
							config->tap_to_click = atoi(value);
 | 
				
			||||||
	} else if (strcmp(key, "tap_and_drag") == 0) {
 | 
						} else if (strcmp(key, "tap_and_drag") == 0) {
 | 
				
			||||||
| 
						 | 
					@ -2111,6 +2114,7 @@ void override_config(void) {
 | 
				
			||||||
	numlockon = CLAMP_INT(config.numlockon, 0, 1);
 | 
						numlockon = CLAMP_INT(config.numlockon, 0, 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// 触控板设置
 | 
						// 触控板设置
 | 
				
			||||||
 | 
						disable_trackpad = CLAMP_INT(config.disable_trackpad, 0, 1);
 | 
				
			||||||
	tap_to_click = CLAMP_INT(config.tap_to_click, 0, 1);
 | 
						tap_to_click = CLAMP_INT(config.tap_to_click, 0, 1);
 | 
				
			||||||
	tap_and_drag = CLAMP_INT(config.tap_and_drag, 0, 1);
 | 
						tap_and_drag = CLAMP_INT(config.tap_and_drag, 0, 1);
 | 
				
			||||||
	drag_lock = CLAMP_INT(config.drag_lock, 0, 1);
 | 
						drag_lock = CLAMP_INT(config.drag_lock, 0, 1);
 | 
				
			||||||
| 
						 | 
					@ -2248,6 +2252,7 @@ void set_value_default() {
 | 
				
			||||||
	config.repeat_delay = repeat_delay;
 | 
						config.repeat_delay = repeat_delay;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Trackpad */
 | 
						/* Trackpad */
 | 
				
			||||||
 | 
						config.disable_trackpad = disable_trackpad;
 | 
				
			||||||
	config.tap_to_click = tap_to_click;
 | 
						config.tap_to_click = tap_to_click;
 | 
				
			||||||
	config.tap_and_drag = tap_and_drag;
 | 
						config.tap_and_drag = tap_and_drag;
 | 
				
			||||||
	config.drag_lock = drag_lock;
 | 
						config.drag_lock = drag_lock;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -119,6 +119,7 @@ int repeat_rate = 25;
 | 
				
			||||||
int repeat_delay = 600;
 | 
					int repeat_delay = 600;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Trackpad */
 | 
					/* Trackpad */
 | 
				
			||||||
 | 
					int disable_trackpad = 0;
 | 
				
			||||||
int tap_to_click = 1;
 | 
					int tap_to_click = 1;
 | 
				
			||||||
int tap_and_drag = 1;
 | 
					int tap_and_drag = 1;
 | 
				
			||||||
int drag_lock = 1;
 | 
					int drag_lock = 1;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2961,6 +2961,11 @@ void createpointer(struct wlr_pointer *pointer) {
 | 
				
			||||||
	if (wlr_input_device_is_libinput(&pointer->base) &&
 | 
						if (wlr_input_device_is_libinput(&pointer->base) &&
 | 
				
			||||||
		(device = wlr_libinput_get_device_handle(&pointer->base))) {
 | 
							(device = wlr_libinput_get_device_handle(&pointer->base))) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (libinput_device_config_tap_get_finger_count(device) &&
 | 
				
			||||||
 | 
								disable_trackpad) {
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (libinput_device_config_tap_get_finger_count(device)) {
 | 
							if (libinput_device_config_tap_get_finger_count(device)) {
 | 
				
			||||||
			libinput_device_config_tap_set_enabled(device, tap_to_click);
 | 
								libinput_device_config_tap_set_enabled(device, tap_to_click);
 | 
				
			||||||
			libinput_device_config_tap_set_drag_enabled(device, tap_and_drag);
 | 
								libinput_device_config_tap_set_drag_enabled(device, tap_and_drag);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue