andresavic / AmongKey

Keyboard controls for Among Us on Apple Silicon Macs
MIT License
127 stars 21 forks source link

External displays support #10

Closed bulivlad closed 3 years ago

bulivlad commented 3 years ago

As far as I can understand from the code, it was specifically build for retina resolutions so there are issues when running on an external display.

There would be nice to have a way to detect/manually select the display resolution and to compute the x and y positions accordingly.

Also some comments on the code would be nice so anyone can help maintaining the project.

BTW, nice work so far

andresavic commented 3 years ago

Hello thank you for your interest in AmongKey. External displays with all kind of resolutions should be supported, but it is possible that the app is not working on a second displays. Can you please try to run it on external display set as primary display?

bulivlad commented 3 years ago

Tried it with both AmongUs and AmongKey running on the primary display but I can see the same behaviour. The only issue I can see is that the controls/joystick is not really accurate i.e.

I tried it with a single external display connected and the behaviour seems to be the same

Thanks

bulivlad commented 3 years ago

Hey @andresavic,

Just found out that it has noting to do with the external display itself nor with running the app/game on the primary display. It is actually about the hardcoded value of

let JOYSTICK = (x: 227.589, y: 1873.250)
AmongKeyApp.swift line 32

After manually tuning the x and y it seems to be working fine.

andresavic commented 3 years ago

In theory the JOYSTICK value should be the same on all devices and resolutions because it is calculated with the function calcPos in relation to the real size of the Among Us window. https://github.com/andresavic/AmongKey/blob/10ef44fe0bdc6a48aa651f574a33b7bea6446801/AmongKey/AmongKeyApp.swift#L119

So I guess the bug is to find elsewhere. Can you please provide a fullscreen screenshot of your display with Among Us round running?

Just to exclude this option: Did you set the Joystick to the minimum size in the Among Us settings as described in the AmongKey app?

bulivlad commented 3 years ago

Damn, you are right. The Joystick size was the default one. I was so focused on the code and project README that I missed that info in the app-screen.

Setting the joystick to the minimum size did the trick.

Thanks for spotting it