cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

rc-xbox-360.c (2160B)


      1// SPDX-License-Identifier: GPL-2.0+
      2// Keytable for Xbox 360 Universal Media remote
      3// Copyright (c) 2021 Bastien Nocera <hadess@hadess.net>
      4
      5#include <media/rc-map.h>
      6#include <linux/module.h>
      7
      8/*
      9 * Manual for remote available at:
     10 * http://download.microsoft.com/download/b/c/e/bce76f3f-db51-4c98-b79d-b3d21e90ccc1/universalmediaremote_na_0609.pdf
     11 */
     12static struct rc_map_table xbox_360[] = {
     13	{KEY_EJECTCD, 0x800f7428},
     14	{KEY_HOMEPAGE, 0x800f7464},
     15	{KEY_POWER, 0x800f740c},
     16	{KEY_STOP, 0x800f7419},
     17	{KEY_PAUSE, 0x800f7418},
     18	{KEY_REWIND, 0x800f7415},
     19	{KEY_FASTFORWARD, 0x800f7414},
     20	{KEY_PREVIOUS, 0x800f741b},
     21	{KEY_NEXT, 0x800f741a},
     22	{KEY_PLAY, 0x800f7416},
     23	{KEY_PROPS, 0x800f744f}, /* "Display" */
     24	{KEY_BACK, 0x800f7423},
     25	{KEY_MEDIA_TOP_MENU, 0x800f7424}, /* "DVD Menu" */
     26	{KEY_ROOT_MENU, 0x800f7451}, /* "Title" */
     27	{KEY_INFO, 0x800f740f},
     28	{KEY_UP, 0x800f741e},
     29	{KEY_LEFT, 0x800f7420},
     30	{KEY_RIGHT, 0x800f7421},
     31	{KEY_DOWN, 0x800f741f},
     32	{KEY_OK, 0x800f7422},
     33	{KEY_YELLOW, 0x800f7426},
     34	{KEY_BLUE, 0x800f7468},
     35	{KEY_GREEN, 0x800f7466},
     36	{KEY_RED, 0x800f7425},
     37	{KEY_VOLUMEUP, 0x800f7410},
     38	{KEY_VOLUMEDOWN, 0x800f7411},
     39	/* TV key doesn't light the IR LED */
     40	{KEY_MUTE, 0x800f740e},
     41	{KEY_CHANNELUP, 0x800f746c},
     42	{KEY_CHANNELDOWN, 0x800f746d},
     43	{KEY_LEFTMETA, 0x800f740d},
     44	{KEY_ENTER, 0x800f740b},
     45	{KEY_RECORD, 0x800f7417},
     46	{KEY_CLEAR, 0x800f740a},
     47	{KEY_NUMERIC_1, 0x800f7401},
     48	{KEY_NUMERIC_2, 0x800f7402},
     49	{KEY_NUMERIC_3, 0x800f7403},
     50	{KEY_NUMERIC_4, 0x800f7404},
     51	{KEY_NUMERIC_5, 0x800f7405},
     52	{KEY_NUMERIC_6, 0x800f7406},
     53	{KEY_NUMERIC_7, 0x800f7407},
     54	{KEY_NUMERIC_8, 0x800f7408},
     55	{KEY_NUMERIC_9, 0x800f7409},
     56	{KEY_NUMERIC_0, 0x800f7400},
     57	{KEY_102ND, 0x800f741d}, /* "100" */
     58	{KEY_CANCEL, 0x800f741c},
     59};
     60
     61static struct rc_map_list xbox_360_map = {
     62	.map = {
     63		.scan     = xbox_360,
     64		.size     = ARRAY_SIZE(xbox_360),
     65		.rc_proto = RC_PROTO_RC6_MCE,
     66		.name     = RC_MAP_XBOX_360,
     67	}
     68};
     69
     70static int __init init_rc_map(void)
     71{
     72	return rc_map_register(&xbox_360_map);
     73}
     74
     75static void __exit exit_rc_map(void)
     76{
     77	rc_map_unregister(&xbox_360_map);
     78}
     79
     80module_init(init_rc_map)
     81module_exit(exit_rc_map)
     82
     83MODULE_LICENSE("GPL");