162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later 262306a36Sopenharmony_ci/* keytable for Terratec Cinergy S2 HD Remote Controller 362306a36Sopenharmony_ci */ 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <media/rc-map.h> 662306a36Sopenharmony_ci#include <linux/module.h> 762306a36Sopenharmony_ci 862306a36Sopenharmony_cistatic struct rc_map_table terratec_cinergy_s2_hd[] = { 962306a36Sopenharmony_ci { 0x03, KEY_NEXT}, /* >| */ 1062306a36Sopenharmony_ci { 0x07, KEY_RECORD}, 1162306a36Sopenharmony_ci { 0x0b, KEY_PREVIOUS}, /* |< */ 1262306a36Sopenharmony_ci { 0x10, KEY_FASTFORWARD}, /* >> */ 1362306a36Sopenharmony_ci { 0x11, KEY_REWIND}, /* << */ 1462306a36Sopenharmony_ci { 0x12, KEY_ESC}, /* Back */ 1562306a36Sopenharmony_ci { 0x13, KEY_PLAY}, 1662306a36Sopenharmony_ci { 0x14, KEY_IMAGES}, 1762306a36Sopenharmony_ci { 0x15, KEY_AUDIO}, 1862306a36Sopenharmony_ci { 0x16, KEY_MEDIA}, /* Video-Menu */ 1962306a36Sopenharmony_ci { 0x17, KEY_STOP}, 2062306a36Sopenharmony_ci { 0x18, KEY_DVD}, 2162306a36Sopenharmony_ci { 0x19, KEY_TV}, 2262306a36Sopenharmony_ci { 0x1a, KEY_DELETE}, 2362306a36Sopenharmony_ci { 0x1b, KEY_TEXT}, 2462306a36Sopenharmony_ci { 0x1c, KEY_SUBTITLE}, 2562306a36Sopenharmony_ci { 0x1d, KEY_MENU}, /* DVD-Menu */ 2662306a36Sopenharmony_ci { 0x1e, KEY_HOME}, 2762306a36Sopenharmony_ci { 0x1f, KEY_PAUSE}, 2862306a36Sopenharmony_ci { 0x20, KEY_CHANNELDOWN}, 2962306a36Sopenharmony_ci { 0x21, KEY_VOLUMEDOWN}, 3062306a36Sopenharmony_ci { 0x22, KEY_MUTE}, 3162306a36Sopenharmony_ci { 0x23, KEY_VOLUMEUP}, 3262306a36Sopenharmony_ci { 0x24, KEY_CHANNELUP}, 3362306a36Sopenharmony_ci { 0x25, KEY_BLUE}, 3462306a36Sopenharmony_ci { 0x26, KEY_YELLOW}, 3562306a36Sopenharmony_ci { 0x27, KEY_GREEN}, 3662306a36Sopenharmony_ci { 0x28, KEY_RED}, 3762306a36Sopenharmony_ci { 0x29, KEY_INFO}, 3862306a36Sopenharmony_ci { 0x2b, KEY_DOWN}, 3962306a36Sopenharmony_ci { 0x2c, KEY_RIGHT}, 4062306a36Sopenharmony_ci { 0x2d, KEY_OK}, 4162306a36Sopenharmony_ci { 0x2e, KEY_LEFT}, 4262306a36Sopenharmony_ci { 0x2f, KEY_UP}, 4362306a36Sopenharmony_ci { 0x30, KEY_EPG}, 4462306a36Sopenharmony_ci { 0x32, KEY_VIDEO}, /* A<=>B */ 4562306a36Sopenharmony_ci { 0x33, KEY_NUMERIC_0}, 4662306a36Sopenharmony_ci { 0x34, KEY_VCR}, /* AV */ 4762306a36Sopenharmony_ci { 0x35, KEY_NUMERIC_9}, 4862306a36Sopenharmony_ci { 0x36, KEY_NUMERIC_8}, 4962306a36Sopenharmony_ci { 0x37, KEY_NUMERIC_7}, 5062306a36Sopenharmony_ci { 0x38, KEY_NUMERIC_6}, 5162306a36Sopenharmony_ci { 0x39, KEY_NUMERIC_5}, 5262306a36Sopenharmony_ci { 0x3a, KEY_NUMERIC_4}, 5362306a36Sopenharmony_ci { 0x3b, KEY_NUMERIC_3}, 5462306a36Sopenharmony_ci { 0x3c, KEY_NUMERIC_2}, 5562306a36Sopenharmony_ci { 0x3d, KEY_NUMERIC_1}, 5662306a36Sopenharmony_ci { 0x3e, KEY_POWER}, 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci}; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_cistatic struct rc_map_list terratec_cinergy_s2_hd_map = { 6162306a36Sopenharmony_ci .map = { 6262306a36Sopenharmony_ci .scan = terratec_cinergy_s2_hd, 6362306a36Sopenharmony_ci .size = ARRAY_SIZE(terratec_cinergy_s2_hd), 6462306a36Sopenharmony_ci .rc_proto = RC_PROTO_UNKNOWN, /* Legacy IR type */ 6562306a36Sopenharmony_ci .name = RC_MAP_TERRATEC_CINERGY_S2_HD, 6662306a36Sopenharmony_ci } 6762306a36Sopenharmony_ci}; 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_cistatic int __init init_rc_map_terratec_cinergy_s2_hd(void) 7062306a36Sopenharmony_ci{ 7162306a36Sopenharmony_ci return rc_map_register(&terratec_cinergy_s2_hd_map); 7262306a36Sopenharmony_ci} 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_cistatic void __exit exit_rc_map_terratec_cinergy_s2_hd(void) 7562306a36Sopenharmony_ci{ 7662306a36Sopenharmony_ci rc_map_unregister(&terratec_cinergy_s2_hd_map); 7762306a36Sopenharmony_ci} 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_cimodule_init(init_rc_map_terratec_cinergy_s2_hd); 8062306a36Sopenharmony_cimodule_exit(exit_rc_map_terratec_cinergy_s2_hd); 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ciMODULE_LICENSE("GPL"); 83