From: "Bernd Strauß" <no_bs@web.de>
To: linux-dvb@linuxtv.org
Subject: [linux-dvb] Patch: IR-support for Tevii s460
Date: Thu, 26 Mar 2009 20:02:40 +0100 [thread overview]
Message-ID: <1619240981@web.de> (raw)
[-- Attachment #1: Type: text/plain, Size: 363 bytes --]
The remote control which comes with this card doesn't work out of the box.
This patch changes that. Works with LIRC and /dev/input/eventX.
_______________________________________________________________________
DSL zum Nulltarif + 20 Euro Extraprämie bei Online-Bestellung über die
DSL Freundschaftswerbung! http://dsl.web.de/?ac=OM.AD.AD008K15279B7069a
[-- Attachment #2: ir-remote-tevii-s460.patch --]
[-- Type: text/x-patch, Size: 3859 bytes --]
diff -r -U 6 v4l-dvb/linux/drivers/media/common/ir-keymaps.c patched-v4l-dvb/linux/drivers/media/common/ir-keymaps.c
--- v4l-dvb/linux/drivers/media/common/ir-keymaps.c 2009-03-25 18:27:24.929354799 +0100
+++ patched-v4l-dvb/linux/drivers/media/common/ir-keymaps.c 2009-03-26 19:23:12.953686930 +0100
@@ -2797,6 +2797,60 @@
[0x06] = KEY_S, /*stop*/
[0x40] = KEY_F, /*full*/
[0x1e] = KEY_W, /*tvmode*/
[0x1b] = KEY_B, /*recall*/
};
EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec);
+
+/* TeVii S460 DVB-S/S2 */
+IR_KEYTAB_TYPE ir_codes_tevii_s460[IR_KEYTAB_SIZE] = {
+ [0x0a] = KEY_POWER,
+ [0x0c] = KEY_MUTE,
+ [0x11] = KEY_1,
+ [0x12] = KEY_2,
+ [0x13] = KEY_3,
+ [0x14] = KEY_4,
+ [0x15] = KEY_5,
+ [0x16] = KEY_6,
+ [0x17] = KEY_7,
+ [0x18] = KEY_8,
+ [0x19] = KEY_9,
+ [0x1a] = KEY_LAST, /* 'recall' / 'event info' */
+ [0x10] = KEY_0,
+ [0x1b] = KEY_FAVORITES,
+
+ [0x09] = KEY_VOLUMEUP,
+ [0x0f] = KEY_VOLUMEDOWN,
+ [0x05] = KEY_TUNER, /* 'live mode' */
+ [0x07] = KEY_PVR, /* 'play mode' */
+ [0x08] = KEY_CHANNELUP,
+ [0x06] = KEY_CHANNELDOWN,
+ [0x00] = KEY_UP,
+ [0x03] = KEY_LEFT,
+ [0x1f] = KEY_OK,
+ [0x02] = KEY_RIGHT,
+ [0x01] = KEY_DOWN,
+ [0x1c] = KEY_MENU,
+ [0x1d] = KEY_BACK,
+
+ [0x40] = KEY_PLAYPAUSE,
+ [0x1e] = KEY_REWIND, /* '<<' */
+ [0x4d] = KEY_FASTFORWARD, /* '>>' */
+ [0x44] = KEY_EPG,
+ [0x04] = KEY_RECORD,
+ [0x0b] = KEY_TIME, /* 'timer' */
+ [0x0e] = KEY_OPEN,
+ [0x4c] = KEY_INFO,
+ [0x41] = KEY_AB, /* 'A/B' */
+ [0x43] = KEY_AUDIO,
+ [0x45] = KEY_SUBTITLE,
+ [0x4a] = KEY_LIST,
+ [0x46] = KEY_F1, /* 'F1' / 'satellite' */
+ [0x47] = KEY_F2, /* 'F2' / 'provider' */
+ [0x5e] = KEY_F3, /* 'F3' / 'transp' */
+ [0x5c] = KEY_F4, /* 'F4' / 'favorites' */
+ [0x52] = KEY_F5, /* 'F5' / 'all' */
+ [0x5a] = KEY_F6,
+ [0x56] = KEY_SWITCHVIDEOMODE, /* 'mon' */
+ [0x58] = KEY_ZOOM, /* 'FS' */
+};
+EXPORT_SYMBOL_GPL(ir_codes_tevii_s460);
diff -r -U 6 v4l-dvb/linux/drivers/media/video/cx88/cx88-input.c patched-v4l-dvb/linux/drivers/media/video/cx88/cx88-input.c
--- v4l-dvb/linux/drivers/media/video/cx88/cx88-input.c 2009-03-25 18:27:33.595354385 +0100
+++ patched-v4l-dvb/linux/drivers/media/video/cx88/cx88-input.c 2009-03-25 18:28:27.585354216 +0100
@@ -327,12 +327,17 @@
case CX88_BOARD_POWERCOLOR_REAL_ANGEL:
ir_codes = ir_codes_powercolor_real_angel;
ir->gpio_addr = MO_GP2_IO;
ir->mask_keycode = 0x7e;
ir->polling = 100; /* ms */
break;
+ case CX88_BOARD_TEVII_S460:
+ ir_codes = ir_codes_tevii_s460;
+ ir_type = IR_TYPE_PD;
+ ir->sampling = 0xff00; /* address */
+ break;
}
if (NULL == ir_codes) {
err = -ENODEV;
goto err_out_free;
}
@@ -433,12 +438,13 @@
ir_dump_samples(ir->samples, ir->scount);
/* decode it */
switch (core->boardnr) {
case CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1:
case CX88_BOARD_DNTV_LIVE_DVB_T_PRO:
+ case CX88_BOARD_TEVII_S460:
ircode = ir_decode_pulsedistance(ir->samples, ir->scount, 1, 4);
if (ircode == 0xffffffff) { /* decoding error */
ir_dprintk("pulse distance decoding error\n");
break;
}
diff -r -U 6 v4l-dvb/linux/include/media/ir-common.h patched-v4l-dvb/linux/include/media/ir-common.h
--- v4l-dvb/linux/include/media/ir-common.h 2009-03-25 18:27:39.310350866 +0100
+++ patched-v4l-dvb/linux/include/media/ir-common.h 2009-03-25 18:28:27.585354216 +0100
@@ -159,12 +159,13 @@
extern IR_KEYTAB_TYPE ir_codes_real_audio_220_32_keys[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_msi_tvanywhere_plus[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_ati_tv_wonder_hd_600[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_kworld_plus_tv_analog[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_kaiomy[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_dm1105_nec[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_tevii_s460[IR_KEYTAB_SIZE];
#endif
/*
* Local variables:
* c-basic-offset: 8
* End:
[-- Attachment #3: Type: text/plain, Size: 228 bytes --]
_______________________________________________
linux-dvb users mailing list
For V4L/DVB development, please use instead linux-media@vger.kernel.org
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
next reply other threads:[~2009-03-27 0:01 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-26 19:02 Bernd Strauß [this message]
2009-03-27 11:18 ` [linux-dvb] Patch: IR-support for Tevii s460 Mauro Carvalho Chehab
2009-03-28 15:43 ` Igor M. Liplianin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1619240981@web.de \
--to=no_bs@web.de \
--cc=linux-dvb@linuxtv.org \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox