Hi, On Sat, Dec 19, 2020 at 01:56:50AM +0000, Jesus wrote: > It's a Universal Harmony 350 > > This one: > https://support.myharmony.com/en-us/350 > https://assets.logitech.com/assets/54199/gallery-1.png > > It's programable, the remote selected for the mouse is named Media Center PC SE i believe is the mce, and for the other functions of the pc part I use a remote named Intel Media Player I believe is mce too but diferent set of keys selectable > I've managed to make work every button I use in the intel media player remote, for the Media Center PC SE, I only use the mouse part thats what I have tested, the mouse movement works, the left and right click are the ones not working That's interesting, I did not know there was any other device that generates this IR. > Some recording of the ir using "ir-ctl -r" would be useful too. > > this is the output for the left click: > > +2800 -200 +300 -300 +300 -250 +300 -300 +600 -600 +300 -400 +200 -350 +300 -200 +350 -300 +300 -300 +600 -300 +300 -600 +300 -250 +400 -200 +400 -200 +400 -250 +350 -300 +300 -400 +200 -300 +300 -300 +300 -300 +300 -300 +300 -300 +300 -300 +350 -250 +350 -300 +600 -250 +350 -350 +250 -300 +300 -600 +350 -250 +350 -75800 +2800 -200 +350 -200 +400 -250 +350 -300 +650 -600 +300 -300 +300 -300 +300 -250 +300 -300 +300 -300 +600 -250 +400 -600 +350 -200 +350 -250 +350 -250 +350 -250 +350 -250 +400 -200 +350 -250 +350 -250 +350 -250 +350 -300 +300 -300 +300 -250 +350 -300 +300 -300 +600 -250 +350 -200 +400 -250 +350 -600 +300 -250 +400 -75800 +2800 -200 +350 -200 +400 -250 +300 -250 +700 -550 +350 -200 +350 -250 +350 -250 +350 -250 +300 -350 +550 -250 +400 -600 +300 -300 +250 -300 +300 -300 +300 -350 +300 -250 +400 -250 +350 -250 +350 -400 +200 -350 +300 -300 +300 -300 +300 -250 +350 -200 +400 -250 +650 -200 +400 -250 +350 -250 +350 -600 +300 -300 +300 # timeout 101600 Actually, that is the right IR for a left mouse button. > > 688888.335099: lirc protocol(mcir2-mse): scancode = 0x3c > > 688888.335117: event type EV_MSC(0x04): scancode = 0x3c > > 688888.335117: event type EV_SYN(0x00). > > 688888.475123: lirc protocol(mcir2-mse): scancode = 0x3c > > 688888.475142: event type EV_MSC(0x04): scancode = 0x3c > > 688888.475142: event type EV_SYN(0x00). This is also the right scancode. I think something else is going on. Please can you do the following: echo 'file ir-mce_kbd-decoder.c +p' > /sys/kernel/debug/dynamic_debug/control Now press the left mouse button and see what there is in dmesg. I hope it says something like: rc rc0: mouse: x = 0, y = 0, btns = L Please can you test the following patch. Thanks, Sean --- >From 05a8b10b9b8a6f0e9ccf42010a633e674c672f15 Mon Sep 17 00:00:00 2001 From: Sean Young <sean@xxxxxxxx> Date: Sat, 19 Dec 2020 09:19:45 +0000 Subject: [PATCH] media: mce-kbd: ensure that keycodes set in keybit The input layer wants to know what keys a device can generate, and will ignore any keycodes not in this list. Ensure the keybit is set on registration. Signed-off-by: Sean Young <sean@xxxxxxxx> --- drivers/media/rc/ir-mce_kbd-decoder.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/media/rc/ir-mce_kbd-decoder.c b/drivers/media/rc/ir-mce_kbd-decoder.c index be8f2756a444..c72704aa23a8 100644 --- a/drivers/media/rc/ir-mce_kbd-decoder.c +++ b/drivers/media/rc/ir-mce_kbd-decoder.c @@ -361,10 +361,19 @@ static int ir_mce_kbd_decode(struct rc_dev *dev, struct ir_raw_event ev) static int ir_mce_kbd_register(struct rc_dev *dev) { struct mce_kbd_dec *mce_kbd = &dev->raw->mce_kbd; + int i; timer_setup(&mce_kbd->rx_timeout, mce_kbd_rx_timeout, 0); spin_lock_init(&mce_kbd->keylock); + for (i = 0; i < ARRAY_SIZE(kbd_keycodes); i++) { + if (kbd_keycodes[i] != KEY_RESERVED) + __set_bit(kbd_keycodes[i], dev->input_dev->keybit); + } + + __set_bit(BTN_LEFT, dev->input_dev->keybit); + __set_bit(BTN_RIGHT, dev->input_dev->keybit); + return 0; } -- 2.29.2