// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_EVENTS_OZONE_LAYOUT_KEYBOARD_LAYOUT_ENGINE_H_ #define UI_EVENTS_OZONE_LAYOUT_KEYBOARD_LAYOUT_ENGINE_H_ #include <string> #include <string_view> #include "base/component_export.h" #include "base/functional/callback.h" #include "base/functional/callback_forward.h" #include "ui/events/keycodes/dom/dom_key.h" #include "ui/events/keycodes/keyboard_codes.h" namespace ui { enum class DomCode : uint32_t; // A KeyboardLayoutEngine provides a platform-independent interface to // key mapping. Key mapping provides a meaning (DomKey and character, // and optionally Windows key code) for a physical key press (DomCode // and modifier flags). // // This interface does not expose individual layouts because it must support // platforms that only provide for one active system layout, and/or platforms // where layouts have no accessible representation. class COMPONENT_EXPORT(EVENTS_OZONE_LAYOUT) KeyboardLayoutEngine { … }; } // namespace ui #endif // UI_EVENTS_OZONE_LAYOUT_KEYBOARD_LAYOUT_ENGINE_H_