fix gesture reconfig in real time streamview
This commit is contained in:
1 parent
52c2a831d9
commit
14ef07f072
2 files changed
+14
-2
No files matched your search
@@ -52,6 +52,11 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5;
|
|||||||
|
|
||||||
NSDictionary<NSString *, NSNumber *> *dictCodes;
|
NSDictionary<NSString *, NSNumber *> *dictCodes;
|
||||||
CustomTapGestureRecognizer *keyboardToggleRecognizer;
|
CustomTapGestureRecognizer *keyboardToggleRecognizer;
|
||||||
|
UIPanGestureRecognizer *discreteMouseWheelRecognizer;
|
||||||
|
UIPanGestureRecognizer *continuousMouseWheelRecognizer;
|
||||||
|
#if defined(__IPHONE_16_1) || defined(__TVOS_16_1)
|
||||||
|
UIHoverGestureRecognizer *stylusHoverRecognizer;
|
||||||
|
#endif
|
||||||
CGFloat HeightViewLiftedTo;
|
CGFloat HeightViewLiftedTo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -72,6 +77,7 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5;
|
|||||||
[keyInputField setSpellCheckingType:UITextSpellCheckingTypeNo];
|
[keyInputField setSpellCheckingType:UITextSpellCheckingTypeNo];
|
||||||
[self addSubview:keyInputField];
|
[self addSubview:keyInputField];
|
||||||
|
|
||||||
|
[self removeGestureRecognizer:keyboardToggleRecognizer]; // for reconfig streamview in realtime
|
||||||
isInputingText = false;
|
isInputingText = false;
|
||||||
keyboardToggleRecognizer = [[CustomTapGestureRecognizer alloc] initWithTarget:self action:@selector(toggleKeyboard)];
|
keyboardToggleRecognizer = [[CustomTapGestureRecognizer alloc] initWithTarget:self action:@selector(toggleKeyboard)];
|
||||||
keyboardToggleRecognizer.numberOfTouchesRequired = settings.keyboardToggleFingers.intValue; //will be changed accordinly by touch modes.
|
keyboardToggleRecognizer.numberOfTouchesRequired = settings.keyboardToggleFingers.intValue; //will be changed accordinly by touch modes.
|
||||||
@@ -97,13 +103,15 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5;
|
|||||||
|
|
||||||
|
|
||||||
switch (settings.touchMode.intValue) {
|
switch (settings.touchMode.intValue) {
|
||||||
case PURE_NATIVE_TOUCH:
|
|
||||||
case REGULAR_NATIVE_TOUCH:
|
case REGULAR_NATIVE_TOUCH:
|
||||||
|
keyboardToggleRecognizer.immediateTriggering = false;
|
||||||
|
if(settings.onscreenControls.intValue == OnScreenControlsLevelCustom) keyboardToggleRecognizer.numberOfTouchesRequired = 3; //fixing keyboard taps to 3, in order to invoke OSC rebase in stream view by 4-finger tap.
|
||||||
|
case PURE_NATIVE_TOUCH:
|
||||||
self->touchHandler = [[NativeTouchHandler alloc] initWithView:self andSettings:settings];break;
|
self->touchHandler = [[NativeTouchHandler alloc] initWithView:self andSettings:settings];break;
|
||||||
case RELATIVE_TOUCH:
|
case RELATIVE_TOUCH:
|
||||||
self->touchHandler = [[RelativeTouchHandler alloc] initWithView:self andSettings:settings];
|
self->touchHandler = [[RelativeTouchHandler alloc] initWithView:self andSettings:settings];
|
||||||
keyboardToggleRecognizer.immediateTriggering = false;
|
keyboardToggleRecognizer.immediateTriggering = false;
|
||||||
keyboardToggleRecognizer.numberOfTouchesRequired = 3; //fixing keyboard taps to 3, in order to invoke OSC rebase in stream view by 4-finger tap.
|
if(settings.onscreenControls.intValue == OnScreenControlsLevelCustom) keyboardToggleRecognizer.numberOfTouchesRequired = 3; //fixing keyboard taps to 3, in order to invoke OSC rebase in stream view by 4-finger tap.
|
||||||
break;
|
break;
|
||||||
case ABSOLUTE_TOUCH:
|
case ABSOLUTE_TOUCH:
|
||||||
self->touchHandler = [[AbsoluteTouchHandler alloc] initWithView:self];
|
self->touchHandler = [[AbsoluteTouchHandler alloc] initWithView:self];
|
||||||
@@ -134,12 +142,14 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5;
|
|||||||
if (@available(iOS 13.4, *)) {
|
if (@available(iOS 13.4, *)) {
|
||||||
[self addInteraction:[[UIPointerInteraction alloc] initWithDelegate:self]];
|
[self addInteraction:[[UIPointerInteraction alloc] initWithDelegate:self]];
|
||||||
|
|
||||||
|
[self removeGestureRecognizer:discreteMouseWheelRecognizer]; // for realtime reconfig stream view
|
||||||
UIPanGestureRecognizer *discreteMouseWheelRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(mouseWheelMovedDiscrete:)];
|
UIPanGestureRecognizer *discreteMouseWheelRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(mouseWheelMovedDiscrete:)];
|
||||||
discreteMouseWheelRecognizer.maximumNumberOfTouches = 0;
|
discreteMouseWheelRecognizer.maximumNumberOfTouches = 0;
|
||||||
discreteMouseWheelRecognizer.allowedScrollTypesMask = UIScrollTypeMaskDiscrete;
|
discreteMouseWheelRecognizer.allowedScrollTypesMask = UIScrollTypeMaskDiscrete;
|
||||||
discreteMouseWheelRecognizer.allowedTouchTypes = @[@(UITouchTypeIndirectPointer)];
|
discreteMouseWheelRecognizer.allowedTouchTypes = @[@(UITouchTypeIndirectPointer)];
|
||||||
[self addGestureRecognizer:discreteMouseWheelRecognizer];
|
[self addGestureRecognizer:discreteMouseWheelRecognizer];
|
||||||
|
|
||||||
|
[self removeGestureRecognizer:continuousMouseWheelRecognizer]; // for realtime reconfig stream view
|
||||||
UIPanGestureRecognizer *continuousMouseWheelRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(mouseWheelMovedContinuous:)];
|
UIPanGestureRecognizer *continuousMouseWheelRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(mouseWheelMovedContinuous:)];
|
||||||
continuousMouseWheelRecognizer.maximumNumberOfTouches = 0;
|
continuousMouseWheelRecognizer.maximumNumberOfTouches = 0;
|
||||||
continuousMouseWheelRecognizer.allowedScrollTypesMask = UIScrollTypeMaskContinuous;
|
continuousMouseWheelRecognizer.allowedScrollTypesMask = UIScrollTypeMaskContinuous;
|
||||||
@@ -149,6 +159,7 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5;
|
|||||||
|
|
||||||
#if defined(__IPHONE_16_1) || defined(__TVOS_16_1)
|
#if defined(__IPHONE_16_1) || defined(__TVOS_16_1)
|
||||||
if (@available(iOS 16.1, *)) {
|
if (@available(iOS 16.1, *)) {
|
||||||
|
[self removeGestureRecognizer:stylusHoverRecognizer]; // for realtime reconfig streamview
|
||||||
UIHoverGestureRecognizer *stylusHoverRecognizer = [[UIHoverGestureRecognizer alloc] initWithTarget:self action:@selector(sendStylusHoverEvent:)];
|
UIHoverGestureRecognizer *stylusHoverRecognizer = [[UIHoverGestureRecognizer alloc] initWithTarget:self action:@selector(sendStylusHoverEvent:)];
|
||||||
stylusHoverRecognizer.allowedTouchTypes = @[@(UITouchTypePencil)];
|
stylusHoverRecognizer.allowedTouchTypes = @[@(UITouchTypePencil)];
|
||||||
[self addGestureRecognizer:stylusHoverRecognizer];
|
[self addGestureRecognizer:stylusHoverRecognizer];
|
||||||
|
|||||||
@@ -99,6 +99,7 @@
|
|||||||
|
|
||||||
// key implementation of reconfiguring streamview after realtime setting menu is closed.
|
// key implementation of reconfiguring streamview after realtime setting menu is closed.
|
||||||
- (void)reConfigStreamViewRealtime{
|
- (void)reConfigStreamViewRealtime{
|
||||||
|
//[self.view removeGestureRecognizer:]
|
||||||
_settings = [[[DataManager alloc] init] getSettings]; //StreamFrameViewController retrieve the settings here.
|
_settings = [[[DataManager alloc] init] getSettings]; //StreamFrameViewController retrieve the settings here.
|
||||||
[self configOscLayoutTool];
|
[self configOscLayoutTool];
|
||||||
[self configExitGesture];
|
[self configExitGesture];
|
||||||
|
|||||||
Reference in new issue
Block a user