162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+
262306a36Sopenharmony_ci// Keytable for Xbox DVD remote
362306a36Sopenharmony_ci// Copyright (c) 2018 by Benjamin Valentin <benpicco@googlemail.com>
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <media/rc-map.h>
662306a36Sopenharmony_ci#include <linux/module.h>
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/* based on lircd.conf.xbox */
962306a36Sopenharmony_cistatic struct rc_map_table xbox_dvd[] = {
1062306a36Sopenharmony_ci	{0xa0b, KEY_OK},
1162306a36Sopenharmony_ci	{0xaa6, KEY_UP},
1262306a36Sopenharmony_ci	{0xaa7, KEY_DOWN},
1362306a36Sopenharmony_ci	{0xaa8, KEY_RIGHT},
1462306a36Sopenharmony_ci	{0xaa9, KEY_LEFT},
1562306a36Sopenharmony_ci	{0xac3, KEY_INFO},
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	{0xac6, KEY_NUMERIC_9},
1862306a36Sopenharmony_ci	{0xac7, KEY_NUMERIC_8},
1962306a36Sopenharmony_ci	{0xac8, KEY_NUMERIC_7},
2062306a36Sopenharmony_ci	{0xac9, KEY_NUMERIC_6},
2162306a36Sopenharmony_ci	{0xaca, KEY_NUMERIC_5},
2262306a36Sopenharmony_ci	{0xacb, KEY_NUMERIC_4},
2362306a36Sopenharmony_ci	{0xacc, KEY_NUMERIC_3},
2462306a36Sopenharmony_ci	{0xacd, KEY_NUMERIC_2},
2562306a36Sopenharmony_ci	{0xace, KEY_NUMERIC_1},
2662306a36Sopenharmony_ci	{0xacf, KEY_NUMERIC_0},
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	{0xad5, KEY_ANGLE},
2962306a36Sopenharmony_ci	{0xad8, KEY_BACK},
3062306a36Sopenharmony_ci	{0xadd, KEY_PREVIOUSSONG},
3162306a36Sopenharmony_ci	{0xadf, KEY_NEXTSONG},
3262306a36Sopenharmony_ci	{0xae0, KEY_STOP},
3362306a36Sopenharmony_ci	{0xae2, KEY_REWIND},
3462306a36Sopenharmony_ci	{0xae3, KEY_FASTFORWARD},
3562306a36Sopenharmony_ci	{0xae5, KEY_TITLE},
3662306a36Sopenharmony_ci	{0xae6, KEY_PAUSE},
3762306a36Sopenharmony_ci	{0xaea, KEY_PLAY},
3862306a36Sopenharmony_ci	{0xaf7, KEY_MENU},
3962306a36Sopenharmony_ci};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_cistatic struct rc_map_list xbox_dvd_map = {
4262306a36Sopenharmony_ci	.map = {
4362306a36Sopenharmony_ci		.scan     = xbox_dvd,
4462306a36Sopenharmony_ci		.size     = ARRAY_SIZE(xbox_dvd),
4562306a36Sopenharmony_ci		.rc_proto = RC_PROTO_XBOX_DVD,
4662306a36Sopenharmony_ci		.name     = RC_MAP_XBOX_DVD,
4762306a36Sopenharmony_ci	}
4862306a36Sopenharmony_ci};
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_cistatic int __init init_rc_map(void)
5162306a36Sopenharmony_ci{
5262306a36Sopenharmony_ci	return rc_map_register(&xbox_dvd_map);
5362306a36Sopenharmony_ci}
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_cistatic void __exit exit_rc_map(void)
5662306a36Sopenharmony_ci{
5762306a36Sopenharmony_ci	rc_map_unregister(&xbox_dvd_map);
5862306a36Sopenharmony_ci}
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_cimodule_init(init_rc_map)
6162306a36Sopenharmony_cimodule_exit(exit_rc_map)
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciMODULE_LICENSE("GPL");
64