It's not something easy since it's internally handled by the CustomHammerGesturesPlugin class. I see two approaches:


* Provide your own Hammer plugin and register it. When the `Hammer` object is instantiated, you need to provide your configuration as second parameter:

        @Injectable()
        export class CustomHammerGesturesPlugin extends HammerGesturesPlugin {
          addEventListener(element: HTMLElement, eventName: string, handler: Function): Function {
            var zone = this.manager.getZone();
            eventName = eventName.toLowerCase();

            return zone.runOutsideAngular(function() {
              // Creating the manager bind events, must be done outside of angular
              var mc = new Hammer(element); // <-------
              mc.get('pinch').set({enable: true});
              mc.get('rotate').set({enable: true});
              var handler = function(eventObj) { zone.run(function() { handler(eventObj); }); };
              mc.on(eventName, handler);
              return () => { mc.off(eventName, handler); };
            });
          }
        }

  Since the `HammerGesturesPlugin` provider is automatically register when using the `bootstrap` function, you need to use this code to bootstrap your application (see https://github.com/angular/angular/blob/master/modules/angular2/platform/browser.ts#L110 and https://github.com/angular/angular/blob/master/modules/angular2/src/platform/browser_common.ts#L79):

        platform(BROWSER_PROVIDERS).application(appProviders).bootstrap(appComponentType);

* A workaround could be to intercept the instantiation of the `Hammer` object:

        <script>
          window.TargetHammer = window.Hammer;
          window.Hammer = function() {
            return TargetHammer(arguments[0], {
              time: 1000
            });
          }
        </script>