* [PATCH] rc: Add keymap for Ruwido Z3 RC-34 remote
@ 2026-10-03 2:03 Fabio Estevam
2026-10-03 20:37 ` Sean Young
0 siblings, 1 reply; 2+ messages in thread
From: Fabio Estevam @ 2026-10-03 2:03 UTC (permalink / raw)
To: sean; +Cc: mchehab, linux-media, Fabio Estevam
From: Fabio Estevam <festevam@nabladev.com>
Add keymap for the Ruwido Z3 RC-34 remote control.
Signed-off-by: Fabio Estevam <festevam@nabladev.com>
---
drivers/media/rc/keymaps/Makefile | 1 +
.../media/rc/keymaps/rc-nec-ruwido-z3-rc34.c | 80 +++++++++++++++++++
include/media/rc-map.h | 1 +
3 files changed, 82 insertions(+)
create mode 100644 drivers/media/rc/keymaps/rc-nec-ruwido-z3-rc34.c
diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile
index 38b84e34b225..525d203c0a94 100644
--- a/drivers/media/rc/keymaps/Makefile
+++ b/drivers/media/rc/keymaps/Makefile
@@ -86,6 +86,7 @@ obj-$(CONFIG_RC_MAP) += \
rc-msi-tvanywhere-plus.o \
rc-mygica-utv3.o \
rc-nebula.o \
+ rc-nec-ruwido-z3-rc34.o \
rc-nec-terratec-cinergy-xs.o \
rc-norwood.o \
rc-npgtech.o \
diff --git a/drivers/media/rc/keymaps/rc-nec-ruwido-z3-rc34.c b/drivers/media/rc/keymaps/rc-nec-ruwido-z3-rc34.c
new file mode 100644
index 000000000000..97d416cf0441
--- /dev/null
+++ b/drivers/media/rc/keymaps/rc-nec-ruwido-z3-rc34.c
@@ -0,0 +1,80 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+//
+// Keytable for the Ruwido Z3 RC-34 remote
+
+#include <media/rc-map.h>
+#include <linux/module.h>
+
+static struct rc_map_table nec_ruwido_z3_rc34[] = {
+ /* Ruwido Z3 RC-34, NECX address 0xe310 */
+ { 0xe3100f, KEY_POWER },
+ { 0xe31016, KEY_MENU },
+ { 0xe3100a, KEY_UP },
+ { 0xe3100b, KEY_DOWN },
+ { 0xe3100d, KEY_LEFT },
+ { 0xe3100c, KEY_RIGHT },
+ { 0xe31019, KEY_OK },
+ { 0xe3106a, KEY_BACK },
+ { 0xe31033, KEY_INFO },
+ { 0xe31066, KEY_DISPLAYTOGGLE },
+ { 0xe3101a, KEY_VOLUMEUP },
+ { 0xe31010, KEY_VOLUMEDOWN },
+ { 0xe31013, KEY_MUTE },
+ { 0xe31032, KEY_CHANNELUP },
+ { 0xe31031, KEY_CHANNELDOWN },
+ { 0xe31069, KEY_HP },
+ { 0xe31000, KEY_NUMERIC_1 },
+ { 0xe31001, KEY_NUMERIC_2 },
+ { 0xe31002, KEY_NUMERIC_3 },
+ { 0xe31003, KEY_NUMERIC_4 },
+ { 0xe31004, KEY_NUMERIC_5 },
+ { 0xe31005, KEY_NUMERIC_6 },
+ { 0xe31006, KEY_NUMERIC_7 },
+ { 0xe31007, KEY_NUMERIC_8 },
+ { 0xe31008, KEY_NUMERIC_9 },
+ { 0xe31030, KEY_NUMERIC_0 },
+ { 0xe31065, KEY_RED },
+ { 0xe31063, KEY_GREEN },
+ { 0xe31064, KEY_YELLOW },
+ { 0xe3106b, KEY_OPTION },
+ { 0xe31050, KEY_PLAY },
+ { 0xe31057, KEY_REWIND },
+ { 0xe31058, KEY_FASTFORWARD },
+ { 0xe31060, KEY_PROG1 },
+ { 0xe31061, KEY_PROG2 },
+ { 0xe31062, KEY_PROG3 },
+
+ /* RC-34 remote volume keys */
+ { 0x3506, KEY_VOLUMEUP },
+ { 0x3507, KEY_VOLUMEDOWN },
+
+ /* McIntosh HR070 remote volume keys */
+ { 0xca5542, KEY_VOLUMEUP },
+ { 0xca5543, KEY_VOLUMEDOWN },
+};
+
+static struct rc_map_list nec_ruwido_z3_rc34_map = {
+ .map = {
+ .scan = nec_ruwido_z3_rc34,
+ .size = ARRAY_SIZE(nec_ruwido_z3_rc34),
+ .rc_proto = RC_PROTO_NEC,
+ .name = RC_MAP_NEC_RUWIDO_Z3_RC34,
+ }
+};
+
+static int __init init_rc_map_nec_ruwido_z3_rc34(void)
+{
+ return rc_map_register(&nec_ruwido_z3_rc34_map);
+}
+
+static void __exit exit_rc_map_nec_ruwido_z3_rc34(void)
+{
+ rc_map_unregister(&nec_ruwido_z3_rc34_map);
+}
+
+module_init(init_rc_map_nec_ruwido_z3_rc34)
+module_exit(exit_rc_map_nec_ruwido_z3_rc34)
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Fabio Estevam <festevam@gmail.com>");
+MODULE_DESCRIPTION("Ruwido Z3 RC-34 remote keytable");
diff --git a/include/media/rc-map.h b/include/media/rc-map.h
index f167c37179c8..290919a7247e 100644
--- a/include/media/rc-map.h
+++ b/include/media/rc-map.h
@@ -289,6 +289,7 @@ struct rc_map *rc_map_get(const char *name);
#define RC_MAP_MSI_TVANYWHERE_PLUS "rc-msi-tvanywhere-plus"
#define RC_MAP_MYGICA_UTV3 "rc-mygica-utv3"
#define RC_MAP_NEBULA "rc-nebula"
+#define RC_MAP_NEC_RUWIDO_Z3_RC34 "rc-nec-ruwido-z3-rc34"
#define RC_MAP_NEC_TERRATEC_CINERGY_XS "rc-nec-terratec-cinergy-xs"
#define RC_MAP_NORWOOD "rc-norwood"
#define RC_MAP_NPGTECH "rc-npgtech"
--
2.43.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] rc: Add keymap for Ruwido Z3 RC-34 remote
2026-10-03 2:03 [PATCH] rc: Add keymap for Ruwido Z3 RC-34 remote Fabio Estevam
@ 2026-10-03 20:37 ` Sean Young
0 siblings, 0 replies; 2+ messages in thread
From: Sean Young @ 2026-10-03 20:37 UTC (permalink / raw)
To: Fabio Estevam; +Cc: mchehab, linux-media, Fabio Estevam
On Fri, Oct 02, 2026 at 11:03:09PM -0300, Fabio Estevam wrote:
> From: Fabio Estevam <festevam@nabladev.com>
>
> Add keymap for the Ruwido Z3 RC-34 remote control.
>
> Signed-off-by: Fabio Estevam <festevam@nabladev.com>
> ---
> drivers/media/rc/keymaps/Makefile | 1 +
> .../media/rc/keymaps/rc-nec-ruwido-z3-rc34.c | 80 +++++++++++++++++++
> include/media/rc-map.h | 1 +
> 3 files changed, 82 insertions(+)
> create mode 100644 drivers/media/rc/keymaps/rc-nec-ruwido-z3-rc34.c
>
> diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile
> index 38b84e34b225..525d203c0a94 100644
> --- a/drivers/media/rc/keymaps/Makefile
> +++ b/drivers/media/rc/keymaps/Makefile
> @@ -86,6 +86,7 @@ obj-$(CONFIG_RC_MAP) += \
> rc-msi-tvanywhere-plus.o \
> rc-mygica-utv3.o \
> rc-nebula.o \
> + rc-nec-ruwido-z3-rc34.o \
> rc-nec-terratec-cinergy-xs.o \
> rc-norwood.o \
> rc-npgtech.o \
> diff --git a/drivers/media/rc/keymaps/rc-nec-ruwido-z3-rc34.c b/drivers/media/rc/keymaps/rc-nec-ruwido-z3-rc34.c
> new file mode 100644
> index 000000000000..97d416cf0441
> --- /dev/null
> +++ b/drivers/media/rc/keymaps/rc-nec-ruwido-z3-rc34.c
> @@ -0,0 +1,80 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +//
> +// Keytable for the Ruwido Z3 RC-34 remote
> +
> +#include <media/rc-map.h>
> +#include <linux/module.h>
> +
> +static struct rc_map_table nec_ruwido_z3_rc34[] = {
> + /* Ruwido Z3 RC-34, NECX address 0xe310 */
> + { 0xe3100f, KEY_POWER },
> + { 0xe31016, KEY_MENU },
> + { 0xe3100a, KEY_UP },
> + { 0xe3100b, KEY_DOWN },
> + { 0xe3100d, KEY_LEFT },
> + { 0xe3100c, KEY_RIGHT },
> + { 0xe31019, KEY_OK },
> + { 0xe3106a, KEY_BACK },
> + { 0xe31033, KEY_INFO },
> + { 0xe31066, KEY_DISPLAYTOGGLE },
> + { 0xe3101a, KEY_VOLUMEUP },
> + { 0xe31010, KEY_VOLUMEDOWN },
> + { 0xe31013, KEY_MUTE },
> + { 0xe31032, KEY_CHANNELUP },
> + { 0xe31031, KEY_CHANNELDOWN },
> + { 0xe31069, KEY_HP },
> + { 0xe31000, KEY_NUMERIC_1 },
> + { 0xe31001, KEY_NUMERIC_2 },
> + { 0xe31002, KEY_NUMERIC_3 },
> + { 0xe31003, KEY_NUMERIC_4 },
> + { 0xe31004, KEY_NUMERIC_5 },
> + { 0xe31005, KEY_NUMERIC_6 },
> + { 0xe31006, KEY_NUMERIC_7 },
> + { 0xe31007, KEY_NUMERIC_8 },
> + { 0xe31008, KEY_NUMERIC_9 },
> + { 0xe31030, KEY_NUMERIC_0 },
> + { 0xe31065, KEY_RED },
> + { 0xe31063, KEY_GREEN },
> + { 0xe31064, KEY_YELLOW },
> + { 0xe3106b, KEY_OPTION },
> + { 0xe31050, KEY_PLAY },
> + { 0xe31057, KEY_REWIND },
> + { 0xe31058, KEY_FASTFORWARD },
> + { 0xe31060, KEY_PROG1 },
> + { 0xe31061, KEY_PROG2 },
> + { 0xe31062, KEY_PROG3 },
> +
> + /* RC-34 remote volume keys */
> + { 0x3506, KEY_VOLUMEUP },
> + { 0x3507, KEY_VOLUMEDOWN },
> +
> + /* McIntosh HR070 remote volume keys */
> + { 0xca5542, KEY_VOLUMEUP },
> + { 0xca5543, KEY_VOLUMEDOWN },
> +};
> +
> +static struct rc_map_list nec_ruwido_z3_rc34_map = {
> + .map = {
> + .scan = nec_ruwido_z3_rc34,
> + .size = ARRAY_SIZE(nec_ruwido_z3_rc34),
> + .rc_proto = RC_PROTO_NEC,
RC_PROTO_NECX
> + .name = RC_MAP_NEC_RUWIDO_Z3_RC34,
> + }
> +};
> +
> +static int __init init_rc_map_nec_ruwido_z3_rc34(void)
> +{
> + return rc_map_register(&nec_ruwido_z3_rc34_map);
> +}
> +
> +static void __exit exit_rc_map_nec_ruwido_z3_rc34(void)
> +{
> + rc_map_unregister(&nec_ruwido_z3_rc34_map);
> +}
> +
> +module_init(init_rc_map_nec_ruwido_z3_rc34)
> +module_exit(exit_rc_map_nec_ruwido_z3_rc34)
> +
> +MODULE_LICENSE("GPL");
> +MODULE_AUTHOR("Fabio Estevam <festevam@gmail.com>");
> +MODULE_DESCRIPTION("Ruwido Z3 RC-34 remote keytable");
> diff --git a/include/media/rc-map.h b/include/media/rc-map.h
> index f167c37179c8..290919a7247e 100644
> --- a/include/media/rc-map.h
> +++ b/include/media/rc-map.h
> @@ -289,6 +289,7 @@ struct rc_map *rc_map_get(const char *name);
> #define RC_MAP_MSI_TVANYWHERE_PLUS "rc-msi-tvanywhere-plus"
> #define RC_MAP_MYGICA_UTV3 "rc-mygica-utv3"
> #define RC_MAP_NEBULA "rc-nebula"
> +#define RC_MAP_NEC_RUWIDO_Z3_RC34 "rc-nec-ruwido-z3-rc34"
> #define RC_MAP_NEC_TERRATEC_CINERGY_XS "rc-nec-terratec-cinergy-xs"
> #define RC_MAP_NORWOOD "rc-norwood"
> #define RC_MAP_NPGTECH "rc-npgtech"
We also need an entry for devicetree/bindings/media/rc.yaml
Thanks,
Sean
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-03 20:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-03 2:03 [PATCH] rc: Add keymap for Ruwido Z3 RC-34 remote Fabio Estevam
2026-10-03 20:37 ` Sean Young
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox