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

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

?? dvb-usb-remote.c

?? V4l driver for DVB HD
?? 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);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区在线观看| eeuss国产一区二区三区| 亚洲欧美另类小说视频| 国产午夜亚洲精品午夜鲁丝片| 欧美大片国产精品| 欧美成人一区二区三区片免费| 在线播放国产精品二区一二区四区| 日本道免费精品一区二区三区| 91麻豆成人久久精品二区三区| 91蝌蚪porny| 精品视频免费看| 欧美一区二区国产| 日韩欧美一级精品久久| 久久免费偷拍视频| 国产精品理伦片| ...xxx性欧美| 亚洲成人自拍偷拍| 精品一区二区av| 成人av综合在线| 在线精品亚洲一区二区不卡| 欧美肥妇bbw| 久久精品一区二区三区不卡牛牛| 欧美高清在线一区二区| 亚洲一区二区黄色| 久久精品噜噜噜成人av农村| 成人午夜伦理影院| 欧美日韩1区2区| 国产亚洲综合性久久久影院| 亚洲婷婷综合色高清在线| 亚洲成人av在线电影| 久久福利资源站| 色婷婷久久99综合精品jk白丝| 欧美日韩激情一区二区三区| wwwwxxxxx欧美| 亚洲精品你懂的| 国产精品一区在线| 欧美色精品天天在线观看视频| 精品1区2区在线观看| 亚洲乱码国产乱码精品精98午夜 | 亚洲第一电影网| 久久电影网电视剧免费观看| 欧美巨大另类极品videosbest| 91麻豆精品国产91久久久更新时间 | 欧美在线视频日韩| 2017欧美狠狠色| 午夜亚洲国产au精品一区二区| 国内欧美视频一区二区| 欧美精品一二三区| 中文字幕一区在线| 国产一区二区日韩精品| 精品视频一区二区三区免费| 国产精品午夜免费| 韩国精品免费视频| 欧美男生操女生| 亚洲主播在线观看| av日韩在线网站| 国产亚洲成年网址在线观看| 男男视频亚洲欧美| 欧美日韩五月天| 伊人婷婷欧美激情| 97久久超碰国产精品电影| 久久久亚洲精华液精华液精华液| 天堂一区二区在线| 一本大道综合伊人精品热热 | 欧美最新大片在线看| 欧美高清在线一区二区| 狠狠色综合色综合网络| 欧美一区二区三区四区在线观看| 亚洲最色的网站| 91麻豆6部合集magnet| 五月天激情综合| 在线视频国产一区| 亚洲一区二区av电影| 色呦呦国产精品| 亚洲精品免费视频| 欧美综合欧美视频| 亚洲一级二级三级在线免费观看| 色呦呦网站一区| 亚洲成人综合在线| 91精品国产91综合久久蜜臀| 日韩专区在线视频| 日韩欧美国产一区在线观看| 久久精品国产亚洲高清剧情介绍 | 国产精品国产a| 不卡av免费在线观看| 国产精品乱码人人做人人爱| 成人h动漫精品| 一区二区三区在线视频免费| 色综合久久天天| 亚洲成人资源在线| 亚洲精品一线二线三线| 国产99久久久国产精品| 亚洲四区在线观看| 在线播放中文字幕一区| 蜜桃久久精品一区二区| 国产欧美在线观看一区| 99精品视频在线观看| 亚洲高清免费在线| 精品福利av导航| 92精品国产成人观看免费| 亚洲福中文字幕伊人影院| 欧美一区二区在线视频| 成人美女视频在线观看| 亚洲午夜一区二区三区| 日韩欧美在线观看一区二区三区| 国产91富婆露脸刺激对白| 亚洲色图在线播放| 欧美成人免费网站| 91色婷婷久久久久合中文| 日韩和欧美一区二区| 国产网站一区二区| 欧美日韩不卡视频| 高清不卡在线观看| 日本不卡一二三区黄网| 国产精品网曝门| 日韩欧美一区二区免费| 色哟哟日韩精品| 国产一区二区毛片| 亚洲18色成人| 国产精品不卡在线| 精品对白一区国产伦| 欧美性猛交xxxxxxxx| 国产成人亚洲精品青草天美| 五月婷婷综合激情| 亚洲天堂精品视频| 国产亚洲一区二区在线观看| 欧美日韩免费电影| 99精品久久只有精品| 狠狠色狠狠色综合系列| 天天做天天摸天天爽国产一区| 国产精品久久久久影院色老大| 欧美不卡一区二区三区| 欧美日韩精品是欧美日韩精品| 成人一区二区视频| 国产真实精品久久二三区| 午夜久久久影院| 亚洲综合色噜噜狠狠| 中文字幕在线观看不卡| 欧美激情一二三区| 久久美女艺术照精彩视频福利播放| 欧美酷刑日本凌虐凌虐| 91久久精品网| 色拍拍在线精品视频8848| jiyouzz国产精品久久| 国产精品亚洲一区二区三区在线 | 精品剧情v国产在线观看在线| 欧美日韩免费视频| 欧美午夜理伦三级在线观看| 91麻豆福利精品推荐| 99国产精品视频免费观看| 成人av中文字幕| 不卡的电视剧免费网站有什么| 东方欧美亚洲色图在线| 国产精品亚洲成人| 成人中文字幕电影| youjizz国产精品| 91在线免费播放| 99久久久精品| 一本色道亚洲精品aⅴ| 99久久99久久精品国产片果冻| 丰满亚洲少妇av| 91麻豆蜜桃一区二区三区| 色域天天综合网| 欧美浪妇xxxx高跟鞋交| 日韩欧美中文字幕一区| 精品国产亚洲在线| 国产精品久久久久三级| 一区二区视频在线| 视频一区中文字幕国产| 免费三级欧美电影| 国产成人免费视频一区| 99精品黄色片免费大全| 精品视频在线看| 亚洲精品一区二区三区四区高清| 久久精品视频在线免费观看 | 日本黄色一区二区| 欧美日韩极品在线观看一区| 欧美成人精品二区三区99精品| 久久精品欧美一区二区三区麻豆| 亚洲欧洲国产专区| 视频在线在亚洲| 国产成人精品1024| 欧美色图天堂网| 日韩精品一区二区三区老鸭窝 | 欧美网站大全在线观看| 日韩一级欧美一级| 亚洲国产精品国自产拍av| 亚洲一区中文在线| 韩国成人福利片在线播放| 91在线视频在线| 精品国产三级电影在线观看| 国产精品久久久久久久久久免费看 | 国产成人在线看| 欧美日韩综合不卡| 欧美国产日韩一二三区| 日韩不卡免费视频| 91免费观看视频| 久久免费午夜影院| 肉色丝袜一区二区| 一本色道久久综合狠狠躁的推荐 |