A couple of questions on the remote

Hi, just got my Vero 4k yesterday. I’m pretty excited, as the SPMC/Shield combo is not supported anymore and never really worked right for 4k playback.

I also like the remote, but to be really useful I need to be able to turn on and off my TV and Receiver using CEC. I read many threads, but I’m not sure if this is doable on what is the best way to go about it…

Can buttons be remapped? How?
Also… Can the remote support stuff like long press or double press?

Ideally the home button could also trigger a CEC Activate.

Finally, the home button as it is, seems to map to a “previous menu” action, instead of a “home window” action. Can this be changed?


You can use Keymap Editor to remap buttons

Long press support will come in the future via a software update.

Home should be going Home unless something changes recently


Is it possible to firm up a rough target for this update Sam? Long press support would really dust my broom.


I had a quick look at the Keymap Editor, I’m not sure how to call a CEC built in. Can I use it to call a script?

This is the log of home button press:

14:58:47.590 T:4079682128   DEBUG: LIRC: Update - NEW at 2184562:66 0 KEY_HOME linux-input-layer (KEY_HOME)
14:58:47.590 T:4079682128   DEBUG: OnKey: percent (0x25) pressed, action is PreviousMenu
14:58:47.590 T:4079682128   DEBUG: CGUIWindowManager::PreviousWindow: Deactivate
14:58:47.623 T:4079682128   DEBUG: LIRC: Update - NEW at 2184596:66 0 KEY_HOME_UP linux-input-layer (KEY_HOME_UP)

No firm ETA on this (to avoid disappointment)

CECStandby and CECWakeDevice should do the trick.

Keymap editor does not expose all Kodi control functions and the CEC ones are missing. So if you want to Kodi to Standby/Wake your TV directly via a remote button, you’ll have to create or edit your own keymap.


I played with this a little bit. At least I got the home button to actually behave like I was expecting by creating a gen.xml:
<keymap><global><keyboard><key id="37">ActivateWindow(home)</key></keyboard></global></keymap>

but I haven’t find an easy way to also turn on the TV without losing any other button functionality.
I tried to call a script that in sequence goes to the home window and then send the CEC activate command, but the latency of the home button was too much.

I also tried to use the callbacks addon to trigger CEC when the home window is open, but that fails miserably when kodi is already on home.

Long press would make everything easy, so for now I’ll just use another remote to turn on and off the tv or think of some other methods.

FYI the Shield TV remote handled this well enough. Pressing the center (OK) button would get the Shield out of Stand By and turn on also all the other CEC devices. Long press on the back button would bring up the power menu, so everything could be put in Standby.

It is not a huge deal. I have Yatse that can do everything I need, but it is nice also to have a remote with physical buttons. Also the TV remote (VIZIO) does almost everything I need. It is just that the Vero remote has the perfect size and number of buttons. It just can’t handle turning on and off the system out of the box…

The “Home” button on the Vero 4K remote sends the Linux virtual key “KEY_HOME”, which is then interpreted by Kodi. I can’t figure out which Kodi virtual key (which are different from Linux virtual keys) it gets mapped to, but the debug logs show the action generated is “PreviousMenu”.

The same little home icon on keyboard is usually mapped to the Linux virtual key “KEY_HOMEPAGE”, which I know turns into the Kodi virtual key “browser_home”. The default action for “browser_home” is “ActivateWindow(Home)”.

If you want the “Home” button on the Vero RF remote to take you to the home page all the time, then edit /etc/eventlircd.d/osmc_rf*.evmap and change the first line in both files to:


You don’t really have to edit both files…I just don’t know which version of the remote you have.

Hm – last time I remember this worked without issue.

See https://github.com/osmc/osmc/blob/master/package/eventlircd-osmc/files/etc/eventlircd.d/osmc_rf2.evmap and


Maybe some changes to configuration as we did for Hama etc have caused issue.
Will check this in detail shortly.

Forgive me if I seem a bit thick; point of fact, I am… But if you’re wanting to use Kodi’s CEC compliance to power on/off your TV and receiver then presumably your TV and receiver are also CEC compliant. In which case why would you want to map a remote key to do this? Have you configured Kodi’s CEC settings and found them lacking in flexibility?


I’m just trying to use only one remote (hopefully the vero remote) and put all the others away. Especially when I’m not around and my wife and kids use the system.

Thanks for pointing me to the CEC settings, I actually didn’t even know they existed. I’m sure there is a simple solution that I’m not seeing, but how do I turn on TV and receiver using only the Vero remote? I tried selecting “force AVR on when Kodi is activated” (or something like that), but that didn’t seem to do anything.

Sure enough, tonight I was showing the new Vero to my wife and her first and only question was which button to use to turn on the TV.

Ok, well, concentrate on getting CEC working first and remote button remapping second.

So, it seems like CEC implementation by the various A/V manufacturers has been a a bit spotty since it was introduced, but if your gear is less than perhaps 5 years or so it’s likely this will work.

You need to have CEC turned on and correctly configured in your TV and your receiver menus.

I don’t have a receiver being controlled this way, just the Vero and a TV, so I don’t have the experience there. But I assume that you have an HDMI cable between the Vero and the receiver and another from the receiver to the TV. In which case, have you tested CEC compatibility between those two?

If you search here you’ll find various threads about CEC troubleshooting. It’s fairly sensitive to losing connection, not so much in day to day use but when setting up your cables and having devices in various states until they all become aware of each other. Try actually disconnecting the TV, receiver and Vero from the power mains for several minutes, then power them up one at a time.

In my case I like to use the TV remote to do everything and the transport and directional buttons are passed through to Kodi from the TV.

If you’re wanting to use the Kodi remote, even better. In the CEC settings you can set the screensaver to turn the TV off. And then pressing any key on the remote will power the TV back on. I guess it would be a good idea to have a button assigned to power off the TV instead of just walking away and letting the screensaver turn things off.


More importantly, the Vero should be the last to be powered on after everything else is completely booted.

I’ve never really been clear on the various “back” functions in Kodi. In previous keymap configurations using a Flirc device and a TV remote I noted different results from mapping “escape” “backspace” and “home” keys. Even the official Kodi keyboard shortcuts table lists “escape” as either “previous menu” or “home”. Not sure what the conditions are which determine which action you get from “escape”.

Ideally to my way of thinking a Back button should do two things: 1. Step back to previous menu and 2. In virtual keyboard (search screen etc) act as a backspace key.

And a Home button should take you to the home screen. I’ve never had an issue with this except where it doesn’t back out of whatever menu layer you’re in. So for example, go to TV Shows, Seinfeld, Season one then hit the Home button and go back to the home screen (fine, ok) but go back into TV Shows and it’s not showing the root, it’s still showing season one of Seinfeld. I would expect going back into TV Shows would put you in the root every time. Note that the Vero remote Home button works as expected, I’m just saying I’ve seen this order of operations before with a Home Button and I’m unclear on what Kodi shortcut does this.


CEC works without major problems. I can control the Vero and the receiver volume with the TV remote or alternatively with the Vero remote.

The only problem so far with CEC are the CEC kodi built in commands that don’t work out of the box, at least not all of them:

the activate source command worked right away, great.
the cec standby didn’t work until I modified the configuration following the tips from this thread: Control TV ON/Standby/Toggle using CEC Kodi built-in functions - #13 by Zissou
the cec toggle command only turn the system OFF but doesn’t work when trying to toggle back to ON.

I made some progress, by adding a cec standby command in the power menu of my skin (Titan Beta), so actually the turn off method is solved. I still haven’t figured out the turn on, I didn’t know that screen saver exit turns on receiver and TV, thanks!. I’ll play with it tonight.

Ok, great, I didn’t know you if you had CEC core functions working or not but it sounds like you’re well on your way!

This is your support thread and I don’t want to make it about me but just FYI and food for thought: In my case, having an onscreen link to toggle the TV off would be less than ideal. Reason being my wife would never use it. She often has some media playing while doing other things in the room, so she just wants to reach over and stab a button to turn off the TV. If your partner is more disciplined (er… well, you know what I mean…) then an onscreen option would be fine I’m sure.


Once you set CEC to suspend your TV when the screensaver kicks in you could edit your custom standby command and just have it issue the ActivateScreensaver command. That will allow your Vero remote to turn your TV back on with any button press.

This is what I want to assign to the Home button as a Long Press once the OSMC team implements Long Press capability.


All right! I played with your suggestions over the lunch break and I made progress.
The bad news is that the LibCEC options in Kodi don’t work for me, I’m not sure why, activating screensaver doesn’t shutdown the TV and deactivating the screensaver doesn’t turn on anything. I didn’t have time to debug it so I just used, for now, the amazing Kodi Callbacks addon. That worked like a champ, I set:
on screensaver activated --> CECStandby
on screensaver deactivaed --> CECActivateSource
it works perfectly. I have no idea why the equivalent settings in Kodi core functionality didn’t work.
I also changed the “soft button” to ActivateScreensaver().

The only other use case that I came across is this one: if somebody turns off the TV with the TV remote , then the screensaver in kodi is not activated, obviously, until the screensaver timer expires. In that case the Vero remote will not be able to turn on the system.

Any smart idea on how to get a notification that the TV sent a CEC standby command? It should be available. I could use that notification to run a kodi-send --action=ActivateScreensaver command.

And yes… the soft button to get the screensaver activated is a second best choice way inferior to the long press on the home button command, but that is not available, for now.

Kodi Callbacks addon… Huh, never heard of but I’ll remedy that soon. Good find and thanks for the heads-up on that.

Odd that you couldn’t get screensaver->CEC Suspend to work. I know it initially worked for me and then stopped working after I disconnected everything to do some media shelf cleaning. Turns out that it’s very sensitive to initial handshake on first power up. Unplugging everything, waiting several minutes, then plugging in and powering up in the correct order is important. Many reports of that in threads here. Note that when I had this brief issue, regular CEC functions worked fine, it was just the screensaver->CEC Suspend that stopped working. It’s 100% repeatable by disconnecting and reconnecting HDMI and 100% fixable by the sequence of powering up. Weird, but not a concern since it has never happened in daily use.

Hide the TV remote. Set your screensaver to start after 10 minutes of inactivity. Not much else you can do really unless you can accomplish your idea below. But your stated goal was to run the system from the OSMC remote only, so put the TV remote away.

You should do a test before you start down this road. Set your screensaver to start in one minute of inactivity. Turn your TV off with the TV remote. Wait more than a minute. Click a button on your OSMC remote. Does your TV come on and all is well? Mine does, but I can no longer control Kodi with the TV remote after that, only the OSMC remote works then. I have to turn the TV off again with its own remote and then back on before it will control Kodi. It seems that when you turn off the TV with its own remote, it expects to be turned back on by its own remote otherwise it won’t send CEC commands anymore. It will still respond to a CEC Standby from Kodi though, it just won’t send CEC signals.

All roads lead to “pick a remote and use only that remote”…


Kodi Callbacks is amazing! I was using it already to do something else. When something starts playing using this addon I can trigger a script on my server that stops all downloads and stop any Plex background transcoding, such that bandwidth and resources of the server are free to just stream to kodi. When playback is paused or ended callbacks triggers another script that resumes all normal activites in the server.