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

Added Xbox input mapping #197

Merged
merged 1 commit into from Jan 16, 2022

Conversation

iainsaxonhome
Copy link
Contributor

I've been testing the Jellyfin Media Player with a corded third-party Xbox One controller on Linux and needed to add a new input mapping file to get it to work. Some of the bindings have also been adjusted to match the expected actions (eg the axis used for volume control).

I did try adjusting the idmatcher string of the dualshock4-xbox-emulate.json mapping but found the keys were incorrect and unlike the Xbox control scheme so have added a new one.

This input mapping is working for me however I am not sure if it will conflict with other mappings with the current idmatcher string I've used.

Hopefully someone else can also test this.

I'm using the Flatpak version of JMP and tested the input mapping by copying the file to ~/.var/app/com.github.iwalton3.jellyfin-media-player/data/jellyfinmediaplayer/inputmaps and referring to the ~/.var/app/com.github.iwalton3.jellyfin-media-player/data/jellyfinmediaplayer/logs/jellyfinmediaplayer.log log file as I went.

Below is from my log file for context:

2022-01-12 15:18:36 [ INFO  ] InputMapping.cpp @ 113 - Loading inputmaps from: ":/inputmaps"
2022-01-12 15:18:36 [ WARN  ] InputMapping.cpp @ 92 - Missing element 'idmatcher' from mapping file: ":/inputmaps/dualshock4-xbox-emulate.json"
2022-01-12 15:18:36 [ INFO  ] InputMapping.cpp @ 113 - Loading inputmaps from: "/home/iain/.var/app/com.github.iwalton3.jellyfin-media-player/data/jellyfinmediaplayer/inputmaps"
2022-01-12 15:18:36 [ INFO  ] InputComponent.cpp @ 54 - Successfully inited input: Keyboard
2022-01-12 15:18:36 [ INFO  ] LocalJsonServer.cpp @ 33 - Listening to socket: "/tmp/pmp_inputSocket_iain.sock"
2022-01-12 15:18:36 [ INFO  ] InputComponent.cpp @ 54 - Successfully inited input: socket
2022-01-12 15:18:36 [ WARN  ] InputComponent.cpp @ 50 - Failed to init input: roku
2022-01-12 15:18:36 [ INFO  ] InputSDL.cpp @ 207 - SDL found  1  joysticks
2022-01-12 15:18:36 [ INFO  ] InputSDL.cpp @ 216 - JoyStick # 0  is  PDP Xbox One Arctic White  with  11  buttons and  6 axes
2022-01-12 15:18:36 [ INFO  ] InputComponent.cpp @ 54 - Successfully inited input: SDL
2022-01-12 15:18:36 [ INFO  ] InputSDL.cpp @ 98 - SDL detected device was added.
2022-01-12 15:18:36 [ ERROR ] InputLIRC.cpp @ 82 - LIRC Socket Error :  QLocalSocket::ServerNotFoundError
2022-01-12 15:18:36 [ WARN  ] InputComponent.cpp @ 50 - Failed to init input: LIRC
2022-01-12 15:18:36 [ INFO  ] ComponentManager.cpp @ 37 - Component: input inited
2022-01-12 15:18:36 [ INFO  ] ComponentManager.cpp @ 37 - Component: system inited
2022-01-12 15:18:36 [ INFO  ] DisplayManager.cpp @ 20 - "DisplayManager found 1 Display(s)."
2022-01-12 15:18:36 [ INFO  ] DisplayManager.cpp @ 26 - "Available modes for Display #0 (DP-4)"
2022-01-12 15:18:36 [ INFO  ] DisplayManager.cpp @ 30 - "Mode  0:  1920 x 1080 x  0bpp @60Hz"
2022-01-12 15:18:36 [ INFO  ] DisplayManager.cpp @ 30 - "Mode  1:  1920 x 1080 x  0bpp @144.001Hz"
2022-01-12 15:18:36 [ INFO  ] DisplayManager.cpp @ 30 - "Mode  2:  1920 x 1080 x  0bpp @119.982Hz"
2022-01-12 15:18:36 [ INFO  ] DisplayManager.cpp @ 30 - "Mode  3:  1920 x 1080 x  0bpp @99.9304Hz"
2022-01-12 15:18:36 [ INFO  ] DisplayManager.cpp @ 30 - "Mode  4:  1920 x 1080 x  0bpp @84.9045Hz"
2022-01-12 15:18:36 [ ERROR ] DisplayManager.cpp @ 47 - DisplayManager : unable to retrieve main display
2022-01-12 15:18:36 [ INFO  ] ComponentManager.cpp @ 37 - Component: display inited
2022-01-12 15:18:36 [ INFO  ] InputSDL.cpp @ 207 - SDL found  1  joysticks
2022-01-12 15:18:36 [ INFO  ] InputSDL.cpp @ 216 - JoyStick # 0  is  PDP Xbox One Arctic White  with  11  buttons and  6 axes

@iwalton3
Copy link
Member

I don't see any obvious way for this to conflict with anything that's already added.

@iwalton3
Copy link
Member

I'm going to go ahead and merge this so it gets included in the next prerelease.

@iwalton3 iwalton3 merged commit 28ccf00 into jellyfin:master Jan 16, 2022
@iwalton3
Copy link
Member

I have released this in this pre-release: https://github.com/jellyfin/jellyfin-media-player/releases/tag/v1.7.0-pre3

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

Successfully merging this pull request may close these issues.

None yet

2 participants