blob: ea9f2be7fcbbba8444d54b9b51960696cb9e06d6 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/mus/common/event_matcher_util.h"
namespace mus {
mojom::EventMatcherPtr CreateKeyMatcher(mojom::KeyboardCode code, int flags) {
mojom::EventMatcherPtr matcher(mojom::EventMatcher::New());
matcher->type_matcher = mojom::EventTypeMatcher::New();
matcher->flags_matcher = mojom::EventFlagsMatcher::New();
matcher->ignore_flags_matcher = mojom::EventFlagsMatcher::New();
// Ignoring these makes most accelerator scenarios more straight forward. Code
// that needs to check them can override this setting.
matcher->ignore_flags_matcher->flags = mojom::kEventFlagCapsLockOn |
mojom::kEventFlagScrollLockOn |
mojom::kEventFlagNumLockOn;
matcher->key_matcher = mojom::KeyEventMatcher::New();
matcher->type_matcher->type = mus::mojom::EventType::KEY_PRESSED;
matcher->flags_matcher->flags = flags;
matcher->key_matcher->keyboard_code = code;
return matcher;
}
} // namespace mus