diff --git a/iphone/Maps/Classes/MapViewController.mm b/iphone/Maps/Classes/MapViewController.mm
index eeb70454c4..e329471e91 100644
--- a/iphone/Maps/Classes/MapViewController.mm
+++ b/iphone/Maps/Classes/MapViewController.mm
@@ -832,4 +832,30 @@ NSString *const kPP2BookmarkEditingSegue = @"PP2BookmarkEditing";
[[MWMAlertViewController activeAlertController] presentInfoAlert:L(@"load_kmz_title") text:L(@"load_kmz_failed")];
}
+- (BOOL)canBecomeFirstResponder {
+ return YES;
+}
+
+- (NSArray *)keyCommands {
+ return @[[UIKeyCommand keyCommandWithInput:UIKeyInputDownArrow modifierFlags:0 action:@selector(zoomOut) discoverabilityTitle:@"Zoom Out"],
+ [UIKeyCommand keyCommandWithInput:UIKeyInputUpArrow modifierFlags:0 action:@selector(zoomIn) discoverabilityTitle:@"Zoom In"],
+ [UIKeyCommand keyCommandWithInput:UIKeyInputEscape modifierFlags:0 action:@selector(goBack) discoverabilityTitle:@"Go Back"]];
+}
+
+- (void)zoomOut {
+ GetFramework().Scale(Framework::SCALE_MIN, true);
+}
+
+- (void)zoomIn {
+ GetFramework().Scale(Framework::SCALE_MAG, true);
+}
+
+- (void)goBack {
+ NSString *backURL = [DeepLinkHandler.shared getBackUrl];
+ BOOL canOpenURL = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:backURL]];
+ if (canOpenURL){
+ [[UIApplication sharedApplication] openURL:[NSURL URLWithString:backURL] options:@{} completionHandler:nil];
+ }
+}
+
@end
diff --git a/iphone/Maps/Core/DeepLink/DeepLinkHandler.swift b/iphone/Maps/Core/DeepLink/DeepLinkHandler.swift
index 048318fd9d..512c08b909 100644
--- a/iphone/Maps/Core/DeepLink/DeepLinkHandler.swift
+++ b/iphone/Maps/Core/DeepLink/DeepLinkHandler.swift
@@ -106,6 +106,12 @@ class DeepLinkURL {
deeplinkURL = nil
}
+ func getBackUrl() -> String {
+ guard let urlString = deeplinkURL?.url.absoluteString else { return "" }
+ guard let url = URLComponents(string: urlString) else { return "" }
+ return (url.queryItems?.first(where: { $0.name == "backurl" })?.value ?? "")
+ }
+
private func convertUniversalLink(_ universalLink: URL) -> URL {
let convertedLink = String(format: "mapsme:/%@?%@", universalLink.path, universalLink.query ?? "")
return URL(string: convertedLink)!
diff --git a/iphone/Maps/MAPSME.plist b/iphone/Maps/MAPSME.plist
index e89041aaee..c0ab11fbc4 100644
--- a/iphone/Maps/MAPSME.plist
+++ b/iphone/Maps/MAPSME.plist
@@ -116,6 +116,7 @@
maximzakaz
vzt
mytaxi
+ wunderlinq
LSRequiresIPhoneOS