Re: [PATCH] saa7134: add support for one more remote control for Avermedia M135A

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Sex 19 Mar 2010, às 18:56:57, Mauro Carvalho Chehab escreveu:
> Hi Herton,
> 
> Herton Ronaldo Krzesinski wrote:
> > This change adds support for one more remote control type for Avermedia
> > M135A. The new remote control reports slightly different codes, and was
> > necessary to extend the mask_keycode to differentiate between original
> > remote control. One of the remote controls I had matched the original
> > binding, but some keys reported duplicated codes, probably because the
> > previous mask_keycode missing valid bits, so this should fix also
> > original remote control support ("The keys bellow aren't ok" comment).
> 
> It would be a way better to extend it to use the full address+command scancode
> (16 bits, being 13 or 14 used). This would allow using this board with
> universal IR's and other third party ones.
> 
> That's said, I have one of such board here, with one IR control (mine has the
> small control labaled RM-JX).
> 
> As I have some things to do with IR core support, I'll do some tests in order
> to extend the IR support on saa7134 in order to get the full IR code and remap
> this IR.

Ok, when you have done it feel free to ask me to test any patches you have
etc., my control is labeled RM-K6, supplied by Avermedia I suppose to Positivo
(this controler comes with Positivo "PC-TV" machine with Avermedia card) , and
the original IR control unfortunately I don't have anymore here to test. I
suppose there would be more control types as well which Avermedia ships...

> 
> > 
> > Signed-off-by: Herton Ronaldo Krzesinski <herton@xxxxxxxxxxxxxxx>
> > ---
> >  drivers/media/IR/ir-keymaps.c               |  141 +++++++++++++++++++---------
> >  drivers/media/video/saa7134/saa7134-input.c |    2 
> >  2 files changed, 97 insertions(+), 46 deletions(-)
> > 
> > (sorry this is a resend of previous patch, I forgot [PATCH] in subject)
> > 
> > diff -p -up linux-2.6.33.1-1.1mnb/drivers/media/IR/ir-keymaps.c.orig linux-2.6.33.1-1.1mnb/drivers/media/IR/ir-keymaps.c
> > --- linux-2.6.33.1-1.1mnb/drivers/media/IR/ir-keymaps.c.orig	2010-03-18 22:25:12.000000000 -0300
> > +++ linux-2.6.33.1-1.1mnb/drivers/media/IR/ir-keymaps.c	2010-03-18 22:46:29.000000000 -0300
> > @@ -122,51 +122,102 @@ EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvb
> >  
> >  /* Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxx> */
> >  static struct ir_scancode ir_codes_avermedia_m135a[] = {
> > -	{ 0x00, KEY_POWER2 },
> > -	{ 0x2e, KEY_DOT },		/* '.' */
> > -	{ 0x01, KEY_MODE },		/* TV/FM */
> > -
> > -	{ 0x05, KEY_1 },
> > -	{ 0x06, KEY_2 },
> > -	{ 0x07, KEY_3 },
> > -	{ 0x09, KEY_4 },
> > -	{ 0x0a, KEY_5 },
> > -	{ 0x0b, KEY_6 },
> > -	{ 0x0d, KEY_7 },
> > -	{ 0x0e, KEY_8 },
> > -	{ 0x0f, KEY_9 },
> > -	{ 0x11, KEY_0 },
> > -
> > -	{ 0x13, KEY_RIGHT },		/* -> */
> > -	{ 0x12, KEY_LEFT },		/* <- */
> > -
> > -	{ 0x17, KEY_SLEEP },		/* Capturar Imagem */
> > -	{ 0x10, KEY_SHUFFLE },		/* Amostra */
> > -
> > -	/* FIXME: The keys bellow aren't ok */
> > -
> > -	{ 0x43, KEY_CHANNELUP },
> > -	{ 0x42, KEY_CHANNELDOWN },
> > -	{ 0x1f, KEY_VOLUMEUP },
> > -	{ 0x1e, KEY_VOLUMEDOWN },
> > -	{ 0x0c, KEY_ENTER },
> > -
> > -	{ 0x14, KEY_MUTE },
> > -	{ 0x08, KEY_AUDIO },
> > -
> > -	{ 0x03, KEY_TEXT },
> > -	{ 0x04, KEY_EPG },
> > -	{ 0x2b, KEY_TV2 },		/* TV2 */
> > -
> > -	{ 0x1d, KEY_RED },
> > -	{ 0x1c, KEY_YELLOW },
> > -	{ 0x41, KEY_GREEN },
> > -	{ 0x40, KEY_BLUE },
> > -
> > -	{ 0x1a, KEY_PLAYPAUSE },
> > -	{ 0x19, KEY_RECORD },
> > -	{ 0x18, KEY_PLAY },
> > -	{ 0x1b, KEY_STOP },
> > +	/* Remote control type 01 (32/54 keys) */
> > +	{ 0x100, KEY_POWER2 },
> > +	{ 0x12e, KEY_DOT },		/* '.' */
> > +	{ 0x101, KEY_MODE },		/* TV/FM */
> > +
> > +	{ 0x105, KEY_1 },
> > +	{ 0x106, KEY_2 },
> > +	{ 0x107, KEY_3 },
> > +	{ 0x109, KEY_4 },
> > +	{ 0x10a, KEY_5 },
> > +	{ 0x10b, KEY_6 },
> > +	{ 0x10d, KEY_7 },
> > +	{ 0x10e, KEY_8 },
> > +	{ 0x10f, KEY_9 },
> > +	{ 0x111, KEY_0 },
> > +
> > +	{ 0x113, KEY_RIGHT },		/* -> */
> > +	{ 0x112, KEY_LEFT },		/* <- */
> > +
> > +	{ 0x117, KEY_SHUFFLE },		/* Capturar Imagem */
> > +	{ 0x110, KEY_F13 },		/* Amostra */
> > +
> > +	{ 0x183, KEY_CHANNELUP },
> > +	{ 0x182, KEY_CHANNELDOWN },
> > +	{ 0x11f, KEY_VOLUMEUP },
> > +	{ 0x11e, KEY_VOLUMEDOWN },
> > +	{ 0x10c, KEY_ENTER },
> > +
> > +	{ 0x114, KEY_MUTE },
> > +	{ 0x108, KEY_AUDIO },
> > +
> > +	{ 0x103, KEY_TEXT },
> > +	{ 0x104, KEY_EPG },
> > +	{ 0x12b, KEY_TV2 },		/* TV2 */
> > +
> > +	{ 0x11d, KEY_RED },
> > +	{ 0x11c, KEY_YELLOW },
> > +	{ 0x181, KEY_GREEN },
> > +	{ 0x180, KEY_BLUE },
> > +
> > +	{ 0x11a, KEY_PLAYPAUSE },
> > +	{ 0x119, KEY_RECORD },
> > +	{ 0x118, KEY_PLAY },
> > +	{ 0x11b, KEY_STOP },
> > +
> > +	/* Remote control type 04 (44 keys) */
> > +	{ 0x201, KEY_POWER2 },
> > +	{ 0x206, KEY_MUTE },
> > +	{ 0x208, KEY_MODE },
> > +
> > +	{ 0x209, KEY_1 },
> > +	{ 0x20a, KEY_2 },
> > +	{ 0x20b, KEY_3 },
> > +	{ 0x20c, KEY_4 },
> > +	{ 0x20d, KEY_5 },
> > +	{ 0x20e, KEY_6 },
> > +	{ 0x20f, KEY_7 },
> > +	{ 0x210, KEY_8 },
> > +	{ 0x211, KEY_9 },
> > +	{ 0x24c, KEY_DOT },
> > +	{ 0x212, KEY_0 },
> > +	{ 0x207, KEY_LAST },
> > +
> > +	{ 0x213, KEY_AUDIO },
> > +	{ 0x240, KEY_ZOOM },
> > +	{ 0x241, KEY_HOME },
> > +	{ 0x242, KEY_BACK },
> > +	{ 0x247, KEY_UP },
> > +	{ 0x248, KEY_DOWN },
> > +	{ 0x249, KEY_LEFT },
> > +	{ 0x24a, KEY_RIGHT },
> > +	{ 0x24b, KEY_OK },
> > +	{ 0x204, KEY_VOLUMEUP },
> > +	{ 0x205, KEY_VOLUMEDOWN },
> > +	{ 0x202, KEY_CHANNELUP },
> > +	{ 0x203, KEY_CHANNELDOWN },
> > +
> > +	{ 0x243, KEY_TV },
> > +	{ 0x244, KEY_VIDEO },
> > +	{ 0x245, KEY_MP3 },
> > +	{ 0x246, KEY_MHP },
> > +
> > +	{ 0x214, KEY_TEXT },
> > +	{ 0x215, KEY_EPG },
> > +	{ 0x21a, KEY_MEDIA },
> > +	{ 0x21b, KEY_SHUFFLE },
> > +
> > +	{ 0x217, KEY_RECORD },
> > +	{ 0x216, KEY_PLAYPAUSE },
> > +	{ 0x218, KEY_STOP },
> > +	{ 0x219, KEY_PAUSE },
> > +
> > +	{ 0x21f, KEY_PREVIOUS },
> > +	{ 0x21d, KEY_REWIND },
> > +	{ 0x21c, KEY_FORWARD },
> > +	{ 0x21e, KEY_NEXT },
> >  };
> >  
> >  struct ir_scancode_table ir_codes_avermedia_m135a_table = {
> > diff -p -up linux-2.6.33.1-1.1mnb/drivers/media/video/saa7134/saa7134-input.c.orig linux-2.6.33.1-1.1mnb/drivers/media/video/saa7134/saa7134-input.c
> > --- linux-2.6.33.1-1.1mnb/drivers/media/video/saa7134/saa7134-input.c.orig	2010-03-18 22:23:50.000000000 -0300
> > +++ linux-2.6.33.1-1.1mnb/drivers/media/video/saa7134/saa7134-input.c	2010-03-18 23:40:01.000000000 -0300
> > @@ -523,7 +523,7 @@ int saa7134_input_init1(struct saa7134_d
> >  	case SAA7134_BOARD_AVERMEDIA_M135A:
> >  		ir_codes     = &ir_codes_avermedia_m135a_table;
> >  		mask_keydown = 0x0040000;
> > -		mask_keycode = 0x00013f;
> > +		mask_keycode = 0x00077f;
> >  		nec_gpio     = 1;
> >  		break;
> >  	case SAA7134_BOARD_AVERMEDIA_777:
> 
> 
> 

-- 
[]'s
Herton
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux