mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 07:01:32 +00:00
media: rc: add keymap for Xbox 360 Universal Media remote
Captured using a raw IR receiver. Manual linked in the remote definition itself. Signed-off-by: Bastien Nocera <hadess@hadess.net> Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
c49206786e
commit
34d5fc1e0d
@ -151,6 +151,7 @@ properties:
|
||||
- rc-winfast
|
||||
- rc-winfast-usbii-deluxe
|
||||
- rc-x96max
|
||||
- rc-xbox-360
|
||||
- rc-xbox-dvd
|
||||
- rc-zx-irdec
|
||||
|
||||
|
@ -128,6 +128,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \
|
||||
rc-winfast.o \
|
||||
rc-winfast-usbii-deluxe.o \
|
||||
rc-su3000.o \
|
||||
rc-xbox-360.o \
|
||||
rc-xbox-dvd.o \
|
||||
rc-x96max.o \
|
||||
rc-zx-irdec.o
|
||||
|
83
drivers/media/rc/keymaps/rc-xbox-360.c
Normal file
83
drivers/media/rc/keymaps/rc-xbox-360.c
Normal file
@ -0,0 +1,83 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
// Keytable for Xbox 360 Universal Media remote
|
||||
// Copyright (c) 2021 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
#include <media/rc-map.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
/*
|
||||
* Manual for remote available at:
|
||||
* http://download.microsoft.com/download/b/c/e/bce76f3f-db51-4c98-b79d-b3d21e90ccc1/universalmediaremote_na_0609.pdf
|
||||
*/
|
||||
static struct rc_map_table xbox_360[] = {
|
||||
{KEY_EJECTCD, 0x800f7428},
|
||||
{KEY_HOMEPAGE, 0x800f7464},
|
||||
{KEY_POWER, 0x800f740c},
|
||||
{KEY_STOP, 0x800f7419},
|
||||
{KEY_PAUSE, 0x800f7418},
|
||||
{KEY_REWIND, 0x800f7415},
|
||||
{KEY_FASTFORWARD, 0x800f7414},
|
||||
{KEY_PREVIOUS, 0x800f741b},
|
||||
{KEY_NEXT, 0x800f741a},
|
||||
{KEY_PLAY, 0x800f7416},
|
||||
{KEY_PROPS, 0x800f744f}, /* "Display" */
|
||||
{KEY_BACK, 0x800f7423},
|
||||
{KEY_MEDIA_TOP_MENU, 0x800f7424}, /* "DVD Menu" */
|
||||
{KEY_ROOT_MENU, 0x800f7451}, /* "Title" */
|
||||
{KEY_INFO, 0x800f740f},
|
||||
{KEY_UP, 0x800f741e},
|
||||
{KEY_LEFT, 0x800f7420},
|
||||
{KEY_RIGHT, 0x800f7421},
|
||||
{KEY_DOWN, 0x800f741f},
|
||||
{KEY_OK, 0x800f7422},
|
||||
{KEY_YELLOW, 0x800f7426},
|
||||
{KEY_BLUE, 0x800f7468},
|
||||
{KEY_GREEN, 0x800f7466},
|
||||
{KEY_RED, 0x800f7425},
|
||||
{KEY_VOLUMEUP, 0x800f7410},
|
||||
{KEY_VOLUMEDOWN, 0x800f7411},
|
||||
/* TV key doesn't light the IR LED */
|
||||
{KEY_MUTE, 0x800f740e},
|
||||
{KEY_CHANNELUP, 0x800f746c},
|
||||
{KEY_CHANNELDOWN, 0x800f746d},
|
||||
{KEY_LEFTMETA, 0x800f740d},
|
||||
{KEY_ENTER, 0x800f740b},
|
||||
{KEY_RECORD, 0x800f7417},
|
||||
{KEY_CLEAR, 0x800f740a},
|
||||
{KEY_NUMERIC_1, 0x800f7401},
|
||||
{KEY_NUMERIC_2, 0x800f7402},
|
||||
{KEY_NUMERIC_3, 0x800f7403},
|
||||
{KEY_NUMERIC_4, 0x800f7404},
|
||||
{KEY_NUMERIC_5, 0x800f7405},
|
||||
{KEY_NUMERIC_6, 0x800f7406},
|
||||
{KEY_NUMERIC_7, 0x800f7407},
|
||||
{KEY_NUMERIC_8, 0x800f7408},
|
||||
{KEY_NUMERIC_9, 0x800f7409},
|
||||
{KEY_NUMERIC_0, 0x800f7400},
|
||||
{KEY_102ND, 0x800f741d}, /* "100" */
|
||||
{KEY_CANCEL, 0x800f741c},
|
||||
};
|
||||
|
||||
static struct rc_map_list xbox_360_map = {
|
||||
.map = {
|
||||
.scan = xbox_360,
|
||||
.size = ARRAY_SIZE(xbox_360),
|
||||
.rc_proto = RC_PROTO_RC6_MCE,
|
||||
.name = RC_MAP_XBOX_360,
|
||||
}
|
||||
};
|
||||
|
||||
static int __init init_rc_map(void)
|
||||
{
|
||||
return rc_map_register(&xbox_360_map);
|
||||
}
|
||||
|
||||
static void __exit exit_rc_map(void)
|
||||
{
|
||||
rc_map_unregister(&xbox_360_map);
|
||||
}
|
||||
|
||||
module_init(init_rc_map)
|
||||
module_exit(exit_rc_map)
|
||||
|
||||
MODULE_LICENSE("GPL");
|
@ -332,6 +332,7 @@ struct rc_map *rc_map_get(const char *name);
|
||||
#define RC_MAP_WINFAST "rc-winfast"
|
||||
#define RC_MAP_WINFAST_USBII_DELUXE "rc-winfast-usbii-deluxe"
|
||||
#define RC_MAP_X96MAX "rc-x96max"
|
||||
#define RC_MAP_XBOX_360 "rc-xbox-360"
|
||||
#define RC_MAP_XBOX_DVD "rc-xbox-dvd"
|
||||
#define RC_MAP_ZX_IRDEC "rc-zx-irdec"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user