1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEY_CODE_CONVERTER_H_
6 #define UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEY_CODE_CONVERTER_H_
8 #include <xkbcommon/xkbcommon.h>
14 // XKB scan code values are platform-dependent; this provides the layout engine
15 // with the mapping from DomCode to xkb_keycode_t. (This mapping is in principle
16 // derivable from the XKB keyboard layout, but xkbcommon does not provide a
17 // practical interface to do so.)
18 class EVENTS_OZONE_LAYOUT_EXPORT XkbKeyCodeConverter
{
20 XkbKeyCodeConverter();
21 virtual ~XkbKeyCodeConverter();
22 xkb_keycode_t
InvalidXkbKeyCode() const { return invalid_xkb_keycode_
; }
23 virtual xkb_keycode_t
DomCodeToXkbKeyCode(DomCode dom_code
) const = 0;
26 xkb_keycode_t invalid_xkb_keycode_
;
31 #endif // UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEY_CODE_CONVERTER_H_