125fa2071SKyle Strickland /* kworld-pc150u.c - Keytable for kworld_pc150u Remote Controller 225fa2071SKyle Strickland * 325fa2071SKyle Strickland * keymap imported from ir-keymaps.c 425fa2071SKyle Strickland * 525fa2071SKyle Strickland * Copyright (c) 2010 by Kyle Strickland 625fa2071SKyle Strickland * (based on kworld-plus-tv-analog.c by 737e59f87SMauro Carvalho Chehab * Mauro Carvalho Chehab) 825fa2071SKyle Strickland * 925fa2071SKyle Strickland * This program is free software; you can redistribute it and/or modify 1025fa2071SKyle Strickland * it under the terms of the GNU General Public License as published by 1125fa2071SKyle Strickland * the Free Software Foundation; either version 2 of the License, or 1225fa2071SKyle Strickland * (at your option) any later version. 1325fa2071SKyle Strickland */ 1425fa2071SKyle Strickland 1525fa2071SKyle Strickland #include <media/rc-map.h> 1625fa2071SKyle Strickland #include <linux/module.h> 1725fa2071SKyle Strickland 1825fa2071SKyle Strickland /* Kworld PC150-U 1925fa2071SKyle Strickland Kyle Strickland <kyle@kyle.strickland.name> 2025fa2071SKyle Strickland */ 2125fa2071SKyle Strickland 2225fa2071SKyle Strickland static struct rc_map_table kworld_pc150u[] = { 2325fa2071SKyle Strickland { 0x0c, KEY_MEDIA }, /* Kworld key */ 2425fa2071SKyle Strickland { 0x16, KEY_EJECTCLOSECD }, /* -> ) */ 2525fa2071SKyle Strickland { 0x1d, KEY_POWER2 }, 2625fa2071SKyle Strickland 2725fa2071SKyle Strickland { 0x00, KEY_1 }, 2825fa2071SKyle Strickland { 0x01, KEY_2 }, 2925fa2071SKyle Strickland { 0x02, KEY_3 }, 3025fa2071SKyle Strickland { 0x03, KEY_4 }, 3125fa2071SKyle Strickland { 0x04, KEY_5 }, 3225fa2071SKyle Strickland { 0x05, KEY_6 }, 3325fa2071SKyle Strickland { 0x06, KEY_7 }, 3425fa2071SKyle Strickland { 0x07, KEY_8 }, 3525fa2071SKyle Strickland { 0x08, KEY_9 }, 3625fa2071SKyle Strickland { 0x0a, KEY_0 }, 3725fa2071SKyle Strickland 3825fa2071SKyle Strickland { 0x09, KEY_AGAIN }, 3925fa2071SKyle Strickland { 0x14, KEY_MUTE }, 4025fa2071SKyle Strickland 4125fa2071SKyle Strickland { 0x1e, KEY_LAST }, 4225fa2071SKyle Strickland { 0x17, KEY_ZOOM }, 4325fa2071SKyle Strickland { 0x1f, KEY_HOMEPAGE }, 4425fa2071SKyle Strickland { 0x0e, KEY_ESC }, 4525fa2071SKyle Strickland 4625fa2071SKyle Strickland { 0x20, KEY_UP }, 4725fa2071SKyle Strickland { 0x21, KEY_DOWN }, 4825fa2071SKyle Strickland { 0x42, KEY_LEFT }, 4925fa2071SKyle Strickland { 0x43, KEY_RIGHT }, 5025fa2071SKyle Strickland { 0x0b, KEY_ENTER }, 5125fa2071SKyle Strickland 5225fa2071SKyle Strickland { 0x10, KEY_CHANNELUP }, 5325fa2071SKyle Strickland { 0x11, KEY_CHANNELDOWN }, 5425fa2071SKyle Strickland 5525fa2071SKyle Strickland { 0x13, KEY_VOLUMEUP }, 5625fa2071SKyle Strickland { 0x12, KEY_VOLUMEDOWN }, 5725fa2071SKyle Strickland 5825fa2071SKyle Strickland { 0x19, KEY_TIME}, /* Timeshift */ 5925fa2071SKyle Strickland { 0x1a, KEY_STOP}, 6025fa2071SKyle Strickland { 0x1b, KEY_RECORD}, 6125fa2071SKyle Strickland { 0x4b, KEY_EMAIL}, 6225fa2071SKyle Strickland 6325fa2071SKyle Strickland { 0x40, KEY_REWIND}, 6425fa2071SKyle Strickland { 0x44, KEY_PLAYPAUSE}, 6525fa2071SKyle Strickland { 0x41, KEY_FORWARD}, 6625fa2071SKyle Strickland { 0x22, KEY_TEXT}, 6725fa2071SKyle Strickland 6825fa2071SKyle Strickland { 0x15, KEY_AUDIO}, /* ((*)) */ 6925fa2071SKyle Strickland { 0x0f, KEY_MODE}, /* display ratio */ 7025fa2071SKyle Strickland { 0x1c, KEY_SYSRQ}, /* snapshot */ 7125fa2071SKyle Strickland { 0x4a, KEY_SLEEP}, /* sleep timer */ 7225fa2071SKyle Strickland 7325fa2071SKyle Strickland { 0x48, KEY_SOUND}, /* switch theater mode */ 7425fa2071SKyle Strickland { 0x49, KEY_BLUE}, /* A */ 7525fa2071SKyle Strickland { 0x18, KEY_RED}, /* B */ 7625fa2071SKyle Strickland { 0x23, KEY_GREEN}, /* C */ 7725fa2071SKyle Strickland }; 7825fa2071SKyle Strickland 7925fa2071SKyle Strickland static struct rc_map_list kworld_pc150u_map = { 8025fa2071SKyle Strickland .map = { 8125fa2071SKyle Strickland .scan = kworld_pc150u, 8225fa2071SKyle Strickland .size = ARRAY_SIZE(kworld_pc150u), 8325fa2071SKyle Strickland .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ 8425fa2071SKyle Strickland .name = RC_MAP_KWORLD_PC150U, 8525fa2071SKyle Strickland } 8625fa2071SKyle Strickland }; 8725fa2071SKyle Strickland 8825fa2071SKyle Strickland static int __init init_rc_map_kworld_pc150u(void) 8925fa2071SKyle Strickland { 9025fa2071SKyle Strickland return rc_map_register(&kworld_pc150u_map); 9125fa2071SKyle Strickland } 9225fa2071SKyle Strickland 9325fa2071SKyle Strickland static void __exit exit_rc_map_kworld_pc150u(void) 9425fa2071SKyle Strickland { 9525fa2071SKyle Strickland rc_map_unregister(&kworld_pc150u_map); 9625fa2071SKyle Strickland } 9725fa2071SKyle Strickland 9825fa2071SKyle Strickland module_init(init_rc_map_kworld_pc150u) 9925fa2071SKyle Strickland module_exit(exit_rc_map_kworld_pc150u) 10025fa2071SKyle Strickland 10125fa2071SKyle Strickland MODULE_LICENSE("GPL"); 10225fa2071SKyle Strickland MODULE_AUTHOR("Kyle Strickland <kyle@kyle.strickland.name>"); 103