mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	config: remove duplication in libinput-category parsing
Related-to: #1382
This commit is contained in:
		
							parent
							
								
									aff673bee4
								
							
						
					
					
						commit
						5337eda242
					
				
					 3 changed files with 21 additions and 8 deletions
				
			
		| 
						 | 
					@ -7,6 +7,9 @@
 | 
				
			||||||
#include <wayland-server-core.h>
 | 
					#include <wayland-server-core.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum device_type {
 | 
					enum device_type {
 | 
				
			||||||
 | 
						LAB_LIBINPUT_DEVICE_NONE = 0,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// FIXME: Rename the entries below with a LAB_LIBINPUT_ prefix
 | 
				
			||||||
	DEFAULT_DEVICE,
 | 
						DEFAULT_DEVICE,
 | 
				
			||||||
	TOUCH_DEVICE,
 | 
						TOUCH_DEVICE,
 | 
				
			||||||
	TOUCHPAD_DEVICE,
 | 
						TOUCHPAD_DEVICE,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,7 +26,10 @@ libinput_category_init(struct libinput_category *l)
 | 
				
			||||||
enum device_type
 | 
					enum device_type
 | 
				
			||||||
get_device_type(const char *s)
 | 
					get_device_type(const char *s)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (!s) {
 | 
						if (!s || !*s) {
 | 
				
			||||||
 | 
							return LAB_LIBINPUT_DEVICE_NONE;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if (!strcasecmp(s, "default")) {
 | 
				
			||||||
		return DEFAULT_DEVICE;
 | 
							return DEFAULT_DEVICE;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (!strcasecmp(s, "touch")) {
 | 
						if (!strcasecmp(s, "touch")) {
 | 
				
			||||||
| 
						 | 
					@ -38,7 +41,7 @@ get_device_type(const char *s)
 | 
				
			||||||
	if (!strcasecmp(s, "non-touch")) {
 | 
						if (!strcasecmp(s, "non-touch")) {
 | 
				
			||||||
		return NON_TOUCH_DEVICE;
 | 
							return NON_TOUCH_DEVICE;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return DEFAULT_DEVICE;
 | 
						return LAB_LIBINPUT_DEVICE_NONE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct libinput_category *
 | 
					struct libinput_category *
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -460,12 +460,19 @@ fill_libinput_category(char *nodename, char *content)
 | 
				
			||||||
	string_truncate_at_pattern(nodename, ".device.libinput");
 | 
						string_truncate_at_pattern(nodename, ".device.libinput");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!strcmp(nodename, "category")) {
 | 
						if (!strcmp(nodename, "category")) {
 | 
				
			||||||
		if (!strcmp(content, "touch")
 | 
							/*
 | 
				
			||||||
				|| !strcmp(content, "touchpad")
 | 
							 * First we try to get a type based on a number of pre-defined
 | 
				
			||||||
				|| !strcmp(content, "non-touch")
 | 
							 * terms, for example: 'default', 'touch', 'touchpad' and
 | 
				
			||||||
				|| !strcmp(content, "default")) {
 | 
							 * 'non-touch'
 | 
				
			||||||
 | 
							 */
 | 
				
			||||||
		current_libinput_category->type = get_device_type(content);
 | 
							current_libinput_category->type = get_device_type(content);
 | 
				
			||||||
		} else {
 | 
					
 | 
				
			||||||
 | 
							/*
 | 
				
			||||||
 | 
							 * If we couldn't match against any of those terms, we use the
 | 
				
			||||||
 | 
							 * provided value to define the device name that the settings
 | 
				
			||||||
 | 
							 * should be applicable to.
 | 
				
			||||||
 | 
							 */
 | 
				
			||||||
 | 
							if (current_libinput_category->type == LAB_LIBINPUT_DEVICE_NONE) {
 | 
				
			||||||
			current_libinput_category->name = xstrdup(content);
 | 
								current_libinput_category->name = xstrdup(content);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	} else if (!strcasecmp(nodename, "naturalScroll")) {
 | 
						} else if (!strcasecmp(nodename, "naturalScroll")) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue