首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置远程控制Zydacron

配置远程控制Zydacron
EN

Unix & Linux用户
提问于 2013-04-09 19:00:30
回答 2查看 579关注 0票数 1

我发现了一个旧的红外线遥控器,它的感受器连接成USB。我把它连接到我的Linux盒(薄荷LMDE内核3.2.04-AMD 64)。它被lsusb认可为"Zydacron遥控器“。

起作用了..。几乎..。我可以改变音量,启动/停止媒体播放器,选择播放列表中的轨道。

但是一些键似乎没有反应(没有配置)。

  • 如何配置所有的密钥?
  • 我应该安装"lirc“吗?
EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2013-04-16 18:00:28

所以我必须回到这个问题上,因为我找到了一个没有LIRC的“更好”的解决方案(IMHO)!

正如我说的,当我第一次连接USB接收器时,遥控器上的几乎所有按钮都在工作,没有任何其他软件或任何配置。

根据不同的建议(不仅仅是这里),我安装了LIRC和我为我最常使用的软件找到的插件。

在经历了一些困难之后,我对LIRC进行了配置,即计算机正在接收扫描代码并对其进行翻译。之后,我启动了“图腾”并激活了LIRC插件..。

女妖或者VLC也是一样!

但是,当我关闭应用程序或禁用LIRC插件时,我的键再次工作,我可以设置音量、启动、停止和暂停任何mp3或视频...etc。

正如我所理解的,让远程被LIRC识别是不够的,我必须为我想要使用的每一个程序编写一个配置文件。即使是没有LIRC的钥匙也是如此。听起来很疯狂..。如果不讨论这样一个事实,即通过每个插件找到被接受的LIRC操作似乎相当困难,而且一些软件(比如Banshee )并没有提供比那些没有LIRC的软件更多的可能性(甚至更少)。

所以我搜索了..。

首先,从内核2.6.36开始,LIRC的驱动程序是集成的。这就是为什么当我配置LIRC时,我不得不使用"devinput“驱动程序。

由于这个版本,所有的遥控器都被识别为外部键盘!这也解释了为什么大多数的钥匙都是开箱即用的。因此,由于它是一个键盘,我们必须做的是“重新映射”另一个代码/操作上的非工作键。如下所示:

首先做一个"lsusb“并识别您的遥控器:

代码语言:javascript
复制
Bus 006 Device 002: ID 13ec:0006 Zydacron HID Remote Control 

您必须写下ID 13ec:0006,它将是有用的。

现在以长格式显示/dev/ Now /by-id的内容。

代码语言:javascript
复制
ls -l /dev/input/by-id/
lrwxrwxrwx 1 root root 10 Apr 15 19:27 usb-13ec_0006-event-kbd -> ../event10 

您可以找到正确的行,这要归功于ID,然后是与其相关的事件!现在,通过这些信息,我们将尝试从远程阅读。

代码语言:javascript
复制
sudo /lib/udev/keymap -i input/event10

当您按下遥控器上的键时,您应该会看到扫描代码和当前关联的密钥:

代码语言:javascript
复制
scan code: 0xC00CD   key code: playpause
scan code: 0x70028   key code: enter
scan code: 0x7002A   key code: backspace
scan code: 0x7001E   key code: 1
scan code: 0x70022   key code: 5

请注意,某些键可能返回密钥,但窗口管理器可能无法识别此密钥代码(在我的示例中为Gnome3)。或者钥匙密码不对。在我的例子中,我不得不将键号重新映射到键盘(比利时键盘)和特殊键(音频、视频、DVD、.)一些未使用的函数键。

现在,我们将编写密钥映射文件。你可以用任何名字,在我的例子中,我把它命名为“zydacron”

代码语言:javascript
复制
sudo vi /lib/udev/keymaps/zydacron

该文件夹中已经有几个文件。格式非常简单:

代码语言:javascript
复制
<scan code> <keycode> <# comment eventually>

例子:

代码语言:javascript
复制
0x70027 kp0
0x7001E kp1
0x7001F kp2
0xC0047 f13 # music
0xC0049 f14 # photo
0xC004A f15 # video
0xC00CD playpause # Play/Pause

您可以只放置需要重新映射的密钥!您将在此页面上找到所有关键代码的正式列表。同样,这并不意味着您的窗口管理器支持此列表中的所有键代码,您必须进行测试才能确定。

完成该文件后,我们可以使用以下方法进行测试:

代码语言:javascript
复制
sudo /lib/udev/keymap input/event10 /lib/udev/keymaps/zydacron

如果某些东西不起作用,您将不得不尝试另一个密钥代码。然后重做映射。

当一切如你所期望的那样运作时,我们将使它永久化。编辑文件/lib/udev/ file es.d/95-keymap.Rule

代码语言:javascript
复制
sudo vi /lib/udev/rules.d/95-keymap.rules

在LABEL="keyboard_usbcheck“之后的文件中,在GOTO="keyboard_end”之前添加以下行:

代码语言:javascript
复制
ENV{ID_VENDOR_ID}=="13ec", ENV{ID_MODEL_ID}=="0006", RUN+="keymap $name zydacron" 

您可以将供应商id和模型id识别为在lsusb中找到的ID的两个部分,还可以将我的file.Adapt它的名称命名为您自己的值。

重新启动udev进程:

代码语言:javascript
复制
sudo service udev restart

(或重新启动计算机),您就完成了。

现在,每次插入接收器,无论是在哪个USB端口上,还是在系统给出的事件号上,映射都将自动完成。

小贴士:我把一个键映射为"tab“,另一个映射为"F10",在Banshee中非常有用,可以跳过子窗口并打开主菜单。

票数 1
EN

Unix & Linux用户

发布于 2013-04-09 19:23:36

我肯定会安装李尔克。您可以查看支持的远程这里列表。如果您的遥控器没有直接支持,那么所有的都不会丢失。

如果您在这里找不到您的遥控器,这并不意味着您的遥控器不受支持,但还没有配置文件。学习远程控制所支持的所有远程控件,即几乎任何远程控件,都应该与LIRC一起工作。如果您添加了一个新的遥控器,请发送您的配置文件。

我以前也这样做过,大多数遥控器都会使用lirc。您只需调整一个配置文件,以便所有的键都能正常工作。这是非常简单的,看看了解更多信息

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/71850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档