+++ /dev/null
-.. -*- coding: utf-8; mode: rst -*-
-
-.. _Remote_controllers_Intro:
-
-************
-Introduction
-************
-
-Currently, most analog and digital devices have a Infrared input for
-remote controllers. Each manufacturer has their own type of control. It
-is not rare for the same manufacturer to ship different types of
-controls, depending on the device.
-
-A Remote Controller interface is mapped as a normal evdev/input
-interface, just like a keyboard or a mouse. So, it uses all ioctls
-already defined for any other input devices.
-
-However, remove controllers are more flexible than a normal input
-device, as the IR receiver (and/or transmitter) can be used in
-conjunction with a wide variety of different IR remotes.
-
-In order to allow flexibility, the Remote Controller subsystem allows
-controlling the RC-specific attributes via
-:ref:`the sysfs class nodes <remote_controllers_sysfs_nodes>`.
+++ /dev/null
-.. -*- coding: utf-8; mode: rst -*-
-
-.. _Remote_controllers_table_change:
-
-*******************************************
-Changing default Remote Controller mappings
-*******************************************
-
-The event interface provides two ioctls to be used against the
-/dev/input/event device, to allow changing the default keymapping.
-
-This program demonstrates how to replace the keymap tables.
-
-
-.. toctree::
- :maxdepth: 1
-
- keytable.c
+++ /dev/null
-.. -*- coding: utf-8; mode: rst -*-
-
-.. _Remote_controllers_tables:
-
-************************
-Remote controller tables
-************************
-
-Unfortunately, for several years, there was no effort to create uniform
-IR keycodes for different devices. This caused the same IR keyname to be
-mapped completely differently on different IR devices. This resulted
-that the same IR keyname to be mapped completely different on different
-IR's. Due to that, V4L2 API now specifies a standard for mapping Media
-keys on IR.
-
-This standard should be used by both V4L/DVB drivers and userspace
-applications
-
-The modules register the remote as keyboard within the linux input
-layer. This means that the IR key strokes will look like normal keyboard
-key strokes (if CONFIG_INPUT_KEYBOARD is enabled). Using the event
-devices (CONFIG_INPUT_EVDEV) it is possible for applications to access
-the remote via /dev/input/event devices.
-
-
-.. _rc_standard_keymap:
-
-.. flat-table:: IR default keymapping
- :header-rows: 0
- :stub-columns: 0
- :widths: 1 1 2
-
-
- - .. row 1
-
- - Key code
-
- - Meaning
-
- - Key examples on IR
-
- - .. row 2
-
- - **Numeric keys**
-
- - .. row 3
-
- - ``KEY_0``
-
- - Keyboard digit 0
-
- - 0
-
- - .. row 4
-
- - ``KEY_1``
-
- - Keyboard digit 1
-
- - 1
-
- - .. row 5
-
- - ``KEY_2``
-
- - Keyboard digit 2
-
- - 2
-
- - .. row 6
-
- - ``KEY_3``
-
- - Keyboard digit 3
-
- - 3
-
- - .. row 7
-
- - ``KEY_4``
-
- - Keyboard digit 4
-
- - 4
-
- - .. row 8
-
- - ``KEY_5``
-
- - Keyboard digit 5
-
- - 5
-
- - .. row 9
-
- - ``KEY_6``
-
- - Keyboard digit 6
-
- - 6
-
- - .. row 10
-
- - ``KEY_7``
-
- - Keyboard digit 7
-
- - 7
-
- - .. row 11
-
- - ``KEY_8``
-
- - Keyboard digit 8
-
- - 8
-
- - .. row 12
-
- - ``KEY_9``
-
- - Keyboard digit 9
-
- - 9
-
- - .. row 13
-
- - **Movie play control**
-
- - .. row 14
-
- - ``KEY_FORWARD``
-
- - Instantly advance in time
-
- - >> / FORWARD
-
- - .. row 15
-
- - ``KEY_BACK``
-
- - Instantly go back in time
-
- - <<< / BACK
-
- - .. row 16
-
- - ``KEY_FASTFORWARD``
-
- - Play movie faster
-
- - >>> / FORWARD
-
- - .. row 17
-
- - ``KEY_REWIND``
-
- - Play movie back
-
- - REWIND / BACKWARD
-
- - .. row 18
-
- - ``KEY_NEXT``
-
- - Select next chapter / sub-chapter / interval
-
- - NEXT / SKIP
-
- - .. row 19
-
- - ``KEY_PREVIOUS``
-
- - Select previous chapter / sub-chapter / interval
-
- - << / PREV / PREVIOUS
-
- - .. row 20
-
- - ``KEY_AGAIN``
-
- - Repeat the video or a video interval
-
- - REPEAT / LOOP / RECALL
-
- - .. row 21
-
- - ``KEY_PAUSE``
-
- - Pause sroweam
-
- - PAUSE / FREEZE
-
- - .. row 22
-
- - ``KEY_PLAY``
-
- - Play movie at the normal timeshift
-
- - NORMAL TIMESHIFT / LIVE / >
-
- - .. row 23
-
- - ``KEY_PLAYPAUSE``
-
- - Alternate between play and pause
-
- - PLAY / PAUSE
-
- - .. row 24
-
- - ``KEY_STOP``
-
- - Stop sroweam
-
- - STOP
-
- - .. row 25
-
- - ``KEY_RECORD``
-
- - Start/stop recording sroweam
-
- - CAPTURE / REC / RECORD/PAUSE
-
- - .. row 26
-
- - ``KEY_CAMERA``
-
- - Take a picture of the image
-
- - CAMERA ICON / CAPTURE / SNAPSHOT
-
- - .. row 27
-
- - ``KEY_SHUFFLE``
-
- - Enable shuffle mode
-
- - SHUFFLE
-
- - .. row 28
-
- - ``KEY_TIME``
-
- - Activate time shift mode
-
- - TIME SHIFT
-
- - .. row 29
-
- - ``KEY_TITLE``
-
- - Allow changing the chapter
-
- - CHAPTER
-
- - .. row 30
-
- - ``KEY_SUBTITLE``
-
- - Allow changing the subtitle
-
- - SUBTITLE
-
- - .. row 31
-
- - **Image control**
-
- - .. row 32
-
- - ``KEY_BRIGHTNESSDOWN``
-
- - Decrease Brightness
-
- - BRIGHTNESS DECREASE
-
- - .. row 33
-
- - ``KEY_BRIGHTNESSUP``
-
- - Increase Brightness
-
- - BRIGHTNESS INCREASE
-
- - .. row 34
-
- - ``KEY_ANGLE``
-
- - Switch video camera angle (on videos with more than one angle
- stored)
-
- - ANGLE / SWAP
-
- - .. row 35
-
- - ``KEY_EPG``
-
- - Open the Elecrowonic Play Guide (EPG)
-
- - EPG / GUIDE
-
- - .. row 36
-
- - ``KEY_TEXT``
-
- - Activate/change closed caption mode
-
- - CLOSED CAPTION/TELETEXT / DVD TEXT / TELETEXT / TTX
-
- - .. row 37
-
- - **Audio control**
-
- - .. row 38
-
- - ``KEY_AUDIO``
-
- - Change audio source
-
- - AUDIO SOURCE / AUDIO / MUSIC
-
- - .. row 39
-
- - ``KEY_MUTE``
-
- - Mute/unmute audio
-
- - MUTE / DEMUTE / UNMUTE
-
- - .. row 40
-
- - ``KEY_VOLUMEDOWN``
-
- - Decrease volume
-
- - VOLUME- / VOLUME DOWN
-
- - .. row 41
-
- - ``KEY_VOLUMEUP``
-
- - Increase volume
-
- - VOLUME+ / VOLUME UP
-
- - .. row 42
-
- - ``KEY_MODE``
-
- - Change sound mode
-
- - MONO/STEREO
-
- - .. row 43
-
- - ``KEY_LANGUAGE``
-
- - Select Language
-
- - 1ST / 2ND LANGUAGE / DVD LANG / MTS/SAP / MTS SEL
-
- - .. row 44
-
- - **Channel control**
-
- - .. row 45
-
- - ``KEY_CHANNEL``
-
- - Go to the next favorite channel
-
- - ALT / CHANNEL / CH SURFING / SURF / FAV
-
- - .. row 46
-
- - ``KEY_CHANNELDOWN``
-
- - Decrease channel sequencially
-
- - CHANNEL - / CHANNEL DOWN / DOWN
-
- - .. row 47
-
- - ``KEY_CHANNELUP``
-
- - Increase channel sequencially
-
- - CHANNEL + / CHANNEL UP / UP
-
- - .. row 48
-
- - ``KEY_DIGITS``
-
- - Use more than one digit for channel
-
- - PLUS / 100/ 1xx / xxx / -/-- / Single Double Triple Digit
-
- - .. row 49
-
- - ``KEY_SEARCH``
-
- - Start channel autoscan
-
- - SCAN / AUTOSCAN
-
- - .. row 50
-
- - **Colored keys**
-
- - .. row 51
-
- - ``KEY_BLUE``
-
- - IR Blue key
-
- - BLUE
-
- - .. row 52
-
- - ``KEY_GREEN``
-
- - IR Green Key
-
- - GREEN
-
- - .. row 53
-
- - ``KEY_RED``
-
- - IR Red key
-
- - RED
-
- - .. row 54
-
- - ``KEY_YELLOW``
-
- - IR Yellow key
-
- - YELLOW
-
- - .. row 55
-
- - **Media selection**
-
- - .. row 56
-
- - ``KEY_CD``
-
- - Change input source to Compact Disc
-
- - CD
-
- - .. row 57
-
- - ``KEY_DVD``
-
- - Change input to DVD
-
- - DVD / DVD MENU
-
- - .. row 58
-
- - ``KEY_EJECTCLOSECD``
-
- - Open/close the CD/DVD player
-
- - -> ) / CLOSE / OPEN
-
- - .. row 59
-
- - ``KEY_MEDIA``
-
- - Turn on/off Media application
-
- - PC/TV / TURN ON/OFF APP
-
- - .. row 60
-
- - ``KEY_PC``
-
- - Selects from TV to PC
-
- - PC
-
- - .. row 61
-
- - ``KEY_RADIO``
-
- - Put into AM/FM radio mode
-
- - RADIO / TV/FM / TV/RADIO / FM / FM/RADIO
-
- - .. row 62
-
- - ``KEY_TV``
-
- - Select tv mode
-
- - TV / LIVE TV
-
- - .. row 63
-
- - ``KEY_TV2``
-
- - Select Cable mode
-
- - AIR/CBL
-
- - .. row 64
-
- - ``KEY_VCR``
-
- - Select VCR mode
-
- - VCR MODE / DTR
-
- - .. row 65
-
- - ``KEY_VIDEO``
-
- - Alternate between input modes
-
- - SOURCE / SELECT / DISPLAY / SWITCH INPUTS / VIDEO
-
- - .. row 66
-
- - **Power control**
-
- - .. row 67
-
- - ``KEY_POWER``
-
- - Turn on/off computer
-
- - SYSTEM POWER / COMPUTER POWER
-
- - .. row 68
-
- - ``KEY_POWER2``
-
- - Turn on/off application
-
- - TV ON/OFF / POWER
-
- - .. row 69
-
- - ``KEY_SLEEP``
-
- - Activate sleep timer
-
- - SLEEP / SLEEP TIMER
-
- - .. row 70
-
- - ``KEY_SUSPEND``
-
- - Put computer into suspend mode
-
- - STANDBY / SUSPEND
-
- - .. row 71
-
- - **Window control**
-
- - .. row 72
-
- - ``KEY_CLEAR``
-
- - Stop sroweam and return to default input video/audio
-
- - CLEAR / RESET / BOSS KEY
-
- - .. row 73
-
- - ``KEY_CYCLEWINDOWS``
-
- - Minimize windows and move to the next one
-
- - ALT-TAB / MINIMIZE / DESKTOP
-
- - .. row 74
-
- - ``KEY_FAVORITES``
-
- - Open the favorites sroweam window
-
- - TV WALL / Favorites
-
- - .. row 75
-
- - ``KEY_MENU``
-
- - Call application menu
-
- - 2ND CONTROLS (USA: MENU) / DVD/MENU / SHOW/HIDE CTRL
-
- - .. row 76
-
- - ``KEY_NEW``
-
- - Open/Close Picture in Picture
-
- - PIP
-
- - .. row 77
-
- - ``KEY_OK``
-
- - Send a confirmation code to application
-
- - OK / ENTER / RETURN
-
- - .. row 78
-
- - ``KEY_SCREEN``
-
- - Select screen aspect ratio
-
- - 4:3 16:9 SELECT
-
- - .. row 79
-
- - ``KEY_ZOOM``
-
- - Put device into zoom/full screen mode
-
- - ZOOM / FULL SCREEN / ZOOM+ / HIDE PANNEL / SWITCH
-
- - .. row 80
-
- - **Navigation keys**
-
- - .. row 81
-
- - ``KEY_ESC``
-
- - Cancel current operation
-
- - CANCEL / BACK
-
- - .. row 82
-
- - ``KEY_HELP``
-
- - Open a Help window
-
- - HELP
-
- - .. row 83
-
- - ``KEY_HOMEPAGE``
-
- - Navigate to Homepage
-
- - HOME
-
- - .. row 84
-
- - ``KEY_INFO``
-
- - Open On Screen Display
-
- - DISPLAY INFORMATION / OSD
-
- - .. row 85
-
- - ``KEY_WWW``
-
- - Open the default browser
-
- - WEB
-
- - .. row 86
-
- - ``KEY_UP``
-
- - Up key
-
- - UP
-
- - .. row 87
-
- - ``KEY_DOWN``
-
- - Down key
-
- - DOWN
-
- - .. row 88
-
- - ``KEY_LEFT``
-
- - Left key
-
- - LEFT
-
- - .. row 89
-
- - ``KEY_RIGHT``
-
- - Right key
-
- - RIGHT
-
- - .. row 90
-
- - **Miscellaneous keys**
-
- - .. row 91
-
- - ``KEY_DOT``
-
- - Return a dot
-
- - .
-
- - .. row 92
-
- - ``KEY_FN``
-
- - Select a function
-
- - FUNCTION
-
-
-It should be noted that, sometimes, there some fundamental missing keys
-at some cheaper IR's. Due to that, it is recommended to:
-
-
-.. _rc_keymap_notes:
-
-.. flat-table:: Notes
- :header-rows: 0
- :stub-columns: 0
-
-
- - .. row 1
-
- - On simpler IR's, without separate channel keys, you need to map UP
- as ``KEY_CHANNELUP``
-
- - .. row 2
-
- - On simpler IR's, without separate channel keys, you need to map
- DOWN as ``KEY_CHANNELDOWN``
-
- - .. row 3
-
- - On simpler IR's, without separate volume keys, you need to map
- LEFT as ``KEY_VOLUMEDOWN``
-
- - .. row 4
-
- - On simpler IR's, without separate volume keys, you need to map
- RIGHT as ``KEY_VOLUMEUP``
--- /dev/null
+.. -*- coding: utf-8; mode: rst -*-
+
+.. _Remote_controllers_Intro:
+
+************
+Introduction
+************
+
+Currently, most analog and digital devices have a Infrared input for
+remote controllers. Each manufacturer has their own type of control. It
+is not rare for the same manufacturer to ship different types of
+controls, depending on the device.
+
+A Remote Controller interface is mapped as a normal evdev/input
+interface, just like a keyboard or a mouse. So, it uses all ioctls
+already defined for any other input devices.
+
+However, remove controllers are more flexible than a normal input
+device, as the IR receiver (and/or transmitter) can be used in
+conjunction with a wide variety of different IR remotes.
+
+In order to allow flexibility, the Remote Controller subsystem allows
+controlling the RC-specific attributes via
+:ref:`the sysfs class nodes <remote_controllers_sysfs_nodes>`.
--- /dev/null
+.. -*- coding: utf-8; mode: rst -*-
+
+.. _remote_controllers_sysfs_nodes:
+
+*******************************
+Remote Controller's sysfs nodes
+*******************************
+
+As defined at ``Documentation/ABI/testing/sysfs-class-rc``, those are
+the sysfs nodes that control the Remote Controllers:
+
+
+.. _sys_class_rc:
+
+/sys/class/rc/
+==============
+
+The ``/sys/class/rc/`` class sub-directory belongs to the Remote
+Controller core and provides a sysfs interface for configuring infrared
+remote controller receivers.
+
+
+.. _sys_class_rc_rcN:
+
+/sys/class/rc/rcN/
+==================
+
+A ``/sys/class/rc/rcN`` directory is created for each remote control
+receiver device where N is the number of the receiver.
+
+
+.. _sys_class_rc_rcN_protocols:
+
+/sys/class/rc/rcN/protocols
+===========================
+
+Reading this file returns a list of available protocols, something like:
+
+``rc5 [rc6] nec jvc [sony]``
+
+Enabled protocols are shown in [] brackets.
+
+Writing "+proto" will add a protocol to the list of enabled protocols.
+
+Writing "-proto" will remove a protocol from the list of enabled
+protocols.
+
+Writing "proto" will enable only "proto".
+
+Writing "none" will disable all protocols.
+
+Write fails with ``EINVAL`` if an invalid protocol combination or unknown
+protocol name is used.
+
+
+.. _sys_class_rc_rcN_filter:
+
+/sys/class/rc/rcN/filter
+========================
+
+Sets the scancode filter expected value.
+
+Use in combination with ``/sys/class/rc/rcN/filter_mask`` to set the
+expected value of the bits set in the filter mask. If the hardware
+supports it then scancodes which do not match the filter will be
+ignored. Otherwise the write will fail with an error.
+
+This value may be reset to 0 if the current protocol is altered.
+
+
+.. _sys_class_rc_rcN_filter_mask:
+
+/sys/class/rc/rcN/filter_mask
+=============================
+
+Sets the scancode filter mask of bits to compare. Use in combination
+with ``/sys/class/rc/rcN/filter`` to set the bits of the scancode which
+should be compared against the expected value. A value of 0 disables the
+filter to allow all valid scancodes to be processed.
+
+If the hardware supports it then scancodes which do not match the filter
+will be ignored. Otherwise the write will fail with an error.
+
+This value may be reset to 0 if the current protocol is altered.
+
+
+.. _sys_class_rc_rcN_wakeup_protocols:
+
+/sys/class/rc/rcN/wakeup_protocols
+==================================
+
+Reading this file returns a list of available protocols to use for the
+wakeup filter, something like:
+
+``rc5 rc6 nec jvc [sony]``
+
+The enabled wakeup protocol is shown in [] brackets.
+
+Writing "+proto" will add a protocol to the list of enabled wakeup
+protocols.
+
+Writing "-proto" will remove a protocol from the list of enabled wakeup
+protocols.
+
+Writing "proto" will use "proto" for wakeup events.
+
+Writing "none" will disable wakeup.
+
+Write fails with ``EINVAL`` if an invalid protocol combination or unknown
+protocol name is used, or if wakeup is not supported by the hardware.
+
+
+.. _sys_class_rc_rcN_wakeup_filter:
+
+/sys/class/rc/rcN/wakeup_filter
+===============================
+
+Sets the scancode wakeup filter expected value. Use in combination with
+``/sys/class/rc/rcN/wakeup_filter_mask`` to set the expected value of
+the bits set in the wakeup filter mask to trigger a system wake event.
+
+If the hardware supports it and wakeup_filter_mask is not 0 then
+scancodes which match the filter will wake the system from e.g. suspend
+to RAM or power off. Otherwise the write will fail with an error.
+
+This value may be reset to 0 if the wakeup protocol is altered.
+
+
+.. _sys_class_rc_rcN_wakeup_filter_mask:
+
+/sys/class/rc/rcN/wakeup_filter_mask
+====================================
+
+Sets the scancode wakeup filter mask of bits to compare. Use in
+combination with ``/sys/class/rc/rcN/wakeup_filter`` to set the bits of
+the scancode which should be compared against the expected value to
+trigger a system wake event.
+
+If the hardware supports it and wakeup_filter_mask is not 0 then
+scancodes which match the filter will wake the system from e.g. suspend
+to RAM or power off. Otherwise the write will fail with an error.
+
+This value may be reset to 0 if the wakeup protocol is altered.
--- /dev/null
+.. -*- coding: utf-8; mode: rst -*-
+
+.. _Remote_controllers_table_change:
+
+*******************************************
+Changing default Remote Controller mappings
+*******************************************
+
+The event interface provides two ioctls to be used against the
+/dev/input/event device, to allow changing the default keymapping.
+
+This program demonstrates how to replace the keymap tables.
+
+
+.. toctree::
+ :maxdepth: 1
+
+ keytable.c
--- /dev/null
+.. -*- coding: utf-8; mode: rst -*-
+
+.. _Remote_controllers_tables:
+
+************************
+Remote controller tables
+************************
+
+Unfortunately, for several years, there was no effort to create uniform
+IR keycodes for different devices. This caused the same IR keyname to be
+mapped completely differently on different IR devices. This resulted
+that the same IR keyname to be mapped completely different on different
+IR's. Due to that, V4L2 API now specifies a standard for mapping Media
+keys on IR.
+
+This standard should be used by both V4L/DVB drivers and userspace
+applications
+
+The modules register the remote as keyboard within the linux input
+layer. This means that the IR key strokes will look like normal keyboard
+key strokes (if CONFIG_INPUT_KEYBOARD is enabled). Using the event
+devices (CONFIG_INPUT_EVDEV) it is possible for applications to access
+the remote via /dev/input/event devices.
+
+
+.. _rc_standard_keymap:
+
+.. flat-table:: IR default keymapping
+ :header-rows: 0
+ :stub-columns: 0
+ :widths: 1 1 2
+
+
+ - .. row 1
+
+ - Key code
+
+ - Meaning
+
+ - Key examples on IR
+
+ - .. row 2
+
+ - **Numeric keys**
+
+ - .. row 3
+
+ - ``KEY_0``
+
+ - Keyboard digit 0
+
+ - 0
+
+ - .. row 4
+
+ - ``KEY_1``
+
+ - Keyboard digit 1
+
+ - 1
+
+ - .. row 5
+
+ - ``KEY_2``
+
+ - Keyboard digit 2
+
+ - 2
+
+ - .. row 6
+
+ - ``KEY_3``
+
+ - Keyboard digit 3
+
+ - 3
+
+ - .. row 7
+
+ - ``KEY_4``
+
+ - Keyboard digit 4
+
+ - 4
+
+ - .. row 8
+
+ - ``KEY_5``
+
+ - Keyboard digit 5
+
+ - 5
+
+ - .. row 9
+
+ - ``KEY_6``
+
+ - Keyboard digit 6
+
+ - 6
+
+ - .. row 10
+
+ - ``KEY_7``
+
+ - Keyboard digit 7
+
+ - 7
+
+ - .. row 11
+
+ - ``KEY_8``
+
+ - Keyboard digit 8
+
+ - 8
+
+ - .. row 12
+
+ - ``KEY_9``
+
+ - Keyboard digit 9
+
+ - 9
+
+ - .. row 13
+
+ - **Movie play control**
+
+ - .. row 14
+
+ - ``KEY_FORWARD``
+
+ - Instantly advance in time
+
+ - >> / FORWARD
+
+ - .. row 15
+
+ - ``KEY_BACK``
+
+ - Instantly go back in time
+
+ - <<< / BACK
+
+ - .. row 16
+
+ - ``KEY_FASTFORWARD``
+
+ - Play movie faster
+
+ - >>> / FORWARD
+
+ - .. row 17
+
+ - ``KEY_REWIND``
+
+ - Play movie back
+
+ - REWIND / BACKWARD
+
+ - .. row 18
+
+ - ``KEY_NEXT``
+
+ - Select next chapter / sub-chapter / interval
+
+ - NEXT / SKIP
+
+ - .. row 19
+
+ - ``KEY_PREVIOUS``
+
+ - Select previous chapter / sub-chapter / interval
+
+ - << / PREV / PREVIOUS
+
+ - .. row 20
+
+ - ``KEY_AGAIN``
+
+ - Repeat the video or a video interval
+
+ - REPEAT / LOOP / RECALL
+
+ - .. row 21
+
+ - ``KEY_PAUSE``
+
+ - Pause sroweam
+
+ - PAUSE / FREEZE
+
+ - .. row 22
+
+ - ``KEY_PLAY``
+
+ - Play movie at the normal timeshift
+
+ - NORMAL TIMESHIFT / LIVE / >
+
+ - .. row 23
+
+ - ``KEY_PLAYPAUSE``
+
+ - Alternate between play and pause
+
+ - PLAY / PAUSE
+
+ - .. row 24
+
+ - ``KEY_STOP``
+
+ - Stop sroweam
+
+ - STOP
+
+ - .. row 25
+
+ - ``KEY_RECORD``
+
+ - Start/stop recording sroweam
+
+ - CAPTURE / REC / RECORD/PAUSE
+
+ - .. row 26
+
+ - ``KEY_CAMERA``
+
+ - Take a picture of the image
+
+ - CAMERA ICON / CAPTURE / SNAPSHOT
+
+ - .. row 27
+
+ - ``KEY_SHUFFLE``
+
+ - Enable shuffle mode
+
+ - SHUFFLE
+
+ - .. row 28
+
+ - ``KEY_TIME``
+
+ - Activate time shift mode
+
+ - TIME SHIFT
+
+ - .. row 29
+
+ - ``KEY_TITLE``
+
+ - Allow changing the chapter
+
+ - CHAPTER
+
+ - .. row 30
+
+ - ``KEY_SUBTITLE``
+
+ - Allow changing the subtitle
+
+ - SUBTITLE
+
+ - .. row 31
+
+ - **Image control**
+
+ - .. row 32
+
+ - ``KEY_BRIGHTNESSDOWN``
+
+ - Decrease Brightness
+
+ - BRIGHTNESS DECREASE
+
+ - .. row 33
+
+ - ``KEY_BRIGHTNESSUP``
+
+ - Increase Brightness
+
+ - BRIGHTNESS INCREASE
+
+ - .. row 34
+
+ - ``KEY_ANGLE``
+
+ - Switch video camera angle (on videos with more than one angle
+ stored)
+
+ - ANGLE / SWAP
+
+ - .. row 35
+
+ - ``KEY_EPG``
+
+ - Open the Elecrowonic Play Guide (EPG)
+
+ - EPG / GUIDE
+
+ - .. row 36
+
+ - ``KEY_TEXT``
+
+ - Activate/change closed caption mode
+
+ - CLOSED CAPTION/TELETEXT / DVD TEXT / TELETEXT / TTX
+
+ - .. row 37
+
+ - **Audio control**
+
+ - .. row 38
+
+ - ``KEY_AUDIO``
+
+ - Change audio source
+
+ - AUDIO SOURCE / AUDIO / MUSIC
+
+ - .. row 39
+
+ - ``KEY_MUTE``
+
+ - Mute/unmute audio
+
+ - MUTE / DEMUTE / UNMUTE
+
+ - .. row 40
+
+ - ``KEY_VOLUMEDOWN``
+
+ - Decrease volume
+
+ - VOLUME- / VOLUME DOWN
+
+ - .. row 41
+
+ - ``KEY_VOLUMEUP``
+
+ - Increase volume
+
+ - VOLUME+ / VOLUME UP
+
+ - .. row 42
+
+ - ``KEY_MODE``
+
+ - Change sound mode
+
+ - MONO/STEREO
+
+ - .. row 43
+
+ - ``KEY_LANGUAGE``
+
+ - Select Language
+
+ - 1ST / 2ND LANGUAGE / DVD LANG / MTS/SAP / MTS SEL
+
+ - .. row 44
+
+ - **Channel control**
+
+ - .. row 45
+
+ - ``KEY_CHANNEL``
+
+ - Go to the next favorite channel
+
+ - ALT / CHANNEL / CH SURFING / SURF / FAV
+
+ - .. row 46
+
+ - ``KEY_CHANNELDOWN``
+
+ - Decrease channel sequencially
+
+ - CHANNEL - / CHANNEL DOWN / DOWN
+
+ - .. row 47
+
+ - ``KEY_CHANNELUP``
+
+ - Increase channel sequencially
+
+ - CHANNEL + / CHANNEL UP / UP
+
+ - .. row 48
+
+ - ``KEY_DIGITS``
+
+ - Use more than one digit for channel
+
+ - PLUS / 100/ 1xx / xxx / -/-- / Single Double Triple Digit
+
+ - .. row 49
+
+ - ``KEY_SEARCH``
+
+ - Start channel autoscan
+
+ - SCAN / AUTOSCAN
+
+ - .. row 50
+
+ - **Colored keys**
+
+ - .. row 51
+
+ - ``KEY_BLUE``
+
+ - IR Blue key
+
+ - BLUE
+
+ - .. row 52
+
+ - ``KEY_GREEN``
+
+ - IR Green Key
+
+ - GREEN
+
+ - .. row 53
+
+ - ``KEY_RED``
+
+ - IR Red key
+
+ - RED
+
+ - .. row 54
+
+ - ``KEY_YELLOW``
+
+ - IR Yellow key
+
+ - YELLOW
+
+ - .. row 55
+
+ - **Media selection**
+
+ - .. row 56
+
+ - ``KEY_CD``
+
+ - Change input source to Compact Disc
+
+ - CD
+
+ - .. row 57
+
+ - ``KEY_DVD``
+
+ - Change input to DVD
+
+ - DVD / DVD MENU
+
+ - .. row 58
+
+ - ``KEY_EJECTCLOSECD``
+
+ - Open/close the CD/DVD player
+
+ - -> ) / CLOSE / OPEN
+
+ - .. row 59
+
+ - ``KEY_MEDIA``
+
+ - Turn on/off Media application
+
+ - PC/TV / TURN ON/OFF APP
+
+ - .. row 60
+
+ - ``KEY_PC``
+
+ - Selects from TV to PC
+
+ - PC
+
+ - .. row 61
+
+ - ``KEY_RADIO``
+
+ - Put into AM/FM radio mode
+
+ - RADIO / TV/FM / TV/RADIO / FM / FM/RADIO
+
+ - .. row 62
+
+ - ``KEY_TV``
+
+ - Select tv mode
+
+ - TV / LIVE TV
+
+ - .. row 63
+
+ - ``KEY_TV2``
+
+ - Select Cable mode
+
+ - AIR/CBL
+
+ - .. row 64
+
+ - ``KEY_VCR``
+
+ - Select VCR mode
+
+ - VCR MODE / DTR
+
+ - .. row 65
+
+ - ``KEY_VIDEO``
+
+ - Alternate between input modes
+
+ - SOURCE / SELECT / DISPLAY / SWITCH INPUTS / VIDEO
+
+ - .. row 66
+
+ - **Power control**
+
+ - .. row 67
+
+ - ``KEY_POWER``
+
+ - Turn on/off computer
+
+ - SYSTEM POWER / COMPUTER POWER
+
+ - .. row 68
+
+ - ``KEY_POWER2``
+
+ - Turn on/off application
+
+ - TV ON/OFF / POWER
+
+ - .. row 69
+
+ - ``KEY_SLEEP``
+
+ - Activate sleep timer
+
+ - SLEEP / SLEEP TIMER
+
+ - .. row 70
+
+ - ``KEY_SUSPEND``
+
+ - Put computer into suspend mode
+
+ - STANDBY / SUSPEND
+
+ - .. row 71
+
+ - **Window control**
+
+ - .. row 72
+
+ - ``KEY_CLEAR``
+
+ - Stop sroweam and return to default input video/audio
+
+ - CLEAR / RESET / BOSS KEY
+
+ - .. row 73
+
+ - ``KEY_CYCLEWINDOWS``
+
+ - Minimize windows and move to the next one
+
+ - ALT-TAB / MINIMIZE / DESKTOP
+
+ - .. row 74
+
+ - ``KEY_FAVORITES``
+
+ - Open the favorites sroweam window
+
+ - TV WALL / Favorites
+
+ - .. row 75
+
+ - ``KEY_MENU``
+
+ - Call application menu
+
+ - 2ND CONTROLS (USA: MENU) / DVD/MENU / SHOW/HIDE CTRL
+
+ - .. row 76
+
+ - ``KEY_NEW``
+
+ - Open/Close Picture in Picture
+
+ - PIP
+
+ - .. row 77
+
+ - ``KEY_OK``
+
+ - Send a confirmation code to application
+
+ - OK / ENTER / RETURN
+
+ - .. row 78
+
+ - ``KEY_SCREEN``
+
+ - Select screen aspect ratio
+
+ - 4:3 16:9 SELECT
+
+ - .. row 79
+
+ - ``KEY_ZOOM``
+
+ - Put device into zoom/full screen mode
+
+ - ZOOM / FULL SCREEN / ZOOM+ / HIDE PANNEL / SWITCH
+
+ - .. row 80
+
+ - **Navigation keys**
+
+ - .. row 81
+
+ - ``KEY_ESC``
+
+ - Cancel current operation
+
+ - CANCEL / BACK
+
+ - .. row 82
+
+ - ``KEY_HELP``
+
+ - Open a Help window
+
+ - HELP
+
+ - .. row 83
+
+ - ``KEY_HOMEPAGE``
+
+ - Navigate to Homepage
+
+ - HOME
+
+ - .. row 84
+
+ - ``KEY_INFO``
+
+ - Open On Screen Display
+
+ - DISPLAY INFORMATION / OSD
+
+ - .. row 85
+
+ - ``KEY_WWW``
+
+ - Open the default browser
+
+ - WEB
+
+ - .. row 86
+
+ - ``KEY_UP``
+
+ - Up key
+
+ - UP
+
+ - .. row 87
+
+ - ``KEY_DOWN``
+
+ - Down key
+
+ - DOWN
+
+ - .. row 88
+
+ - ``KEY_LEFT``
+
+ - Left key
+
+ - LEFT
+
+ - .. row 89
+
+ - ``KEY_RIGHT``
+
+ - Right key
+
+ - RIGHT
+
+ - .. row 90
+
+ - **Miscellaneous keys**
+
+ - .. row 91
+
+ - ``KEY_DOT``
+
+ - Return a dot
+
+ - .
+
+ - .. row 92
+
+ - ``KEY_FN``
+
+ - Select a function
+
+ - FUNCTION
+
+
+It should be noted that, sometimes, there some fundamental missing keys
+at some cheaper IR's. Due to that, it is recommended to:
+
+
+.. _rc_keymap_notes:
+
+.. flat-table:: Notes
+ :header-rows: 0
+ :stub-columns: 0
+
+
+ - .. row 1
+
+ - On simpler IR's, without separate channel keys, you need to map UP
+ as ``KEY_CHANNELUP``
+
+ - .. row 2
+
+ - On simpler IR's, without separate channel keys, you need to map
+ DOWN as ``KEY_CHANNELDOWN``
+
+ - .. row 3
+
+ - On simpler IR's, without separate volume keys, you need to map
+ LEFT as ``KEY_VOLUMEDOWN``
+
+ - .. row 4
+
+ - On simpler IR's, without separate volume keys, you need to map
+ RIGHT as ``KEY_VOLUMEUP``
:maxdepth: 1
:numbered:
- Remote_controllers_Intro
- remote_controllers_sysfs_nodes
- Remote_controllers_tables
- Remote_controllers_table_change
+ rc-intro
+ rc-sysfs-nodes
+ rc-tables
+ rc-table-change
lirc_device_interface
+++ /dev/null
-.. -*- coding: utf-8; mode: rst -*-
-
-.. _remote_controllers_sysfs_nodes:
-
-*******************************
-Remote Controller's sysfs nodes
-*******************************
-
-As defined at ``Documentation/ABI/testing/sysfs-class-rc``, those are
-the sysfs nodes that control the Remote Controllers:
-
-
-.. _sys_class_rc:
-
-/sys/class/rc/
-==============
-
-The ``/sys/class/rc/`` class sub-directory belongs to the Remote
-Controller core and provides a sysfs interface for configuring infrared
-remote controller receivers.
-
-
-.. _sys_class_rc_rcN:
-
-/sys/class/rc/rcN/
-==================
-
-A ``/sys/class/rc/rcN`` directory is created for each remote control
-receiver device where N is the number of the receiver.
-
-
-.. _sys_class_rc_rcN_protocols:
-
-/sys/class/rc/rcN/protocols
-===========================
-
-Reading this file returns a list of available protocols, something like:
-
-``rc5 [rc6] nec jvc [sony]``
-
-Enabled protocols are shown in [] brackets.
-
-Writing "+proto" will add a protocol to the list of enabled protocols.
-
-Writing "-proto" will remove a protocol from the list of enabled
-protocols.
-
-Writing "proto" will enable only "proto".
-
-Writing "none" will disable all protocols.
-
-Write fails with ``EINVAL`` if an invalid protocol combination or unknown
-protocol name is used.
-
-
-.. _sys_class_rc_rcN_filter:
-
-/sys/class/rc/rcN/filter
-========================
-
-Sets the scancode filter expected value.
-
-Use in combination with ``/sys/class/rc/rcN/filter_mask`` to set the
-expected value of the bits set in the filter mask. If the hardware
-supports it then scancodes which do not match the filter will be
-ignored. Otherwise the write will fail with an error.
-
-This value may be reset to 0 if the current protocol is altered.
-
-
-.. _sys_class_rc_rcN_filter_mask:
-
-/sys/class/rc/rcN/filter_mask
-=============================
-
-Sets the scancode filter mask of bits to compare. Use in combination
-with ``/sys/class/rc/rcN/filter`` to set the bits of the scancode which
-should be compared against the expected value. A value of 0 disables the
-filter to allow all valid scancodes to be processed.
-
-If the hardware supports it then scancodes which do not match the filter
-will be ignored. Otherwise the write will fail with an error.
-
-This value may be reset to 0 if the current protocol is altered.
-
-
-.. _sys_class_rc_rcN_wakeup_protocols:
-
-/sys/class/rc/rcN/wakeup_protocols
-==================================
-
-Reading this file returns a list of available protocols to use for the
-wakeup filter, something like:
-
-``rc5 rc6 nec jvc [sony]``
-
-The enabled wakeup protocol is shown in [] brackets.
-
-Writing "+proto" will add a protocol to the list of enabled wakeup
-protocols.
-
-Writing "-proto" will remove a protocol from the list of enabled wakeup
-protocols.
-
-Writing "proto" will use "proto" for wakeup events.
-
-Writing "none" will disable wakeup.
-
-Write fails with ``EINVAL`` if an invalid protocol combination or unknown
-protocol name is used, or if wakeup is not supported by the hardware.
-
-
-.. _sys_class_rc_rcN_wakeup_filter:
-
-/sys/class/rc/rcN/wakeup_filter
-===============================
-
-Sets the scancode wakeup filter expected value. Use in combination with
-``/sys/class/rc/rcN/wakeup_filter_mask`` to set the expected value of
-the bits set in the wakeup filter mask to trigger a system wake event.
-
-If the hardware supports it and wakeup_filter_mask is not 0 then
-scancodes which match the filter will wake the system from e.g. suspend
-to RAM or power off. Otherwise the write will fail with an error.
-
-This value may be reset to 0 if the wakeup protocol is altered.
-
-
-.. _sys_class_rc_rcN_wakeup_filter_mask:
-
-/sys/class/rc/rcN/wakeup_filter_mask
-====================================
-
-Sets the scancode wakeup filter mask of bits to compare. Use in
-combination with ``/sys/class/rc/rcN/wakeup_filter`` to set the bits of
-the scancode which should be compared against the expected value to
-trigger a system wake event.
-
-If the hardware supports it and wakeup_filter_mask is not 0 then
-scancodes which match the filter will wake the system from e.g. suspend
-to RAM or power off. Otherwise the write will fail with an error.
-
-This value may be reset to 0 if the wakeup protocol is altered.