Volumio 3 and IR Remote Control Apple A1294

Hi all,
I try to connect the Apple A1294 as IR remote control on a Raspberry Pi 3 Model B+ with HiFi Berry DAC+.
I installed the PluIns: FusionDSP, TouchDisplay, IR Remote Controller and activated them.
I do not use the touch functionality of the TouchDisplay PlugIn therefore I need the full IR Remote Controller function.
After installing the IR Remote Controller and configuring it for Apple Remote A1294 - nothing happens, nevertheless what I configured (always with reboots).
Then I saw that the directory: /data/INTERNAL/ir_controller/configurations
was empty and I created a subdir “Apple Remote A1294”
There I created a file lircd.conf with the following content:

# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.9.0(default) on Tue Jun  2 22:56:05 2015
#
# contributed by DBMandrake
#
# brand:                       Apple
# model no. of remote control: A1294 (silver)
# devices being controlled by this remote:
#

begin remote

  name  Apple_A1294
  bits            8
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       9140  4510
  one           633  1666
  zero          633   537
  ptrail        631
  repeat       9137  2220
  pre_data_bits   16
  pre_data       0x77E1
  post_data_bits  8
  post_data      0x2C
  gap          108756
  toggle_bit_mask 0x0
  ignore_mask 0x80ff

      begin codes
          KEY_UP                     0x50
          KEY_DOWN               0x30
          KEY_LEFT                 0x90
          KEY_RIGHT               0x60
          KEY_OK                     0x3A 0xA0
          KEY_MENU                0xC0
          KEY_PLAY                 0xFA 0xA0
      end codes

end remote

After a reboot it works for Play/Stop Forward/Backward Volume
but the MENU button doesn’t work.
I would expect that the Left/Right/Up/Down keys work like a mouse after switching to MENU, but nothing happens.
Has anyone a tip for me?
Thanx a lot in advance
Klaus

did you see this post?

or this one

Hi dvo,

yes I saw these posts. Interesting for me are the A1294 posts.
I tested the adjustements of Ezaul’s post, but after that the IR Remote doesn’t work at all.
[http://lirc.sourceforge.net/remotes/apple/A1294] is slightly differnt to my config file but
also doesn’t work at all.
https://github.com/osmc/osmc/blob/master/package/remote-osmc/files/etc/lirc/apple-silver-A1294-lircd.conf
Is exactly what I use and it works except the MENU button.

the dir: “/data/plugins/accessory/ir_controller/configurations/Apple Remote A1294/”
does not exist.
On my Volumio 3.324 (Mon 11 Jul 2022) exists a dir: “/data/plugins/system_hardware/ir_controller/configurations/Apple Remote A1294”
I copied both files: lircd.conf and lircrc to directory:
“/data/INTERNAL/ir_controller/configurations/Apple Remote A1294”
But after a reboot IR doesn’t work at all.
So I removed both files from there and created the lircd.conf from the beginning.
Now I got back the functionality from the beginning except MENU

Ok you already have seen them
I don’t have the remote or your pi version so i don’t know how to
Help you with it but wait till others reply.

Best regards,
Dvo

Thanx dvo for tying to help me
To all … Is there any other IR remote control completely working with a Raspberry Pi 3 Model B+
and HiFi Berry DAC+ and Volumio 3.324 (Mon 11 Jul 2022) ?
I guess there must be a full working IR out there for a raspberry like mine.

Assuming you are using this lircd.conf the reason for the “Menu” button not working is that it has this key named “KEY_ESC”, but " lircrc" does not contain “KEY_ESC”.

I guess if you change “KEY_ESC” in your “lircd.conf” to “KEY_MENU” the button will work - but as a toggle button which is the function assigned to this key in “lircrc”.

AFAIK this functionality is currently not offered by any of the remote control profiles that come with the IR controller plugin.

1 Like

Hi gvolt,
yes I saw this difference (KEY_ESC - KEY_MENU) and if you read the code from my very first post, you’ll see that I have changed this missmatch. So my lircd.conf contains the right keyword KEY_MENU.
If the music plays and I klick on the MENU button the music stops, but the buttons for UP,DOWN are still working for volume and LEFT, RIGHT work for last song, next song and not as menu selection buttons.
If I click the MENU button again the actual song continuous. So the MENU button has the same functionality like the PLAY,PAUSE button. But the lircd.config has different HEX codes assigned.

Do I understand right - it is not possible to select menu items via the IR controller plugin at all, right now?
Or is there another IR controller available which reaches the menu items of Volumio via other bottons, maybe via direct buttons wiithout toggeling the mode? And has anyone testet it?
I guess the IR controller plugin is not offered with not the complete functionality.

If from your first post would have been to recognize, that the posted code was from https://github.com/osmc/osmc/blob/master/package/remote-osmc/files/etc/lirc/apple-silhaveA1294-lircd.conf and modified… :wink:

Then it works exactly as it is configured.

Yes.

No, at least not to my knowledge.

Hi gvolt,
thanx for your fast respond.
Yes you right, I have only modified the github lircd.conf. I am far away from developing thus codes.
But I am a little disappointed to read that it is not yet possible to control the menu items with any IR remote control. Is it foreseen to develop a menu item control by IR remote control and if yes, when?
I cannot use a touchscreen, because there is a glas front and behind I’ve fitted the display.
Do you know any other method to control the menu items, eg. by using rotary encoder (I’ve seen that there is also a pluin for that)?
Would it be possible to control Volumio by air mouse - has anyone experience in that?
If yes, which air mouse works?

I will post a solution for controlling the mouse pointer soon. I am just busy right now.

These are really good news.
Then I will wait for that, cause this would be the best solution for me.
Best regards
Klaus

In order to be able to move the mouse pointer and do a left button click by hitting various buttons on your remote you could try the following steps:

  1. Enable mouse pointer visibility on the config page of the Touch Display plugin.

  2. Connect to Volumio via SSH.

  3. Open “/etc/lirc/lircmd.conf” using nano

    sudo nano /etc/lirc/lircmd.conf

    and add

    PROTOCOL IntelliMouse
    
    # ACCELERATOR start max multiplier
    ACCELERATOR 2 30 5
    
    TOGGLE_ACTIVATE * KEY_MENU
    
    MOVE_N  * KEY_UP
    MOVE_E  * KEY_RIGHT
    MOVE_S  * KEY_DOWN
    MOVE_W  * KEY_LEFT
    
    BUTTON1_CLICK * KEY_OK
    

    Save the file by hitting Ctrl+x, y and Enter.

  4. Open “/etc/lirc/lirc_options.conf” using nano

    sudo nano /etc/lirc/lirc_options.conf

    and change the line below [lircmd] from

    uinput = False

    to

    uinput = True

    Save the file by hitting Ctrl+x, y and Enter.

  5. Execute

    systemctl start lircmd.service

  6. Now you should be able to activate controlling the mouse pointer with your remote by hitting the menu button.

    Pressing up, down, left and right buttons on the remote control should move the pointer into the according direction.

    Pressing the OK button of the remote simulates a left button mouse click.

    To leave this “mouse pointer control mode” hit the remote’s menu button again.

  7. If all that works to your liking and you want to have “lircmd.service” started automatically on boot/reboot of Volumio run

    systemctl enable lircmd.service

Hi gvolt,
I did it like you’ve described, but no change.
Here is what I’ve changed:

Welcome to Volumio for Raspberry Pi (5.10.92-v7+ armv7l)
volumio@myvolumio:~$ cd /etc/lirc
volumio@myvolumio:/etc/lirc$ ls
irexec.lircrc lirc_options.conf lircd.conf lircd.conf.d lircmd.conf lircrc
volumio@myvolumio:/etc/lirc$ sudo nano lircmd.conf
volumio@myvolumio:/etc/lirc$ cat lircmd.conf

# Populated config files can be http://sf.net/p/lirc-remotes. The
# irdb-get(1) and lirc-setup(1) tools can be used to search and download
# config files.
PROTOCOL IntelliMouse

# ACCELERATOR start max multiplier
ACCELERATOR 2 30 5

TOGGLE_ACTIVATE * KEY_MENU

MOVE_N  * KEY_UP
MOVE_E  * KEY_RIGHT
MOVE_S  * KEY_DOWN
MOVE_W  * KEY_LEFT

BUTTON1_CLICK * KEY_OK

volumio@myvolumio:/etc/lirc$ sudo nano lirc_options.conf
volumio@myvolumio:/etc/lirc$ cat lirc_options.conf

# These are the default options to lircd, if installed as
# /etc/lirc/lirc_options.conf. See the lircd(8) and lircmd(8)
# manpages for info on the different options.
#
# Some tools including mode2 and irw uses values such as
# driver, device, plugindir and loglevel as fallback values
# in not defined elsewhere.

[lircd]
nodaemon        = False
driver          = default
device          = /dev/lirc0
output          = /var/run/lirc/lircd
pidfile         = /var/run/lirc/lircd.pid
plugindir       = /usr/lib/arm-linux-gnueabihf/lirc/plugins
permission      = 666
allow-simulate  = No
repeat-max      = 600
#effective-user =
#listen         = [address:]port
#connect        = host[:port]
#loglevel       = 6
#release        = true
#release_suffix = _EVUP
#logfile        = ...
#driver-options = ...

[lircmd]
uinput          = True
nodaemon        = False

# [modinit]
# code = /usr/sbin/modprobe lirc_serial
# code1 = /usr/bin/setfacl -m g:lirc:rw /dev/uinput
# code2 = ...


# [lircd-uinput]
# add-release-events = False
# release-timeout    = 200
# release-suffix     = _EVUP

volumio@myvolumio:/etc/lirc$ sudo systemctl start lircmd.service
volumio@myvolumio:/etc/lirc$ ps -ef|grep lircmd

root      1819     1  0 14:08 ?        00:00:00 /usr/sbin/lircmd --nodaemon
volumio   1924  1642  0 14:10 pts/0    00:00:00 grep lircmd

volumio@myvolumio:/etc/lirc$ sudo systemctl enable lircmd.service

Synchronizing state of lircmd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable lircmd
Created symlink /etc/systemd/system/multi-user.target.wants/lircmd.service → /lib/systemd/system/lircmd.service.

After that I rebooted my Rasp.

volumio@myvolumio:/etc/lirc$ Connection to 192.168.47.26 closed by remote host.
Connection to 192.168.47.26 closed.

What I did in the beginning was to create a new subdir in: /data/INTERNAL/ir_controller/configurations
subdir “Apple Remote A1294”
There I created a new file lircd.conf with the known content from github and I set KEY_ESC to KEY_MENU.
I did that, cause without that new subdir and the new file the IR controller did not run at all.
Maybe I have to copy the new edited files to another dir?

That’s absolutely correct.

No.

Did you press the menu button to activate the mouse pointer control mode before you tried to navigate the pointer with the up, down etc. keys?

Please post the result of

systemctl status -l lircmd.service

Yes, I press 1st the MENU button (music play stops) and after that I try to use the navigate buttons.

systemctl status -l lircmd.service

â—Ź lircmd.service - Convert IR remotes button presses to mouse movements and clicks
   Loaded: loaded (/lib/systemd/system/lircmd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2022-09-19 14:40:49 UTC; 8min ago
     Docs: man:lircmd(8)
           http://lirc.org/html/configure.html
 Main PID: 2109 (lircmd)
    Tasks: 1 (limit: 2133)
   CGroup: /system.slice/lircmd.service
           └─2109 /usr/sbin/lircmd --nodaemon

Sep 19 14:40:49 myvolumio systemd[1]: Started Convert IR remotes button presses to mouse movements and clicks.
Sep 19 14:40:49 myvolumio lircmd[2109]: lircd-0.10.1[2109]: Notice: lircmd:  Opening log, level: Notice
Sep 19 14:40:49 myvolumio lircd-0.10.1[2109]: Notice: lircmd:  Opening log, level: Notice

I overlooked that the button currently works as play/pause toggle. Maybe you need to remove the section

begin
prog = irexec
button = KEY_MENU
config = /usr/local/bin/volumio toggle
end

from your “/data/INTERNAL/ir_controller/configurations/Apple Remote A1294/lircrc” file.

Hmmm,
now the player doesn’t stop after pressing the MENU button and the behavior of the navigation buttons doesn’t change (UP/DOWN still volume, LEFT/RIGHT still previous, next song)

What I did:
cd /etc/lirc
sudo nano lircrc
cat lircrc

begin
prog = irexec
button = KEY_PLAY
config = /usr/local/bin/volumio toggle
end
begin
prog = irexec
button = KEY_ENTER
config = /usr/local/bin/volumio volume toggle
end
begin
prog = irexec
button = KEY_UP
config = /usr/local/bin/volumio volume plus
end
begin
prog = irexec
button = KEY_DOWN
config = /usr/local/bin/volumio volume minus
end
begin
prog = irexec
button = KEY_LEFT
config = /usr/local/bin/volumio previous
end
begin
prog = irexec
button = KEY_RIGHT
config = /usr/local/bin/volumio next
end

sudo cp lircrc "/data/INTERNAL/ir_controller/configurations/Apple Remote A1294"
reboot
sudo systemctl start lircmd.service
ps -ef|grep lircmd

root      1953     1  0 15:17 ?        00:00:00 /usr/sbin/lircmd --nodaemon
volumio   1962  1944  0 15:17 pts/0    00:00:00 grep lircmd

What I see in addition is the difference regarding KEY_OK (in lircd.conf) and KEY_ENTER (in lircrc)
I guess I have to change KEY_OK to KEY_ENTER in lircd.conf

After changing KEY_OK to KEY_ENTER in lircd.conf I get new effects.
If the music plays and I press the OK/ENTER Button the music stops and the volume shows muted.
If I press OK/ENTER again the music starts play with the volume I adjusted before.
If I press the MENU button 1st the playing music now doesn’t stop and the navigation buttons do not work as navigation (as before).