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