linux/Documentation/userspace-api/media/rc/rc-sysfs-nodes.rst
<<
>>
Prefs
   1.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
   2
   3.. _remote_controllers_sysfs_nodes:
   4
   5*******************************
   6Remote Controller's sysfs nodes
   7*******************************
   8
   9As defined at ``Documentation/ABI/testing/sysfs-class-rc``, those are
  10the sysfs nodes that control the Remote Controllers:
  11
  12
  13.. _sys_class_rc:
  14
  15/sys/class/rc/
  16==============
  17
  18The ``/sys/class/rc/`` class sub-directory belongs to the Remote
  19Controller core and provides a sysfs interface for configuring infrared
  20remote controller receivers.
  21
  22
  23.. _sys_class_rc_rcN:
  24
  25/sys/class/rc/rcN/
  26==================
  27
  28A ``/sys/class/rc/rcN`` directory is created for each remote control
  29receiver device where N is the number of the receiver.
  30
  31
  32.. _sys_class_rc_rcN_protocols:
  33
  34/sys/class/rc/rcN/protocols
  35===========================
  36
  37Reading this file returns a list of available protocols, something like::
  38
  39        rc5 [rc6] nec jvc [sony]
  40
  41Enabled protocols are shown in [] brackets.
  42
  43Writing "+proto" will add a protocol to the list of enabled protocols.
  44
  45Writing "-proto" will remove a protocol from the list of enabled
  46protocols.
  47
  48Writing "proto" will enable only "proto".
  49
  50Writing "none" will disable all protocols.
  51
  52Write fails with ``EINVAL`` if an invalid protocol combination or unknown
  53protocol name is used.
  54
  55
  56.. _sys_class_rc_rcN_filter:
  57
  58/sys/class/rc/rcN/filter
  59========================
  60
  61Sets the scancode filter expected value.
  62
  63Use in combination with ``/sys/class/rc/rcN/filter_mask`` to set the
  64expected value of the bits set in the filter mask. If the hardware
  65supports it then scancodes which do not match the filter will be
  66ignored. Otherwise the write will fail with an error.
  67
  68This value may be reset to 0 if the current protocol is altered.
  69
  70
  71.. _sys_class_rc_rcN_filter_mask:
  72
  73/sys/class/rc/rcN/filter_mask
  74=============================
  75
  76Sets the scancode filter mask of bits to compare. Use in combination
  77with ``/sys/class/rc/rcN/filter`` to set the bits of the scancode which
  78should be compared against the expected value. A value of 0 disables the
  79filter to allow all valid scancodes to be processed.
  80
  81If the hardware supports it then scancodes which do not match the filter
  82will be ignored. Otherwise the write will fail with an error.
  83
  84This value may be reset to 0 if the current protocol is altered.
  85
  86
  87.. _sys_class_rc_rcN_wakeup_protocols:
  88
  89/sys/class/rc/rcN/wakeup_protocols
  90==================================
  91
  92Reading this file returns a list of available protocols to use for the
  93wakeup filter, something like::
  94
  95        rc-5 nec nec-x rc-6-0 rc-6-6a-24 [rc-6-6a-32] rc-6-mce
  96
  97Note that protocol variants are listed, so ``nec``, ``sony``, ``rc-5``, ``rc-6``
  98have their different bit length encodings listed if available.
  99
 100Note that all protocol variants are listed.
 101
 102The enabled wakeup protocol is shown in [] brackets.
 103
 104Only one protocol can be selected at a time.
 105
 106Writing "proto" will use "proto" for wakeup events.
 107
 108Writing "none" will disable wakeup.
 109
 110Write fails with ``EINVAL`` if an invalid protocol combination or unknown
 111protocol name is used, or if wakeup is not supported by the hardware.
 112
 113
 114.. _sys_class_rc_rcN_wakeup_filter:
 115
 116/sys/class/rc/rcN/wakeup_filter
 117===============================
 118
 119Sets the scancode wakeup filter expected value. Use in combination with
 120``/sys/class/rc/rcN/wakeup_filter_mask`` to set the expected value of
 121the bits set in the wakeup filter mask to trigger a system wake event.
 122
 123If the hardware supports it and wakeup_filter_mask is not 0 then
 124scancodes which match the filter will wake the system from e.g. suspend
 125to RAM or power off. Otherwise the write will fail with an error.
 126
 127This value may be reset to 0 if the wakeup protocol is altered.
 128
 129
 130.. _sys_class_rc_rcN_wakeup_filter_mask:
 131
 132/sys/class/rc/rcN/wakeup_filter_mask
 133====================================
 134
 135Sets the scancode wakeup filter mask of bits to compare. Use in
 136combination with ``/sys/class/rc/rcN/wakeup_filter`` to set the bits of
 137the scancode which should be compared against the expected value to
 138trigger a system wake event.
 139
 140If the hardware supports it and wakeup_filter_mask is not 0 then
 141scancodes which match the filter will wake the system from e.g. suspend
 142to RAM or power off. Otherwise the write will fail with an error.
 143
 144This value may be reset to 0 if the wakeup protocol is altered.
 145