diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-11-27 21:25:13 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 15:42:20 -0500 |
commit | 35d1988c6e19db3d4240e2a60c71b3a13abf0781 (patch) | |
tree | cd629ef083b4757e54aaa0077a0d9e416fea19e4 | |
parent | 6d691237e61ed68a04b14e3c89364e481421d6e8 (diff) |
V4L/DVB (13535): ir-common: Add a hauppauge new table with the complete RC5 code
Now that V4L drivers can support more than 7 bits for scan code, let's
add a modified version for the Hauppauge Grey IR containing the full IR
scancode.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/common/ir-keymaps.c | 71 | ||||
-rw-r--r-- | include/media/ir-common.h | 1 |
2 files changed, 72 insertions, 0 deletions
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c index e353dffe696a..328c973a0838 100644 --- a/drivers/media/common/ir-keymaps.c +++ b/drivers/media/common/ir-keymaps.c | |||
@@ -1847,6 +1847,76 @@ struct ir_scancode_table ir_codes_hauppauge_new_table = { | |||
1847 | }; | 1847 | }; |
1848 | EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new_table); | 1848 | EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new_table); |
1849 | 1849 | ||
1850 | /* | ||
1851 | * Hauppauge:the newer, gray remotes (seems there are multiple | ||
1852 | * slightly different versions), shipped with cx88+ivtv cards. | ||
1853 | * | ||
1854 | * This table contains the complete RC5 code, instead of just the data part | ||
1855 | */ | ||
1856 | static struct ir_scancode ir_codes_rc5_hauppauge_new[] = { | ||
1857 | /* Keys 0 to 9 */ | ||
1858 | { 0x1e00, KEY_0 }, | ||
1859 | { 0x1e01, KEY_1 }, | ||
1860 | { 0x1e02, KEY_2 }, | ||
1861 | { 0x1e03, KEY_3 }, | ||
1862 | { 0x1e04, KEY_4 }, | ||
1863 | { 0x1e05, KEY_5 }, | ||
1864 | { 0x1e06, KEY_6 }, | ||
1865 | { 0x1e07, KEY_7 }, | ||
1866 | { 0x1e08, KEY_8 }, | ||
1867 | { 0x1e09, KEY_9 }, | ||
1868 | |||
1869 | { 0x1e0a, KEY_TEXT }, /* keypad asterisk as well */ | ||
1870 | { 0x1e0b, KEY_RED }, /* red button */ | ||
1871 | { 0x1e0c, KEY_RADIO }, | ||
1872 | { 0x1e0d, KEY_MENU }, | ||
1873 | { 0x1e0e, KEY_SUBTITLE }, /* also the # key */ | ||
1874 | { 0x1e0f, KEY_MUTE }, | ||
1875 | { 0x1e10, KEY_VOLUMEUP }, | ||
1876 | { 0x1e11, KEY_VOLUMEDOWN }, | ||
1877 | { 0x1e12, KEY_PREVIOUS }, /* previous channel */ | ||
1878 | { 0x1e14, KEY_UP }, | ||
1879 | { 0x1e15, KEY_DOWN }, | ||
1880 | { 0x1e16, KEY_LEFT }, | ||
1881 | { 0x1e17, KEY_RIGHT }, | ||
1882 | { 0x1e18, KEY_VIDEO }, /* Videos */ | ||
1883 | { 0x1e19, KEY_AUDIO }, /* Music */ | ||
1884 | /* 0x1e1a: Pictures - presume this means | ||
1885 | "Multimedia Home Platform" - | ||
1886 | no "PICTURES" key in input.h | ||
1887 | */ | ||
1888 | { 0x1e1a, KEY_MHP }, | ||
1889 | |||
1890 | { 0x1e1b, KEY_EPG }, /* Guide */ | ||
1891 | { 0x1e1c, KEY_TV }, | ||
1892 | { 0x1e1e, KEY_NEXTSONG }, /* skip >| */ | ||
1893 | { 0x1e1f, KEY_EXIT }, /* back/exit */ | ||
1894 | { 0x1e20, KEY_CHANNELUP }, /* channel / program + */ | ||
1895 | { 0x1e21, KEY_CHANNELDOWN }, /* channel / program - */ | ||
1896 | { 0x1e22, KEY_CHANNEL }, /* source (old black remote) */ | ||
1897 | { 0x1e24, KEY_PREVIOUSSONG }, /* replay |< */ | ||
1898 | { 0x1e25, KEY_ENTER }, /* OK */ | ||
1899 | { 0x1e26, KEY_SLEEP }, /* minimize (old black remote) */ | ||
1900 | { 0x1e29, KEY_BLUE }, /* blue key */ | ||
1901 | { 0x1e2e, KEY_GREEN }, /* green button */ | ||
1902 | { 0x1e30, KEY_PAUSE }, /* pause */ | ||
1903 | { 0x1e32, KEY_REWIND }, /* backward << */ | ||
1904 | { 0x1e34, KEY_FASTFORWARD }, /* forward >> */ | ||
1905 | { 0x1e35, KEY_PLAY }, | ||
1906 | { 0x1e36, KEY_STOP }, | ||
1907 | { 0x1e37, KEY_RECORD }, /* recording */ | ||
1908 | { 0x1e38, KEY_YELLOW }, /* yellow key */ | ||
1909 | { 0x1e3b, KEY_SELECT }, /* top right button */ | ||
1910 | { 0x1e3c, KEY_ZOOM }, /* full */ | ||
1911 | { 0x1e3d, KEY_POWER }, /* system power (green button) */ | ||
1912 | }; | ||
1913 | |||
1914 | struct ir_scancode_table ir_codes_rc5_hauppauge_new_table = { | ||
1915 | .scan = ir_codes_rc5_hauppauge_new, | ||
1916 | .size = ARRAY_SIZE(ir_codes_rc5_hauppauge_new), | ||
1917 | }; | ||
1918 | EXPORT_SYMBOL_GPL(ir_codes_rc5_hauppauge_new_table); | ||
1919 | |||
1850 | static struct ir_scancode ir_codes_npgtech[] = { | 1920 | static struct ir_scancode ir_codes_npgtech[] = { |
1851 | { 0x1d, KEY_SWITCHVIDEOMODE }, /* switch inputs */ | 1921 | { 0x1d, KEY_SWITCHVIDEOMODE }, /* switch inputs */ |
1852 | { 0x2a, KEY_FRONT }, | 1922 | { 0x2a, KEY_FRONT }, |
@@ -3243,3 +3313,4 @@ struct ir_scancode_table ir_codes_gadmei_rm008z_table = { | |||
3243 | .size = ARRAY_SIZE(ir_codes_gadmei_rm008z), | 3313 | .size = ARRAY_SIZE(ir_codes_gadmei_rm008z), |
3244 | }; | 3314 | }; |
3245 | EXPORT_SYMBOL_GPL(ir_codes_gadmei_rm008z_table); | 3315 | EXPORT_SYMBOL_GPL(ir_codes_gadmei_rm008z_table); |
3316 | |||
diff --git a/include/media/ir-common.h b/include/media/ir-common.h index 1a619a4ec5cc..cd21cb55d5d5 100644 --- a/include/media/ir-common.h +++ b/include/media/ir-common.h | |||
@@ -157,6 +157,7 @@ extern struct ir_scancode_table ir_codes_rc5_tv_table; | |||
157 | extern struct ir_scancode_table ir_codes_winfast_table; | 157 | extern struct ir_scancode_table ir_codes_winfast_table; |
158 | extern struct ir_scancode_table ir_codes_pinnacle_color_table; | 158 | extern struct ir_scancode_table ir_codes_pinnacle_color_table; |
159 | extern struct ir_scancode_table ir_codes_hauppauge_new_table; | 159 | extern struct ir_scancode_table ir_codes_hauppauge_new_table; |
160 | extern struct ir_scancode_table ir_codes_rc5_hauppauge_new_table; | ||
160 | extern struct ir_scancode_table ir_codes_npgtech_table; | 161 | extern struct ir_scancode_table ir_codes_npgtech_table; |
161 | extern struct ir_scancode_table ir_codes_norwood_table; | 162 | extern struct ir_scancode_table ir_codes_norwood_table; |
162 | extern struct ir_scancode_table ir_codes_proteus_2309_table; | 163 | extern struct ir_scancode_table ir_codes_proteus_2309_table; |