用遥控器控制你的桌面电脑

走到电脑前换首歌或跳到下一张PowerPoint幻灯片并不理想。取而代之的是,使用LIRC来控制Linux或Windows PC上任何带有红外遥控器的应用程序。...

Image for article titled Control Your Desktop PC with a Remote Using LIRC

走到电脑前换首歌或跳到下一张PowerPoint幻灯片并不理想。取而代之的是,使用LIRC来控制Linux或Windows PC上任何带有红外遥控器的应用程序。

我们已经介绍了使用各种应用程序和遥控器控制XBMC,但是如果您已经有了一个通用遥控器,并且您想要控制的不仅仅是XBMC中心,那么您需要进行一些定制,这就是LIRC的用武之地。LIRC是一套工具,可以使几乎任何红外遥控器与您的PC进行通信。它不仅内置了对XBMC等媒体程序的支持,而且您还可以将其配置为在Amarok中的给定程序切换轨迹中执行几乎任何操作,使用OpenOffice进行演示,或者在MPlayer中观看视频,而不必靠近鼠标和键盘。

LIRC最初是用于Linux的,不过有一个Windows端口(称为WinLIRC)。这个特定的操作方法将适用于Linux,但在适当的情况下,我会注意到Windows版本和Linux版本之间的差异,以便Windows用户可以遵循我的所有现场测试都是针对Linux版本的,因此尝试WinLIRC的Windows用户应该在下面的评论中发布他们的结果和提示。

如果您要在Linux上设置LIRC,请预先警告:这涉及到很多命令行工作。大多数Linux用户都会非常熟悉这一点,但我要说的是,这是我为一个特定项目所做的最多的命令行和配置文件编辑工作,所以请做好准备。

Image for article titled Control Your Desktop PC with a Remote Using LIRC

把你的硬件组装起来

LIRC是非常受欢迎的自制红外接收器,但如果你不太电子DIY神童,你有几个选择。如果你在Linux上运行这个程序,那么家用电子产品的IRA-3对我来说运行得非常好,并且不需要像大多数接收器那样重新编译内核。如果你打算使用Windows,你或多或少会被自制的接收器困住,因为通常很难找到自己的接收器**。你最好的选择是在eBay上搜索串行IR接收器,在过去,我实际上在那里找到了一些好看的选项,甚至可以告诉你它们是否与WinLIRC一起工作。

还要注意的是,WinLIRC要求红外接收器是一个串行设备USB将不工作,无论是直接或与适配器;您需要在您的计算机上使用一个免费的串行端口,或者使用一个内置的兼容红外接收器,比如Hauppauge电视调谐器卡上的接收器(您也可以在Linux上这样做,但是您必须重新编译内核,如果您使用前面提到的IRA-3,这是不必要的)。

就遥控器而言,几乎所有的红外遥控器都可以正常工作。我的电视、媒体中心和其他相关设备都使用urc6131n,这是一款非常便宜的遥控器。如果你还没有遥控器来控制你的设备,这是一个简单而可怕的一看。

安装lirc并检查连接

LIRC(撰写本文时的版本是0.8.6)应该在Ubuntu存储库中,因此假设您使用的是Ubuntu,您可以从Synaptic安装lircd(否则,您必须从他们的网站手动下载并安装lircd)。此外,如果您使用的是Irman设备(如上面建议的IRA-3),那么您还需要安装libirman dev。在Windows上,只需下载zip文件并将其解压缩到某个地方。

Image for article titled Control Your Desktop PC with a Remote Using LIRC

首先,您需要弄清楚您的设备插在哪个端口上—Linux PC上的第一个串行端口是/dev/ttyS0,第二个是/dev/ttys1,依此类推。要检查它是否**了正确的端口以及是否与遥控器通信,请打开终端并键入:cat/dev/ttyS0,将ttyS0替换为所连接的串行端口。你应该看到设备上的红灯亮了,如果幸运的话,按遥控器上的一些按钮应该会导致终端吐出一些废话,如下所示。

Image for article titled Control Your Desktop PC with a Remote Using LIRC

在我的遥控器上,只有一个或两个按钮导致了这种情况,所以如果仅仅通过捣碎按钮不起作用,请不要担心仔细检查并按下遥控器上的每个按钮。很可能其中一个会导致一整串乱七八糟的东西填满你的终端窗口,这就是我们要找的,这意味着你已经定义了正确的端口,所有的东西都在正常通信。

现在需要设置hardware.conf和lircd.conf。您将需要root权限来执行此操作,因此在Terminal中键入sudo gedit/etc/lirc/hardware.conf来编辑(it)。连接到/dev/ttyS0的Irman设备的hardware.conf应该如下所示:

REMOTE=“Irman/UIR”REMOTE\u MODULES-“”REMOTE\u DRIVER=“Irman”REMOTE\u DEVICE=“/dev/ttyS0”REMOTE\u LIRCD\u CONF=“/etc/lirc/LIRCD.CONF”REMOTE\u LIRCD\u ARGS=“”TRANSMITTER=“None”TRANSMITTER\u MODULES=“”TRANSMITTER\u DRIVER=“”TRANSMITTER\u DEVICE=“”TRANSMITTER\u LIRCD\u CONF=“”TRANSMITTER\u LIRCD\u ARGS=“”START\u LIRCD=“true”START\u LIRCMD=“”LOAD\u MODULES=“”LIRCMD \u CONF=“”强制\u非交互\u重新配置=“false”

当然,如果您使用的是与我建议的不同的东西,您需要用您自己的硬件的属性替换您的设备的位置、上面的设备类型和驱动程序。

Image for article titled Control Your Desktop PC with a Remote Using LIRC

对于Windows用户,所有配置都将在WinLIRC的GUI中完成。启动WinLIRC,它会弹出一个窗口告诉你它失败了,单击OK,它会把你带到主窗口。选择安装它的COM端口,并将其余设置保留为默认设置,因为这样应该可以。如果单击config行旁边的browse按钮并选择sample.cf(WinLIRC附带的),您应该能够测试它是否工作。按“原始代码”按钮,将遥控器指向接收器。如果你看到密码,你就可以继续前进了。

用遥控器配置lirc

接下来,您将需要为远程服务器创建一个lircd.conf文件,这是该过程中最重要的部分。这就是将遥控器上的按钮代码转换成命令供其他软件解释的原因。在lirc的网站上有一个对应不同遥控器的lircd.conf文件列表,但我在这些方面运气不好——我更喜欢使用irrecord(如果你在Windows上,这个进程内置于WinLIRC中)创建自己的文件。我自己做得到的结果要好得多;预先**的配置文件总是给我错误。

您可能需要使用一些选项来运行irrecord,告诉它您在使用什么。对于连接到/dev/ttyS0的Irman设备,启动它的终端命令如下所示:

irrecord-H irman-d/dev/ttyS0 lircd.conf文件

如果您使用自己的硬件,请再次使用相应的驱动程序和端口替换irman和/dev/ttyS0。在那之后,只需要按照指示去做。新版本的LIRC要求您使用预先**的列表中的按钮名,可以在这里找到。你用哪一个来做哪个按钮并不特别重要;这只是LIRC将代码转换成英语的一种方式,这样你就可以帮助它与你想要的软件进行交流。

Image for article titled Control Your Desktop PC with a Remote Using LIRC

遥控器上的大多数按钮在该列表中都有明显的对应项,但如果没有,则可以使用与您没有的按钮对应的其他名称之一(例如,我的遥控器有一个“指南”按钮,我在该列表中没有看到类似的名称,因此我只使用了黄色键)。完成irrecord后,lircd.conf文件将位于主文件夹中。将它复制到具有根权限的/etc/lirc(通过在Terminal中键入sudo cp~/lircd.conf/etc/lirc/lircd.conf),替换原来的lircd.conf。您还需要打开它,在“name”旁边,将“lirc”替换为您的遥控器的名称(对于我的示例,我将使用“urc6131n”,因为这是我的遥控器的名称)。下面是一个典型的lircd.conf文件的图片。

Image for article titled Control Your Desktop PC with a Remote Using LIRC

要测试您的配置是否工作,请在终端中运行irw。它会给你一种终端挂机的错觉,但如果你按遥控器上的按钮,它应该会向你吐出按钮的名字。如果成功了,恭喜你,你在UNIX上统治了世界。

Windows用户将遵循几乎相同的过程。在WinLIRC主窗口中,点击Learn按钮启动WinLIRC的内置版本。只要按指示走;除了前两个步骤(给它一个25的误差范围,只留下空白的自定义间隙长度)和事实上,你可以使用你想要的任何名称的按钮,你不必使用LIRC的新命名系统(所以你可以只键入“快进”的电源按钮,如果你喜欢)。浏览完所有按钮后,只需将输入框留空并按enter键。完成所有操作后,在主窗口中点击OK,它将最小化到任务栏,等待输入。

让lirc与您选择的软件进行通信

设置遥控器只是其中的一半,另一半是让LIRC与您想要控制的软件进行通信。一些软件(比如我们最喜欢的媒体中心软件XBMC)内置了对LIRC的支持,只是配置多一点(XBMC的过程在这里有很好的描述,所以我不会亲自介绍)。不过,对于大多数程序,您都需要创建一个global.lircrc文件,并将其映射到键盘快捷键或应用程序命令,以使其执行所需的操作。作为一个例子,我们将使用Amarok,尽管如果你用心去做的话,可能性是无穷无尽的。

在主目录中创建一个名为.lircrc的文本文件,并在gedit中打开它。基本格式如下所示:

begin prog=irexec remote=urc6131n button=KEY\u PLAY config=dbus send--type=method\u call--dest=org.kde.amarok/Player org.freedesktop.MediaPlayer.PLAY end开始

begin prog=irexec remote=urc6131n button=KEY\u STOP config=dbus send--type=method\u call--dest=org.kde.amarok/Player org.freedesktop.MediaPlayer.STOP end开始

begin prog=irexec remote=urc6131n button=KEY\u PAUSE config=dbus send--type=method\u call--dest=org.kde.amarok/Player org.freedesktop.MediaPlayer.PAUSE end开始

对每个你想要有一个功能的按钮重复这个块。基本上,您将按钮映射到控制程序的特定终端命令在本例中,dbus send--type=method\u call--dest=org.kde.amarok/Player org.freedesktop.MediaPlayer.Pause是amarok暂停音乐的终端命令(如果对您不起作用,您可能需要安装kdelibs4c2a)。您还可以生成稍微复杂一些的命令(包括多个按钮、延迟等)-这里提供了更多信息。如果您选择以这种方式配置它,则必须在后台运行irexec,以便远程设备工作(您可以事先在终端中启动它,也可以将它设置为在计算机在系统中启动时运行>首选项>启动应用程序(如果你运行的是Ubuntu)。

Image for article titled Control Your Desktop PC with a Remote Using LIRC

另一种方法是使用irxevent而不是irexec(用于控制Linux中的X应用程序)来使用键盘命令。您需要先安装lirc-x(在Ubuntu存储库中也可以使用),然后形成.lircrc文件,如下所示:

begin remote=urc6131 prog=irxevent button=KEY\ PLAY config=KEY space CurrentWindow end开始远程=urc6131程序=irxevent按钮=键\播放配置=键空间当前窗口结束

为了进行键盘组合,您需要更多的批处理脚本知识,但是由于许多程序都有本地的单键快捷键,您可以配置这些快捷键(如下Amarok中所示),因此您最好只将应用程序中的特定函数分配给键。上面的例子中,当我在遥控器上按play时,按下当前窗口中的空格键,有效地告诉Amarok如果它是我最前面的窗口,就播放。如果您想同时运行多个程序,这并不是完美的,但是如果您当时没有积极地使用PC,它会非常好地工作(不过请记住,您的远程设备必须运行irxevent才能与所讨论的程序通信,就像上面示例中的irxec一样)。

Image for article titled Control Your Desktop PC with a Remote Using LIRC

对于Windows,您可以使用Lifehacker最喜欢的keymapping实用程序AutoHotKey来执行基本相同的操作。你可以在这里得到一个自动热键脚本的模板,根据你的喜好编辑中间部分。脚本中有指令,因此如果您对AutoHotkey非常熟悉,那么编程它应该不会有问题它与映射键盘键相同,只是使用了在设置过程中定义的按钮名称。有关使用自动热键映射键的更多信息,请参阅我们的指南,将任何操作转换为键盘快捷键。


这些只是使用LIRC控制您喜爱的程序的几种方法。它是非常开放的,所以我只给你介绍了几个基本的例子,但是通过一点研究,你就可以知道如何做任何事情。有关LIRC的更多信息,以及对配置文件以及其他与LIRC一起工作的软件做一些更高级的操作,您一定要查看LIRC的网站和文档。Windows用户当然也应该仔细阅读WinLIRC的网站。

对于映射一个特定的程序,如果可能的话,最好使用irexec方法,因此您需要浏览该程序的文档或Google查找与该程序中的函数相对应的终端命令。

如果您对LIRC或WinLIRC有什么特别的用途,请在评论中告诉我们它是什么,以及您是如何使用它的!

  • 发表于 2021-07-27 06:43
  • 阅读 ( 170 )
  • 分类:互联网

你可能感兴趣的文章

如何将手机用作spotify遥控器

... spotify遥控器需要什么 ...

  • 发布于 2021-03-11 14:38
  • 阅读 ( 481 )

7个你绝对不知道的惊人的android电视技巧

...经常需要使用游戏控制器或鼠标来导航,而不是依赖电视遥控器。 ...

  • 发布于 2021-03-12 22:53
  • 阅读 ( 363 )

如何从电脑遥控iphone

... 寻找一个iPhone应用程序来控制你的娱乐设备?试试智能遥控器。我们还展示了如何修复iPhone的蓝牙,如果这阻碍了你。 ...

  • 发布于 2021-03-13 00:16
  • 阅读 ( 279 )

android电视最好的浏览器是什么?排名前5的应用程序

... 许多Android电视浏览器不能与设备的遥控器一起工作。您需要使用游戏控制器或智能**应用程序来操作和导航应用程序。 ...

  • 发布于 2021-03-18 04:29
  • 阅读 ( 223 )

7款android应用程序,可作为pc的遥控器

... 有几个应用程序可以让你像遥控器一样通过**控制你的电脑。这些应用程序充当鼠标和键盘,允许您在舒适的床上或其他地方控制Windows PC。我们来看看。 ...

  • 发布于 2021-03-27 01:21
  • 阅读 ( 290 )

旧版ipad或android平板电脑的10种便捷用法

...制器来增强高保真立体声或蓝牙扬声器呢?比如说,它比遥控器更容易管理,在厨房里,平板电脑比智能**更容易按键。潘多拉(Pandora)和Spotify就是很明显的例子,但在起居室里,共享平板电脑可以与Chromecast或Roku搭配,以方便...

  • 发布于 2021-04-06 22:31
  • 阅读 ( 180 )

用谷歌的chromecast在电视上镜像你的电脑屏幕

...将比镜像选项卡时更好、更平滑。该接口还将转换成一种遥控器,带有播放控制,可播放您正在向Chromecast播放的视频或音频。 googlecast扩展呢? googlecast扩展仍然可用,但是,它做的不多。它只提供了一个一键工具栏图标,你可...

  • 发布于 2021-04-08 06:19
  • 阅读 ( 193 )

如何将智能手机用作pc的鼠标、键盘和遥控器

...、键盘和其他遥控类型的输入。 家庭影院pc的理想手持遥控器 相关:如何使用Xbox或Steam控制器控制Windows桌面 YouTube的配对功能提供了一种将**作为遥控器来控制YouTube在电脑上播放的方法,甚至还有一种将**作为遥控器在VLC中播...

  • 发布于 2021-04-10 00:23
  • 阅读 ( 256 )

为什么每个客厅都有一台电脑

...结果却发现自己打错了,不得不重新开始这个过程。使用遥控器来操控智能电视、Roku,或者仅仅是我的有线电视盒,这是对千禧一代的一种西西菲亚式的惩罚。
 微软花了数百万美元开发和推广Kinect的运动和语音控制,它认...

  • 发布于 2021-04-27 15:41
  • 阅读 ( 137 )

如何使用亚马逊的alexa控制你的roku

...总有一天会让我丧命,我总是要翻看成堆的东西才能找到遥控器。当然,我也可以用我的万能遥控器打开它,但那是整个房间的全部。如果你和我一样懒惰,而且你碰巧有一个亚马逊Echo设备(或者已经将Alexa连接到你的台式电脑...

  • 发布于 2021-05-14 05:27
  • 阅读 ( 85 )
oi4qe8me
oi4qe8me

0 篇文章

相关推荐