/etc/lirc/lircd.conf

这个文件的是配置红外遥控器,具体参数意义推荐参考 http://www.lirc.org/

LIRC是Linux Infrared remote control的简写, 是红外信号解码和发送的开源套件。

这里截取一段说明:

描述

该文件有两个目的:向驱动程序提供计时信息,以便它可以将数据解码为按钮按下,并提供从按钮按下到lircd(8)使用的关键符号的映射 。

基本结构是远程块列表。空格和换行符用作分隔符。

如果注释字符(#)显示为一行中的第一个字符,则忽略该行的其余部分。  

远程块

远程块是正常的或原始的。

正常的远程块以begin remote开头, 以 end remote结束。 该块的第一部分描述了遥控器的基本属性,请参阅REMOTE DESCRIPTION SECTION。接下来是代码部分,它由开始代码结束代码分隔 。

代码部分中的每一行都包含遥控器上按钮的名称,后跟与IR框架的数据部分匹配的十六进制数据值(请参阅REMOTE DESCRIPTION SECTION)。您可能无法为同一远程部分中的两个按钮指定相同的名称。

除了代码部分之外,原始远程块与普通块相同,代码部分是由begin raw_codesend raw_codes包围的按钮描述列表 。

原始按钮描述以参数名称开头, 后跟按钮名称。按钮描述以下一个按钮描述或raw_codes块的结尾结束。中间的行是一个十进制数列表,描述该按钮发送的信号。第一个数字表示第一个脉冲的持续时间,以微秒为单位。第二个数字表示其后的空间的持续时间。只要有必要,脉冲和空间持续时间交替。最后一个持续时间应代表脉冲。

远程描述部分

此部分中的每一行都包含一个参数,后跟应分配给该参数的一个或多个值。除非另有说明,参数是可选的。

除非另有说明,否则所有值都是十进制整数,无量纲或单位为微秒。十六进制数应以0x为前缀。如果遥控器没有特定的“功能”,则可以省略该行。按钮代码在前置信号之后和发布信号之前发送。

一些参数描述了IR协议中的位。框架通常定义为

| header | plead | pre data | pre | data | post | post data | ptrail | foot | gap |
其中大多数参数默认为0.某些参数会更改整体框架布局,例如,重复参数。

包括''''
使用普通包含 语义包括给定路径 。如果路径是相对的,则相对于主lircd.conf文件进行解释。必须用双引号括起来。它可以包含glob(3)模式,在这种情况下包含所有匹配的文件。
manual_sort <1 | 0>
通常,lircd尝试对多个遥控器进行排序,因此首先使用最快解码的遥控器。在任何远程设置中将manual_sort设置为1将禁用此功能,并按照lircd.conf中列出的顺序使用远程控制,或者使用lircd.conf.d中的字母数字排序的文件名。
名称<远程名称>
分配给遥控器的唯一名称(可能不包含空格)。在单个文件中,所有名称必须是唯一的。参数是必需的。
suppress_repeat <重复>
为此遥控器中的所有按钮抑制给定数量的重复。默认为0,表示不禁止重复。请注意,lircrc具有相应的 重复 参数,可用于抑制特定按钮/客户端组合的重复。
flags <| flag2> ...
标志是特殊的文本字符串,它描述了遥控器的各种属性,并确定了以下某些字段的语义。多个标志应由管道(|)符号分隔。见旗帜。
driver <驱动程序名称>
对于没有计时信息的lirccode驱动程序,可选的驱动程序属性命名使用此遥控器所需的驱动程序。
位<数据位数>
十六进制代码中描述每个按钮(十进制整数)的数据位数。
eps <相对误差容限>
接收信号的相对误差容限(百分比)。默认情况下,irrecord将此值设置为30(即30%)。
aeps <绝对误差容限>
接收信号的绝对误差容限(微秒)。默认值是硬编码驱动程序相关分辨率值。默认情况下,irrecord将此值设置为100。
header
发送的初始脉冲和空间(微秒)。
三个
仅用于RC-MM遥控器
两个
仅用于RC-MM遥控器
一个
脉冲和空间长度代表一个。

脉冲和空间长度代表零。
ptrail <尾随脉冲>
一个尾随脉冲,紧跟在post_data之后。
请求<引导脉冲>
标题后紧跟一个前导脉冲。

紧跟在尾随脉冲之后的脉冲和空间。
重复
每当信号重复时,脉冲和空间取代前导脉冲和尾随脉冲之间的所有内容。脚不会被发送,除非存在REPEAT_HEADER标志,否则不会发送标头。
pre_data_bits
pre_data代码中的位数。
pre_data <十六进制数>
十六进制代码,指示紧跟在前导脉冲之后的1和0的序列。
post_data_bits <发布数据位数>
post_data代码中的位数。
post_data <十六进制数>
十六进制代码,指示紧跟在后置信号之后的1和0的序列。
pre
紧跟pre_data的脉冲和空格。
发表
紧跟按钮代码后的脉冲和空格。
差距<缺口长度>
跟随尾随脉冲的(通常很长的)空间。
repeat_gap
紧跟在尾随脉冲之后的间隙,并且在由于按下相同按钮而重复相同的代码之前。
min_repeat <最小重复次数>
发送时信号重复的最小次数。请注意,0表示信号仅发送一次。收到时不使用。
toggle_bit
每次按下按钮时,一些pre_data,code或post_data在1和0之间切换。此参数由toggle_bit_mask废弃,应在新配置中使用。
toggle_bit_mask <十六进制掩码>
每按一次按钮,在1和0之间切换的位。掩码应用于预数据的连接值 - data - post_data。
repeat_mask
掩码定义哪些位被反转以用于重复。
频率<赫兹>
远程载波频率,默认为38000。
duty_cycle <准时>
红外灯发送脉冲期间的时间百分比。这是1-100(含)的整数。默认值为50。

FLAGS

标志是flags参数中设置的值。

RC5
遥控器使用RC5协议。
RC6
遥控器使用RC6协议。
RCMM
遥控器使用RC-MM协议。
SHIFT_ENC
过时的标志,现在是RC5的同义词。脉冲的位置(在空间之前或之后)确定该位是1还是0。
SPACE_ENC
可以通过NEC协议和其他协议使用的空间长度来区分1和0。
相反
反转pre_data,post_data和代码的位顺序(例如,0x123变为0xC48)。如果存在该标志,则首先发送最低有效位。
NO_HEAD_REP
即使没有特殊的重复代码,当重复信号(按下按钮)时也不会发送标题。
NO_FOOT_REP
即使没有特殊的重复代码,当信号重复(按下按钮)时也不会发送脚。
CONST_LENGTH
总信号长度始终是恒定的。间隙长度现在表示整个信号的长度,并且相应地调整信号末端的实际间隙。
RAW_CODES
代码采用原始格式。
REPEAT_HEADER
即使遥控器有特殊的重复代码,也会在信号重复时发送标题。

示例:

# Please make this file available to others
# by sending it to 
#
# this config file was automatically generated
# using lirc-0.9.0(default) on Thu Jan  1 00:17:26 1970
#
# contributed by 
#
# brand:                       new.conf
# model no. of remote control: 
# devices being controlled by this remote:
#

begin remote

  name  test.conf
  bits           16
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       8849  4507
  one           562  1666
  zero          562   554
  ptrail        557
  repeat       8859  2265
  pre_data_bits   16
  pre_data       0xDDDD
  gap          114379
  min_repeat      3
#  suppress_repeat 3
#  uncomment to suppress unwanted repeats
  toggle_bit_mask 0x0

      begin codes
          KEY_0                    0x02FD
          KEY_1                    0xB847
          KEY_2                    0xF807
          KEY_3                    0x18E7
          KEY_4                    0x7887
          KEY_5                    0x58A7
          KEY_6                    0x0AF5
          KEY_7                    0x42BD
          KEY_8                    0x12ED
          KEY_9                    0xCA35
          KEY_LEFT                 0xA857
          KEY_RIGHT                0x6897
          KEY_UP                   0xC837
          KEY_DOWN                 0x28D7
      end codes

end remote

说明:

/etc/lirc/lircd.conf 这个文件一般可以和厂商进行协商设定键值如何设定,上面的配置文件是RC5协议,一共4个字节32位,前16bits 是 custom code, 也就是 pre_data_bits 16 、 pre_data 0xDDDD (custom code ),  name 自定义, bit 代表后16位是数据,RC5采用的是互补机制,比如 KEY_0 (0x02FD), 02 和 FD 互补, header代表的应该是起始按键波形时间的范围, 波形是高低用0和1表示,one,zero 设置高低波形的时间范围,eps,aeps 都是误差设置,ptrail 是一个按键结束后多少时间内判断确实是没有其他按键按下。min_repeat 觉得是防抖动设置,比如说一个按键发送是125ms,一秒种发送8次,人的反应时间相对慢,一按一松可能发送了3-4次,本来就想按一次,但确连续发送了3-4次,这样是非常不好的体验,还有就是客户确实是想连续按着,如果按上述来讲一秒8次那速度太快也不行,所以要特殊处理,如果客户按着半秒一次,一秒2次,这样的体验才能更好。 其他的参数请参考文档,本人也了解的不多。

你可能感兴趣的:(Linux,Rootfs)