Usando o controle remoto MCE na unidade Greeter?

2

Existe alguma maneira de obter LightDM para ver um controle remoto MCE como um dispositivo de entrada na tela de boas-vindas? Eu tenho três contas - minha conta de usuário, MythTV e XBMC e gostaria de poder alternar entre eles usando um controle remoto. Eu fiz a seguinte alteração no meu xorg.conf:

Section "InputClass"
    Identifier           "Remote"
    MatchDevicePath      "/dev/input/event2"
    Option            "Ignore" "True"
EndSection

E o X.org vê o controle remoto:

#cat /var/log/Xorg.0.log | grep Media |grep input |grep event
[354591.052] (II) config/udev: Adding input device Media Center Ed. eHome Infrared Remote Transceiver (0471:060c) (/dev/input/event2)
    
por HP1 08.07.2012 / 17:54

1 resposta

3

Na verdade, resolvi isso por meio de um processo de dois passos:

  • usou xdotool para simular eventos de teclado.
  • usou o irexec para ouvir eventos IR específicos e, em seguida, disparou o script

$ irexec /etc/lirc/lirc.greeter.conf

Aqui está o lirc.greeter.conf

begin
    remote = mceusb
    button = KEY_UP
    prog   = irexec
    repeat = 0
    config = greeter_sendkey Up
end

begin
    remote = mceusb
    button = KEY_DOWN
    prog   = irexec
    repeat = 0
    config = greeter_sendkey Down 
end

begin
    remote = mceusb
    button = KEY_OK
    prog   = irexec
    repeat = 0
    config = greeter_sendkey Return
end

e o script envia o evento para:

#!/bin/bash

LOGIN='who | grep tty7 | /usr/bin/awk '{ print  }''

if [ -z "" ];
  then
   echo "usage: greeter_sendkey CMD"
   exit 2
fi

if [ "$LOGIN" ]; 
   then
     echo "$LOGIN is logged into console"

   else
    export XAUTHORITY=/var/run/lightdm/root/:0
    export DISPLAY=:0
    /usr/bin/xdotool key 
fi

O comando who verifica se alguém está logado em tty7 a sessão gráfica local. Se não houver ninguém logado, assuma que o saudador está sendo executado. Como o script precisa interagir com o servidor X, ele precisa do arquivo xauth. Este é o arquivo xauth para o Ubuntu 12.04

    
por hp1 22.08.2012 / 03:54