All Projects → dillbyrne → es-cec-input

dillbyrne / es-cec-input

Licence: GPL-3.0 license
TV CEC remote control support for Emulation Station (ES in RetroPie)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to es-cec-input

frontend-developer-coding-challenge
Are your looking for a remote developer job? Solve this frontend developer challenge and show us what you can do and what you are an expert at!
Stars: ✭ 112 (+138.3%)
Mutual labels:  remote
rc-scanner
Remote control your police scanner
Stars: ✭ 22 (-53.19%)
Mutual labels:  remote
homebridge-bravia-tvos
Homebridge plugin for Sony Bravia Android TVs
Stars: ✭ 293 (+523.4%)
Mutual labels:  tv
vhdl-hdmi-out
HDMI Out VHDL code for 7-series Xilinx FPGAs
Stars: ✭ 36 (-23.4%)
Mutual labels:  hdmi
RemoteSupportTool
an easy single click solution for remote maintenance
Stars: ✭ 74 (+57.45%)
Mutual labels:  remote
wayang
Remote Chrome Headless , bypass reCAPTCHA dan anything that needs to be done by human
Stars: ✭ 32 (-31.91%)
Mutual labels:  remote
lrud
Left, Right, Up, Down. A spatial navigation library for devices with input via directional controls
Stars: ✭ 31 (-34.04%)
Mutual labels:  tv
Backdoor
A backdoor that runs on Linux and Windows
Stars: ✭ 36 (-23.4%)
Mutual labels:  remote
dut-iptv
Github repo containing Kodi addons for CanalDigitaal IPTV, F1 TV, KPN/Telfort/XS4All iTV, NLZiet, Telenet, T-Mobile TV, Videoland and Ziggo Go
Stars: ✭ 26 (-44.68%)
Mutual labels:  tv
boss
Deploy like a boss.
Stars: ✭ 35 (-25.53%)
Mutual labels:  remote
bigscreen-player
Simplified media playback for bigscreen devices
Stars: ✭ 62 (+31.91%)
Mutual labels:  tv
stremio-addons-list
A community curated list of Stremio Addons
Stars: ✭ 330 (+602.13%)
Mutual labels:  tv
P4S
Premieres for Sonarr - a small sonarr companion app to find all the new shows you've never known you're interested in!
Stars: ✭ 22 (-53.19%)
Mutual labels:  tv
USBNinja-android
USBNinja Android Remote Control Application
Stars: ✭ 22 (-53.19%)
Mutual labels:  remote
flutter tv
flutter_tv:Flutter TV电视应用开发实践
Stars: ✭ 80 (+70.21%)
Mutual labels:  tv
arcsi
Software to automate the production of optical analysis ready data (ARD) from Landsat, Sentinel-2 and others.
Stars: ✭ 22 (-53.19%)
Mutual labels:  remote
gba-remote-play
Stream Raspberry Pi games to a GBA via Link Cable
Stars: ✭ 356 (+657.45%)
Mutual labels:  remote
EmuELEC
EmuELEC, retro emulation for Amlogic devices. Based on CoreELEC. https://emuelec.org or join us on Discord: https://discord.gg/cbgtJTu
Stars: ✭ 1,575 (+3251.06%)
Mutual labels:  emulationstation
lemverse
The first-ever coworking metaverse
Stars: ✭ 91 (+93.62%)
Mutual labels:  remote
remote-jobs-client
Agregador de vagas de trabalho remoto para área de T.I e afins...
Stars: ✭ 68 (+44.68%)
Mutual labels:  remote

es-cec-input

TV CEC remote control support for Emulation Station (included in RetroPie)

Features

  • It will automatically map your retroarch keyboard config to the remote control buttons. Ensure you pick a key for all available options ( See Supported Keyboard Keys Below )

  • It will not act on remote button presses when kodi or retroarch is running and will act as soon as ES returns or starts.

Buttons

ES <-> TV Remote

A <-> SELECT or RED

B <-> EXIT or GREEN

UP <-> UP

DOWN <-> DOWN

LEFT <-> LEFT

RIGHT <-> RIGHT

START <-> FAST FORWARD or BLUE

SELECT <-> REWIND OR YELLOW

Dependencies

It depends on the cec-utils package and also the python-uinput package which contains the library and the udev rules at /etc/udev/rules.d/40-uinput.rules.

Both cec-utils and python-uinput are in the repositories.

The 40-uinput.rules file should look like the following

ACTION=="add|change", KERNEL=="event[0-9]*", ENV{ID_VENDOR_ID}=="012a", ENV{ID_MODEL_ID}=="034b",
ENV{ID_INPUT_KEYBOARD}="1", ENV{ID_INPUT_TABLET}="1"SUBSYSTEM=="input", ATTRS{name}=="python-uinput",
ENV{ID_INPUT_KEYBOARD}="1"KERNEL=="uinput", MODE:="0666" 

Run the code as a non root user

You must first create the uinput group

sudo addgroup uinput

Then add the pi user to the uinput group

sudo adduser pi uinput

Testing before autostart

Note: It was developed and tested on a pi3 with Retropie 4.1 with kodi installed in the ports section of retropie

To make sure it will work you should run the script as a non root user.

First make the script executable (assuming your in the same directory as the file)

chmod u+x es-cec-input.py

then run it with

./es-cec-input.py

If you see no output then you can try your TV remote with the buttons in the Button section above. If it works then proceed to the next section

If you see output it will exit and tell you the key which is unsupported and a list of the supported keys.

Ensure all your keys are supported and try again until you get no output.

Autostart on boot

To start on boot, add to user's crontab.

crontab -e

Add the line,

@reboot nohup /home/pi/PATH/TO/THE/SCRIPT/es-cec-input.py

Supported Keyboard Keys

Note: You must set up your keyboard in Emulation Station first (pick a key for all options!) or the script will not work

As keys need to be mapped from retroarch.cfg supported keys to corresponding uinput supported keys not all the keys are available. However most are supported, as seen below

Letters ("a" to "z"), left, right, up, down, enter, kp_enter, tab, insert, del, end, home, rshift, shift, ctrl, alt, space, escape, kp_plus, kp_minus, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, pageup, pagedown, keypad0, keypad1, keypad2, keypad3, keypad4, keypad5, keypad6, keypad7, keypad8, keypad9, period, capslock, numlock, backspace, scroll_lock, backquote, pause, comma, minus, slash, semicolon, equals, backslash, kp_period, kp_equals, rctrl, ralt

(where "kp_"# is for keypad keys)

FAQ

  • The script is not working after exiting from kodi. This is due to a setting in kodi. Solution
  • Using remote is not controlling menu but signal is being received (goes out of screensaver). Happens when keyboard was not configured as a controller. Solution
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].