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; |
