Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
2915e5ef
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
2915e5ef
编写于
3月 12, 2010
作者:
M
Mauro Carvalho Chehab
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
V4L/DVB: ir-core: Add a macro to properly create IR tables
Signed-off-by:
N
Mauro Carvalho Chehab
<
mchehab@redhat.com
>
上级
945cdfa2
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
83 addition
and
375 deletion
+83
-375
drivers/media/IR/ir-keymaps.c
drivers/media/IR/ir-keymaps.c
+81
-374
include/media/ir-core.h
include/media/ir-core.h
+2
-1
未找到文件。
drivers/media/IR/ir-keymaps.c
浏览文件 @
2915e5ef
...
@@ -28,16 +28,28 @@
...
@@ -28,16 +28,28 @@
#include <linux/input.h>
#include <linux/input.h>
#include <media/ir-common.h>
#include <media/ir-common.h>
/*
* The usage of tables with just the command part is deprecated.
* All new IR keytables should contain address+command and need
* to define the proper IR_TYPE (IR_TYPE_RC5/IR_TYPE_NEC).
* The deprecated tables should use IR_TYPE_UNKNOWN
*/
#define IR_TABLE(irname, type, tabname) \
struct ir_scancode_table tabname ## _table = { \
.scan = tabname, \
.size = ARRAY_SIZE(tabname), \
.ir_type = type, \
.name = #irname, \
}; \
EXPORT_SYMBOL_GPL(tabname ## _table)
/* empty keytable, can be used as placeholder for not-yet created keytables */
/* empty keytable, can be used as placeholder for not-yet created keytables */
static
struct
ir_scancode
ir_codes_empty
[]
=
{
static
struct
ir_scancode
ir_codes_empty
[]
=
{
{
0x2a
,
KEY_COFFEE
},
{
0x2a
,
KEY_COFFEE
},
};
};
IR_TABLE
(
empty
,
IR_TYPE_UNKNOWN
,
ir_codes_empty
);
struct
ir_scancode_table
ir_codes_empty_table
=
{
.
scan
=
ir_codes_empty
,
.
size
=
ARRAY_SIZE
(
ir_codes_empty
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_empty_table
);
/* Michal Majchrowicz <mmajchrowicz@gmail.com> */
/* Michal Majchrowicz <mmajchrowicz@gmail.com> */
static
struct
ir_scancode
ir_codes_proteus_2309
[]
=
{
static
struct
ir_scancode
ir_codes_proteus_2309
[]
=
{
...
@@ -68,12 +80,7 @@ static struct ir_scancode ir_codes_proteus_2309[] = {
...
@@ -68,12 +80,7 @@ static struct ir_scancode ir_codes_proteus_2309[] = {
{
0x1e
,
KEY_VOLUMEUP
},
/* volume + */
{
0x1e
,
KEY_VOLUMEUP
},
/* volume + */
{
0x14
,
KEY_F1
},
{
0x14
,
KEY_F1
},
};
};
IR_TABLE
(
proteus_2309
,
IR_TYPE_UNKNOWN
,
ir_codes_proteus_2309
);
struct
ir_scancode_table
ir_codes_proteus_2309_table
=
{
.
scan
=
ir_codes_proteus_2309
,
.
size
=
ARRAY_SIZE
(
ir_codes_proteus_2309
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_proteus_2309_table
);
/* Matt Jesson <dvb@jesson.eclipse.co.uk */
/* Matt Jesson <dvb@jesson.eclipse.co.uk */
static
struct
ir_scancode
ir_codes_avermedia_dvbt
[]
=
{
static
struct
ir_scancode
ir_codes_avermedia_dvbt
[]
=
{
...
@@ -113,12 +120,7 @@ static struct ir_scancode ir_codes_avermedia_dvbt[] = {
...
@@ -113,12 +120,7 @@ static struct ir_scancode ir_codes_avermedia_dvbt[] = {
{
0x1e
,
KEY_VOLUMEDOWN
},
/* 'volume -' */
{
0x1e
,
KEY_VOLUMEDOWN
},
/* 'volume -' */
{
0x3e
,
KEY_VOLUMEUP
},
/* 'volume +' */
{
0x3e
,
KEY_VOLUMEUP
},
/* 'volume +' */
};
};
IR_TABLE
(
avermedia_dvbt
,
IR_TYPE_UNKNOWN
,
ir_codes_avermedia_dvbt
);
struct
ir_scancode_table
ir_codes_avermedia_dvbt_table
=
{
.
scan
=
ir_codes_avermedia_dvbt
,
.
size
=
ARRAY_SIZE
(
ir_codes_avermedia_dvbt
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_avermedia_dvbt_table
);
/* Mauro Carvalho Chehab <mchehab@infradead.org> */
/* Mauro Carvalho Chehab <mchehab@infradead.org> */
static
struct
ir_scancode
ir_codes_avermedia_m135a
[]
=
{
static
struct
ir_scancode
ir_codes_avermedia_m135a
[]
=
{
...
@@ -168,12 +170,7 @@ static struct ir_scancode ir_codes_avermedia_m135a[] = {
...
@@ -168,12 +170,7 @@ static struct ir_scancode ir_codes_avermedia_m135a[] = {
{
0x18
,
KEY_PLAY
},
{
0x18
,
KEY_PLAY
},
{
0x1b
,
KEY_STOP
},
{
0x1b
,
KEY_STOP
},
};
};
IR_TABLE
(
avermedia_m135a
,
IR_TYPE_UNKNOWN
,
ir_codes_avermedia_m135a
);
struct
ir_scancode_table
ir_codes_avermedia_m135a_table
=
{
.
scan
=
ir_codes_avermedia_m135a
,
.
size
=
ARRAY_SIZE
(
ir_codes_avermedia_m135a
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_avermedia_m135a_table
);
/* Oldrich Jedlicka <oldium.pro@seznam.cz> */
/* Oldrich Jedlicka <oldium.pro@seznam.cz> */
static
struct
ir_scancode
ir_codes_avermedia_cardbus
[]
=
{
static
struct
ir_scancode
ir_codes_avermedia_cardbus
[]
=
{
...
@@ -232,12 +229,7 @@ static struct ir_scancode ir_codes_avermedia_cardbus[] = {
...
@@ -232,12 +229,7 @@ static struct ir_scancode ir_codes_avermedia_cardbus[] = {
{
0x42
,
KEY_CHANNELDOWN
},
/* Channel down */
{
0x42
,
KEY_CHANNELDOWN
},
/* Channel down */
{
0x43
,
KEY_CHANNELUP
},
/* Channel up */
{
0x43
,
KEY_CHANNELUP
},
/* Channel up */
};
};
IR_TABLE
(
avermedia_cardbus
,
IR_TYPE_UNKNOWN
,
ir_codes_avermedia_cardbus
);
struct
ir_scancode_table
ir_codes_avermedia_cardbus_table
=
{
.
scan
=
ir_codes_avermedia_cardbus
,
.
size
=
ARRAY_SIZE
(
ir_codes_avermedia_cardbus
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_avermedia_cardbus_table
);
/* Attila Kondoros <attila.kondoros@chello.hu> */
/* Attila Kondoros <attila.kondoros@chello.hu> */
static
struct
ir_scancode
ir_codes_apac_viewcomp
[]
=
{
static
struct
ir_scancode
ir_codes_apac_viewcomp
[]
=
{
...
@@ -279,12 +271,7 @@ static struct ir_scancode ir_codes_apac_viewcomp[] = {
...
@@ -279,12 +271,7 @@ static struct ir_scancode ir_codes_apac_viewcomp[] = {
{
0x0c
,
KEY_KPPLUS
},
/* fine tune >>>> */
{
0x0c
,
KEY_KPPLUS
},
/* fine tune >>>> */
{
0x18
,
KEY_KPMINUS
},
/* fine tune <<<< */
{
0x18
,
KEY_KPMINUS
},
/* fine tune <<<< */
};
};
IR_TABLE
(
apac_viewcomp
,
IR_TYPE_UNKNOWN
,
ir_codes_apac_viewcomp
);
struct
ir_scancode_table
ir_codes_apac_viewcomp_table
=
{
.
scan
=
ir_codes_apac_viewcomp
,
.
size
=
ARRAY_SIZE
(
ir_codes_apac_viewcomp
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_apac_viewcomp_table
);
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
...
@@ -331,12 +318,7 @@ static struct ir_scancode ir_codes_pixelview[] = {
...
@@ -331,12 +318,7 @@ static struct ir_scancode ir_codes_pixelview[] = {
{
0x1d
,
KEY_REFRESH
},
/* reset */
{
0x1d
,
KEY_REFRESH
},
/* reset */
{
0x18
,
KEY_MUTE
},
/* mute/unmute */
{
0x18
,
KEY_MUTE
},
/* mute/unmute */
};
};
IR_TABLE
(
pixelview
,
IR_TYPE_UNKNOWN
,
ir_codes_pixelview
);
struct
ir_scancode_table
ir_codes_pixelview_table
=
{
.
scan
=
ir_codes_pixelview
,
.
size
=
ARRAY_SIZE
(
ir_codes_pixelview
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_pixelview_table
);
/*
/*
Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab <mchehab@infradead.org>
...
@@ -381,12 +363,7 @@ static struct ir_scancode ir_codes_pixelview_new[] = {
...
@@ -381,12 +363,7 @@ static struct ir_scancode ir_codes_pixelview_new[] = {
{
0x31
,
KEY_TV
},
{
0x31
,
KEY_TV
},
{
0x34
,
KEY_RADIO
},
{
0x34
,
KEY_RADIO
},
};
};
IR_TABLE
(
pixelview_new
,
IR_TYPE_UNKNOWN
,
ir_codes_pixelview_new
);
struct
ir_scancode_table
ir_codes_pixelview_new_table
=
{
.
scan
=
ir_codes_pixelview_new
,
.
size
=
ARRAY_SIZE
(
ir_codes_pixelview_new
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_pixelview_new_table
);
static
struct
ir_scancode
ir_codes_nebula
[]
=
{
static
struct
ir_scancode
ir_codes_nebula
[]
=
{
{
0x00
,
KEY_0
},
{
0x00
,
KEY_0
},
...
@@ -445,12 +422,7 @@ static struct ir_scancode ir_codes_nebula[] = {
...
@@ -445,12 +422,7 @@ static struct ir_scancode ir_codes_nebula[] = {
{
0x35
,
KEY_PHONE
},
{
0x35
,
KEY_PHONE
},
{
0x36
,
KEY_PC
},
{
0x36
,
KEY_PC
},
};
};
IR_TABLE
(
nebula
,
IR_TYPE_UNKNOWN
,
ir_codes_nebula
);
struct
ir_scancode_table
ir_codes_nebula_table
=
{
.
scan
=
ir_codes_nebula
,
.
size
=
ARRAY_SIZE
(
ir_codes_nebula
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_nebula_table
);
/* DigitalNow DNTV Live DVB-T Remote */
/* DigitalNow DNTV Live DVB-T Remote */
static
struct
ir_scancode
ir_codes_dntv_live_dvb_t
[]
=
{
static
struct
ir_scancode
ir_codes_dntv_live_dvb_t
[]
=
{
...
@@ -490,12 +462,7 @@ static struct ir_scancode ir_codes_dntv_live_dvb_t[] = {
...
@@ -490,12 +462,7 @@ static struct ir_scancode ir_codes_dntv_live_dvb_t[] = {
{
0x1e
,
KEY_CHANNELDOWN
},
{
0x1e
,
KEY_CHANNELDOWN
},
{
0x1f
,
KEY_VOLUMEDOWN
},
{
0x1f
,
KEY_VOLUMEDOWN
},
};
};
IR_TABLE
(
dntv_live_dvb_t
,
IR_TYPE_UNKNOWN
,
ir_codes_dntv_live_dvb_t
);
struct
ir_scancode_table
ir_codes_dntv_live_dvb_t_table
=
{
.
scan
=
ir_codes_dntv_live_dvb_t
,
.
size
=
ARRAY_SIZE
(
ir_codes_dntv_live_dvb_t
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_dntv_live_dvb_t_table
);
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
...
@@ -547,12 +514,7 @@ static struct ir_scancode ir_codes_iodata_bctv7e[] = {
...
@@ -547,12 +514,7 @@ static struct ir_scancode ir_codes_iodata_bctv7e[] = {
{
0x61
,
KEY_FASTFORWARD
},
/* forward >> */
{
0x61
,
KEY_FASTFORWARD
},
/* forward >> */
{
0x01
,
KEY_NEXT
},
/* skip >| */
{
0x01
,
KEY_NEXT
},
/* skip >| */
};
};
IR_TABLE
(
iodata_bctv7e
,
IR_TYPE_UNKNOWN
,
ir_codes_iodata_bctv7e
);
struct
ir_scancode_table
ir_codes_iodata_bctv7e_table
=
{
.
scan
=
ir_codes_iodata_bctv7e
,
.
size
=
ARRAY_SIZE
(
ir_codes_iodata_bctv7e
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_iodata_bctv7e_table
);
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
...
@@ -605,12 +567,7 @@ static struct ir_scancode ir_codes_adstech_dvb_t_pci[] = {
...
@@ -605,12 +567,7 @@ static struct ir_scancode ir_codes_adstech_dvb_t_pci[] = {
{
0x15
,
KEY_VOLUMEUP
},
{
0x15
,
KEY_VOLUMEUP
},
{
0x1c
,
KEY_VOLUMEDOWN
},
{
0x1c
,
KEY_VOLUMEDOWN
},
};
};
IR_TABLE
(
adstech_dvb_t_pci
,
IR_TYPE_UNKNOWN
,
ir_codes_adstech_dvb_t_pci
);
struct
ir_scancode_table
ir_codes_adstech_dvb_t_pci_table
=
{
.
scan
=
ir_codes_adstech_dvb_t_pci
,
.
size
=
ARRAY_SIZE
(
ir_codes_adstech_dvb_t_pci
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_adstech_dvb_t_pci_table
);
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
...
@@ -644,12 +601,7 @@ static struct ir_scancode ir_codes_msi_tvanywhere[] = {
...
@@ -644,12 +601,7 @@ static struct ir_scancode ir_codes_msi_tvanywhere[] = {
{
0x1e
,
KEY_CHANNELDOWN
},
{
0x1e
,
KEY_CHANNELDOWN
},
{
0x1f
,
KEY_VOLUMEDOWN
},
{
0x1f
,
KEY_VOLUMEDOWN
},
};
};
IR_TABLE
(
msi_tvanywhere
,
IR_TYPE_UNKNOWN
,
ir_codes_msi_tvanywhere
);
struct
ir_scancode_table
ir_codes_msi_tvanywhere_table
=
{
.
scan
=
ir_codes_msi_tvanywhere
,
.
size
=
ARRAY_SIZE
(
ir_codes_msi_tvanywhere
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_msi_tvanywhere_table
);
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
...
@@ -738,12 +690,7 @@ static struct ir_scancode ir_codes_msi_tvanywhere_plus[] = {
...
@@ -738,12 +690,7 @@ static struct ir_scancode ir_codes_msi_tvanywhere_plus[] = {
{
0x0c
,
KEY_FASTFORWARD
},
/* >> */
{
0x0c
,
KEY_FASTFORWARD
},
/* >> */
{
0x1d
,
KEY_RESTART
},
/* Reset */
{
0x1d
,
KEY_RESTART
},
/* Reset */
};
};
IR_TABLE
(
msi_tvanywhere_plus
,
IR_TYPE_UNKNOWN
,
ir_codes_msi_tvanywhere_plus
);
struct
ir_scancode_table
ir_codes_msi_tvanywhere_plus_table
=
{
.
scan
=
ir_codes_msi_tvanywhere_plus
,
.
size
=
ARRAY_SIZE
(
ir_codes_msi_tvanywhere_plus
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_msi_tvanywhere_plus_table
);
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
...
@@ -791,12 +738,7 @@ static struct ir_scancode ir_codes_cinergy_1400[] = {
...
@@ -791,12 +738,7 @@ static struct ir_scancode ir_codes_cinergy_1400[] = {
{
0x48
,
KEY_STOP
},
{
0x48
,
KEY_STOP
},
{
0x5c
,
KEY_NEXT
},
{
0x5c
,
KEY_NEXT
},
};
};
IR_TABLE
(
cinergy_1400
,
IR_TYPE_UNKNOWN
,
ir_codes_cinergy_1400
);
struct
ir_scancode_table
ir_codes_cinergy_1400_table
=
{
.
scan
=
ir_codes_cinergy_1400
,
.
size
=
ARRAY_SIZE
(
ir_codes_cinergy_1400
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_cinergy_1400_table
);
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
...
@@ -845,12 +787,7 @@ static struct ir_scancode ir_codes_avertv_303[] = {
...
@@ -845,12 +787,7 @@ static struct ir_scancode ir_codes_avertv_303[] = {
{
0x13
,
KEY_DOWN
},
{
0x13
,
KEY_DOWN
},
{
0x1b
,
KEY_UP
},
{
0x1b
,
KEY_UP
},
};
};
IR_TABLE
(
avertv_303
,
IR_TYPE_UNKNOWN
,
ir_codes_avertv_303
);
struct
ir_scancode_table
ir_codes_avertv_303_table
=
{
.
scan
=
ir_codes_avertv_303
,
.
size
=
ARRAY_SIZE
(
ir_codes_avertv_303
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_avertv_303_table
);
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
...
@@ -911,12 +848,7 @@ static struct ir_scancode ir_codes_dntv_live_dvbt_pro[] = {
...
@@ -911,12 +848,7 @@ static struct ir_scancode ir_codes_dntv_live_dvbt_pro[] = {
{
0x5c
,
KEY_YELLOW
},
{
0x5c
,
KEY_YELLOW
},
{
0x5d
,
KEY_BLUE
},
{
0x5d
,
KEY_BLUE
},
};
};
IR_TABLE
(
dntv_live_dvbt_pro
,
IR_TYPE_UNKNOWN
,
ir_codes_dntv_live_dvbt_pro
);
struct
ir_scancode_table
ir_codes_dntv_live_dvbt_pro_table
=
{
.
scan
=
ir_codes_dntv_live_dvbt_pro
,
.
size
=
ARRAY_SIZE
(
ir_codes_dntv_live_dvbt_pro
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_dntv_live_dvbt_pro_table
);
static
struct
ir_scancode
ir_codes_em_terratec
[]
=
{
static
struct
ir_scancode
ir_codes_em_terratec
[]
=
{
{
0x01
,
KEY_CHANNEL
},
{
0x01
,
KEY_CHANNEL
},
...
@@ -948,12 +880,7 @@ static struct ir_scancode ir_codes_em_terratec[] = {
...
@@ -948,12 +880,7 @@ static struct ir_scancode ir_codes_em_terratec[] = {
{
0x1e
,
KEY_STOP
},
{
0x1e
,
KEY_STOP
},
{
0x40
,
KEY_ZOOM
},
{
0x40
,
KEY_ZOOM
},
};
};
IR_TABLE
(
em_terratec
,
IR_TYPE_UNKNOWN
,
ir_codes_em_terratec
);
struct
ir_scancode_table
ir_codes_em_terratec_table
=
{
.
scan
=
ir_codes_em_terratec
,
.
size
=
ARRAY_SIZE
(
ir_codes_em_terratec
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_em_terratec_table
);
static
struct
ir_scancode
ir_codes_pinnacle_grey
[]
=
{
static
struct
ir_scancode
ir_codes_pinnacle_grey
[]
=
{
{
0x3a
,
KEY_0
},
{
0x3a
,
KEY_0
},
...
@@ -1005,12 +932,7 @@ static struct ir_scancode ir_codes_pinnacle_grey[] = {
...
@@ -1005,12 +932,7 @@ static struct ir_scancode ir_codes_pinnacle_grey[] = {
{
0x2a
,
KEY_MEDIA
},
{
0x2a
,
KEY_MEDIA
},
{
0x18
,
KEY_EPG
},
{
0x18
,
KEY_EPG
},
};
};
IR_TABLE
(
pinnacle_grey
,
IR_TYPE_UNKNOWN
,
ir_codes_pinnacle_grey
);
struct
ir_scancode_table
ir_codes_pinnacle_grey_table
=
{
.
scan
=
ir_codes_pinnacle_grey
,
.
size
=
ARRAY_SIZE
(
ir_codes_pinnacle_grey
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_pinnacle_grey_table
);
static
struct
ir_scancode
ir_codes_flyvideo
[]
=
{
static
struct
ir_scancode
ir_codes_flyvideo
[]
=
{
{
0x0f
,
KEY_0
},
{
0x0f
,
KEY_0
},
...
@@ -1043,12 +965,7 @@ static struct ir_scancode ir_codes_flyvideo[] = {
...
@@ -1043,12 +965,7 @@ static struct ir_scancode ir_codes_flyvideo[] = {
{
0x1f
,
KEY_FORWARD
},
/* Forward ( >>> ) */
{
0x1f
,
KEY_FORWARD
},
/* Forward ( >>> ) */
{
0x0a
,
KEY_ANGLE
},
/* no label, may be used as the PAUSE button */
{
0x0a
,
KEY_ANGLE
},
/* no label, may be used as the PAUSE button */
};
};
IR_TABLE
(
flyvideo
,
IR_TYPE_UNKNOWN
,
ir_codes_flyvideo
);
struct
ir_scancode_table
ir_codes_flyvideo_table
=
{
.
scan
=
ir_codes_flyvideo
,
.
size
=
ARRAY_SIZE
(
ir_codes_flyvideo
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_flyvideo_table
);
static
struct
ir_scancode
ir_codes_flydvb
[]
=
{
static
struct
ir_scancode
ir_codes_flydvb
[]
=
{
{
0x01
,
KEY_ZOOM
},
/* Full Screen */
{
0x01
,
KEY_ZOOM
},
/* Full Screen */
...
@@ -1088,12 +1005,7 @@ static struct ir_scancode ir_codes_flydvb[] = {
...
@@ -1088,12 +1005,7 @@ static struct ir_scancode ir_codes_flydvb[] = {
{
0x11
,
KEY_STOP
},
/* Stop */
{
0x11
,
KEY_STOP
},
/* Stop */
{
0x0e
,
KEY_NEXT
},
/* End >>| */
{
0x0e
,
KEY_NEXT
},
/* End >>| */
};
};
IR_TABLE
(
flydvb
,
IR_TYPE_UNKNOWN
,
ir_codes_flydvb
);
struct
ir_scancode_table
ir_codes_flydvb_table
=
{
.
scan
=
ir_codes_flydvb
,
.
size
=
ARRAY_SIZE
(
ir_codes_flydvb
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_flydvb_table
);
static
struct
ir_scancode
ir_codes_cinergy
[]
=
{
static
struct
ir_scancode
ir_codes_cinergy
[]
=
{
{
0x00
,
KEY_0
},
{
0x00
,
KEY_0
},
...
@@ -1134,12 +1046,7 @@ static struct ir_scancode ir_codes_cinergy[] = {
...
@@ -1134,12 +1046,7 @@ static struct ir_scancode ir_codes_cinergy[] = {
{
0x22
,
KEY_PAUSE
},
{
0x22
,
KEY_PAUSE
},
{
0x23
,
KEY_STOP
},
{
0x23
,
KEY_STOP
},
};
};
IR_TABLE
(
cinergy
,
IR_TYPE_UNKNOWN
,
ir_codes_cinergy
);
struct
ir_scancode_table
ir_codes_cinergy_table
=
{
.
scan
=
ir_codes_cinergy
,
.
size
=
ARRAY_SIZE
(
ir_codes_cinergy
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_cinergy_table
);
/* Alfons Geser <a.geser@cox.net>
/* Alfons Geser <a.geser@cox.net>
* updates from Job D. R. Borges <jobdrb@ig.com.br> */
* updates from Job D. R. Borges <jobdrb@ig.com.br> */
...
@@ -1197,12 +1104,7 @@ static struct ir_scancode ir_codes_eztv[] = {
...
@@ -1197,12 +1104,7 @@ static struct ir_scancode ir_codes_eztv[] = {
{
0x13
,
KEY_ENTER
},
/* enter */
{
0x13
,
KEY_ENTER
},
/* enter */
{
0x21
,
KEY_DOT
},
/* . (decimal dot) */
{
0x21
,
KEY_DOT
},
/* . (decimal dot) */
};
};
IR_TABLE
(
eztv
,
IR_TYPE_UNKNOWN
,
ir_codes_eztv
);
struct
ir_scancode_table
ir_codes_eztv_table
=
{
.
scan
=
ir_codes_eztv
,
.
size
=
ARRAY_SIZE
(
ir_codes_eztv
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_eztv_table
);
/* Alex Hermann <gaaf@gmx.net> */
/* Alex Hermann <gaaf@gmx.net> */
static
struct
ir_scancode
ir_codes_avermedia
[]
=
{
static
struct
ir_scancode
ir_codes_avermedia
[]
=
{
...
@@ -1250,12 +1152,7 @@ static struct ir_scancode ir_codes_avermedia[] = {
...
@@ -1250,12 +1152,7 @@ static struct ir_scancode ir_codes_avermedia[] = {
{
0x11
,
KEY_CHANNELDOWN
},
/* CHANNEL/PAGE- */
{
0x11
,
KEY_CHANNELDOWN
},
/* CHANNEL/PAGE- */
{
0x31
,
KEY_CHANNELUP
}
/* CHANNEL/PAGE+ */
{
0x31
,
KEY_CHANNELUP
}
/* CHANNEL/PAGE+ */
};
};
IR_TABLE
(
avermedia
,
IR_TYPE_UNKNOWN
,
ir_codes_avermedia
);
struct
ir_scancode_table
ir_codes_avermedia_table
=
{
.
scan
=
ir_codes_avermedia
,
.
size
=
ARRAY_SIZE
(
ir_codes_avermedia
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_avermedia_table
);
static
struct
ir_scancode
ir_codes_videomate_tv_pvr
[]
=
{
static
struct
ir_scancode
ir_codes_videomate_tv_pvr
[]
=
{
{
0x14
,
KEY_MUTE
},
{
0x14
,
KEY_MUTE
},
...
@@ -1305,12 +1202,7 @@ static struct ir_scancode ir_codes_videomate_tv_pvr[] = {
...
@@ -1305,12 +1202,7 @@ static struct ir_scancode ir_codes_videomate_tv_pvr[] = {
{
0x20
,
KEY_LANGUAGE
},
{
0x20
,
KEY_LANGUAGE
},
{
0x21
,
KEY_SLEEP
},
{
0x21
,
KEY_SLEEP
},
};
};
IR_TABLE
(
videomate_tv_pvr
,
IR_TYPE_UNKNOWN
,
ir_codes_videomate_tv_pvr
);
struct
ir_scancode_table
ir_codes_videomate_tv_pvr_table
=
{
.
scan
=
ir_codes_videomate_tv_pvr
,
.
size
=
ARRAY_SIZE
(
ir_codes_videomate_tv_pvr
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_videomate_tv_pvr_table
);
/* Michael Tokarev <mjt@tls.msk.ru>
/* Michael Tokarev <mjt@tls.msk.ru>
http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
...
@@ -1407,12 +1299,7 @@ static struct ir_scancode ir_codes_manli[] = {
...
@@ -1407,12 +1299,7 @@ static struct ir_scancode ir_codes_manli[] = {
/* 0x1d unused ? */
/* 0x1d unused ? */
};
};
IR_TABLE
(
manli
,
IR_TYPE_UNKNOWN
,
ir_codes_manli
);
struct
ir_scancode_table
ir_codes_manli_table
=
{
.
scan
=
ir_codes_manli
,
.
size
=
ARRAY_SIZE
(
ir_codes_manli
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_manli_table
);
/* Mike Baikov <mike@baikov.com> */
/* Mike Baikov <mike@baikov.com> */
static
struct
ir_scancode
ir_codes_gotview7135
[]
=
{
static
struct
ir_scancode
ir_codes_gotview7135
[]
=
{
...
@@ -1453,12 +1340,7 @@ static struct ir_scancode ir_codes_gotview7135[] = {
...
@@ -1453,12 +1340,7 @@ static struct ir_scancode ir_codes_gotview7135[] = {
{
0x1e
,
KEY_TIME
},
/* TIMESHIFT */
{
0x1e
,
KEY_TIME
},
/* TIMESHIFT */
{
0x38
,
KEY_F24
},
/* NORMAL TIMESHIFT */
{
0x38
,
KEY_F24
},
/* NORMAL TIMESHIFT */
};
};
IR_TABLE
(
gotview7135
,
IR_TYPE_UNKNOWN
,
ir_codes_gotview7135
);
struct
ir_scancode_table
ir_codes_gotview7135_table
=
{
.
scan
=
ir_codes_gotview7135
,
.
size
=
ARRAY_SIZE
(
ir_codes_gotview7135
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_gotview7135_table
);
static
struct
ir_scancode
ir_codes_purpletv
[]
=
{
static
struct
ir_scancode
ir_codes_purpletv
[]
=
{
{
0x03
,
KEY_POWER
},
{
0x03
,
KEY_POWER
},
...
@@ -1502,12 +1384,7 @@ static struct ir_scancode ir_codes_purpletv[] = {
...
@@ -1502,12 +1384,7 @@ static struct ir_scancode ir_codes_purpletv[] = {
{
0x42
,
KEY_REWIND
},
/* Backward ? */
{
0x42
,
KEY_REWIND
},
/* Backward ? */
};
};
IR_TABLE
(
purpletv
,
IR_TYPE_UNKNOWN
,
ir_codes_purpletv
);
struct
ir_scancode_table
ir_codes_purpletv_table
=
{
.
scan
=
ir_codes_purpletv
,
.
size
=
ARRAY_SIZE
(
ir_codes_purpletv
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_purpletv_table
);
/* Mapping for the 28 key remote control as seen at
/* Mapping for the 28 key remote control as seen at
http://www.sednacomputer.com/photo/cardbus-tv.jpg
http://www.sednacomputer.com/photo/cardbus-tv.jpg
...
@@ -1549,12 +1426,7 @@ static struct ir_scancode ir_codes_pctv_sedna[] = {
...
@@ -1549,12 +1426,7 @@ static struct ir_scancode ir_codes_pctv_sedna[] = {
{
0x17
,
KEY_DIGITS
},
/* Plus */
{
0x17
,
KEY_DIGITS
},
/* Plus */
{
0x1f
,
KEY_PLAY
},
/* Play */
{
0x1f
,
KEY_PLAY
},
/* Play */
};
};
IR_TABLE
(
pctv_sedna
,
IR_TYPE_UNKNOWN
,
ir_codes_pctv_sedna
);
struct
ir_scancode_table
ir_codes_pctv_sedna_table
=
{
.
scan
=
ir_codes_pctv_sedna
,
.
size
=
ARRAY_SIZE
(
ir_codes_pctv_sedna
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_pctv_sedna_table
);
/* Mark Phalan <phalanm@o2.ie> */
/* Mark Phalan <phalanm@o2.ie> */
static
struct
ir_scancode
ir_codes_pv951
[]
=
{
static
struct
ir_scancode
ir_codes_pv951
[]
=
{
...
@@ -1594,12 +1466,7 @@ static struct ir_scancode ir_codes_pv951[] = {
...
@@ -1594,12 +1466,7 @@ static struct ir_scancode ir_codes_pv951[] = {
{
0x14
,
KEY_EQUAL
},
/* SYNC */
{
0x14
,
KEY_EQUAL
},
/* SYNC */
{
0x1c
,
KEY_MEDIA
},
/* PC/TV */
{
0x1c
,
KEY_MEDIA
},
/* PC/TV */
};
};
IR_TABLE
(
pv951
,
IR_TYPE_UNKNOWN
,
ir_codes_pv951
);
struct
ir_scancode_table
ir_codes_pv951_table
=
{
.
scan
=
ir_codes_pv951
,
.
size
=
ARRAY_SIZE
(
ir_codes_pv951
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_pv951_table
);
/* generic RC5 keytable */
/* generic RC5 keytable */
/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
...
@@ -1642,12 +1509,7 @@ static struct ir_scancode ir_codes_rc5_tv[] = {
...
@@ -1642,12 +1509,7 @@ static struct ir_scancode ir_codes_rc5_tv[] = {
{
0x3d
,
KEY_SUSPEND
},
/* system standby */
{
0x3d
,
KEY_SUSPEND
},
/* system standby */
};
};
IR_TABLE
(
rc5_tv
,
IR_TYPE_UNKNOWN
,
ir_codes_rc5_tv
);
struct
ir_scancode_table
ir_codes_rc5_tv_table
=
{
.
scan
=
ir_codes_rc5_tv
,
.
size
=
ARRAY_SIZE
(
ir_codes_rc5_tv
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_rc5_tv_table
);
/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
static
struct
ir_scancode
ir_codes_winfast
[]
=
{
static
struct
ir_scancode
ir_codes_winfast
[]
=
{
...
@@ -1711,12 +1573,7 @@ static struct ir_scancode ir_codes_winfast[] = {
...
@@ -1711,12 +1573,7 @@ static struct ir_scancode ir_codes_winfast[] = {
{
0x3b
,
KEY_F23
},
/* MCE +CH, on Y04G0033 */
{
0x3b
,
KEY_F23
},
/* MCE +CH, on Y04G0033 */
{
0x3f
,
KEY_F24
}
/* MCE -CH, on Y04G0033 */
{
0x3f
,
KEY_F24
}
/* MCE -CH, on Y04G0033 */
};
};
IR_TABLE
(
winfast
,
IR_TYPE_UNKNOWN
,
ir_codes_winfast
);
struct
ir_scancode_table
ir_codes_winfast_table
=
{
.
scan
=
ir_codes_winfast
,
.
size
=
ARRAY_SIZE
(
ir_codes_winfast
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_winfast_table
);
static
struct
ir_scancode
ir_codes_pinnacle_color
[]
=
{
static
struct
ir_scancode
ir_codes_pinnacle_color
[]
=
{
{
0x59
,
KEY_MUTE
},
{
0x59
,
KEY_MUTE
},
...
@@ -1773,12 +1630,7 @@ static struct ir_scancode ir_codes_pinnacle_color[] = {
...
@@ -1773,12 +1630,7 @@ static struct ir_scancode ir_codes_pinnacle_color[] = {
{
0x74
,
KEY_CHANNEL
},
{
0x74
,
KEY_CHANNEL
},
{
0x0a
,
KEY_BACKSPACE
},
{
0x0a
,
KEY_BACKSPACE
},
};
};
IR_TABLE
(
pinnacle_color
,
IR_TYPE_UNKNOWN
,
ir_codes_pinnacle_color
);
struct
ir_scancode_table
ir_codes_pinnacle_color_table
=
{
.
scan
=
ir_codes_pinnacle_color
,
.
size
=
ARRAY_SIZE
(
ir_codes_pinnacle_color
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_pinnacle_color_table
);
/* Hauppauge: the newer, gray remotes (seems there are multiple
/* Hauppauge: the newer, gray remotes (seems there are multiple
* slightly different versions), shipped with cx88+ivtv cards.
* slightly different versions), shipped with cx88+ivtv cards.
...
@@ -1840,12 +1692,7 @@ static struct ir_scancode ir_codes_hauppauge_new[] = {
...
@@ -1840,12 +1692,7 @@ static struct ir_scancode ir_codes_hauppauge_new[] = {
{
0x3c
,
KEY_ZOOM
},
/* full */
{
0x3c
,
KEY_ZOOM
},
/* full */
{
0x3d
,
KEY_POWER
},
/* system power (green button) */
{
0x3d
,
KEY_POWER
},
/* system power (green button) */
};
};
IR_TABLE
(
hauppauge_new
,
IR_TYPE_UNKNOWN
,
ir_codes_hauppauge_new
);
struct
ir_scancode_table
ir_codes_hauppauge_new_table
=
{
.
scan
=
ir_codes_hauppauge_new
,
.
size
=
ARRAY_SIZE
(
ir_codes_hauppauge_new
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_hauppauge_new_table
);
static
struct
ir_scancode
ir_codes_npgtech
[]
=
{
static
struct
ir_scancode
ir_codes_npgtech
[]
=
{
{
0x1d
,
KEY_SWITCHVIDEOMODE
},
/* switch inputs */
{
0x1d
,
KEY_SWITCHVIDEOMODE
},
/* switch inputs */
...
@@ -1888,12 +1735,7 @@ static struct ir_scancode ir_codes_npgtech[] = {
...
@@ -1888,12 +1735,7 @@ static struct ir_scancode ir_codes_npgtech[] = {
{
0x10
,
KEY_POWER
},
{
0x10
,
KEY_POWER
},
};
};
IR_TABLE
(
npgtech
,
IR_TYPE_UNKNOWN
,
ir_codes_npgtech
);
struct
ir_scancode_table
ir_codes_npgtech_table
=
{
.
scan
=
ir_codes_npgtech
,
.
size
=
ARRAY_SIZE
(
ir_codes_npgtech
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_npgtech_table
);
/* Norwood Micro (non-Pro) TV Tuner
/* Norwood Micro (non-Pro) TV Tuner
By Peter Naulls <peter@chocky.org>
By Peter Naulls <peter@chocky.org>
...
@@ -1940,12 +1782,7 @@ static struct ir_scancode ir_codes_norwood[] = {
...
@@ -1940,12 +1782,7 @@ static struct ir_scancode ir_codes_norwood[] = {
{
0x34
,
KEY_RADIO
},
/* FM */
{
0x34
,
KEY_RADIO
},
/* FM */
{
0x65
,
KEY_POWER
},
/* Computer power */
{
0x65
,
KEY_POWER
},
/* Computer power */
};
};
IR_TABLE
(
norwood
,
IR_TYPE_UNKNOWN
,
ir_codes_norwood
);
struct
ir_scancode_table
ir_codes_norwood_table
=
{
.
scan
=
ir_codes_norwood
,
.
size
=
ARRAY_SIZE
(
ir_codes_norwood
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_norwood_table
);
/* From reading the following remotes:
/* From reading the following remotes:
* Zenith Universal 7 / TV Mode 807 / VCR Mode 837
* Zenith Universal 7 / TV Mode 807 / VCR Mode 837
...
@@ -1999,12 +1836,7 @@ static struct ir_scancode ir_codes_budget_ci_old[] = {
...
@@ -1999,12 +1836,7 @@ static struct ir_scancode ir_codes_budget_ci_old[] = {
{
0x3d
,
KEY_POWER2
},
{
0x3d
,
KEY_POWER2
},
{
0x3e
,
KEY_TUNER
},
{
0x3e
,
KEY_TUNER
},
};
};
IR_TABLE
(
budget_ci_old
,
IR_TYPE_UNKNOWN
,
ir_codes_budget_ci_old
);
struct
ir_scancode_table
ir_codes_budget_ci_old_table
=
{
.
scan
=
ir_codes_budget_ci_old
,
.
size
=
ARRAY_SIZE
(
ir_codes_budget_ci_old
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_budget_ci_old_table
);
/*
/*
* Marc Fargas <telenieko@telenieko.com>
* Marc Fargas <telenieko@telenieko.com>
...
@@ -2057,13 +1889,7 @@ static struct ir_scancode ir_codes_asus_pc39[] = {
...
@@ -2057,13 +1889,7 @@ static struct ir_scancode ir_codes_asus_pc39[] = {
{
0x3d
,
KEY_MUTE
},
/* mute */
{
0x3d
,
KEY_MUTE
},
/* mute */
{
0x01
,
KEY_DVD
},
/* dvd */
{
0x01
,
KEY_DVD
},
/* dvd */
};
};
IR_TABLE
(
asus_pc39
,
IR_TYPE_UNKNOWN
,
ir_codes_asus_pc39
);
struct
ir_scancode_table
ir_codes_asus_pc39_table
=
{
.
scan
=
ir_codes_asus_pc39
,
.
size
=
ARRAY_SIZE
(
ir_codes_asus_pc39
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_asus_pc39_table
);
/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
Juan Pablo Sormani <sorman@gmail.com> */
Juan Pablo Sormani <sorman@gmail.com> */
...
@@ -2137,12 +1963,7 @@ static struct ir_scancode ir_codes_encore_enltv[] = {
...
@@ -2137,12 +1963,7 @@ static struct ir_scancode ir_codes_encore_enltv[] = {
{
0x47
,
KEY_YELLOW
},
/* AP3 */
{
0x47
,
KEY_YELLOW
},
/* AP3 */
{
0x57
,
KEY_BLUE
},
/* AP4 */
{
0x57
,
KEY_BLUE
},
/* AP4 */
};
};
IR_TABLE
(
encore_enltv
,
IR_TYPE_UNKNOWN
,
ir_codes_encore_enltv
);
struct
ir_scancode_table
ir_codes_encore_enltv_table
=
{
.
scan
=
ir_codes_encore_enltv
,
.
size
=
ARRAY_SIZE
(
ir_codes_encore_enltv
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_encore_enltv_table
);
/* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton
/* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton
Mauro Carvalho Chehab <mchehab@infradead.org> */
Mauro Carvalho Chehab <mchehab@infradead.org> */
...
@@ -2194,12 +2015,7 @@ static struct ir_scancode ir_codes_encore_enltv2[] = {
...
@@ -2194,12 +2015,7 @@ static struct ir_scancode ir_codes_encore_enltv2[] = {
{
0x7d
,
KEY_FORWARD
},
{
0x7d
,
KEY_FORWARD
},
{
0x79
,
KEY_STOP
},
{
0x79
,
KEY_STOP
},
};
};
IR_TABLE
(
encore_enltv2
,
IR_TYPE_UNKNOWN
,
ir_codes_encore_enltv2
);
struct
ir_scancode_table
ir_codes_encore_enltv2_table
=
{
.
scan
=
ir_codes_encore_enltv2
,
.
size
=
ARRAY_SIZE
(
ir_codes_encore_enltv2
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_encore_enltv2_table
);
/* for the Technotrend 1500 bundled remotes (grey and black): */
/* for the Technotrend 1500 bundled remotes (grey and black): */
static
struct
ir_scancode
ir_codes_tt_1500
[]
=
{
static
struct
ir_scancode
ir_codes_tt_1500
[]
=
{
...
@@ -2243,12 +2059,7 @@ static struct ir_scancode ir_codes_tt_1500[] = {
...
@@ -2243,12 +2059,7 @@ static struct ir_scancode ir_codes_tt_1500[] = {
{
0x3e
,
KEY_PAUSE
},
{
0x3e
,
KEY_PAUSE
},
{
0x3f
,
KEY_FORWARD
},
{
0x3f
,
KEY_FORWARD
},
};
};
IR_TABLE
(
tt_1500
,
IR_TYPE_UNKNOWN
,
ir_codes_tt_1500
);
struct
ir_scancode_table
ir_codes_tt_1500_table
=
{
.
scan
=
ir_codes_tt_1500
,
.
size
=
ARRAY_SIZE
(
ir_codes_tt_1500
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_tt_1500_table
);
/* DViCO FUSION HDTV MCE remote */
/* DViCO FUSION HDTV MCE remote */
static
struct
ir_scancode
ir_codes_fusionhdtv_mce
[]
=
{
static
struct
ir_scancode
ir_codes_fusionhdtv_mce
[]
=
{
...
@@ -2308,12 +2119,7 @@ static struct ir_scancode ir_codes_fusionhdtv_mce[] = {
...
@@ -2308,12 +2119,7 @@ static struct ir_scancode ir_codes_fusionhdtv_mce[] = {
{
0x01
,
KEY_RECORD
},
{
0x01
,
KEY_RECORD
},
{
0x4e
,
KEY_POWER
},
{
0x4e
,
KEY_POWER
},
};
};
IR_TABLE
(
fusionhdtv_mce
,
IR_TYPE_UNKNOWN
,
ir_codes_fusionhdtv_mce
);
struct
ir_scancode_table
ir_codes_fusionhdtv_mce_table
=
{
.
scan
=
ir_codes_fusionhdtv_mce
,
.
size
=
ARRAY_SIZE
(
ir_codes_fusionhdtv_mce
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_fusionhdtv_mce_table
);
/* Pinnacle PCTV HD 800i mini remote */
/* Pinnacle PCTV HD 800i mini remote */
static
struct
ir_scancode
ir_codes_pinnacle_pctv_hd
[]
=
{
static
struct
ir_scancode
ir_codes_pinnacle_pctv_hd
[]
=
{
...
@@ -2348,12 +2154,7 @@ static struct ir_scancode ir_codes_pinnacle_pctv_hd[] = {
...
@@ -2348,12 +2154,7 @@ static struct ir_scancode ir_codes_pinnacle_pctv_hd[] = {
{
0x36
,
KEY_RECORD
},
{
0x36
,
KEY_RECORD
},
{
0x3f
,
KEY_EPG
},
/* Labeled "?" */
{
0x3f
,
KEY_EPG
},
/* Labeled "?" */
};
};
IR_TABLE
(
pinnacle_pctv_hd
,
IR_TYPE_UNKNOWN
,
ir_codes_pinnacle_pctv_hd
);
struct
ir_scancode_table
ir_codes_pinnacle_pctv_hd_table
=
{
.
scan
=
ir_codes_pinnacle_pctv_hd
,
.
size
=
ARRAY_SIZE
(
ir_codes_pinnacle_pctv_hd
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_pinnacle_pctv_hd_table
);
/*
/*
* Igor Kuznetsov <igk72@ya.ru>
* Igor Kuznetsov <igk72@ya.ru>
...
@@ -2456,12 +2257,7 @@ static struct ir_scancode ir_codes_behold[] = {
...
@@ -2456,12 +2257,7 @@ static struct ir_scancode ir_codes_behold[] = {
{
0x5c
,
KEY_CAMERA
},
{
0x5c
,
KEY_CAMERA
},
};
};
IR_TABLE
(
behold
,
IR_TYPE_UNKNOWN
,
ir_codes_behold
);
struct
ir_scancode_table
ir_codes_behold_table
=
{
.
scan
=
ir_codes_behold
,
.
size
=
ARRAY_SIZE
(
ir_codes_behold
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_behold_table
);
/* Beholder Intl. Ltd. 2008
/* Beholder Intl. Ltd. 2008
* Dmitry Belimov d.belimov@google.com
* Dmitry Belimov d.belimov@google.com
...
@@ -2531,12 +2327,7 @@ static struct ir_scancode ir_codes_behold_columbus[] = {
...
@@ -2531,12 +2327,7 @@ static struct ir_scancode ir_codes_behold_columbus[] = {
{
0x1A
,
KEY_NEXT
},
{
0x1A
,
KEY_NEXT
},
};
};
IR_TABLE
(
behold_columbus
,
IR_TYPE_UNKNOWN
,
ir_codes_behold_columbus
);
struct
ir_scancode_table
ir_codes_behold_columbus_table
=
{
.
scan
=
ir_codes_behold_columbus
,
.
size
=
ARRAY_SIZE
(
ir_codes_behold_columbus
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_behold_columbus_table
);
/*
/*
* Remote control for the Genius TVGO A11MCE
* Remote control for the Genius TVGO A11MCE
...
@@ -2582,12 +2373,7 @@ static struct ir_scancode ir_codes_genius_tvgo_a11mce[] = {
...
@@ -2582,12 +2373,7 @@ static struct ir_scancode ir_codes_genius_tvgo_a11mce[] = {
{
0x13
,
KEY_YELLOW
},
{
0x13
,
KEY_YELLOW
},
{
0x50
,
KEY_BLUE
},
{
0x50
,
KEY_BLUE
},
};
};
IR_TABLE
(
genius_tvgo_a11mce
,
IR_TYPE_UNKNOWN
,
ir_codes_genius_tvgo_a11mce
);
struct
ir_scancode_table
ir_codes_genius_tvgo_a11mce_table
=
{
.
scan
=
ir_codes_genius_tvgo_a11mce
,
.
size
=
ARRAY_SIZE
(
ir_codes_genius_tvgo_a11mce
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_genius_tvgo_a11mce_table
);
/*
/*
* Remote control for Powercolor Real Angel 330
* Remote control for Powercolor Real Angel 330
...
@@ -2630,12 +2416,7 @@ static struct ir_scancode ir_codes_powercolor_real_angel[] = {
...
@@ -2630,12 +2416,7 @@ static struct ir_scancode ir_codes_powercolor_real_angel[] = {
{
0x14
,
KEY_RADIO
},
/* FM radio */
{
0x14
,
KEY_RADIO
},
/* FM radio */
{
0x25
,
KEY_POWER
},
/* power */
{
0x25
,
KEY_POWER
},
/* power */
};
};
IR_TABLE
(
powercolor_real_angel
,
IR_TYPE_UNKNOWN
,
ir_codes_powercolor_real_angel
);
struct
ir_scancode_table
ir_codes_powercolor_real_angel_table
=
{
.
scan
=
ir_codes_powercolor_real_angel
,
.
size
=
ARRAY_SIZE
(
ir_codes_powercolor_real_angel
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_powercolor_real_angel_table
);
/* Kworld Plus TV Analog Lite PCI IR
/* Kworld Plus TV Analog Lite PCI IR
Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab <mchehab@infradead.org>
...
@@ -2696,11 +2477,7 @@ static struct ir_scancode ir_codes_kworld_plus_tv_analog[] = {
...
@@ -2696,11 +2477,7 @@ static struct ir_scancode ir_codes_kworld_plus_tv_analog[] = {
{
0x18
,
KEY_RED
},
/* B */
{
0x18
,
KEY_RED
},
/* B */
{
0x23
,
KEY_GREEN
},
/* C */
{
0x23
,
KEY_GREEN
},
/* C */
};
};
struct
ir_scancode_table
ir_codes_kworld_plus_tv_analog_table
=
{
IR_TABLE
(
kworld_plus_tv_analog
,
IR_TYPE_UNKNOWN
,
ir_codes_kworld_plus_tv_analog
);
.
scan
=
ir_codes_kworld_plus_tv_analog
,
.
size
=
ARRAY_SIZE
(
ir_codes_kworld_plus_tv_analog
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_kworld_plus_tv_analog_table
);
/* Kaiomy TVnPC U2
/* Kaiomy TVnPC U2
Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab <mchehab@infradead.org>
...
@@ -2749,11 +2526,7 @@ static struct ir_scancode ir_codes_kaiomy[] = {
...
@@ -2749,11 +2526,7 @@ static struct ir_scancode ir_codes_kaiomy[] = {
{
0x1e
,
KEY_YELLOW
},
{
0x1e
,
KEY_YELLOW
},
{
0x1f
,
KEY_BLUE
},
{
0x1f
,
KEY_BLUE
},
};
};
struct
ir_scancode_table
ir_codes_kaiomy_table
=
{
IR_TABLE
(
kaiomy
,
IR_TYPE_UNKNOWN
,
ir_codes_kaiomy
);
.
scan
=
ir_codes_kaiomy
,
.
size
=
ARRAY_SIZE
(
ir_codes_kaiomy
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_kaiomy_table
);
static
struct
ir_scancode
ir_codes_avermedia_a16d
[]
=
{
static
struct
ir_scancode
ir_codes_avermedia_a16d
[]
=
{
{
0x20
,
KEY_LIST
},
{
0x20
,
KEY_LIST
},
...
@@ -2791,11 +2564,7 @@ static struct ir_scancode ir_codes_avermedia_a16d[] = {
...
@@ -2791,11 +2564,7 @@ static struct ir_scancode ir_codes_avermedia_a16d[] = {
{
0x08
,
KEY_EPG
},
{
0x08
,
KEY_EPG
},
{
0x2a
,
KEY_MENU
},
{
0x2a
,
KEY_MENU
},
};
};
struct
ir_scancode_table
ir_codes_avermedia_a16d_table
=
{
IR_TABLE
(
avermedia_a16d
,
IR_TYPE_UNKNOWN
,
ir_codes_avermedia_a16d
);
.
scan
=
ir_codes_avermedia_a16d
,
.
size
=
ARRAY_SIZE
(
ir_codes_avermedia_a16d
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_avermedia_a16d_table
);
/* Encore ENLTV-FM v5.3
/* Encore ENLTV-FM v5.3
Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab <mchehab@infradead.org>
...
@@ -2838,11 +2607,7 @@ static struct ir_scancode ir_codes_encore_enltv_fm53[] = {
...
@@ -2838,11 +2607,7 @@ static struct ir_scancode ir_codes_encore_enltv_fm53[] = {
{
0x0c
,
KEY_ZOOM
},
/* hide pannel */
{
0x0c
,
KEY_ZOOM
},
/* hide pannel */
{
0x47
,
KEY_SLEEP
},
/* shutdown */
{
0x47
,
KEY_SLEEP
},
/* shutdown */
};
};
struct
ir_scancode_table
ir_codes_encore_enltv_fm53_table
=
{
IR_TABLE
(
encore_enltv_fm53
,
IR_TYPE_UNKNOWN
,
ir_codes_encore_enltv_fm53
);
.
scan
=
ir_codes_encore_enltv_fm53
,
.
size
=
ARRAY_SIZE
(
ir_codes_encore_enltv_fm53
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_encore_enltv_fm53_table
);
/* Zogis Real Audio 220 - 32 keys IR */
/* Zogis Real Audio 220 - 32 keys IR */
static
struct
ir_scancode
ir_codes_real_audio_220_32_keys
[]
=
{
static
struct
ir_scancode
ir_codes_real_audio_220_32_keys
[]
=
{
...
@@ -2882,11 +2647,7 @@ static struct ir_scancode ir_codes_real_audio_220_32_keys[] = {
...
@@ -2882,11 +2647,7 @@ static struct ir_scancode ir_codes_real_audio_220_32_keys[] = {
{
0x19
,
KEY_CAMERA
},
/* Snapshot */
{
0x19
,
KEY_CAMERA
},
/* Snapshot */
};
};
struct
ir_scancode_table
ir_codes_real_audio_220_32_keys_table
=
{
IR_TABLE
(
real_audio_220_32_keys
,
IR_TYPE_UNKNOWN
,
ir_codes_real_audio_220_32_keys
);
.
scan
=
ir_codes_real_audio_220_32_keys
,
.
size
=
ARRAY_SIZE
(
ir_codes_real_audio_220_32_keys
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_real_audio_220_32_keys_table
);
/* ATI TV Wonder HD 600 USB
/* ATI TV Wonder HD 600 USB
Devin Heitmueller <devin.heitmueller@gmail.com>
Devin Heitmueller <devin.heitmueller@gmail.com>
...
@@ -2917,11 +2678,7 @@ static struct ir_scancode ir_codes_ati_tv_wonder_hd_600[] = {
...
@@ -2917,11 +2678,7 @@ static struct ir_scancode ir_codes_ati_tv_wonder_hd_600[] = {
{
0x16
,
KEY_MUTE
},
{
0x16
,
KEY_MUTE
},
{
0x17
,
KEY_VOLUMEDOWN
},
{
0x17
,
KEY_VOLUMEDOWN
},
};
};
struct
ir_scancode_table
ir_codes_ati_tv_wonder_hd_600_table
=
{
IR_TABLE
(
ati_tv_wonder_hd_600
,
IR_TYPE_UNKNOWN
,
ir_codes_ati_tv_wonder_hd_600
);
.
scan
=
ir_codes_ati_tv_wonder_hd_600
,
.
size
=
ARRAY_SIZE
(
ir_codes_ati_tv_wonder_hd_600
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_ati_tv_wonder_hd_600_table
);
/* DVBWorld remotes
/* DVBWorld remotes
Igor M. Liplianin <liplianin@me.by>
Igor M. Liplianin <liplianin@me.by>
...
@@ -2959,11 +2716,7 @@ static struct ir_scancode ir_codes_dm1105_nec[] = {
...
@@ -2959,11 +2716,7 @@ static struct ir_scancode ir_codes_dm1105_nec[] = {
{
0x1e
,
KEY_TV
},
/* tvmode */
{
0x1e
,
KEY_TV
},
/* tvmode */
{
0x1b
,
KEY_B
},
/* recall */
{
0x1b
,
KEY_B
},
/* recall */
};
};
struct
ir_scancode_table
ir_codes_dm1105_nec_table
=
{
IR_TABLE
(
dm1105_nec
,
IR_TYPE_UNKNOWN
,
ir_codes_dm1105_nec
);
.
scan
=
ir_codes_dm1105_nec
,
.
size
=
ARRAY_SIZE
(
ir_codes_dm1105_nec
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_dm1105_nec_table
);
static
struct
ir_scancode
ir_codes_tevii_nec
[]
=
{
static
struct
ir_scancode
ir_codes_tevii_nec
[]
=
{
{
0x0a
,
KEY_POWER2
},
{
0x0a
,
KEY_POWER2
},
...
@@ -3014,11 +2767,7 @@ static struct ir_scancode ir_codes_tevii_nec[] = {
...
@@ -3014,11 +2767,7 @@ static struct ir_scancode ir_codes_tevii_nec[] = {
{
0x56
,
KEY_MODE
},
{
0x56
,
KEY_MODE
},
{
0x58
,
KEY_SWITCHVIDEOMODE
},
{
0x58
,
KEY_SWITCHVIDEOMODE
},
};
};
struct
ir_scancode_table
ir_codes_tevii_nec_table
=
{
IR_TABLE
(
tevii_nec
,
IR_TYPE_UNKNOWN
,
ir_codes_tevii_nec
);
.
scan
=
ir_codes_tevii_nec
,
.
size
=
ARRAY_SIZE
(
ir_codes_tevii_nec
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_tevii_nec_table
);
static
struct
ir_scancode
ir_codes_tbs_nec
[]
=
{
static
struct
ir_scancode
ir_codes_tbs_nec
[]
=
{
{
0x04
,
KEY_POWER2
},
/*power*/
{
0x04
,
KEY_POWER2
},
/*power*/
...
@@ -3054,11 +2803,7 @@ static struct ir_scancode ir_codes_tbs_nec[] = {
...
@@ -3054,11 +2803,7 @@ static struct ir_scancode ir_codes_tbs_nec[] = {
{
0x00
,
KEY_PREVIOUS
},
{
0x00
,
KEY_PREVIOUS
},
{
0x1b
,
KEY_MODE
},
{
0x1b
,
KEY_MODE
},
};
};
struct
ir_scancode_table
ir_codes_tbs_nec_table
=
{
IR_TABLE
(
tbs_nec
,
IR_TYPE_UNKNOWN
,
ir_codes_tbs_nec
);
.
scan
=
ir_codes_tbs_nec
,
.
size
=
ARRAY_SIZE
(
ir_codes_tbs_nec
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_tbs_nec_table
);
/* Terratec Cinergy Hybrid T USB XS
/* Terratec Cinergy Hybrid T USB XS
Devin Heitmueller <dheitmueller@linuxtv.org>
Devin Heitmueller <dheitmueller@linuxtv.org>
...
@@ -3112,11 +2857,7 @@ static struct ir_scancode ir_codes_terratec_cinergy_xs[] = {
...
@@ -3112,11 +2857,7 @@ static struct ir_scancode ir_codes_terratec_cinergy_xs[] = {
{
0x4f
,
KEY_FASTFORWARD
},
{
0x4f
,
KEY_FASTFORWARD
},
{
0x5c
,
KEY_NEXT
},
{
0x5c
,
KEY_NEXT
},
};
};
struct
ir_scancode_table
ir_codes_terratec_cinergy_xs_table
=
{
IR_TABLE
(
terratec_cinergy_xs
,
IR_TYPE_UNKNOWN
,
ir_codes_terratec_cinergy_xs
);
.
scan
=
ir_codes_terratec_cinergy_xs
,
.
size
=
ARRAY_SIZE
(
ir_codes_terratec_cinergy_xs
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_terratec_cinergy_xs_table
);
/* EVGA inDtube
/* EVGA inDtube
Devin Heitmueller <devin.heitmueller@gmail.com>
Devin Heitmueller <devin.heitmueller@gmail.com>
...
@@ -3139,11 +2880,7 @@ static struct ir_scancode ir_codes_evga_indtube[] = {
...
@@ -3139,11 +2880,7 @@ static struct ir_scancode ir_codes_evga_indtube[] = {
{
0x1f
,
KEY_NEXT
},
{
0x1f
,
KEY_NEXT
},
{
0x13
,
KEY_CAMERA
},
{
0x13
,
KEY_CAMERA
},
};
};
struct
ir_scancode_table
ir_codes_evga_indtube_table
=
{
IR_TABLE
(
evga_indtube
,
IR_TYPE_UNKNOWN
,
ir_codes_evga_indtube
);
.
scan
=
ir_codes_evga_indtube
,
.
size
=
ARRAY_SIZE
(
ir_codes_evga_indtube
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_evga_indtube_table
);
static
struct
ir_scancode
ir_codes_videomate_s350
[]
=
{
static
struct
ir_scancode
ir_codes_videomate_s350
[]
=
{
{
0x00
,
KEY_TV
},
{
0x00
,
KEY_TV
},
...
@@ -3191,11 +2928,7 @@ static struct ir_scancode ir_codes_videomate_s350[] = {
...
@@ -3191,11 +2928,7 @@ static struct ir_scancode ir_codes_videomate_s350[] = {
{
0x11
,
KEY_ENTER
},
{
0x11
,
KEY_ENTER
},
{
0x20
,
KEY_TEXT
},
{
0x20
,
KEY_TEXT
},
};
};
struct
ir_scancode_table
ir_codes_videomate_s350_table
=
{
IR_TABLE
(
videomate_s350
,
IR_TYPE_UNKNOWN
,
ir_codes_videomate_s350
);
.
scan
=
ir_codes_videomate_s350
,
.
size
=
ARRAY_SIZE
(
ir_codes_videomate_s350
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_videomate_s350_table
);
/* GADMEI UTV330+ RM008Z remote
/* GADMEI UTV330+ RM008Z remote
Shine Liu <shinel@foxmail.com>
Shine Liu <shinel@foxmail.com>
...
@@ -3238,11 +2971,7 @@ static struct ir_scancode ir_codes_gadmei_rm008z[] = {
...
@@ -3238,11 +2971,7 @@ static struct ir_scancode ir_codes_gadmei_rm008z[] = {
{
0x13
,
KEY_CHANNELDOWN
},
/* CHANNELDOWN */
{
0x13
,
KEY_CHANNELDOWN
},
/* CHANNELDOWN */
{
0x15
,
KEY_ENTER
},
/* OK */
{
0x15
,
KEY_ENTER
},
/* OK */
};
};
struct
ir_scancode_table
ir_codes_gadmei_rm008z_table
=
{
IR_TABLE
(
gadmei_rm008z
,
IR_TYPE_UNKNOWN
,
ir_codes_gadmei_rm008z
);
.
scan
=
ir_codes_gadmei_rm008z
,
.
size
=
ARRAY_SIZE
(
ir_codes_gadmei_rm008z
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_gadmei_rm008z_table
);
/*************************************************************
/*************************************************************
* COMPLETE SCANCODE TABLES
* COMPLETE SCANCODE TABLES
...
@@ -3313,13 +3042,7 @@ static struct ir_scancode ir_codes_rc5_hauppauge_new[] = {
...
@@ -3313,13 +3042,7 @@ static struct ir_scancode ir_codes_rc5_hauppauge_new[] = {
{
0x1e3c
,
KEY_ZOOM
},
/* full */
{
0x1e3c
,
KEY_ZOOM
},
/* full */
{
0x1e3d
,
KEY_POWER
},
/* system power (green button) */
{
0x1e3d
,
KEY_POWER
},
/* system power (green button) */
};
};
IR_TABLE
(
rc5_hauppauge_new
,
IR_TYPE_RC5
,
ir_codes_rc5_hauppauge_new
);
struct
ir_scancode_table
ir_codes_rc5_hauppauge_new_table
=
{
.
scan
=
ir_codes_rc5_hauppauge_new
,
.
size
=
ARRAY_SIZE
(
ir_codes_rc5_hauppauge_new
),
.
ir_type
=
IR_TYPE_RC5
,
};
EXPORT_SYMBOL_GPL
(
ir_codes_rc5_hauppauge_new_table
);
/* Terratec Cinergy Hybrid T USB XS FM
/* Terratec Cinergy Hybrid T USB XS FM
Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab <mchehab@redhat.com>
...
@@ -3386,13 +3109,7 @@ static struct ir_scancode ir_codes_nec_terratec_cinergy_xs[] = {
...
@@ -3386,13 +3109,7 @@ static struct ir_scancode ir_codes_nec_terratec_cinergy_xs[] = {
{
0x144f
,
KEY_FASTFORWARD
},
{
0x144f
,
KEY_FASTFORWARD
},
{
0x145c
,
KEY_NEXT
},
{
0x145c
,
KEY_NEXT
},
};
};
struct
ir_scancode_table
ir_codes_nec_terratec_cinergy_xs_table
=
{
IR_TABLE
(
nec_terratec_cinergy_xs
,
IR_TYPE_NEC
,
ir_codes_nec_terratec_cinergy_xs
);
.
scan
=
ir_codes_nec_terratec_cinergy_xs
,
.
size
=
ARRAY_SIZE
(
ir_codes_nec_terratec_cinergy_xs
),
.
ir_type
=
IR_TYPE_NEC
,
};
EXPORT_SYMBOL_GPL
(
ir_codes_nec_terratec_cinergy_xs_table
);
/* Leadtek Winfast TV USB II Deluxe remote
/* Leadtek Winfast TV USB II Deluxe remote
Magnus Alm <magnus.alm@gmail.com>
Magnus Alm <magnus.alm@gmail.com>
...
@@ -3436,11 +3153,7 @@ static struct ir_scancode ir_codes_winfast_usbii_deluxe[] = {
...
@@ -3436,11 +3153,7 @@ static struct ir_scancode ir_codes_winfast_usbii_deluxe[] = {
{
0x63
,
KEY_ENTER
},
/* ENTER */
{
0x63
,
KEY_ENTER
},
/* ENTER */
};
};
struct
ir_scancode_table
ir_codes_winfast_usbii_deluxe_table
=
{
IR_TABLE
(
winfast_usbii_deluxe
,
IR_TYPE_UNKNOWN
,
ir_codes_winfast_usbii_deluxe
);
.
scan
=
ir_codes_winfast_usbii_deluxe
,
.
size
=
ARRAY_SIZE
(
ir_codes_winfast_usbii_deluxe
),
};
EXPORT_SYMBOL_GPL
(
ir_codes_winfast_usbii_deluxe_table
);
/* Kworld 315U
/* Kworld 315U
*/
*/
...
@@ -3485,10 +3198,4 @@ static struct ir_scancode ir_codes_kworld_315u[] = {
...
@@ -3485,10 +3198,4 @@ static struct ir_scancode ir_codes_kworld_315u[] = {
{
0x611e
,
KEY_YELLOW
},
{
0x611e
,
KEY_YELLOW
},
{
0x611f
,
KEY_BLUE
},
{
0x611f
,
KEY_BLUE
},
};
};
IR_TABLE
(
kworld_315u
,
IR_TYPE_NEC
,
ir_codes_kworld_315u
);
struct
ir_scancode_table
ir_codes_kworld_315u_table
=
{
.
scan
=
ir_codes_kworld_315u
,
.
size
=
ARRAY_SIZE
(
ir_codes_kworld_315u
),
.
ir_type
=
IR_TYPE_NEC
,
};
EXPORT_SYMBOL_GPL
(
ir_codes_kworld_315u_table
);
include/media/ir-core.h
浏览文件 @
2915e5ef
...
@@ -35,7 +35,8 @@ struct ir_scancode {
...
@@ -35,7 +35,8 @@ struct ir_scancode {
struct
ir_scancode_table
{
struct
ir_scancode_table
{
struct
ir_scancode
*
scan
;
struct
ir_scancode
*
scan
;
int
size
;
int
size
;
u64
ir_type
;
u64
ir_type
;
char
*
name
;
spinlock_t
lock
;
spinlock_t
lock
;
};
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录