blob: 530e1d1158d1f37f915a10b546448788e4a7048c [file] [log] [blame]
Mauro Carvalho Chehab6686fa62010-04-02 03:05:46 -03001/* asus-pc39.h - Keytable for asus_pc39 Remote Controller
2 *
3 * keymap imported from ir-keymaps.c
4 *
Mauro Carvalho Chehab37e59f82014-02-07 08:03:07 -02005 * Copyright (c) 2010 by Mauro Carvalho Chehab
Mauro Carvalho Chehab6686fa62010-04-02 03:05:46 -03006 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13#include <media/rc-map.h>
Paul Gortmaker7a707b82011-07-03 14:03:12 -040014#include <linux/module.h>
Mauro Carvalho Chehab6686fa62010-04-02 03:05:46 -030015
16/*
17 * Marc Fargas <telenieko@telenieko.com>
18 * this is the remote control that comes with the asus p7131
19 * which has a label saying is "Model PC-39"
20 */
21
Mauro Carvalho Chehab2f4f58d2010-11-17 15:46:09 -030022static struct rc_map_table asus_pc39[] = {
Mauro Carvalho Chehab6686fa62010-04-02 03:05:46 -030023 /* Keys 0 to 9 */
Mauro Carvalho Chehabfe8b67132010-09-30 14:46:47 -030024 { 0x082a, KEY_0 },
25 { 0x0816, KEY_1 },
26 { 0x0812, KEY_2 },
27 { 0x0814, KEY_3 },
28 { 0x0836, KEY_4 },
29 { 0x0832, KEY_5 },
30 { 0x0834, KEY_6 },
31 { 0x080e, KEY_7 },
32 { 0x080a, KEY_8 },
33 { 0x080c, KEY_9 },
Mauro Carvalho Chehab6686fa62010-04-02 03:05:46 -030034
Mauro Carvalho Chehabfe8b67132010-09-30 14:46:47 -030035 { 0x0801, KEY_RADIO }, /* radio */
36 { 0x083c, KEY_MENU }, /* dvd/menu */
37 { 0x0815, KEY_VOLUMEUP },
38 { 0x0826, KEY_VOLUMEDOWN },
39 { 0x0808, KEY_UP },
40 { 0x0804, KEY_DOWN },
41 { 0x0818, KEY_LEFT },
42 { 0x0810, KEY_RIGHT },
43 { 0x081a, KEY_VIDEO }, /* video */
44 { 0x0806, KEY_AUDIO }, /* music */
Mauro Carvalho Chehab6686fa62010-04-02 03:05:46 -030045
Mauro Carvalho Chehabfe8b67132010-09-30 14:46:47 -030046 { 0x081e, KEY_TV }, /* tv */
47 { 0x0822, KEY_EXIT }, /* back */
48 { 0x0835, KEY_CHANNELUP }, /* channel / program + */
49 { 0x0824, KEY_CHANNELDOWN }, /* channel / program - */
50 { 0x0825, KEY_ENTER }, /* enter */
Mauro Carvalho Chehab6686fa62010-04-02 03:05:46 -030051
Mauro Carvalho Chehabfe8b67132010-09-30 14:46:47 -030052 { 0x0839, KEY_PAUSE }, /* play/pause */
53 { 0x0821, KEY_PREVIOUS }, /* rew */
54 { 0x0819, KEY_NEXT }, /* forward */
55 { 0x0831, KEY_REWIND }, /* backward << */
56 { 0x0805, KEY_FASTFORWARD }, /* forward >> */
57 { 0x0809, KEY_STOP },
58 { 0x0811, KEY_RECORD }, /* recording */
59 { 0x0829, KEY_POWER }, /* the button that reads "close" */
Mauro Carvalho Chehab6686fa62010-04-02 03:05:46 -030060
Mauro Carvalho Chehabfe8b67132010-09-30 14:46:47 -030061 { 0x082e, KEY_ZOOM }, /* full screen */
62 { 0x082c, KEY_MACRO }, /* recall */
63 { 0x081c, KEY_HOME }, /* home */
64 { 0x083a, KEY_PVR }, /* picture */
65 { 0x0802, KEY_MUTE }, /* mute */
66 { 0x083e, KEY_DVD }, /* dvd */
Mauro Carvalho Chehab6686fa62010-04-02 03:05:46 -030067};
68
Mauro Carvalho Chehabd100e652010-11-17 15:56:53 -030069static struct rc_map_list asus_pc39_map = {
Mauro Carvalho Chehab6686fa62010-04-02 03:05:46 -030070 .map = {
Sean Young6d741bf2017-08-07 16:20:58 -040071 .scan = asus_pc39,
72 .size = ARRAY_SIZE(asus_pc39),
73 .rc_proto = RC_PROTO_RC5,
74 .name = RC_MAP_ASUS_PC39,
Mauro Carvalho Chehab6686fa62010-04-02 03:05:46 -030075 }
76};
77
78static int __init init_rc_map_asus_pc39(void)
79{
Mauro Carvalho Chehabd100e652010-11-17 15:56:53 -030080 return rc_map_register(&asus_pc39_map);
Mauro Carvalho Chehab6686fa62010-04-02 03:05:46 -030081}
82
83static void __exit exit_rc_map_asus_pc39(void)
84{
Mauro Carvalho Chehabd100e652010-11-17 15:56:53 -030085 rc_map_unregister(&asus_pc39_map);
Mauro Carvalho Chehab6686fa62010-04-02 03:05:46 -030086}
87
88module_init(init_rc_map_asus_pc39)
89module_exit(exit_rc_map_asus_pc39)
90
91MODULE_LICENSE("GPL");
Mauro Carvalho Chehab37e59f82014-02-07 08:03:07 -020092MODULE_AUTHOR("Mauro Carvalho Chehab");