Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start script after closing Kodi again #2

Closed
kesch095 opened this issue Feb 5, 2017 · 21 comments
Closed

Start script after closing Kodi again #2

kesch095 opened this issue Feb 5, 2017 · 21 comments

Comments

@kesch095
Copy link

kesch095 commented Feb 5, 2017

Hey there,

first of all thanks fpr the nice script!

Got it working on boot - but after I start Kodi through the Retropie Ports section and close it again, Retropie doesn't recognize CEC Inputs anymore until I start Kodi again (with an USB Keyboard) or reboot the Pi.

Is there a way to let the script run upon closing Kodi?

I'm a Linux noob myself - Sorry if this is a stupid question.

@dillbyrne
Copy link
Owner

dillbyrne commented Feb 5, 2017

Hi @Kivikaki Its not a stupid question, The script should always be running in the background but will ignore button presses when kodi or retroarch are running.

Do you have kodi shutting down your tv when you exit ? .

Are you running emulation station or some other frontend?

Are you running it on a raspberry pi or some other linux distro ?

can you give me the output of crontab -l (lowercase L)

If you have access to a terminal can you run ps aux | grep es-cec I just want to check it is actually running after you exit kodi.

you should get output like

pi@retropie:~ $ ps aux | grep es-cec
pi         525  0.0  0.0   1912   408 ?        Ss   17:12   0:00 /bin/sh -c nohup /home/pi/RetroPie/scripts/es-cec-input.py
pi         527  0.3  0.8  10156  6368 ?        S    17:12   0:01 python /home/pi/RetroPie/scripts/es-cec-input.py
pi        2705  0.0  0.2   4276  1840 pts/0    S+   17:20   0:00 grep --color=auto es-cec

EDIT: just so understand correctly

You start your pi and it boots to emulation station and the script initially works and you select kodi in the ports section with your tv remote and when you quit kodi it appears to stop working . Is that correct ?

@kesch095
Copy link
Author

kesch095 commented Feb 5, 2017

Hey @dillbyrne,
thank you for the fast reply! 👍
I'm running it on a Raspberry Pi 3 with stock Retropie installed. (It runs on top of Raspbian doesn't it?)
Therefore -> Emulationstation + Kodi 17
Kodi doesn't shut down my TV - I did configure that in the stock CEC Addon that comes with it.

Crontab output:

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command

@reboot nohup ./home/pi/es-cec-input.py

ps aux:

root       519  0.0  0.0   1912   392 ?        Ss   16:42   0:00 /bin/sh -c nohup /home/pi/es-cec-input.py
root       521  0.0  0.8  10156  6392 ?        S    16:42   0:02 python /home/pi/es-cec-input.py
pi        5918  0.0  0.2   4280  1820 pts/1    S+   17:43   0:00 grep --color=auto es-cec

Just ran this after exiting Kodi - CEC not working.

@dillbyrne
Copy link
Owner

That means the script is running at least.

Is the script working initially when you start . Are you selecting kodi in the ports section with your tv remote ?

@dillbyrne
Copy link
Owner

dillbyrne commented Feb 5, 2017

It is possible your tv may stop sending power to the hdmi port when you exit kodi. It may be a powersaving setting on your TV to disable unused sources. You could try exit to kodi then unplug your tv for a few seconds and plug it back in, (not the pi, just the tv and see will control return to emulation station ).

Also after booting try select one of the retroarch emulators with your remote and then exit with a pad or keyboard back to the Emulation Station menu and see if you can still control it with the remote ? This will tell us if it is isolated to kodi

@kesch095
Copy link
Author

kesch095 commented Feb 5, 2017

Well, i found the solution thanks to your help! :)
There is a setting in the Kodi CEC Adapter called "mark Kodi as inactive after turning off" (freely translated)
After disabling this option, your script works fine!

It is a really nice quality of life script btw thank you SO much for providing this 💯

@kesch095 kesch095 closed this as completed Feb 5, 2017
@dillbyrne
Copy link
Owner

dillbyrne commented Feb 6, 2017

@Kivikaki No problem. Glad you got it working.

@dillbyrne
Copy link
Owner

My kodi settings for anyone else referred here

Settings for your CEC devices can be found in:

System -> Settings -> System -> Input Devices -> Peripherals -> CEC adapter
(Settings level Expert)

  • Enabled : Yes

  • Switch source to this device on startup : yes

  • Devices to power on during startup : TV

  • Devices to power off during shutdown : None

  • Send inactive source command on shutdown : Yes <-- This should take care of it

  • Put devices in standby mode when activating screensaver : No

  • Wake devices when activating screen saver : Yes

  • When TV is switched off : Ignore

  • Devices to also put into standby mode : Yes

@kesch095
Copy link
Author

Hey, just to help others out:
just as dillbyrne described above go to your CEC Settings.

"Send inactive source command on shutdown"

Change this setting to "No" - that should solve your problem.

@dillbyrne
Copy link
Owner

@Kivikaki it works for me with either setting. So it must be a TV specific thing or else related to other attached cec devices. As far as I am aware only one cec device can be the active source at a time.

@kesch095
Copy link
Author

@dillbyrne
I have a Samsung J6250 TV.
I don't know anything about CEC Specifications but I guess my TV disconnects the CEC connection after Kodi sends the inactive command.
But as i said...I don't really know anything about CEC.

@roachman5000
Copy link

roachman5000 commented Jul 23, 2017

Hi @dillbyrne,

I stumbled upon this thread during my search for CEC capabilities in RetroPie. I have the same crontab-l output as @Kivikaki, but when I run ps aux | grep es-cec I get the following:

pi 919 0.0 0.2 4272 1844 pts/0 S+ 15:05 0:00 grep --color=auto es-cec

with the es-cec highlighted in red. Does that mean it's not running at all?

I also get this when I run ./es-cec-input.py in the terminal:

The '0', '0', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul', 'nul' keys in your retroarch.cfg are unsupported by this `script

Supported keys are:

['comma', 'alt', 'pause', 'kp_plus', 'rshift', 'kp_period', 'insert', 'd', 'h', 'l', 'p', 't', 'x', 'right', 'kp_minus', 'escape', 'home', 'space', 'ralt', 'backspace', 'pagedown', 'slash', 'scrolllock', 'equals', 'c', 'z', 'g', 'shift', 'k', 'o', 's', 'period', 'backquote', 'num5', 'num6', 'down', 'capslock', 'num7', 'num0', 'num1', 'semicolon', 'kp_equals', 'num3', 'rctrl', 'num2', 'backslash', 'b', 'f7', 'f', 'j', 'pageup', 'up', 'n', 'r', 'del', 'v', 'f12', 'f10', 'f11', 'minus', 'num4', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'ctrl', 'f8', 'f9', 'num8', 'num9', 'tab', 'numlock', 'end', 'keypad7', 'keypad6', 'keypad5', 'keypad4', 'keypad3', 'keypad2', 'keypad1', 'keypad0', 'keypad9', 'keypad8', 'w', 'kp_enter', 'a', 'e', 'i', 'm', 'q', 'u', 'enter', 'y', 'left']

Thanks in advance!

@dillbyrne
Copy link
Owner

dillbyrne commented Jul 24, 2017

Hi @roachman5000

The grep output is listing the grep process itself which is normal but there should be another listing showing the script itself. The answer in this case is provided by the script when you run it.

The unsupported keys message means you have unsupported keys in your retroarch config or you have not selected enough keys.

In order for the script to work you need to select a keyboard key to correspond to each controller key. The script expects all the keys to be selected.

You can simply connect your keyboard to the pi and go into the controller configuration and re select a key for each option.

@roachman5000
Copy link

Thanks for the response!

When I go into Retroarch I'm not seeing anywhere where I can remap the keyboard? Am I missing something?

@dillbyrne
Copy link
Owner

@roachman5000 You configure your keyboard in emulation station.
With the keyboard attached enter the EmulationStation Menu, and select Configure Input.
Like https://github.com/retropie/retropie-setup/wiki/First-Installation#configure-controllers

and select a keyboard key for each prompted option

@roachman5000
Copy link

Ah, that.

I went through and remapped every option to the keyboard. I then ran the ./es-cec-input.py again and have the same string of null errors. Surely I'm missing a step here......

@dillbyrne
Copy link
Owner

@roachman5000 That should be all that is required. Can you post your /opt/retropie/configs/all/retroarch.cfg here ? and also tell me what version of retropie you are using ? as older versions 3.X did not quote the values in the config file.

@roachman5000
Copy link

cache_directory = "/tmp/retroarch" core_options_path = "/opt/retropie/configs/all/retroarch-core-options.cfg" system_directory = "~/RetroPie/BIOS" config_save_on_exit = "false" video_threaded = "true" video_smooth = "false" video_aspect_ratio_auto = "true" video_font_size = "12.000000" input_joypad_driver = "udev" input_autodetect_enable = "true" input_player1_a = "a" input_player1_b = "b" input_player1_y = "y" input_player1_x = "x" input_player1_start = "enter" input_player1_select = "rshift" input_player1_l = "l" input_player1_r = "r" input_player1_left = "left" input_player1_right = "right" input_player1_up = "up" input_player1_down = "down" menu_swap_ok_cancel_buttons = "false" input_state_slot_increase = "right" input_state_slot_decrease = "left" input_exit_emulator = "enter" input_shader_next = "m" input_shader_prev = "n" input_rewind = "r" input_reset = "b" input_menu_toggle = "x" all_users_control_menu = "true" menu_driver = "rgui" menu_unified_controls = "true" rewind_enable = "false" rewind_buffer_size = "10" rewind_granularity = "2" video_gpu_screenshot = "true" input_enable_hotkey = "ctrl" auto_remaps_enable = "true" xmb_shadows_enable = "false" xmb_font = "" netplay_nickname = "" video_filter = "" audio_dsp_plugin = "" core_updater_buildbot_url = "" core_updater_buildbot_assets_url = "http://buildbot.libretro.com/assets/" netplay_ip_address = "" netplay_password = "" netplay_spectate_password = "" libretro_directory = "~/.config/retroarch/cores" libretro_info_path = "~/.config/retroarch/cores" video_shader = "" content_database_path = "~/.config/retroarch/database/rdb" cheat_database_path = "~/.config/retroarch/cheats" menu_wallpaper = "" content_history_path = "/opt/retropie/configs/all/content_history.lpl" content_music_history_path = "/opt/retropie/configs/all/content_music_history.lpl" content_video_history_path = "/opt/retropie/configs/all/content_video_history.lpl" content_image_history_path = "/opt/retropie/configs/all/content_image_history.lpl" input_overlay = "" video_font_path = "" cursor_directory = "~/.config/retroarch/database/cursors" content_history_dir = "" screenshot_directory = "~/.config/retroarch/screenshots" input_remapping_directory = "~/.config/retroarch/config/remaps" resampler_directory = "" video_shader_dir = "~/.config/retroarch/shaders" video_filter_dir = "default" core_assets_directory = "~/.config/retroarch/downloads" assets_directory = "~/.config/retroarch/assets" dynamic_wallpapers_directory = "default" thumbnails_directory = "~/.config/retroarch/thumbnails" playlist_directory = "~/.config/retroarch/playlists" joypad_autoconfig_dir = "~/.config/retroarch/autoconfig" audio_filter_dir = "default" savefile_directory = "default" savestate_directory = "default" rgui_browser_directory = "default" rgui_config_directory = "~/.config/retroarch/config" overlay_directory = "~/.config/retroarch/overlay" screenshot_directory = "~/.config/retroarch/screenshots" recording_output_directory = "" recording_config_directory = "" xmb_font = "" playlist_names = "" playlist_cores = "" video_driver = "gl" record_driver = "null" camera_driver = "null" wifi_driver = "null" location_driver = "null" audio_device = "" camera_device = "" cheevos_username = "" cheevos_password = "" video_context_driver = "" audio_driver = "alsathread" audio_resampler = "sinc" input_driver = "udev" input_keyboard_layout = "" bundle_assets_src_path = "" bundle_assets_dst_path = "" bundle_assets_dst_path_subdir = "" video_aspect_ratio = "-1.000000" video_scale = "3.000000" video_refresh_rate = "59.940060" audio_rate_control_delta = "0.005000" audio_max_timing_skew = "0.050000" audio_volume = "0.000000" input_overlay_opacity = "0.700000" input_overlay_scale = "1.000000" menu_wallpaper_opacity = "0.300000" menu_footer_opacity = "1.000000" menu_header_opacity = "1.000000" video_message_pos_x = "0.050000" video_message_pos_y = "0.050000" fastforward_ratio = "0.000000" slowmotion_ratio = "3.000000" input_axis_threshold = "0.500000" state_slot = "0" netplay_check_frames = "30" input_bind_timeout = "5" input_turbo_period = "6" input_duty_cycle = "3" input_max_users = "5" input_menu_toggle_gamepad_combo = "0" audio_latency = "64" audio_block_frames = "0" autosave_interval = "0" libretro_log_level = "1" keyboard_gamepad_mapping_type = "1" input_poll_type_behavior = "2" video_monitor_index = "0" video_fullscreen_x = "0" video_fullscreen_y = "0" video_window_x = "0" video_window_y = "0" network_cmd_port = "55355" network_remote_base_port = "55400" dpi_override_value = "200" menu_thumbnails = "3" xmb_alpha_factor = "75" xmb_scale_factor = "100" xmb_theme = "0" xmb_menu_color_theme = "4" materialui_menu_color_theme = "0" menu_shader_pipeline = "1" audio_out_rate = "48000" custom_viewport_width = "1440" custom_viewport_height = "1080" custom_viewport_x = "240" custom_viewport_y = "0" content_history_size = "100" video_hard_sync_frames = "0" video_frame_delay = "0" video_max_swapchain_images = "3" video_swap_interval = "1" video_rotation = "0" aspect_ratio_index = "21" netplay_ip_port = "55435" netplay_input_latency_frames_min = "0" netplay_input_latency_frames_range = "0" user_language = "0" bundle_assets_extract_version_current = "0" bundle_assets_extract_last_version = "0" input_device_p1 = "0" input_player1_joypad_index = "0" input_libretro_device_p1 = "1" input_player1_analog_dpad_mode = "0" input_device_p2 = "0" input_player2_joypad_index = "1" input_libretro_device_p2 = "1" input_player2_analog_dpad_mode = "0" input_device_p3 = "0" input_player3_joypad_index = "2" input_libretro_device_p3 = "1" input_player3_analog_dpad_mode = "0" input_device_p4 = "0" input_player4_joypad_index = "3" input_libretro_device_p4 = "1" input_player4_analog_dpad_mode = "0" input_device_p5 = "0" input_player5_joypad_index = "4" input_libretro_device_p5 = "1" input_player5_analog_dpad_mode = "0" input_device_p6 = "0" input_player6_joypad_index = "5" input_libretro_device_p6 = "1" input_player6_analog_dpad_mode = "0" input_device_p7 = "0" input_player7_joypad_index = "6" input_libretro_device_p7 = "1" input_player7_analog_dpad_mode = "0" input_device_p8 = "0" input_player8_joypad_index = "7" input_libretro_device_p8 = "1" input_player8_analog_dpad_mode = "0" input_device_p9 = "0" input_player9_joypad_index = "8" input_libretro_device_p9 = "1" input_player9_analog_dpad_mode = "0" input_device_p10 = "0" input_player10_joypad_index = "9" input_libretro_device_p10 = "1" input_player10_analog_dpad_mode = "0" input_device_p11 = "0" input_player11_joypad_index = "10" input_libretro_device_p11 = "1" input_player11_analog_dpad_mode = "0" input_device_p12 = "0" input_player12_joypad_index = "11" input_libretro_device_p12 = "1" input_player12_analog_dpad_mode = "0" input_device_p13 = "0" input_player13_joypad_index = "12" input_libretro_device_p13 = "1" input_player13_analog_dpad_mode = "0" input_device_p14 = "0" input_player14_joypad_index = "13" input_libretro_device_p14 = "1" input_player14_analog_dpad_mode = "0" input_device_p15 = "0" input_player15_joypad_index = "14" input_libretro_device_p15 = "1" input_player15_analog_dpad_mode = "0" input_device_p16 = "0" input_player16_joypad_index = "15" input_libretro_device_p16 = "1" input_player16_analog_dpad_mode = "0" ui_companion_start_on_boot = "true" ui_companion_enable = "false" video_gpu_record = "false" input_remap_binds_enable = "true" netplay_public_announce = "true" netplay_start_as_spectator = "false" netplay_allow_slaves = "true" netplay_require_slaves = "false" netplay_stateless_mode = "false" netplay_client_swap_input = "true" netplay_use_mitm_server = "false" input_descriptor_label_show = "true" input_descriptor_hide_unbound = "false" load_dummy_on_core_shutdown = "true" check_firmware_before_loading = "false" builtin_mediaplayer_enable = "false" builtin_imageviewer_enable = "true" fps_show = "false" ui_menubar_enable = "true" suspend_screensaver_enable = "true" audio_sync = "true" video_shader_enable = "false" video_allow_rotate = "true" video_windowed_fullscreen = "true" video_crop_overscan = "true" video_scale_integer = "false" video_force_aspect = "true" video_shared_context = "false" auto_screenshot_filename = "true" video_force_srgb_disable = "false" video_fullscreen = "false" bundle_assets_extract_enable = "false" video_vsync = "true" video_hard_sync = "false" video_black_frame_insertion = "false" video_disable_composition = "false" pause_nonactive = "true" video_post_filter_record = "false" keyboard_gamepad_enable = "true" core_set_supports_no_game_enable = "true" audio_enable = "true" audio_mute_enable = "false" location_allow = "false" video_font_enable = "true" core_updater_auto_extract_archive = "true" camera_allow = "false" threaded_data_runloop_enable = "true" menu_throttle_framerate = "true" menu_linear_filter = "true" dpi_override_enable = "true" menu_pause_libretro = "true" menu_mouse_enable = "true" menu_pointer_enable = "false" menu_timedate_enable = "true" menu_battery_level_enable = "true" menu_core_enable = "true" menu_dynamic_wallpaper_enable = "false" xmb_show_settings = "true" xmb_show_images = "true" xmb_show_music = "true" xmb_show_netplay = "true" xmb_show_history = "true" xmb_show_add = "true" filter_by_current_core = "false" rgui_show_start_screen = "false" menu_navigation_wraparound_enable = "true" menu_navigation_browser_filter_supported_extensions_enable = "true" menu_show_advanced_settings = "false" cheevos_enable = "false" cheevos_test_unofficial = "false" cheevos_hardcore_mode_enable = "false" input_overlay_enable = "true" input_overlay_enable_autopreferred = "true" input_overlay_hide_in_menu = "true" network_cmd_enable = "false" stdin_cmd_enable = "false" network_remote_enable = "false" netplay_nat_traversal = "true" block_sram_overwrite = "false" savestate_auto_index = "false" savestate_auto_save = "false" savestate_auto_load = "false" savestate_thumbnail_enable = "false" history_list_enable = "true" playlist_entry_remove = "true" game_specific_options = "true" auto_overrides_enable = "true" auto_shaders_enable = "true" sort_savefiles_enable = "false" sort_savestates_enable = "false" show_hidden_files = "true" audio_rate_control = "true" custom_bgm_enable = "false" network_remote_enable_user_p1 = "false" network_remote_enable_user_p2 = "false" network_remote_enable_user_p3 = "false" network_remote_enable_user_p4 = "false" network_remote_enable_user_p5 = "false" network_remote_enable_user_p6 = "false" network_remote_enable_user_p7 = "false" network_remote_enable_user_p8 = "false" network_remote_enable_user_p9 = "false" network_remote_enable_user_p10 = "false" network_remote_enable_user_p11 = "false" network_remote_enable_user_p12 = "false" network_remote_enable_user_p13 = "false" network_remote_enable_user_p14 = "false" network_remote_enable_user_p15 = "false" network_remote_enable_user_p16 = "false" log_verbosity = "false" perfcnt_enable = "false" video_message_color = "ffff00" menu_entry_normal_color = "ffffffff" menu_entry_hover_color = "ff64ff64" menu_title_color = "ff64ff64" gamma_correction = "false" flicker_filter_enable = "false" soft_filter_enable = "false" soft_filter_index = "0" current_resolution_id = "0" flicker_filter_index = "0" input_player1_b_btn = "nul" input_player1_b_axis = "nul" input_player1_y_btn = "nul" input_player1_y_axis = "nul" input_player1_select_btn = "nul" input_player1_select_axis = "nul" input_player1_start_btn = "nul" input_player1_start_axis = "nul" input_player1_up_btn = "nul" input_player1_up_axis = "nul" input_player1_down_btn = "nul" input_player1_down_axis = "nul" input_player1_left_btn = "nul" input_player1_left_axis = "nul" input_player1_right_btn = "nul" input_player1_right_axis = "nul" input_player1_a_btn = "nul" input_player1_a_axis = "nul" input_player1_x_btn = "nul" input_player1_x_axis = "nul" input_player1_l_btn = "nul" input_player1_l_axis = "nul" input_player1_r_btn = "nul" input_player1_r_axis = "nul" input_player1_l2 = "k" input_player1_l2_btn = "nul" input_player1_l2_axis = "nul" input_player1_r2 = "t" input_player1_r2_btn = "nul" input_player1_r2_axis = "nul" input_player1_l3 = "p" input_player1_l3_btn = "nul" input_player1_l3_axis = "nul" input_player1_r3 = "q" input_player1_r3_btn = "nul" input_player1_r3_axis = "nul" input_player1_l_x_plus = "nul" input_player1_l_x_plus_btn = "nul" input_player1_l_x_plus_axis = "nul" input_player1_l_x_minus = "nul" input_player1_l_x_minus_btn = "nul" input_player1_l_x_minus_axis = "nul" input_player1_l_y_plus = "nul" input_player1_l_y_plus_btn = "nul" input_player1_l_y_plus_axis = "nul" input_player1_l_y_minus = "nul" input_player1_l_y_minus_btn = "nul" input_player1_l_y_minus_axis = "nul" input_player1_r_x_plus = "nul" input_player1_r_x_plus_btn = "nul" input_player1_r_x_plus_axis = "nul" input_player1_r_x_minus = "nul" input_player1_r_x_minus_btn = "nul" input_player1_r_x_minus_axis = "nul" input_player1_r_y_plus = "nul" input_player1_r_y_plus_btn = "nul" input_player1_r_y_plus_axis = "nul" input_player1_r_y_minus = "nul" input_player1_r_y_minus_btn = "nul" input_player1_r_y_minus_axis = "nul" input_player1_turbo = "nul" input_player1_turbo_btn = "nul" input_player1_turbo_axis = "nul" input_toggle_fast_forward = "space" input_toggle_fast_forward_btn = "nul" input_toggle_fast_forward_axis = "nul" input_hold_fast_forward = "l" input_hold_fast_forward_btn = "nul" input_hold_fast_forward_axis = "nul" input_load_state = "f4" input_load_state_btn = "nul" input_load_state_axis = "nul" input_save_state = "f2" input_save_state_btn = "nul" input_save_state_axis = "nul" input_toggle_fullscreen = "f" input_toggle_fullscreen_btn = "nul" input_toggle_fullscreen_axis = "nul" input_exit_emulator_btn = "nul" input_exit_emulator_axis = "nul" input_state_slot_increase_btn = "nul" input_state_slot_increase_axis = "nul" input_state_slot_decrease_btn = "nul" input_state_slot_decrease_axis = "nul" input_rewind_btn = "nul" input_rewind_axis = "nul" input_movie_record_toggle = "o" input_movie_record_toggle_btn = "nul" input_movie_record_toggle_axis = "nul" input_pause_toggle = "p" input_pause_toggle_btn = "nul" input_pause_toggle_axis = "nul" input_frame_advance = "k" input_frame_advance_btn = "nul" input_frame_advance_axis = "nul" input_reset_btn = "nul" input_reset_axis = "nul" input_shader_next_btn = "nul" input_shader_next_axis = "nul" input_shader_prev_btn = "nul" input_shader_prev_axis = "nul" input_cheat_index_plus = "y" input_cheat_index_plus_btn = "nul" input_cheat_index_plus_axis = "nul" input_cheat_index_minus = "t" input_cheat_index_minus_btn = "nul" input_cheat_index_minus_axis = "nul" input_cheat_toggle = "u" input_cheat_toggle_btn = "nul" input_cheat_toggle_axis = "nul" input_screenshot = "f8" input_screenshot_btn = "nul" input_screenshot_axis = "nul" input_audio_mute = "f9" input_audio_mute_btn = "nul" input_audio_mute_axis = "nul" input_osk_toggle = "f12" input_osk_toggle_btn = "nul" input_osk_toggle_axis = "nul" input_netplay_flip_players_1_2 = "nul" input_netplay_flip_players_1_2_btn = "nul" input_netplay_flip_players_1_2_axis = "nul" input_netplay_game_watch = "i" input_netplay_game_watch_btn = "nul" input_netplay_game_watch_axis = "nul" input_slowmotion = "e" input_slowmotion_btn = "nul" input_slowmotion_axis = "nul" input_enable_hotkey_btn = "nul" input_enable_hotkey_axis = "nul" input_volume_up = "add" input_volume_up_btn = "nul" input_volume_up_axis = "nul" input_volume_down = "subtract" input_volume_down_btn = "nul" input_volume_down_axis = "nul" input_overlay_next = "nul" input_overlay_next_btn = "nul" input_overlay_next_axis = "nul" input_disk_eject_toggle = "nul" input_disk_eject_toggle_btn = "nul" input_disk_eject_toggle_axis = "nul" input_disk_next = "nul" input_disk_next_btn = "nul" input_disk_next_axis = "nul" input_disk_prev = "nul" input_disk_prev_btn = "nul" input_disk_prev_axis = "nul" input_grab_mouse_toggle = "f11" input_grab_mouse_toggle_btn = "nul" input_grab_mouse_toggle_axis = "nul" input_game_focus_toggle = "scroll_lock" input_game_focus_toggle_btn = "nul" input_game_focus_toggle_axis = "nul" input_menu_toggle_btn = "nul" input_menu_toggle_axis = "nul" input_player2_b = "nul" input_player2_b_btn = "nul" input_player2_b_axis = "nul" input_player2_y = "nul" input_player2_y_btn = "nul" input_player2_y_axis = "nul" input_player2_select = "nul" input_player2_select_btn = "nul" input_player2_select_axis = "nul" input_player2_start = "nul" input_player2_start_btn = "nul" input_player2_start_axis = "nul" input_player2_up = "nul" input_player2_up_btn = "nul" input_player2_up_axis = "nul" input_player2_down = "nul" input_player2_down_btn = "nul" input_player2_down_axis = "nul" input_player2_left = "nul" input_player2_left_btn = "nul" input_player2_left_axis = "nul" input_player2_right = "nul" input_player2_right_btn = "nul" input_player2_right_axis = "nul" input_player2_a = "nul" input_player2_a_btn = "nul" input_player2_a_axis = "nul" input_player2_x = "nul" input_player2_x_btn = "nul" input_player2_x_axis = "nul" input_player2_l = "nul" input_player2_l_btn = "nul" input_player2_l_axis = "nul" input_player2_r = "nul" input_player2_r_btn = "nul" input_player2_r_axis = "nul" input_player2_l2 = "nul" input_player2_l2_btn = "nul" input_player2_l2_axis = "nul" input_player2_r2 = "nul" input_player2_r2_btn = "nul" input_player2_r2_axis = "nul" input_player2_l3 = "nul" input_player2_l3_btn = "nul" input_player2_l3_axis = "nul" input_player2_r3 = "nul" input_player2_r3_btn = "nul" input_player2_r3_axis = "nul" input_player2_l_x_plus = "nul" input_player2_l_x_plus_btn = "nul" input_player2_l_x_plus_axis = "nul" input_player2_l_x_minus = "nul" input_player2_l_x_minus_btn = "nul" input_player2_l_x_minus_axis = "nul" input_player2_l_y_plus = "nul" input_player2_l_y_plus_btn = "nul" input_player2_l_y_plus_axis = "nul" input_player2_l_y_minus = "nul" input_player2_l_y_minus_btn = "nul" input_player2_l_y_minus_axis = "nul" input_player2_r_x_plus = "nul" input_player2_r_x_plus_btn = "nul" input_player2_r_x_plus_axis = "nul" input_player2_r_x_minus = "nul" input_player2_r_x_minus_btn = "nul" input_player2_r_x_minus_axis = "nul" input_player2_r_y_plus = "nul" input_player2_r_y_plus_btn = "nul" input_player2_r_y_plus_axis = "nul" input_player2_r_y_minus = "nul" input_player2_r_y_minus_btn = "nul" input_player2_r_y_minus_axis = "nul" input_player2_turbo = "nul" input_player2_turbo_btn = "nul" input_player2_turbo_axis = "nul" input_player3_b = "nul" input_player3_b_btn = "nul" input_player3_b_axis = "nul" input_player3_y = "nul" input_player3_y_btn = "nul" input_player3_y_axis = "nul" input_player3_select = "nul" input_player3_select_btn = "nul" input_player3_select_axis = "nul" input_player3_start = "nul" input_player3_start_btn = "nul" input_player3_start_axis = "nul" input_player3_up = "nul" input_player3_up_btn = "nul" input_player3_up_axis = "nul" input_player3_down = "nul" input_player3_down_btn = "nul" input_player3_down_axis = "nul" input_player3_left = "nul" input_player3_left_btn = "nul" input_player3_left_axis = "nul" input_player3_right = "nul" input_player3_right_btn = "nul" input_player3_right_axis = "nul" input_player3_a = "nul" input_player3_a_btn = "nul" input_player3_a_axis = "nul" input_player3_x = "nul" input_player3_x_btn = "nul" input_player3_x_axis = "nul" input_player3_l = "nul" input_player3_l_btn = "nul" input_player3_l_axis = "nul" input_player3_r = "nul" input_player3_r_btn = "nul" input_player3_r_axis = "nul" input_player3_l2 = "nul" input_player3_l2_btn = "nul" input_player3_l2_axis = "nul" input_player3_r2 = "nul" input_player3_r2_btn = "nul" input_player3_r2_axis = "nul" input_player3_l3 = "nul" input_player3_l3_btn = "nul" input_player3_l3_axis = "nul" input_player3_r3 = "nul" input_player3_r3_btn = "nul" input_player3_r3_axis = "nul" input_player3_l_x_plus = "nul" input_player3_l_x_plus_btn = "nul" input_player3_l_x_plus_axis = "nul" input_player3_l_x_minus = "nul" input_player3_l_x_minus_btn = "nul" input_player3_l_x_minus_axis = "nul" input_player3_l_y_plus = "nul" input_player3_l_y_plus_btn = "nul" input_player3_l_y_plus_axis = "nul" input_player3_l_y_minus = "nul" input_player3_l_y_minus_btn = "nul" input_player3_l_y_minus_axis = "nul" input_player3_r_x_plus = "nul" input_player3_r_x_plus_btn = "nul" input_player3_r_x_plus_axis = "nul" input_player3_r_x_minus = "nul" input_player3_r_x_minus_btn = "nul" input_player3_r_x_minus_axis = "nul" input_player3_r_y_plus = "nul" input_player3_r_y_plus_btn = "nul" input_player3_r_y_plus_axis = "nul" input_player3_r_y_minus = "nul" input_player3_r_y_minus_btn = "nul" input_player3_r_y_minus_axis = "nul" input_player3_turbo = "nul" input_player3_turbo_btn = "nul" input_player3_turbo_axis = "nul" input_player4_b = "nul" input_player4_b_btn = "nul" input_player4_b_axis = "nul" input_player4_y = "nul" input_player4_y_btn = "nul" input_player4_y_axis = "nul" input_player4_select = "nul" input_player4_select_btn = "nul" input_player4_select_axis = "nul" input_player4_start = "nul" input_player4_start_btn = "nul" input_player4_start_axis = "nul" input_player4_up = "nul" input_player4_up_btn = "nul" input_player4_up_axis = "nul" input_player4_down = "nul" input_player4_down_btn = "nul" input_player4_down_axis = "nul" input_player4_left = "nul" input_player4_left_btn = "nul" input_player4_left_axis = "nul" input_player4_right = "nul" input_player4_right_btn = "nul" input_player4_right_axis = "nul" input_player4_a = "nul" input_player4_a_btn = "nul" input_player4_a_axis = "nul" input_player4_x = "nul" input_player4_x_btn = "nul" input_player4_x_axis = "nul" input_player4_l = "nul" input_player4_l_btn = "nul" input_player4_l_axis = "nul" input_player4_r = "nul" input_player4_r_btn = "nul" input_player4_r_axis = "nul" input_player4_l2 = "nul" input_player4_l2_btn = "nul" input_player4_l2_axis = "nul" input_player4_r2 = "nul" input_player4_r2_btn = "nul" input_player4_r2_axis = "nul" input_player4_l3 = "nul" input_player4_l3_btn = "nul" input_player4_l3_axis = "nul" input_player4_r3 = "nul" input_player4_r3_btn = "nul" input_player4_r3_axis = "nul" input_player4_l_x_plus = "nul" input_player4_l_x_plus_btn = "nul" input_player4_l_x_plus_axis = "nul" input_player4_l_x_minus = "nul" input_player4_l_x_minus_btn = "nul" input_player4_l_x_minus_axis = "nul" input_player4_l_y_plus = "nul" input_player4_l_y_plus_btn = "nul" input_player4_l_y_plus_axis = "nul" input_player4_l_y_minus = "nul" input_player4_l_y_minus_btn = "nul" input_player4_l_y_minus_axis = "nul" input_player4_r_x_plus = "nul" input_player4_r_x_plus_btn = "nul" input_player4_r_x_plus_axis = "nul" input_player4_r_x_minus = "nul" input_player4_r_x_minus_btn = "nul" input_player4_r_x_minus_axis = "nul" input_player4_r_y_plus = "nul" input_player4_r_y_plus_btn = "nul" input_player4_r_y_plus_axis = "nul" input_player4_r_y_minus = "nul" input_player4_r_y_minus_btn = "nul" input_player4_r_y_minus_axis = "nul" input_player4_turbo = "nul" input_player4_turbo_btn = "nul" input_player4_turbo_axis = "nul" input_player5_b = "nul" input_player5_b_btn = "nul" input_player5_b_axis = "nul" input_player5_y = "nul" input_player5_y_btn = "nul" input_player5_y_axis = "nul" input_player5_select = "nul" input_player5_select_btn = "nul" input_player5_select_axis = "nul" input_player5_start = "nul" input_player5_start_btn = "nul" input_player5_start_axis = "nul" input_player5_up = "nul" input_player5_up_btn = "nul" input_player5_up_axis = "nul" input_player5_down = "nul" input_player5_down_btn = "nul" input_player5_down_axis = "nul" input_player5_left = "nul" input_player5_left_btn = "nul" input_player5_left_axis = "nul" input_player5_right = "nul" input_player5_right_btn = "nul" input_player5_right_axis = "nul" input_player5_a = "nul" input_player5_a_btn = "nul" input_player5_a_axis = "nul" input_player5_x = "nul" input_player5_x_btn = "nul" input_player5_x_axis = "nul" input_player5_l = "nul" input_player5_l_btn = "nul" input_player5_l_axis = "nul" input_player5_r = "nul" input_player5_r_btn = "nul" input_player5_r_axis = "nul" input_player5_l2 = "nul" input_player5_l2_btn = "nul" input_player5_l2_axis = "nul" input_player5_r2 = "nul" input_player5_r2_btn = "nul" input_player5_r2_axis = "nul" input_player5_l3 = "nul" input_player5_l3_btn = "nul" input_player5_l3_axis = "nul" input_player5_r3 = "nul" input_player5_r3_btn = "nul" input_player5_r3_axis = "nul" input_player5_l_x_plus = "nul" input_player5_l_x_plus_btn = "nul" input_player5_l_x_plus_axis = "nul" input_player5_l_x_minus = "nul" input_player5_l_x_minus_btn = "nul" input_player5_l_x_minus_axis = "nul" input_player5_l_y_plus = "nul" input_player5_l_y_plus_btn = "nul" input_player5_l_y_plus_axis = "nul" input_player5_l_y_minus = "nul" input_player5_l_y_minus_btn = "nul" input_player5_l_y_minus_axis = "nul" input_player5_r_x_plus = "nul" input_player5_r_x_plus_btn = "nul" input_player5_r_x_plus_axis = "nul" input_player5_r_x_minus = "nul" input_player5_r_x_minus_btn = "nul" input_player5_r_x_minus_axis = "nul" input_player5_r_y_plus = "nul" input_player5_r_y_plus_btn = "nul" input_player5_r_y_plus_axis = "nul" input_player5_r_y_minus = "nul" input_player5_r_y_minus_btn = "nul" input_player5_r_y_minus_axis = "nul" input_player5_turbo = "nul" input_player5_turbo_btn = "nul" input_player5_turbo_axis = "nul" input_player6_b = "nul" input_player6_b_btn = "nul" input_player6_b_axis = "nul" input_player6_y = "nul" input_player6_y_btn = "nul" input_player6_y_axis = "nul" input_player6_select = "nul" input_player6_select_btn = "nul" input_player6_select_axis = "nul" input_player6_start = "nul" input_player6_start_btn = "nul" input_player6_start_axis = "nul" input_player6_up = "nul" input_player6_up_btn = "nul" input_player6_up_axis = "nul" input_player6_down = "nul" input_player6_down_btn = "nul" input_player6_down_axis = "nul" input_player6_left = "nul" input_player6_left_btn = "nul" input_player6_left_axis = "nul" input_player6_right = "nul" input_player6_right_btn = "nul" input_player6_right_axis = "nul" input_player6_a = "nul" input_player6_a_btn = "nul" input_player6_a_axis = "nul" input_player6_x = "nul" input_player6_x_btn = "nul" input_player6_x_axis = "nul" input_player6_l = "nul" input_player6_l_btn = "nul" input_player6_l_axis = "nul" input_player6_r = "nul" input_player6_r_btn = "nul" input_player6_r_axis = "nul" input_player6_l2 = "nul" input_player6_l2_btn = "nul" input_player6_l2_axis = "nul" input_player6_r2 = "nul" input_player6_r2_btn = "nul" input_player6_r2_axis = "nul" input_player6_l3 = "nul" input_player6_l3_btn = "nul" input_player6_l3_axis = "nul" input_player6_r3 = "nul" input_player6_r3_btn = "nul" input_player6_r3_axis = "nul" input_player6_l_x_plus = "nul" input_player6_l_x_plus_btn = "nul" input_player6_l_x_plus_axis = "nul" input_player6_l_x_minus = "nul" input_player6_l_x_minus_btn = "nul" input_player6_l_x_minus_axis = "nul" input_player6_l_y_plus = "nul" input_player6_l_y_plus_btn = "nul" input_player6_l_y_plus_axis = "nul" input_player6_l_y_minus = "nul" input_player6_l_y_minus_btn = "nul" input_player6_l_y_minus_axis = "nul" input_player6_r_x_plus = "nul" input_player6_r_x_plus_btn = "nul" input_player6_r_x_plus_axis = "nul" input_player6_r_x_minus = "nul" input_player6_r_x_minus_btn = "nul" input_player6_r_x_minus_axis = "nul" input_player6_r_y_plus = "nul" input_player6_r_y_plus_btn = "nul" input_player6_r_y_plus_axis = "nul" input_player6_r_y_minus = "nul" input_player6_r_y_minus_btn = "nul" input_player6_r_y_minus_axis = "nul" input_player6_turbo = "nul" input_player6_turbo_btn = "nul" input_player6_turbo_axis = "nul" input_player7_b = "nul" input_player7_b_btn = "nul" input_player7_b_axis = "nul" input_player7_y = "nul" input_player7_y_btn = "nul" input_player7_y_axis = "nul" input_player7_select = "nul" input_player7_select_btn = "nul" input_player7_select_axis = "nul" input_player7_start = "nul" input_player7_start_btn = "nul" input_player7_start_axis = "nul" input_player7_up = "nul" input_player7_up_btn = "nul" input_player7_up_axis = "nul" input_player7_down = "nul" input_player7_down_btn = "nul" input_player7_down_axis = "nul" input_player7_left = "nul" input_player7_left_btn = "nul" input_player7_left_axis = "nul" input_player7_right = "nul" input_player7_right_btn = "nul" input_player7_right_axis = "nul" input_player7_a = "nul" input_player7_a_btn = "nul" input_player7_a_axis = "nul" input_player7_x = "nul" input_player7_x_btn = "nul" input_player7_x_axis = "nul" input_player7_l = "nul" input_player7_l_btn = "nul" input_player7_l_axis = "nul" input_player7_r = "nul" input_player7_r_btn = "nul" input_player7_r_axis = "nul" input_player7_l2 = "nul" input_player7_l2_btn = "nul" input_player7_l2_axis = "nul" input_player7_r2 = "nul" input_player7_r2_btn = "nul" input_player7_r2_axis = "nul" input_player7_l3 = "nul" input_player7_l3_btn = "nul" input_player7_l3_axis = "nul" input_player7_r3 = "nul" input_player7_r3_btn = "nul" input_player7_r3_axis = "nul" input_player7_l_x_plus = "nul" input_player7_l_x_plus_btn = "nul" input_player7_l_x_plus_axis = "nul" input_player7_l_x_minus = "nul" input_player7_l_x_minus_btn = "nul" input_player7_l_x_minus_axis = "nul" input_player7_l_y_plus = "nul" input_player7_l_y_plus_btn = "nul" input_player7_l_y_plus_axis = "nul" input_player7_l_y_minus = "nul" input_player7_l_y_minus_btn = "nul" input_player7_l_y_minus_axis = "nul" input_player7_r_x_plus = "nul" input_player7_r_x_plus_btn = "nul" input_player7_r_x_plus_axis = "nul" input_player7_r_x_minus = "nul" input_player7_r_x_minus_btn = "nul" input_player7_r_x_minus_axis = "nul" input_player7_r_y_plus = "nul" input_player7_r_y_plus_btn = "nul" input_player7_r_y_plus_axis = "nul" input_player7_r_y_minus = "nul" input_player7_r_y_minus_btn = "nul" input_player7_r_y_minus_axis = "nul" input_player7_turbo = "nul" input_player7_turbo_btn = "nul" input_player7_turbo_axis = "nul" input_player8_b = "nul" input_player8_b_btn = "nul" input_player8_b_axis = "nul" input_player8_y = "nul" input_player8_y_btn = "nul" input_player8_y_axis = "nul" input_player8_select = "nul" input_player8_select_btn = "nul" input_player8_select_axis = "nul" input_player8_start = "nul" input_player8_start_btn = "nul" input_player8_start_axis = "nul" input_player8_up = "nul" input_player8_up_btn = "nul" input_player8_up_axis = "nul" input_player8_down = "nul" input_player8_down_btn = "nul" input_player8_down_axis = "nul" input_player8_left = "nul" input_player8_left_btn = "nul" input_player8_left_axis = "nul" input_player8_right = "nul" input_player8_right_btn = "nul" input_player8_right_axis = "nul" input_player8_a = "nul" input_player8_a_btn = "nul" input_player8_a_axis = "nul" input_player8_x = "nul" input_player8_x_btn = "nul" input_player8_x_axis = "nul" input_player8_l = "nul" input_player8_l_btn = "nul" input_player8_l_axis = "nul" input_player8_r = "nul" input_player8_r_btn = "nul" input_player8_r_axis = "nul" input_player8_l2 = "nul" input_player8_l2_btn = "nul" input_player8_l2_axis = "nul" input_player8_r2 = "nul" input_player8_r2_btn = "nul" input_player8_r2_axis = "nul" input_player8_l3 = "nul" input_player8_l3_btn = "nul" input_player8_l3_axis = "nul" input_player8_r3 = "nul" input_player8_r3_btn = "nul" input_player8_r3_axis = "nul" input_player8_l_x_plus = "nul" input_player8_l_x_plus_btn = "nul" input_player8_l_x_plus_axis = "nul" input_player8_l_x_minus = "nul" input_player8_l_x_minus_btn = "nul" input_player8_l_x_minus_axis = "nul" input_player8_l_y_plus = "nul" input_player8_l_y_plus_btn = "nul" input_player8_l_y_plus_axis = "nul" input_player8_l_y_minus = "nul" input_player8_l_y_minus_btn = "nul" input_player8_l_y_minus_axis = "nul" input_player8_r_x_plus = "nul" input_player8_r_x_plus_btn = "nul" input_player8_r_x_plus_axis = "nul" input_player8_r_x_minus = "nul" input_player8_r_x_minus_btn = "nul" input_player8_r_x_minus_axis = "nul" input_player8_r_y_plus = "nul" input_player8_r_y_plus_btn = "nul" input_player8_r_y_plus_axis = "nul" input_player8_r_y_minus = "nul" input_player8_r_y_minus_btn = "nul" input_player8_r_y_minus_axis = "nul" input_player8_turbo = "nul" input_player8_turbo_btn = "nul" input_player8_turbo_axis = "nul" input_player9_b = "nul" input_player9_b_btn = "nul" input_player9_b_axis = "nul" input_player9_y = "nul" input_player9_y_btn = "nul" input_player9_y_axis = "nul" input_player9_select = "nul" input_player9_select_btn = "nul" input_player9_select_axis = "nul" input_player9_start = "nul" input_player9_start_btn = "nul" input_player9_start_axis = "nul" input_player9_up = "nul" input_player9_up_btn = "nul" input_player9_up_axis = "nul" input_player9_down = "nul" input_player9_down_btn = "nul" input_player9_down_axis = "nul" input_player9_left = "nul" input_player9_left_btn = "nul" input_player9_left_axis = "nul" input_player9_right = "nul" input_player9_right_btn = "nul" input_player9_right_axis = "nul" input_player9_a = "nul" input_player9_a_btn = "nul" input_player9_a_axis = "nul" input_player9_x = "nul" input_player9_x_btn = "nul" input_player9_x_axis = "nul" input_player9_l = "nul" input_player9_l_btn = "nul" input_player9_l_axis = "nul" input_player9_r = "nul" input_player9_r_btn = "nul" input_player9_r_axis = "nul" input_player9_l2 = "nul" input_player9_l2_btn = "nul" input_player9_l2_axis = "nul" input_player9_r2 = "nul" input_player9_r2_btn = "nul" input_player9_r2_axis = "nul" input_player9_l3 = "nul" input_player9_l3_btn = "nul" input_player9_l3_axis = "nul" input_player9_r3 = "nul" input_player9_r3_btn = "nul" input_player9_r3_axis = "nul" input_player9_l_x_plus = "nul" input_player9_l_x_plus_btn = "nul" input_player9_l_x_plus_axis = "nul" input_player9_l_x_minus = "nul" input_player9_l_x_minus_btn = "nul" input_player9_l_x_minus_axis = "nul" input_player9_l_y_plus = "nul" input_player9_l_y_plus_btn = "nul" input_player9_l_y_plus_axis = "nul" input_player9_l_y_minus = "nul" input_player9_l_y_minus_btn = "nul" input_player9_l_y_minus_axis = "nul" input_player9_r_x_plus = "nul" input_player9_r_x_plus_btn = "nul" input_player9_r_x_plus_axis = "nul" input_player9_r_x_minus = "nul" input_player9_r_x_minus_btn = "nul" input_player9_r_x_minus_axis = "nul" input_player9_r_y_plus = "nul" input_player9_r_y_plus_btn = "nul" input_player9_r_y_plus_axis = "nul" input_player9_r_y_minus = "nul" input_player9_r_y_minus_btn = "nul" input_player9_r_y_minus_axis = "nul" input_player9_turbo = "nul" input_player9_turbo_btn = "nul" input_player9_turbo_axis = "nul" input_player10_b = "nul" input_player10_b_btn = "nul" input_player10_b_axis = "nul" input_player10_y = "nul" input_player10_y_btn = "nul" input_player10_y_axis = "nul" input_player10_select = "nul" input_player10_select_btn = "nul" input_player10_select_axis = "nul" input_player10_start = "nul" input_player10_start_btn = "nul" input_player10_start_axis = "nul" input_player10_up = "nul" input_player10_up_btn = "nul" input_player10_up_axis = "nul" input_player10_down = "nul" input_player10_down_btn = "nul" input_player10_down_axis = "nul" input_player10_left = "nul" input_player10_left_btn = "nul" input_player10_left_axis = "nul" input_player10_right = "nul" input_player10_right_btn = "nul" input_player10_right_axis = "nul" input_player10_a = "nul" input_player10_a_btn = "nul" input_player10_a_axis = "nul" input_player10_x = "nul" input_player10_x_btn = "nul" input_player10_x_axis = "nul" input_player10_l = "nul" input_player10_l_btn = "nul" input_player10_l_axis = "nul" input_player10_r = "nul" input_player10_r_btn = "nul" input_player10_r_axis = "nul" input_player10_l2 = "nul" input_player10_l2_btn = "nul" input_player10_l2_axis = "nul" input_player10_r2 = "nul" input_player10_r2_btn = "nul" input_player10_r2_axis = "nul" input_player10_l3 = "nul" input_player10_l3_btn = "nul" input_player10_l3_axis = "nul" input_player10_r3 = "nul" input_player10_r3_btn = "nul" input_player10_r3_axis = "nul" input_player10_l_x_plus = "nul" input_player10_l_x_plus_btn = "nul" input_player10_l_x_plus_axis = "nul" input_player10_l_x_minus = "nul" input_player10_l_x_minus_btn = "nul" input_player10_l_x_minus_axis = "nul" input_player10_l_y_plus = "nul" input_player10_l_y_plus_btn = "nul" input_player10_l_y_plus_axis = "nul" input_player10_l_y_minus = "nul" input_player10_l_y_minus_btn = "nul" input_player10_l_y_minus_axis = "nul" input_player10_r_x_plus = "nul" input_player10_r_x_plus_btn = "nul" input_player10_r_x_plus_axis = "nul" input_player10_r_x_minus = "nul" input_player10_r_x_minus_btn = "nul" input_player10_r_x_minus_axis = "nul" input_player10_r_y_plus = "nul" input_player10_r_y_plus_btn = "nul" input_player10_r_y_plus_axis = "nul" input_player10_r_y_minus = "nul" input_player10_r_y_minus_btn = "nul" input_player10_r_y_minus_axis = "nul" input_player10_turbo = "nul" input_player10_turbo_btn = "nul" input_player10_turbo_axis = "nul" input_player11_b = "nul" input_player11_b_btn = "nul" input_player11_b_axis = "nul" input_player11_y = "nul" input_player11_y_btn = "nul" input_player11_y_axis = "nul" input_player11_select = "nul" input_player11_select_btn = "nul" input_player11_select_axis = "nul" input_player11_start = "nul" input_player11_start_btn = "nul" input_player11_start_axis = "nul" input_player11_up = "nul" input_player11_up_btn = "nul" input_player11_up_axis = "nul" input_player11_down = "nul" input_player11_down_btn = "nul" input_player11_down_axis = "nul" input_player11_left = "nul" input_player11_left_btn = "nul" input_player11_left_axis = "nul" input_player11_right = "nul" input_player11_right_btn = "nul" input_player11_right_axis = "nul" input_player11_a = "nul" input_player11_a_btn = "nul" input_player11_a_axis = "nul" input_player11_x = "nul" input_player11_x_btn = "nul" input_player11_x_axis = "nul" input_player11_l = "nul" input_player11_l_btn = "nul" input_player11_l_axis = "nul" input_player11_r = "nul" input_player11_r_btn = "nul" input_player11_r_axis = "nul" input_player11_l2 = "nul" input_player11_l2_btn = "nul" input_player11_l2_axis = "nul" input_player11_r2 = "nul" input_player11_r2_btn = "nul" input_player11_r2_axis = "nul" input_player11_l3 = "nul" input_player11_l3_btn = "nul" input_player11_l3_axis = "nul" input_player11_r3 = "nul" input_player11_r3_btn = "nul" input_player11_r3_axis = "nul" input_player11_l_x_plus = "nul" input_player11_l_x_plus_btn = "nul" input_player11_l_x_plus_axis = "nul" input_player11_l_x_minus = "nul" input_player11_l_x_minus_btn = "nul" input_player11_l_x_minus_axis = "nul" input_player11_l_y_plus = "nul" input_player11_l_y_plus_btn = "nul" input_player11_l_y_plus_axis = "nul" input_player11_l_y_minus = "nul" input_player11_l_y_minus_btn = "nul" input_player11_l_y_minus_axis = "nul" input_player11_r_x_plus = "nul" input_player11_r_x_plus_btn = "nul" input_player11_r_x_plus_axis = "nul" input_player11_r_x_minus = "nul" input_player11_r_x_minus_btn = "nul" input_player11_r_x_minus_axis = "nul" input_player11_r_y_plus = "nul" input_player11_r_y_plus_btn = "nul" input_player11_r_y_plus_axis = "nul" input_player11_r_y_minus = "nul" input_player11_r_y_minus_btn = "nul" input_player11_r_y_minus_axis = "nul" input_player11_turbo = "nul" input_player11_turbo_btn = "nul" input_player11_turbo_axis = "nul" input_player12_b = "nul" input_player12_b_btn = "nul" input_player12_b_axis = "nul" input_player12_y = "nul" input_player12_y_btn = "nul" input_player12_y_axis = "nul" input_player12_select = "nul" input_player12_select_btn = "nul" input_player12_select_axis = "nul" input_player12_start = "nul" input_player12_start_btn = "nul" input_player12_start_axis = "nul" input_player12_up = "nul" input_player12_up_btn = "nul" input_player12_up_axis = "nul" input_player12_down = "nul" input_player12_down_btn = "nul" input_player12_down_axis = "nul" input_player12_left = "nul" input_player12_left_btn = "nul" input_player12_left_axis = "nul" input_player12_right = "nul" input_player12_right_btn = "nul" input_player12_right_axis = "nul" input_player12_a = "nul" input_player12_a_btn = "nul" input_player12_a_axis = "nul" input_player12_x = "nul" input_player12_x_btn = "nul" input_player12_x_axis = "nul" input_player12_l = "nul" input_player12_l_btn = "nul" input_player12_l_axis = "nul" input_player12_r = "nul" input_player12_r_btn = "nul" input_player12_r_axis = "nul" input_player12_l2 = "nul" input_player12_l2_btn = "nul" input_player12_l2_axis = "nul" input_player12_r2 = "nul" input_player12_r2_btn = "nul" input_player12_r2_axis = "nul" input_player12_l3 = "nul" input_player12_l3_btn = "nul" input_player12_l3_axis = "nul" input_player12_r3 = "nul" input_player12_r3_btn = "nul" input_player12_r3_axis = "nul" input_player12_l_x_plus = "nul" input_player12_l_x_plus_btn = "nul" input_player12_l_x_plus_axis = "nul" input_player12_l_x_minus = "nul" input_player12_l_x_minus_btn = "nul" input_player12_l_x_minus_axis = "nul" input_player12_l_y_plus = "nul" input_player12_l_y_plus_btn = "nul" input_player12_l_y_plus_axis = "nul" input_player12_l_y_minus = "nul" input_player12_l_y_minus_btn = "nul" input_player12_l_y_minus_axis = "nul" input_player12_r_x_plus = "nul" input_player12_r_x_plus_btn = "nul" input_player12_r_x_plus_axis = "nul" input_player12_r_x_minus = "nul" input_player12_r_x_minus_btn = "nul" input_player12_r_x_minus_axis = "nul" input_player12_r_y_plus = "nul" input_player12_r_y_plus_btn = "nul" input_player12_r_y_plus_axis = "nul" input_player12_r_y_minus = "nul" input_player12_r_y_minus_btn = "nul" input_player12_r_y_minus_axis = "nul" input_player12_turbo = "nul" input_player12_turbo_btn = "nul" input_player12_turbo_axis = "nul" input_player13_b = "nul" input_player13_b_btn = "nul" input_player13_b_axis = "nul" input_player13_y = "nul" input_player13_y_btn = "nul" input_player13_y_axis = "nul" input_player13_select = "nul" input_player13_select_btn = "nul" input_player13_select_axis = "nul" input_player13_start = "nul" input_player13_start_btn = "nul" input_player13_start_axis = "nul" input_player13_up = "nul" input_player13_up_btn = "nul" input_player13_up_axis = "nul" input_player13_down = "nul" input_player13_down_btn = "nul" input_player13_down_axis = "nul" input_player13_left = "nul" input_player13_left_btn = "nul" input_player13_left_axis = "nul" input_player13_right = "nul" input_player13_right_btn = "nul" input_player13_right_axis = "nul" input_player13_a = "nul" input_player13_a_btn = "nul" input_player13_a_axis = "nul" input_player13_x = "nul" input_player13_x_btn = "nul" input_player13_x_axis = "nul" input_player13_l = "nul" input_player13_l_btn = "nul" input_player13_l_axis = "nul" input_player13_r = "nul" input_player13_r_btn = "nul" input_player13_r_axis = "nul" input_player13_l2 = "nul" input_player13_l2_btn = "nul" input_player13_l2_axis = "nul" input_player13_r2 = "nul" input_player13_r2_btn = "nul" input_player13_r2_axis = "nul" input_player13_l3 = "nul" input_player13_l3_btn = "nul" input_player13_l3_axis = "nul" input_player13_r3 = "nul" input_player13_r3_btn = "nul" input_player13_r3_axis = "nul" input_player13_l_x_plus = "nul" input_player13_l_x_plus_btn = "nul" input_player13_l_x_plus_axis = "nul" input_player13_l_x_minus = "nul" input_player13_l_x_minus_btn = "nul" input_player13_l_x_minus_axis = "nul" input_player13_l_y_plus = "nul" input_player13_l_y_plus_btn = "nul" input_player13_l_y_plus_axis = "nul" input_player13_l_y_minus = "nul" input_player13_l_y_minus_btn = "nul" input_player13_l_y_minus_axis = "nul" input_player13_r_x_plus = "nul" input_player13_r_x_plus_btn = "nul" input_player13_r_x_plus_axis = "nul" input_player13_r_x_minus = "nul" input_player13_r_x_minus_btn = "nul" input_player13_r_x_minus_axis = "nul" input_player13_r_y_plus = "nul" input_player13_r_y_plus_btn = "nul" input_player13_r_y_plus_axis = "nul" input_player13_r_y_minus = "nul" input_player13_r_y_minus_btn = "nul" input_player13_r_y_minus_axis = "nul" input_player13_turbo = "nul" input_player13_turbo_btn = "nul" input_player13_turbo_axis = "nul" input_player14_b = "nul" input_player14_b_btn = "nul" input_player14_b_axis = "nul" input_player14_y = "nul" input_player14_y_btn = "nul" input_player14_y_axis = "nul" input_player14_select = "nul" input_player14_select_btn = "nul" input_player14_select_axis = "nul" input_player14_start = "nul" input_player14_start_btn = "nul" input_player14_start_axis = "nul" input_player14_up = "nul" input_player14_up_btn = "nul" input_player14_up_axis = "nul" input_player14_down = "nul" input_player14_down_btn = "nul" input_player14_down_axis = "nul" input_player14_left = "nul" input_player14_left_btn = "nul" input_player14_left_axis = "nul" input_player14_right = "nul" input_player14_right_btn = "nul" input_player14_right_axis = "nul" input_player14_a = "nul" input_player14_a_btn = "nul" input_player14_a_axis = "nul" input_player14_x = "nul" input_player14_x_btn = "nul" input_player14_x_axis = "nul" input_player14_l = "nul" input_player14_l_btn = "nul" input_player14_l_axis = "nul" input_player14_r = "nul" input_player14_r_btn = "nul" input_player14_r_axis = "nul" input_player14_l2 = "nul" input_player14_l2_btn = "nul" input_player14_l2_axis = "nul" input_player14_r2 = "nul" input_player14_r2_btn = "nul" input_player14_r2_axis = "nul" input_player14_l3 = "nul" input_player14_l3_btn = "nul" input_player14_l3_axis = "nul" input_player14_r3 = "nul" input_player14_r3_btn = "nul" input_player14_r3_axis = "nul" input_player14_l_x_plus = "nul" input_player14_l_x_plus_btn = "nul" input_player14_l_x_plus_axis = "nul" input_player14_l_x_minus = "nul" input_player14_l_x_minus_btn = "nul" input_player14_l_x_minus_axis = "nul" input_player14_l_y_plus = "nul" input_player14_l_y_plus_btn = "nul" input_player14_l_y_plus_axis = "nul" input_player14_l_y_minus = "nul" input_player14_l_y_minus_btn = "nul" input_player14_l_y_minus_axis = "nul" input_player14_r_x_plus = "nul" input_player14_r_x_plus_btn = "nul" input_player14_r_x_plus_axis = "nul" input_player14_r_x_minus = "nul" input_player14_r_x_minus_btn = "nul" input_player14_r_x_minus_axis = "nul" input_player14_r_y_plus = "nul" input_player14_r_y_plus_btn = "nul" input_player14_r_y_plus_axis = "nul" input_player14_r_y_minus = "nul" input_player14_r_y_minus_btn = "nul" input_player14_r_y_minus_axis = "nul" input_player14_turbo = "nul" input_player14_turbo_btn = "nul" input_player14_turbo_axis = "nul" input_player15_b = "nul" input_player15_b_btn = "nul" input_player15_b_axis = "nul" input_player15_y = "nul" input_player15_y_btn = "nul" input_player15_y_axis = "nul" input_player15_select = "nul" input_player15_select_btn = "nul" input_player15_select_axis = "nul" input_player15_start = "nul" input_player15_start_btn = "nul" input_player15_start_axis = "nul" input_player15_up = "nul" input_player15_up_btn = "nul" input_player15_up_axis = "nul" input_player15_down = "nul" input_player15_down_btn = "nul" input_player15_down_axis = "nul" input_player15_left = "nul" input_player15_left_btn = "nul" input_player15_left_axis = "nul" input_player15_right = "nul" input_player15_right_btn = "nul" input_player15_right_axis = "nul" input_player15_a = "nul" input_player15_a_btn = "nul" input_player15_a_axis = "nul" input_player15_x = "nul" input_player15_x_btn = "nul" input_player15_x_axis = "nul" input_player15_l = "nul" input_player15_l_btn = "nul" input_player15_l_axis = "nul" input_player15_r = "nul" input_player15_r_btn = "nul" input_player15_r_axis = "nul" input_player15_l2 = "nul" input_player15_l2_btn = "nul" input_player15_l2_axis = "nul" input_player15_r2 = "nul" input_player15_r2_btn = "nul" input_player15_r2_axis = "nul" input_player15_l3 = "nul" input_player15_l3_btn = "nul" input_player15_l3_axis = "nul" input_player15_r3 = "nul" input_player15_r3_btn = "nul" input_player15_r3_axis = "nul" input_player15_l_x_plus = "nul" input_player15_l_x_plus_btn = "nul" input_player15_l_x_plus_axis = "nul" input_player15_l_x_minus = "nul" input_player15_l_x_minus_btn = "nul" input_player15_l_x_minus_axis = "nul" input_player15_l_y_plus = "nul" input_player15_l_y_plus_btn = "nul" input_player15_l_y_plus_axis = "nul" input_player15_l_y_minus = "nul" input_player15_l_y_minus_btn = "nul" input_player15_l_y_minus_axis = "nul" input_player15_r_x_plus = "nul" input_player15_r_x_plus_btn = "nul" input_player15_r_x_plus_axis = "nul" input_player15_r_x_minus = "nul" input_player15_r_x_minus_btn = "nul" input_player15_r_x_minus_axis = "nul" input_player15_r_y_plus = "nul" input_player15_r_y_plus_btn = "nul" input_player15_r_y_plus_axis = "nul" input_player15_r_y_minus = "nul" input_player15_r_y_minus_btn = "nul" input_player15_r_y_minus_axis = "nul" input_player15_turbo = "nul" input_player15_turbo_btn = "nul" input_player15_turbo_axis = "nul" input_player16_b = "nul" input_player16_b_btn = "nul" input_player16_b_axis = "nul" input_player16_y = "nul" input_player16_y_btn = "nul" input_player16_y_axis = "nul" input_player16_select = "nul" input_player16_select_btn = "nul" input_player16_select_axis = "nul" input_player16_start = "nul" input_player16_start_btn = "nul" input_player16_start_axis = "nul" input_player16_up = "nul" input_player16_up_btn = "nul" input_player16_up_axis = "nul" input_player16_down = "nul" input_player16_down_btn = "nul" input_player16_down_axis = "nul" input_player16_left = "nul" input_player16_left_btn = "nul" input_player16_left_axis = "nul" input_player16_right = "nul" input_player16_right_btn = "nul" input_player16_right_axis = "nul" input_player16_a = "nul" input_player16_a_btn = "nul" input_player16_a_axis = "nul" input_player16_x = "nul" input_player16_x_btn = "nul" input_player16_x_axis = "nul" input_player16_l = "nul" input_player16_l_btn = "nul" input_player16_l_axis = "nul" input_player16_r = "nul" input_player16_r_btn = "nul" input_player16_r_axis = "nul" input_player16_l2 = "nul" input_player16_l2_btn = "nul" input_player16_l2_axis = "nul" input_player16_r2 = "nul" input_player16_r2_btn = "nul" input_player16_r2_axis = "nul" input_player16_l3 = "nul" input_player16_l3_btn = "nul" input_player16_l3_axis = "nul" input_player16_r3 = "nul" input_player16_r3_btn = "nul" input_player16_r3_axis = "nul" input_player16_l_x_plus = "nul" input_player16_l_x_plus_btn = "nul" input_player16_l_x_plus_axis = "nul" input_player16_l_x_minus = "nul" input_player16_l_x_minus_btn = "nul" input_player16_l_x_minus_axis = "nul" input_player16_l_y_plus = "nul" input_player16_l_y_plus_btn = "nul" input_player16_l_y_plus_axis = "nul" input_player16_l_y_minus = "nul" input_player16_l_y_minus_btn = "nul" input_player16_l_y_minus_axis = "nul" input_player16_r_x_plus = "nul" input_player16_r_x_plus_btn = "nul" input_player16_r_x_plus_axis = "nul" input_player16_r_x_minus = "nul" input_player16_r_x_minus_btn = "nul" input_player16_r_x_minus_axis = "nul" input_player16_r_y_plus = "nul" input_player16_r_y_plus_btn = "nul" input_player16_r_y_plus_axis = "nul" input_player16_r_y_minus = "nul" input_player16_r_y_minus_btn = "nul" input_player16_r_y_minus_axis = "nul" input_player16_turbo = "nul" input_player16_turbo_btn = "nul" input_player16_turbo_axis = "nul"

@roachman5000
Copy link

And I'm running RetroPie 4.2

@dillbyrne
Copy link
Owner

dillbyrne commented Jul 24, 2017

@roachman5000 Your config has 16 player sections will nul values in them. I have not seen that before and it suggests a problem with your setup. See #1 for an example of my keyboard config. When you setup your keyboard through emulation station it should set the values in that file.

@roachman5000
Copy link

Classic......It's probably because I've reconfigured my keyboard and 8bitdo controller multiple times, but I don't know why it keeps count like that. Weird...is it best to just go in and delete out the other 15 or so player sections I'm currently not using?

@dillbyrne
Copy link
Owner

dillbyrne commented Jul 24, 2017

@roachman5000 That could be it. I have not used the 8bitdo controllers myself so it could be something to do with that. Perhaps enquire with other 8bitdo retropie users and compare the configuration files.

Before you do anything be sure to back up any configurations and or make a backup image . I can't really help in relation to the script until your file is populated as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants