-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
IOS7: Implement port specific options widget #4968
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added couple notes so far
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reviewed now more thoroughly, no further notes besides me clarifying my earlier comments
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This breaks compilation when using SDK for iOS 14 (or below).
54fef28 to
e0c060d
Compare
Include the newly added ios7_options implementation to the project. Change the file type to .mm which is Objective C++ to be able to use the @Availble mechanism. Implement virtual functions and fix build errors in initial code. Also add help section for the tvOS port when building for tvOS. Add ios7_options to POTFILES to get automatic translation on the help section.
These gesture recognizers were inherited from the iphone port. The ios7 port use the UIGestureRecognizers to accomplish the same.
The "touchpad" mode and "click-and-drag" mode was mutual exclusive when enabling "click-and-drag" using swipe gesture. The difference between "touchpad" mode and "click-and-drag" mode is how the button down/up events are sent. In touchpad mode the button down and button up events are sent on touches ended, while in click-and-drag the button down event is sent on touches began and button up on touches ended.
e0c060d to
2f707ab
Compare
When changing "Touchpad mode" or "Mouse-click-and-drag mode" by swipe gestures, these changes must be stored in ConfMan.
The wrong delegate method was called for touchesCancelled. This led to button presses ended too early if moving the fingers.
Some game engines requires the dpad to control a character. The GRIM engine is an example of this where the user steer the character by the arrow keys or dpad controller.
Apple introduced the GCVirtualController in iOS 15 which is a software emulation of a real controller. The virtual controllers can be configurable with different inputs. See more info at: https://developer.apple.com/documentation/gamecontroller/gcvirtualcontroller A simple gamepad configuration with a dPad and A and B buttons is added. The user can enable/disable the virtual game controller swiping two fingers right to left, or through the port-specific option dialog.
2f707ab to
c9c05b2
Compare
|
Thanks, merging |
Implement use of port specific options widget which may be used to enable/disable mouse modes.
Also implement support of Virtual controller (onscreen controls) with one configuration with a dPad and A and B buttons.