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

📄 cx88-input.c

📁 linux2.6.16版本
💻 C
📖 第 1 页 / 共 2 页
字号:
/* * * Device driver for GPIO attached remote control interfaces * on Conexant 2388x based TV/DVB cards. * * Copyright (c) 2003 Pavel Machek * Copyright (c) 2004 Gerd Knorr * Copyright (c) 2004, 2005 Chris Pascoe * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */#include <linux/init.h>#include <linux/delay.h>#include <linux/input.h>#include <linux/pci.h>#include <linux/module.h>#include <linux/moduleparam.h>#include "cx88.h"#include <media/ir-common.h>/* ---------------------------------------------------------------------- *//* DigitalNow DNTV Live DVB-T Remote */static IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = {	[0x00] = KEY_ESC,		/* 'go up a level?' */	/* Keys 0 to 9 */	[0x0a] = KEY_KP0,	[0x01] = KEY_KP1,	[0x02] = KEY_KP2,	[0x03] = KEY_KP3,	[0x04] = KEY_KP4,	[0x05] = KEY_KP5,	[0x06] = KEY_KP6,	[0x07] = KEY_KP7,	[0x08] = KEY_KP8,	[0x09] = KEY_KP9,	[0x0b] = KEY_TUNER,		/* tv/fm */	[0x0c] = KEY_SEARCH,		/* scan */	[0x0d] = KEY_STOP,	[0x0e] = KEY_PAUSE,	[0x0f] = KEY_LIST,		/* source */	[0x10] = KEY_MUTE,	[0x11] = KEY_REWIND,		/* backward << */	[0x12] = KEY_POWER,	[0x13] = KEY_S,			/* snap */	[0x14] = KEY_AUDIO,		/* stereo */	[0x15] = KEY_CLEAR,		/* reset */	[0x16] = KEY_PLAY,	[0x17] = KEY_ENTER,	[0x18] = KEY_ZOOM,		/* full screen */	[0x19] = KEY_FASTFORWARD,	/* forward >> */	[0x1a] = KEY_CHANNELUP,	[0x1b] = KEY_VOLUMEUP,	[0x1c] = KEY_INFO,		/* preview */	[0x1d] = KEY_RECORD,		/* record */	[0x1e] = KEY_CHANNELDOWN,	[0x1f] = KEY_VOLUMEDOWN,};/* ---------------------------------------------------------------------- *//* IO-DATA BCTV7E Remote */static IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = {	[0x40] = KEY_TV,	[0x20] = KEY_RADIO,		/* FM */	[0x60] = KEY_EPG,	[0x00] = KEY_POWER,	/* Keys 0 to 9 */	[0x44] = KEY_KP0,		/* 10 */	[0x50] = KEY_KP1,	[0x30] = KEY_KP2,	[0x70] = KEY_KP3,	[0x48] = KEY_KP4,	[0x28] = KEY_KP5,	[0x68] = KEY_KP6,	[0x58] = KEY_KP7,	[0x38] = KEY_KP8,	[0x78] = KEY_KP9,	[0x10] = KEY_L,			/* Live */	[0x08] = KEY_T,			/* Time Shift */	[0x18] = KEY_PLAYPAUSE,		/* Play */	[0x24] = KEY_ENTER,		/* 11 */	[0x64] = KEY_ESC,		/* 12 */	[0x04] = KEY_M,			/* Multi */	[0x54] = KEY_VIDEO,	[0x34] = KEY_CHANNELUP,	[0x74] = KEY_VOLUMEUP,	[0x14] = KEY_MUTE,	[0x4c] = KEY_S,			/* SVIDEO */	[0x2c] = KEY_CHANNELDOWN,	[0x6c] = KEY_VOLUMEDOWN,	[0x0c] = KEY_ZOOM,	[0x5c] = KEY_PAUSE,	[0x3c] = KEY_C,			/* || (red) */	[0x7c] = KEY_RECORD,		/* recording */	[0x1c] = KEY_STOP,	[0x41] = KEY_REWIND,		/* backward << */	[0x21] = KEY_PLAY,	[0x61] = KEY_FASTFORWARD,	/* forward >> */	[0x01] = KEY_NEXT,		/* skip >| */};/* ---------------------------------------------------------------------- *//* ADS Tech Instant TV DVB-T PCI Remote */static IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = {	/* Keys 0 to 9 */	[0x4d] = KEY_0,	[0x57] = KEY_1,	[0x4f] = KEY_2,	[0x53] = KEY_3,	[0x56] = KEY_4,	[0x4e] = KEY_5,	[0x5e] = KEY_6,	[0x54] = KEY_7,	[0x4c] = KEY_8,	[0x5c] = KEY_9,	[0x5b] = KEY_POWER,	[0x5f] = KEY_MUTE,	[0x55] = KEY_GOTO,	[0x5d] = KEY_SEARCH,	[0x17] = KEY_EPG,		/* Guide */	[0x1f] = KEY_MENU,	[0x0f] = KEY_UP,	[0x46] = KEY_DOWN,	[0x16] = KEY_LEFT,	[0x1e] = KEY_RIGHT,	[0x0e] = KEY_SELECT,		/* Enter */	[0x5a] = KEY_INFO,	[0x52] = KEY_EXIT,	[0x59] = KEY_PREVIOUS,	[0x51] = KEY_NEXT,	[0x58] = KEY_REWIND,	[0x50] = KEY_FORWARD,	[0x44] = KEY_PLAYPAUSE,	[0x07] = KEY_STOP,	[0x1b] = KEY_RECORD,	[0x13] = KEY_TUNER,		/* Live */	[0x0a] = KEY_A,	[0x12] = KEY_B,	[0x03] = KEY_PROG1,		/* 1 */	[0x01] = KEY_PROG2,		/* 2 */	[0x00] = KEY_PROG3,		/* 3 */	[0x06] = KEY_DVD,	[0x48] = KEY_AUX,		/* Photo */	[0x40] = KEY_VIDEO,	[0x19] = KEY_AUDIO,		/* Music */	[0x0b] = KEY_CHANNELUP,	[0x08] = KEY_CHANNELDOWN,	[0x15] = KEY_VOLUMEUP,	[0x1c] = KEY_VOLUMEDOWN,};/* ---------------------------------------------------------------------- *//* MSI TV@nywhere remote */static IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {	/* Keys 0 to 9 */	[0x00] = KEY_0,	[0x01] = KEY_1,	[0x02] = KEY_2,	[0x03] = KEY_3,	[0x04] = KEY_4,	[0x05] = KEY_5,	[0x06] = KEY_6,	[0x07] = KEY_7,	[0x08] = KEY_8,	[0x09] = KEY_9,	[0x0c] = KEY_MUTE,	[0x0f] = KEY_SCREEN,		/* Full Screen */	[0x10] = KEY_F,			/* Funtion */	[0x11] = KEY_T,			/* Time shift */	[0x12] = KEY_POWER,	[0x13] = KEY_MEDIA,		/* MTS */	[0x14] = KEY_SLOW,	[0x16] = KEY_REWIND,		/* backward << */	[0x17] = KEY_ENTER,		/* Return */	[0x18] = KEY_FASTFORWARD,	/* forward >> */	[0x1a] = KEY_CHANNELUP,	[0x1b] = KEY_VOLUMEUP,	[0x1e] = KEY_CHANNELDOWN,	[0x1f] = KEY_VOLUMEDOWN,};/* ---------------------------------------------------------------------- *//* Cinergy 1400 DVB-T */static IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {	[0x01] = KEY_POWER,	[0x02] = KEY_1,	[0x03] = KEY_2,	[0x04] = KEY_3,	[0x05] = KEY_4,	[0x06] = KEY_5,	[0x07] = KEY_6,	[0x08] = KEY_7,	[0x09] = KEY_8,	[0x0a] = KEY_9,	[0x0c] = KEY_0,	[0x0b] = KEY_VIDEO,	[0x0d] = KEY_REFRESH,	[0x0e] = KEY_SELECT,	[0x0f] = KEY_EPG,	[0x10] = KEY_UP,	[0x11] = KEY_LEFT,	[0x12] = KEY_OK,	[0x13] = KEY_RIGHT,	[0x14] = KEY_DOWN,	[0x15] = KEY_TEXT,	[0x16] = KEY_INFO,	[0x17] = KEY_RED,	[0x18] = KEY_GREEN,	[0x19] = KEY_YELLOW,	[0x1a] = KEY_BLUE,	[0x1b] = KEY_CHANNELUP,	[0x1c] = KEY_VOLUMEUP,	[0x1d] = KEY_MUTE,	[0x1e] = KEY_VOLUMEDOWN,	[0x1f] = KEY_CHANNELDOWN,	[0x40] = KEY_PAUSE,	[0x4c] = KEY_PLAY,	[0x58] = KEY_RECORD,	[0x54] = KEY_PREVIOUS,	[0x48] = KEY_STOP,	[0x5c] = KEY_NEXT,};/* ---------------------------------------------------------------------- *//* AVERTV STUDIO 303 Remote */static IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {	[ 0x2a ] = KEY_KP1,	[ 0x32 ] = KEY_KP2,	[ 0x3a ] = KEY_KP3,	[ 0x4a ] = KEY_KP4,	[ 0x52 ] = KEY_KP5,	[ 0x5a ] = KEY_KP6,	[ 0x6a ] = KEY_KP7,	[ 0x72 ] = KEY_KP8,	[ 0x7a ] = KEY_KP9,	[ 0x0e ] = KEY_KP0,	[ 0x02 ] = KEY_POWER,	[ 0x22 ] = KEY_VIDEO,	[ 0x42 ] = KEY_AUDIO,	[ 0x62 ] = KEY_ZOOM,	[ 0x0a ] = KEY_TV,	[ 0x12 ] = KEY_CD,	[ 0x1a ] = KEY_TEXT,	[ 0x16 ] = KEY_SUBTITLE,	[ 0x1e ] = KEY_REWIND,	[ 0x06 ] = KEY_PRINT,	[ 0x2e ] = KEY_SEARCH,	[ 0x36 ] = KEY_SLEEP,	[ 0x3e ] = KEY_SHUFFLE,	[ 0x26 ] = KEY_MUTE,	[ 0x4e ] = KEY_RECORD,	[ 0x56 ] = KEY_PAUSE,	[ 0x5e ] = KEY_STOP,	[ 0x46 ] = KEY_PLAY,	[ 0x6e ] = KEY_RED,	[ 0x0b ] = KEY_GREEN,	[ 0x66 ] = KEY_YELLOW,	[ 0x03 ] = KEY_BLUE,	[ 0x76 ] = KEY_LEFT,	[ 0x7e ] = KEY_RIGHT,	[ 0x13 ] = KEY_DOWN,	[ 0x1b ] = KEY_UP,};/* ---------------------------------------------------------------------- *//* DigitalNow DNTV Live! DVB-T Pro Remote */static IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = {	[ 0x16 ] = KEY_POWER,	[ 0x5b ] = KEY_HOME,	[ 0x55 ] = KEY_TV,		/* live tv */	[ 0x58 ] = KEY_TUNER,		/* digital Radio */	[ 0x5a ] = KEY_RADIO,		/* FM radio */	[ 0x59 ] = KEY_DVD,		/* dvd menu */	[ 0x03 ] = KEY_1,	[ 0x01 ] = KEY_2,	[ 0x06 ] = KEY_3,	[ 0x09 ] = KEY_4,	[ 0x1d ] = KEY_5,	[ 0x1f ] = KEY_6,	[ 0x0d ] = KEY_7,	[ 0x19 ] = KEY_8,	[ 0x1b ] = KEY_9,	[ 0x0c ] = KEY_CANCEL,	[ 0x15 ] = KEY_0,	[ 0x4a ] = KEY_CLEAR,	[ 0x13 ] = KEY_BACK,	[ 0x00 ] = KEY_TAB,	[ 0x4b ] = KEY_UP,	[ 0x4e ] = KEY_LEFT,	[ 0x4f ] = KEY_OK,	[ 0x52 ] = KEY_RIGHT,	[ 0x51 ] = KEY_DOWN,	[ 0x1e ] = KEY_VOLUMEUP,	[ 0x0a ] = KEY_VOLUMEDOWN,	[ 0x02 ] = KEY_CHANNELDOWN,	[ 0x05 ] = KEY_CHANNELUP,	[ 0x11 ] = KEY_RECORD,	[ 0x14 ] = KEY_PLAY,	[ 0x4c ] = KEY_PAUSE,	[ 0x1a ] = KEY_STOP,	[ 0x40 ] = KEY_REWIND,	[ 0x12 ] = KEY_FASTFORWARD,	[ 0x41 ] = KEY_PREVIOUSSONG,	/* replay |< */	[ 0x42 ] = KEY_NEXTSONG,	/* skip >| */	[ 0x54 ] = KEY_CAMERA,		/* capture */	[ 0x50 ] = KEY_LANGUAGE,	/* sap */	[ 0x47 ] = KEY_TV2,		/* pip */	[ 0x4d ] = KEY_SCREEN,	[ 0x43 ] = KEY_SUBTITLE,	[ 0x10 ] = KEY_MUTE,	[ 0x49 ] = KEY_AUDIO,		/* l/r */	[ 0x07 ] = KEY_SLEEP,	[ 0x08 ] = KEY_VIDEO,		/* a/v */	[ 0x0e ] = KEY_PREVIOUS,	/* recall */	[ 0x45 ] = KEY_ZOOM,		/* zoom + */	[ 0x46 ] = KEY_ANGLE,		/* zoom - */	[ 0x56 ] = KEY_RED,	[ 0x57 ] = KEY_GREEN,	[ 0x5c ] = KEY_YELLOW,	[ 0x5d ] = KEY_BLUE,

⌨️ 快捷键说明

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