public bool OnKeyEventHook(Location location, ButtonEvent buttonEvent, ILayout layout, LayoutContext layoutContext) { if (location == _options.Location) { if (buttonEvent == ButtonEvent.Down) { _longPress = false; return(true); } if (buttonEvent == ButtonEvent.Up) { if (!_longPress) { layout.ButtonPressed(location, ButtonEvent.Down); layout.ButtonPressed(location, ButtonEvent.Up); } return(true); } if (buttonEvent == ButtonEvent.LongPress) { _longPress = true; layoutContext.SetLayout(_options.LayoutIdentifier); } } return(false); }
void DoButtonPressed(Location location, ButtonEvent buttonEvent) { using (_drawingEngine.PauseDrawing()) if (_globalContext.DeviceHooks.Values.All(h => !h.OnKeyEventHook(location, buttonEvent, _layout, _layoutContext))) { _layout?.ButtonPressed(location, buttonEvent); } }