Flirc Channels Controller

I've updated my Flirc software and noticed there is now a specific Channels Controller available. This looks great as it includes buttons (Guide/DVR/Home/TV/CC/Record) that I currently have to use ADB to access.

Sadly it doesn't seem to work fully with my Mk1 Flirc though (the clear plastic covered version). Those extra buttons do nothing. Do these functions only work with the new Metal cased Flirc?

I found a couple of old posts about the Flirc mapping when it was in BETA, but nothing recently. Is this out of BETA now? I did a search in the documentation for Flirc but nothing came up.

Also, there isn't a Stop button on the Channels Controller button layout. I know there is a stop command in the API, so it seems an omission. Does Back do the same as Stop in all circumstances?

You can email flirc about it not working. They can also add commands.

OK, I will. But as I thought I read that this was a joint venture between you and Flirc, I figured there might be some knowledge here.

And presumably they can only add commands that you have given them details of?

We provided them an exhaustive list of commands already.

  • KEYCODE_MEDIA_STOP (c/b7)

Our app responds to all standard Android/adb key events. The Channels flirc profile sends these Android key press events. Its not anything specific to Channels app.

Fair enough. I have posted the questions on their aupport forum.

Is that true of the Guide/DVR/TV/Record/CC buttons on the Channels Flirc profile? What are the android/adb commands for those? I'm currently having to use the Channels API commands for those.

I presumed those were specific to the Channels Flirc Profile and that it somehow send those API commands which is why I was pleased to see the specific Channels profile.

I've had no response on the Flirc forum (which seems to be pretty quiet from the Staff point of view) but have just bought a Gen 2 Flirc and updated it to the latest firmware but that still doesn't work for Guide/DVR/TV/Record commands etc.

Here's the list I sent them a few years ago:

New entry "Channels app":

For the numpad, there's two extra keys available compared to kodi template: a dot/period, and an enter/flush. (The dot is important because over-the-air station numbers are in the form "3.1". Also note that this list is part of HID not consumer, unlike the others below. I used "7/" to indicate HID and "c/" to indicate consumer.)

  • KEYCODE_NUMPAD_ENTER (7/58): record_api 0 88
  • KEYCODE_NUMPAD_1 (7/59): record_api 0 89
  • KEYCODE_NUMPAD_2 (7/5a)
  • KEYCODE_NUMPAD_3..KEYCODE_NUMPAD_9 (7/5b...7/61)
  • KEYCODE_NUMPAD_0 (7/62)
  • KEYCODE_NUMPAD_DOT (7/63)

For the dpad, we have an extra menu/info button that triggers context menus on most views:

  • KEYCODE_DPAD_CENTER (c/41): record_api 2 41
  • KEYCODE_DPAD_UP (c/42)
  • KEYCODE_DPAD_DOWN (c/43)
  • KEYCODE_DPAD_LEFT (c/44)
  • KEYCODE_DPAD_RIGHT (c/45)
  • KEYCODE_HOME (c/223)
  • KEYCODE_BACK (c/224)
  • KEYCODE_MENU (c/40)

For live tv channel surfing, and paging up/down in the grid guide we use channel +/-:

  • KEYCODE_CHANNEL_UP (c/9c): record_api 2 9c
  • KEYCODE_CHANNEL_DOWN (c/9d)

There are some global navigation keys which take you to certain views, like the live player or your dvr recordings:

  • KEYCODE_GUIDE (c/8d): record_api 2 8d
  • KEYCODE_TV (c/89): record_api 2 89
  • KEYCODE_DVR (c/9a)

Then we have basic playback control. Here we have an extra "record" button which lets you record the currently playing thing in the video player. We use next/previous as a chapter skip (or commercial skip):

  • KEYCODE_MEDIA_PLAY_PAUSE (c/cd)
  • KEYCODE_MEDIA_STOP (c/b7)
  • KEYCODE_MEDIA_REWIND (c/b4)
  • KEYCODE_MEDIA_FAST_FORWARD (c/b3)
  • KEYCODE_MEDIA_PREVIOUS (c/b6)
  • KEYCODE_MEDIA_NEXT (c/b5)
  • KEYCODE_MEDIA_RECORD (c/b2)

Finally, there are a couple more I want to add, but it appears the android keycodes for them are not bound to the consumer page by default in Android's Generic.kl (see Keyboard devices  |  Android Open Source Project). I'm still investigating how to handle these best:

  • KEYCODE_LAST_CHANNEL usually jumps to the previous channel: we could use backspace instead (7/2a)
  • KEYCODE_WINDOW triggers Android's PIP behavior; need to see if i can specify an alternative to the OS
  • KEYCODE_CAPTIONS toggles captions
  • KEYCODE_MEDIA_AUDIO_TRACK changes audio tracks

The global navigations key require the button helper which only works via beta apk. Its also possible those no longer work after recent Android OS updates.

Thanks very much for all of the info.

I've now had a reply from Flirc and someone is looking into it at their end.

Whatever I find out, I will post here to help anyone else using Flirc with Channels.

I thought I would update this for anyone else using Flirc with the Channels app

The dev at Flirc has looked at this and thinks he has found the issue with the Guide/DVR etc Channels commands. They are working on an update but no timescale was given.

I have currently got a workaround solution by mapping, in Flirc, my remotes buttons for Guide, Live TV, DVR, Schedule to send the keyboard F1,F2,F3,F4 commands. Then with the very useful Remote Shortcuts settings in the Channels app I mapped the Blue(F1), Red(F2), Green(F3), Yellow(F4) buttons to Guide/Live TV/TV Shows/Schedule. With the CC/Subtitles toggle command working by sending "keyboard C" I now have pretty much every remote button mapped to something logical.

If I could find a way to get the Guide, Live TV, DVR, Schedule commands working directly without going via the F1 etc app translation commands it would be much cleaner and I could then use the coloured buttons for extra features.

Could you expand on that a bit please? I searched for "button helper" in the community pages and the documentation but the only mention of that phrase anywhere was in your post here. Would I always need to use the beta to use the global navigation commands or will that feature make it's way into the main app at some point? I am reluctant to start using the beta unless I absolutely have to.

As a test, I have tried sending the KEYCODE_GUIDE command directly from ADB (from my Node Red system) while using the current main app and, as you say, it doesn't do anything.