亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dvb-usb-remote.c

?? 底層驅動開發
?? C
字號:
/* dvb-usb-remote.c is part of the DVB USB library. * * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@desy.de) * see dvb-usb-init.c for copyright information. * * This file contains functions for initializing the the input-device and for handling remote-control-queries. */#include "dvb-usb-common.h"/* Remote-control poll function - called every dib->rc_query_interval ms to see * whether the remote control has received anything. * * TODO: Fix the repeat rate of the input device. */static void dvb_usb_read_remote_control(void *data){	struct dvb_usb_device *d = data;	u32 event;	int state;	/* TODO: need a lock here.  We can simply skip checking for the remote control	   if we're busy. */	/* when the parameter has been set to 1 via sysfs while the driver was running */	if (dvb_usb_disable_rc_polling)		return;	if (d->props.rc_query(d,&event,&state)) {		err("error while querying for an remote control event.");		goto schedule;	}	switch (state) {		case REMOTE_NO_KEY_PRESSED:			break;		case REMOTE_KEY_PRESSED:			deb_rc("key pressed\n");			d->last_event = event;		case REMOTE_KEY_REPEAT:			deb_rc("key repeated\n");			input_event(&d->rc_input_dev, EV_KEY, d->last_event, 1);			input_event(&d->rc_input_dev, EV_KEY, d->last_event, 0);			input_sync(&d->rc_input_dev);			break;		default:			break;	}/* improved repeat handling ???	switch (state) {		case REMOTE_NO_KEY_PRESSED:			deb_rc("NO KEY PRESSED\n");			if (d->last_state != REMOTE_NO_KEY_PRESSED) {				deb_rc("releasing event %d\n",d->last_event);				input_event(&d->rc_input_dev, EV_KEY, d->last_event, 0);				input_sync(&d->rc_input_dev);			}			d->last_state = REMOTE_NO_KEY_PRESSED;			d->last_event = 0;			break;		case REMOTE_KEY_PRESSED:			deb_rc("KEY PRESSED\n");			deb_rc("pressing event %d\n",event);			input_event(&d->rc_input_dev, EV_KEY, event, 1);			input_sync(&d->rc_input_dev);			d->last_event = event;			d->last_state = REMOTE_KEY_PRESSED;			break;		case REMOTE_KEY_REPEAT:			deb_rc("KEY_REPEAT\n");			if (d->last_state != REMOTE_NO_KEY_PRESSED) {				deb_rc("repeating event %d\n",d->last_event);				input_event(&d->rc_input_dev, EV_KEY, d->last_event, 2);				input_sync(&d->rc_input_dev);				d->last_state = REMOTE_KEY_REPEAT;			}		default:			break;	}*/schedule:	schedule_delayed_work(&d->rc_query_work,msecs_to_jiffies(d->props.rc_interval));}int dvb_usb_remote_init(struct dvb_usb_device *d){	int i;	if (d->props.rc_key_map == NULL ||		d->props.rc_query == NULL ||		dvb_usb_disable_rc_polling)		return 0;	/* Initialise the remote-control structures.*/	init_input_dev(&d->rc_input_dev);	d->rc_input_dev.evbit[0] = BIT(EV_KEY);	d->rc_input_dev.keycodesize = sizeof(unsigned char);	d->rc_input_dev.keycodemax = KEY_MAX;	d->rc_input_dev.name = "IR-receiver inside an USB DVB receiver";	/* set the bits for the keys */	deb_rc("key map size: %d\n",d->props.rc_key_map_size);	for (i = 0; i < d->props.rc_key_map_size; i++) {		deb_rc("setting bit for event %d item %d\n",d->props.rc_key_map[i].event, i);		set_bit(d->props.rc_key_map[i].event, d->rc_input_dev.keybit);	}	/* Start the remote-control polling. */	if (d->props.rc_interval < 40)		d->props.rc_interval = 100; /* default */	/* setting these two values to non-zero, we have to manage key repeats */	d->rc_input_dev.rep[REP_PERIOD] = d->props.rc_interval;	d->rc_input_dev.rep[REP_DELAY]  = d->props.rc_interval + 150;	input_register_device(&d->rc_input_dev);	INIT_WORK(&d->rc_query_work, dvb_usb_read_remote_control, d);	info("schedule remote query interval to %d msecs.",d->props.rc_interval);	schedule_delayed_work(&d->rc_query_work,msecs_to_jiffies(d->props.rc_interval));	d->state |= DVB_USB_STATE_REMOTE;	return 0;}int dvb_usb_remote_exit(struct dvb_usb_device *d){	if (d->state & DVB_USB_STATE_REMOTE) {		cancel_delayed_work(&d->rc_query_work);		flush_scheduled_work();		input_unregister_device(&d->rc_input_dev);	}	d->state &= ~DVB_USB_STATE_REMOTE;	return 0;}#define DVB_USB_RC_NEC_EMPTY           0x00#define DVB_USB_RC_NEC_KEY_PRESSED     0x01#define DVB_USB_RC_NEC_KEY_REPEATED    0x02int dvb_usb_nec_rc_key_to_event(struct dvb_usb_device *d,		u8 keybuf[5], u32 *event, int *state){	int i;	struct dvb_usb_rc_key *keymap = d->props.rc_key_map;	*event = 0;	*state = REMOTE_NO_KEY_PRESSED;	switch (keybuf[0]) {		case DVB_USB_RC_NEC_EMPTY:			break;		case DVB_USB_RC_NEC_KEY_PRESSED:			if ((u8) ~keybuf[1] != keybuf[2] ||				(u8) ~keybuf[3] != keybuf[4]) {				deb_err("remote control checksum failed.\n");				break;			}			/* See if we can match the raw key code. */			for (i = 0; i < d->props.rc_key_map_size; i++)				if (keymap[i].custom == keybuf[1] &&					keymap[i].data == keybuf[3]) {					*event = keymap[i].event;					*state = REMOTE_KEY_PRESSED;					return 0;				}			deb_err("key mapping failed - no appropriate key found in keymapping\n");			break;		case DVB_USB_RC_NEC_KEY_REPEATED:			*state = REMOTE_KEY_REPEAT;			break;		default:			deb_err("unkown type of remote status: %d\n",keybuf[0]);			break;	}	return 0;}EXPORT_SYMBOL(dvb_usb_nec_rc_key_to_event);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲禁片免费| 欧美日韩国产高清一区二区| 天天综合网天天综合色| 尤物视频一区二区| 自拍偷在线精品自拍偷无码专区| 欧美国产日韩亚洲一区| 久久中文字幕电影| 国产亚洲自拍一区| 国产精品国产精品国产专区不片| 国产精品免费免费| 亚洲三级电影网站| 亚洲一区自拍偷拍| 奇米影视一区二区三区小说| 美女在线一区二区| 精彩视频一区二区| 成人午夜激情在线| 色婷婷综合久久久久中文| 欧美性受xxxx| 欧美一区二区三区四区在线观看| 精品精品欲导航| 久久一区二区三区四区| 国产精品美女一区二区在线观看| 亚洲色图制服诱惑| 亚洲高清免费观看 | 国产日韩av一区二区| 国产日韩欧美精品在线| 日韩理论片在线| 石原莉奈在线亚洲三区| 国产福利不卡视频| 在线影院国内精品| 亚洲精品在线网站| 一区二区三区高清在线| 理论电影国产精品| 色婷婷久久久综合中文字幕| 精品美女一区二区三区| 国产精品视频你懂的| 日本欧美一区二区| 成人精品视频一区二区三区尤物| 91久久免费观看| 久久亚洲一级片| 偷拍一区二区三区| 成人av高清在线| 精品国产乱码久久| 亚洲国产精品久久人人爱| 国产一区二区福利视频| 欧美日韩一级视频| 国产精品久久久一本精品 | 久久久久久久精| 午夜成人在线视频| 92精品国产成人观看免费| 日韩欧美一区在线观看| 亚洲视频免费在线| 成人综合在线网站| 亚洲图片你懂的| 久久激情综合网| 欧美日韩大陆一区二区| 亚洲美女电影在线| av综合在线播放| 国产欧美日韩一区二区三区在线观看| 视频一区视频二区在线观看| 在线日韩一区二区| 成人免费小视频| av一区二区三区| 国产精品国产成人国产三级| 国产成人亚洲综合a∨婷婷 | 国产米奇在线777精品观看| 51精品秘密在线观看| 亚洲一区二区三区中文字幕| av福利精品导航| 中文字幕亚洲综合久久菠萝蜜| 国产精品综合一区二区| 久久婷婷一区二区三区| 麻豆成人av在线| 欧美xxxxxxxx| 国产91精品精华液一区二区三区| 国产午夜一区二区三区| 国产一区二区h| 欧美国产成人在线| 成人激情免费视频| 综合激情成人伊人| 色网站国产精品| 水野朝阳av一区二区三区| 91精品国产色综合久久不卡电影 | 亚洲成a人片在线不卡一二三区 | 国产老女人精品毛片久久| 精品黑人一区二区三区久久| 精品在线观看免费| 国产亚洲精久久久久久| 99久久精品国产毛片| 亚洲综合一区二区精品导航| 欧美日韩亚洲国产综合| 蜜桃免费网站一区二区三区| 26uuu国产电影一区二区| 国产成人精品免费视频网站| 亚洲视频一二三| 精品视频一区二区不卡| 久久不见久久见中文字幕免费| 久久免费看少妇高潮| 99在线精品免费| 亚洲va韩国va欧美va精品| 精品福利在线导航| 91免费小视频| 免费成人在线网站| 国产精品伦理一区二区| 欧美精品高清视频| 国产激情一区二区三区桃花岛亚洲| 亚洲欧洲一区二区三区| 在线播放欧美女士性生活| 国产乱码精品一区二区三| 一区二区三区在线播放| 欧美tk丨vk视频| 色综合激情五月| 久草这里只有精品视频| 一区二区三区蜜桃网| 久久麻豆一区二区| 欧美天堂一区二区三区| 激情综合色综合久久| 亚洲精品成a人| 国产欧美日韩三级| 欧美日韩精品一区二区天天拍小说 | 色综合咪咪久久| 国内精品在线播放| 夜夜嗨av一区二区三区四季av| 欧美不卡一区二区三区| 欧洲精品在线观看| 欧美私人免费视频| 成+人+亚洲+综合天堂| 青草av.久久免费一区| 亚洲一区二三区| 国产精品第一页第二页第三页| 日韩免费观看2025年上映的电影| 色婷婷激情综合| aaa欧美色吧激情视频| 国产精品1区2区| 经典三级视频一区| 美女视频黄a大片欧美| 亚洲一区在线观看免费观看电影高清 | 99精品视频在线观看| 国产91在线观看| 国产精品亚洲综合一区在线观看| 天天影视涩香欲综合网| 亚洲 欧美综合在线网络| 亚洲精品国产成人久久av盗摄 | 日本强好片久久久久久aaa| 一区二区三区四区视频精品免费 | 蜜桃视频免费观看一区| 亚洲妇女屁股眼交7| 亚洲精品成a人| 秋霞成人午夜伦在线观看| 亚洲男人的天堂一区二区| 亚洲欧洲日本在线| 欧美国产视频在线| 国产精品另类一区| 亚洲视频一区二区在线| 亚洲色大成网站www久久九九| 成人欧美一区二区三区视频网页| 亚洲欧洲色图综合| 亚洲视频 欧洲视频| 一区二区三区成人| 午夜久久久久久电影| 婷婷久久综合九色综合绿巨人| 午夜久久福利影院| 久久精品国产99国产| 国产一区二区美女| 成人av集中营| 欧美午夜电影一区| 日韩视频免费观看高清在线视频| 欧美www视频| 国产精品网站在线| 亚洲精品国产精华液| 视频一区免费在线观看| 国产一区二区精品在线观看| 成人app在线| 欧美性感一类影片在线播放| 欧美电影在线免费观看| 欧美大片拔萝卜| 国产精品午夜在线观看| 亚洲激情图片一区| 日本伊人精品一区二区三区观看方式| 精品制服美女久久| 91丨九色丨黑人外教| 日韩欧美中文一区二区| 最新日韩av在线| 日韩av电影一区| 国产91精品露脸国语对白| 欧美午夜宅男影院| 久久免费国产精品| 亚洲成人av中文| 成人一区二区三区视频 | 免费观看一级欧美片| 国产91在线观看| 欧美一级午夜免费电影| 中文字幕在线不卡视频| 老司机精品视频在线| 91丨九色丨国产丨porny| 亚洲精品一区二区三区四区高清| 亚洲精品视频在线看| 韩国视频一区二区| 在线免费观看日本欧美| 国产视频在线观看一区二区三区|