KEF EGG - IR Remote Control Support over USB

Hi

I’m currently using KEF EGG with Volumio on a Raspi 3 connected via USB. Volumio lists the device name in Audio Output and I’m using Hardware MixerType.

Everything in Volumio works and the sound quality is excellent and High Resolution FLAC files all play perfectly at native resolution.

The KEF EGG speaker unit itself has an IR remote control with Volume +/- and Mute with Play / Pause and Next / Previous Track. It seems as though this feature is disabled and I can only do these things from within Volumio.

However, I have been looking around and I have found a webpage on USB Human Interface Devices. Using the information on here, I can see the data from button pushes on the remote when I SSH into Volumio

volumio@volumio:/dev/input/by-id$ cat usb-GPE_KEF_EGG-event-if02

<random chararacters removed>

If this could be linked somehow to the actions in Volumio then the KEF EGG remote would work properly

Please could you support this or point me in the direction of how I can link these button presses to Volumio actions. I don’t really know where to go from here.

Many thanks.

Right - so after spending a couple of hours of relentless googling:

I’ve done this code from python (don’t fully understand or care about it) that produced this when I pressed the volume down button on the EGG remote

(1580495231, 477560, 4, 4, 786666) (1580495231, 477560, 1, 114, 1) (1580495231, 477560, 2, 9, 1) (1580495231, 477560, 2, 9, 1) (1580495231, 477560, 2, 9, 1) (1580495231, 477560, 2, 9, 1) (1580495231, 477560, 2, 9, 1) (1580495231, 477560, 2, 9, 1) (1580495231, 477560, 2, 9, 1) (1580495231, 477560, 0, 0, 1) (1580495231, 477571, 2, 9, 1) (1580495231, 477571, 2, 9, 1) (1580495231, 477571, 2, 9, 1) (1580495231, 477571, 0, 0, 0) (1580495231, 655555, 4, 4, 786666) (1580495231, 655555, 1, 114, 0) (1580495231, 655555, 2, 9, 1) (1580495231, 655555, 2, 9, 1) (1580495231, 655555, 2, 9, 1) (1580495231, 655555, 2, 9, 1) (1580495231, 655555, 2, 9, 1) (1580495231, 655555, 2, 9, 1) (1580495231, 655555, 2, 9, 1) (1580495231, 655555, 0, 0, 1) (1580495231, 655566, 2, 9, 1) (1580495231, 655566, 2, 9, 1) (1580495231, 655566, 2, 9, 1) (1580495231, 655566, 0, 0, 0)

Now all I need to do is find a way to make that =

volumio@volumio:$ volumio volume minus

and for it to always be listening to the remote commands.

PS. I don’t feel like this is fun by the way. This should be built into Volumio.

If you think this should be built into Volumio, you can make a plugin for that:
volumio.github.io/docs/Plugin_S … rview.html