This patch adds remote support for the Kworld 315U device

Note: I believe I got most of the mappings correct.  Though the
source and shutdown button probably could be mapped to something
better.  

To be done: Still need to get the Kworld analog patch resubmitted.
There are still some stuff I want to test with the analog patch before
I resubmit it.  Hopefully this patch will work ok.

Please let me know if there are any issues applying the patch

Signed-off-by: Franklin Meng <fmeng2...@yahoo.com>

diff -r 28f5eca12bb0 linux/drivers/media/IR/ir-keymaps.c
--- a/linux/drivers/media/IR/ir-keymaps.c       Sat Feb 06 23:49:31 2010 -0200
+++ b/linux/drivers/media/IR/ir-keymaps.c       Sun Feb 07 11:35:39 2010 -0800
@@ -3501,3 +3501,52 @@
        .size = ARRAY_SIZE(ir_codes_winfast_usbii_deluxe),
 };
 EXPORT_SYMBOL_GPL(ir_codes_winfast_usbii_deluxe_table);
+
+/* Kworld 315U
+*/
+static struct ir_scancode ir_codes_kworld_315u[] = {
+       { 0x43, KEY_POWER },
+       { 0x01, KEY_TUNER },    /* source */
+       { 0x0b, KEY_ZOOM },
+       { 0x03, KEY_POWER2 },   /* shutdown */
+
+       { 0x04, KEY_1 },
+       { 0x08, KEY_2 },
+       { 0x02, KEY_3 },
+       { 0x09, KEY_CHANNELUP },
+
+       { 0x0f, KEY_4 },
+       { 0x05, KEY_5 },
+       { 0x06, KEY_6 },
+       { 0x07, KEY_CHANNELDOWN },
+
+       { 0x0c, KEY_7 },
+       { 0x0d, KEY_8 },
+       { 0x0a, KEY_9 },
+       { 0x0e, KEY_VOLUMEUP },
+
+       { 0x10, KEY_LAST },
+       { 0x11, KEY_0 },
+       { 0x12, KEY_ENTER },
+       { 0x13, KEY_VOLUMEDOWN },
+
+       { 0x14, KEY_RECORD },
+       { 0x15, KEY_STOP },
+       { 0x16, KEY_PLAY },
+       { 0x17, KEY_MUTE },
+
+       { 0x18, KEY_UP },
+       { 0x19, KEY_DOWN },
+       { 0x1a, KEY_LEFT },
+       { 0x1b, KEY_RIGHT },
+
+       { 0x1c, KEY_RED },
+       { 0x1d, KEY_GREEN },
+       { 0x1e, KEY_YELLOW },
+       { 0x1f, KEY_BLUE },
+};
+struct ir_scancode_table ir_codes_kworld_315u_table = {
+       .scan = ir_codes_kworld_315u,
+       .size = ARRAY_SIZE(ir_codes_kworld_315u),
+};
+EXPORT_SYMBOL_GPL(ir_codes_kworld_315u_table);
diff -r 28f5eca12bb0 linux/drivers/media/video/em28xx/em28xx-cards.c
--- a/linux/drivers/media/video/em28xx/em28xx-cards.c   Sat Feb 06 23:49:31 
2010 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-cards.c   Sun Feb 07 11:35:39 
2010 -0800
@@ -1322,6 +1322,7 @@
                .tda9887_conf   = TDA9887_PRESENT,
                .decoder        = EM28XX_SAA711X,
                .has_dvb        = 1,
+               .ir_codes       = &ir_codes_kworld_315u_table,
                .dvb_gpio       = em2882_kworld_315u_digital,
                .xclk           = EM28XX_XCLK_FREQUENCY_12MHZ,
                .i2c_speed      = EM28XX_I2C_CLK_WAIT_ENABLE,
diff -r 28f5eca12bb0 linux/include/media/ir-common.h
--- a/linux/include/media/ir-common.h   Sat Feb 06 23:49:31 2010 -0200
+++ b/linux/include/media/ir-common.h   Sun Feb 07 11:35:39 2010 -0800
@@ -163,4 +163,5 @@
 extern struct ir_scancode_table ir_codes_gadmei_rm008z_table;
 extern struct ir_scancode_table ir_codes_nec_terratec_cinergy_xs_table;
 extern struct ir_scancode_table ir_codes_winfast_usbii_deluxe_table;
+extern struct ir_scancode_table ir_codes_kworld_315u_table;
 #endif




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

Reply via email to