有没有办法让 LightDM 在欢迎屏幕上将 MCE 遥控器视为输入设备?我有三个帐户 - 我的用户帐户、MythTV 和 XBMC,我希望能够使用遥控器在它们之间切换。我对 xorg.conf 进行了以下更改:
Section "InputClass"
Identifier "Remote"
MatchDevicePath "/dev/input/event2"
Option "Ignore" "True"
EndSection
X.org 可以看到遥控器:
#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)
答案1
我实际上通过两步过程解决了这个问题:
- 使用 xdotool 模拟键盘事件。
- 使用 irexec 监听特定的 IR 事件,然后启动脚本
$irexec /etc/lirc/lirc.greeter.conf
这是 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
以及它将事件发送到的脚本:
#!/bin/bash
LOGIN=`who | grep tty7 | /usr/bin/awk '{ print $1 }'`
if [ -z "$1" ];
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 $1
fi
who 命令检查是否有人登录到 tty7 本地图形会话。如果没有人登录,则假设欢迎程序正在运行。由于脚本需要与 X 服务器交互,因此它需要 xauth 文件。这是 ubuntu 12.04 的 xauth 文件