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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dvb-usb-remote.c

?? LINUX 2.6.17.4的源碼
?? 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, 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;	usb_make_path(d->udev, d->rc_phys, sizeof(d->rc_phys));	strlcpy(d->rc_phys, "/ir0", sizeof(d->rc_phys));	d->rc_input_dev = input_allocate_device();	if (!d->rc_input_dev)		return -ENOMEM;	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";	d->rc_input_dev->phys = d->rc_phys;	/* 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);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品电影一区二区三区| 99久久99久久综合| 91精品国产综合久久精品app| 午夜视黄欧洲亚洲| 欧美日韩国产一区二区三区地区| 亚洲第四色夜色| 欧美精品久久天天躁| 免费一级片91| 久久久不卡网国产精品一区| 国产一区二区电影| 中文字幕在线一区二区三区| 在线观看日韩高清av| 亚洲国产日韩一级| 26uuu亚洲| k8久久久一区二区三区| 亚洲一级不卡视频| 欧美变态凌虐bdsm| 成人午夜激情视频| 亚洲成人精品一区| 精品国产91久久久久久久妲己 | 日韩亚洲欧美高清| 国产精品一区在线观看乱码| 中文字幕一区二区在线观看| 欧美吻胸吃奶大尺度电影 | 色悠悠亚洲一区二区| 日韩影院免费视频| 国产午夜亚洲精品不卡| 色国产综合视频| 美女精品一区二区| 成人免费在线视频| 日韩三级在线观看| 95精品视频在线| 蜜臀av一级做a爰片久久| 国产欧美一区二区三区鸳鸯浴| 粉嫩高潮美女一区二区三区| 亚洲一区二区三区免费视频| 国产亚洲欧美中文| 欧美三级资源在线| 粉嫩嫩av羞羞动漫久久久 | 麻豆视频观看网址久久| 自拍偷自拍亚洲精品播放| 777午夜精品免费视频| 不卡一二三区首页| 麻豆91精品视频| 中文幕一区二区三区久久蜜桃| 欧美精品久久99| 99久久婷婷国产精品综合| 精品一区二区三区久久| 亚洲一区二区三区不卡国产欧美| 久久久精品蜜桃| 欧美精选一区二区| 91猫先生在线| 丁香另类激情小说| 经典三级在线一区| 日韩精品五月天| 一个色综合网站| 国产日韩亚洲欧美综合| 欧美mv日韩mv| 欧美一区二区三区视频免费| 欧美三日本三级三级在线播放| 91尤物视频在线观看| 国产精品亚洲视频| 老司机午夜精品| 日韩电影一区二区三区| 亚洲国产一区二区在线播放| 成人免费在线观看入口| 欧美极品少妇xxxxⅹ高跟鞋| 日韩免费观看高清完整版在线观看| 欧美日韩一二三区| 91丨porny丨中文| 成人av第一页| 久久99在线观看| 蜜桃精品在线观看| 精品一区二区久久久| 理论片日本一区| 久久精品国产77777蜜臀| 日本视频一区二区| 秋霞av亚洲一区二区三| 天堂蜜桃91精品| 日韩高清不卡在线| 久久成人精品无人区| 捆绑紧缚一区二区三区视频 | 韩国欧美国产1区| 久久精品国产在热久久| 久草在线在线精品观看| 久久精品免费观看| 国产在线不卡一区| 国产成人啪午夜精品网站男同| 国产精品综合二区| 成人午夜激情影院| 色噜噜狠狠色综合欧洲selulu| 在线亚洲免费视频| 欧美男男青年gay1069videost | 热久久久久久久| 激情小说亚洲一区| 国产成人亚洲综合a∨婷婷| 国产91在线观看丝袜| 91欧美一区二区| 欧美日本国产一区| 久久久久国产精品麻豆| 国产精品美女久久久久久久网站| 亚洲女同女同女同女同女同69| 夜夜嗨av一区二区三区网页| 日韩精品1区2区3区| 国产激情偷乱视频一区二区三区| 成人av电影在线网| 91精品久久久久久久91蜜桃| 久久香蕉国产线看观看99| 亚洲视频综合在线| 肉丝袜脚交视频一区二区| 精品一区二区免费视频| 97精品超碰一区二区三区| 欧美美女视频在线观看| 精品99999| 亚洲六月丁香色婷婷综合久久| 亚洲一区二区三区在线看| 国产乱淫av一区二区三区| 色国产综合视频| 久久久久久电影| 亚洲图片欧美视频| 成人在线综合网| 欧美高清精品3d| 国产精品久久久久久久午夜片| 午夜激情综合网| 不卡视频一二三四| 精品日韩av一区二区| 亚洲男同性恋视频| 国产一区二区三区不卡在线观看 | 国产一区福利在线| 在线观看视频91| 欧美国产精品v| 另类小说欧美激情| 欧美在线播放高清精品| 国产视频一区在线播放| 亚洲.国产.中文慕字在线| 粉嫩嫩av羞羞动漫久久久| 91精品国产欧美一区二区成人| 中文字幕日本不卡| 国产在线国偷精品免费看| 8v天堂国产在线一区二区| 亚洲精品一二三| 成人免费毛片嘿嘿连载视频| 国产精品女同互慰在线看| 蜜臀av性久久久久蜜臀aⅴ| 欧美中文字幕一区二区三区亚洲| 中国av一区二区三区| 韩国欧美一区二区| 日韩视频在线你懂得| 亚洲一区二区三区美女| 91蜜桃传媒精品久久久一区二区| 国产亚洲午夜高清国产拍精品| 日本美女一区二区| 欧美日韩视频在线一区二区| 中文字幕日韩一区二区| 不卡视频在线看| 中文字幕在线一区二区三区| 国产精品一区二区在线播放 | 欧美中文字幕亚洲一区二区va在线 | 人妖欧美一区二区| 欧美理论在线播放| 亚洲一二三区视频在线观看| 色婷婷综合在线| 亚洲人成网站在线| 大桥未久av一区二区三区中文| 国产日韩欧美精品电影三级在线| 国产一级精品在线| 久久丝袜美腿综合| 国产精品亚洲а∨天堂免在线| 久久精品亚洲一区二区三区浴池| 国模冰冰炮一区二区| 精品成人一区二区| 国产精品综合视频| 国产精品乱码一区二区三区软件 | 国产亚洲一本大道中文在线| 国产一区二区三区不卡在线观看 | 成人欧美一区二区三区1314| 99免费精品在线观看| 亚洲人成小说网站色在线| 91福利视频网站| 午夜私人影院久久久久| 欧美乱妇23p| 免费观看久久久4p| 精品国产一区二区在线观看| 精品在线免费观看| 久久精品一区二区三区不卡| 成人毛片在线观看| 亚洲欧美另类小说| 欧亚洲嫩模精品一区三区| 视频一区中文字幕| 精品欧美乱码久久久久久1区2区| 国产成人综合自拍| 国产精品久久久久四虎| 欧美做爰猛烈大尺度电影无法无天| 亚洲午夜一区二区三区| 日韩午夜电影av| 成人av免费在线| 视频一区二区欧美| 久久久av毛片精品| 色视频成人在线观看免| 日韩国产精品久久久|