⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ts_config.c

📁 是一个触摸屏的库,它提供诸如去抖/滤波/校准之类的功能,为不同的触摸屏提供了统一的接口.
💻 C
字号:
/* *  tslib/src/ts_config.c * *  Copyright (C) 2001 Russell King. * * This file is placed under the LGPL.  Please see the file * COPYING for more details. * * $Id: ts_config.c,v 1.3 2002/07/01 23:02:57 dlowder Exp $ * * Read the configuration and load the appropriate drivers. */#include "config.h"#include <stdio.h>#include <string.h>#include "tslib-private.h"struct opt {	const char *str;	int (*fn)(struct tsdev *ts, char *rest);};static int ts_opt_module(struct tsdev *ts, char *rest){	char *tok = strsep(&rest, " \t");	return ts_load_module(ts, tok, rest);}static struct opt options[] = {	{ "module", ts_opt_module },};#define NR_OPTS (sizeof(options) / sizeof(options[0]))int ts_config(struct tsdev *ts){	char buf[80], *p;	FILE *f;	int line = 0, ret = 0;	char *conffile;	if( (conffile = getenv("TSLIB_CONFFILE")) != NULL) {		f = fopen(conffile,"r");	} else {		f = fopen(TS_CONF, "r");	}	if (!f)		return -1;	while ((p = fgets(buf, sizeof(buf), f)) != NULL && ret == 0) {		struct opt *opt;		char *e, *tok;		line++;		/*		 * Did we read a whole line?		 */		e = strchr(p, '\n');		if (!e) {			ts_error("%d: line too long", line);			break;		}		/*		 * Chomp.		 */		*e = '\0';		tok = strsep(&p, " \t");		/*		 * Ignore comments or blank lines.		 */		if (!tok || *tok == '#')			continue;		/*		 * Search for the option.		 */		for (opt = options; opt < options + NR_OPTS; opt++)			if (strcasecmp(tok, opt->str) == 0) {				ret = opt->fn(ts, p);				break;			}		if (opt == options + NR_OPTS) {			ts_error("%d: option `%s' not recognised", line, tok);			ret = -1;		}	}	fclose(f);	return ret;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -