[GH-ISSUE #837] [Feature]: Improved keymap compatibility & related user experience #400

Open
opened 2026-03-03 18:57:35 +03:00 by kerem · 1 comment
Owner

Originally created by @FlyMeToTheMoonAndLetMePlayAmongTheStars on GitHub (Mar 4, 2023).
Original GitHub issue: https://github.com/PlayCover/PlayCover/issues/837

Right now keymaps only know the game they're made for/on, and lack other key info such as iOS device, resolution, and aspect ratio.

The lack of iOS device info can cause keymapping compatibility issues in certain games, for example in Genshin Impact, the in-game virtual joystick (aka circle for movement controls) vary greatly depending on the iOS device identifier selected. If you use A9X, A12X, or M1 models, the maximum joystick circumference is small, but on M2 and both iPhone models, the joystick maximum is a lot bigger. Even with Xyct's D-pad fixes, a keymap with WASD area made for M1 model will not work properly if imported for M2 model, and vice versa.

Related to device identifier, Genshin's joystick UI also scales according to resolution, I'm not sure if any other games have the same problem since I only play Genshin Impact and Honkai Impact 3rd. Even if you have the same identifier and aspect ratio, a keymap made on a smaller resolution will not work properly on another higher resolution, specifically the WASD area sizing.

The final one pertains to aspect ratio, right now this data is not included in keymap files and a common issue is users end up importing a premade keymap (typically 16:10) that's actually not made for their aspect ratio.

Describe the solution you'd like

Since it's not possible to make keymaps scale according to aspect ratio and resolutions, maybe this could work in addressing some of the related issues.

In addition to game/app data, include the app's iOS model identifier, the app's aspect ratio, and the resolution somewhere in the keymap/playmap file upon the file being exported. This data would help lay the foundation for a better keymap compatibility checking functionality later down the road.

So instead of users importing the wrong keymap that may not work properly, they would be warned upon import so they can go find a keymap that perfectly matches their app configuration.

Better yet, a comprehensive keymap repository could be built into PlayCover as its own section, so users can find the right one for their game much more easily.

Or even better, do all this the compatibility checking and keymap fetching in the background so users will always have the right keymap that works the best when they play the game. This is probably the hardest to do but the best solution in terms of user experience.

Anything else?

not atm

Issue Language

  • Yes my issue is written in English
Originally created by @FlyMeToTheMoonAndLetMePlayAmongTheStars on GitHub (Mar 4, 2023). Original GitHub issue: https://github.com/PlayCover/PlayCover/issues/837 ### Is your feature request related to a problem? Right now keymaps only know the game they're made for/on, and lack other key info such as iOS device, resolution, and aspect ratio. The lack of iOS device info can cause keymapping compatibility issues in certain games, for example in Genshin Impact, the in-game virtual joystick (aka circle for movement controls) vary greatly depending on the iOS device identifier selected. If you use A9X, A12X, or M1 models, the maximum joystick circumference is small, but on M2 and both iPhone models, the joystick maximum is a lot bigger. Even with Xyct's D-pad fixes, a keymap with WASD area made for M1 model will not work properly if imported for M2 model, and vice versa. Related to device identifier, Genshin's joystick UI also scales according to resolution, I'm not sure if any other games have the same problem since I only play Genshin Impact and Honkai Impact 3rd. Even if you have the same identifier and aspect ratio, a keymap made on a smaller resolution will not work properly on another higher resolution, specifically the WASD area sizing. The final one pertains to aspect ratio, right now this data is not included in keymap files and a common issue is users end up importing a premade keymap (typically 16:10) that's actually not made for their aspect ratio. ### Describe the solution you'd like Since it's not possible to make keymaps scale according to aspect ratio and resolutions, maybe this could work in addressing some of the related issues. In addition to game/app data, include the app's iOS model identifier, the app's aspect ratio, and the resolution somewhere in the keymap/playmap file upon the file being exported. This data would help lay the foundation for a better keymap compatibility checking functionality later down the road. So instead of users importing the wrong keymap that may not work properly, they would be warned upon import so they can go find a keymap that perfectly matches their app configuration. Better yet, a comprehensive keymap repository could be built into PlayCover as its own section, so users can find the right one for their game much more easily. Or even better, do all this the compatibility checking and keymap fetching in the background so users will always have the right keymap that works the best when they play the game. This is probably the hardest to do but the best solution in terms of user experience. ### Anything else? not atm ### Issue Language - [X] Yes my issue is written in English
Author
Owner

@lamminhthien commented on GitHub (Jun 17, 2023):

Thanks for your comment, I change aspect ratio to 16:10 to fix joystick WSAD problem
image

<!-- gh-comment-id:1595697323 --> @lamminhthien commented on GitHub (Jun 17, 2023): Thanks for your comment, I change aspect ratio to 16:10 to fix joystick WSAD problem <img width="621" alt="image" src="https://github.com/PlayCover/PlayCover/assets/99172799/911cf63e-dd78-4897-b958-6c3d2423c829">
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/PlayCover#400
No description provided.