|
@@ -14,17 +14,20 @@ export interface Bindings {
|
|
|
rotate: Bindings.Trigger
|
|
|
rotateZ: Bindings.Trigger
|
|
|
pan: Bindings.Trigger
|
|
|
- focus: Bindings.Trigger
|
|
|
zoom: Bindings.Trigger
|
|
|
+ focus: Bindings.Trigger
|
|
|
+ focusZoom: Bindings.Trigger
|
|
|
},
|
|
|
scroll: {
|
|
|
- focus: Bindings.Trigger
|
|
|
zoom: Bindings.Trigger
|
|
|
+ focus: Bindings.Trigger
|
|
|
+ focusZoom: Bindings.Trigger
|
|
|
}
|
|
|
}
|
|
|
|
|
|
export namespace Bindings {
|
|
|
export type Trigger = { buttons: ButtonsType, modifiers?: ModifiersKeys }
|
|
|
+ export const EmptyTrigger = { buttons: ButtonsType.Flag.None }
|
|
|
|
|
|
export function match(trigger: Trigger, buttons: ButtonsType, modifiers: ModifiersKeys) {
|
|
|
const { buttons: b, modifiers: m } = trigger
|
|
@@ -37,12 +40,14 @@ export namespace Bindings {
|
|
|
rotate: { buttons: B.Flag.Primary, modifiers: M.create() },
|
|
|
rotateZ: { buttons: B.Flag.Primary, modifiers: M.create({ shift: true }) },
|
|
|
pan: { buttons: B.Flag.Secondary, modifiers: M.create() },
|
|
|
+ zoom: EmptyTrigger,
|
|
|
focus: { buttons: B.Flag.Forth, modifiers: M.create() },
|
|
|
- zoom: { buttons: B.Flag.Auxilary, modifiers: M.create() },
|
|
|
+ focusZoom: { buttons: B.Flag.Auxilary, modifiers: M.create() },
|
|
|
},
|
|
|
scroll: {
|
|
|
- focus: { buttons: B.Flag.Auxilary, modifiers: M.create({ shift: true }) },
|
|
|
zoom: { buttons: B.Flag.Auxilary, modifiers: M.create() },
|
|
|
+ focus: { buttons: B.Flag.Auxilary, modifiers: M.create({ shift: true }) },
|
|
|
+ focusZoom: EmptyTrigger,
|
|
|
}
|
|
|
}
|
|
|
}
|