summaryrefslogtreecommitdiffstats
path: root/ui/events/ozone
diff options
context:
space:
mode:
authorkpschoedel <kpschoedel@chromium.org>2015-08-28 08:29:35 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-28 15:30:16 +0000
commit51d2e327f7a4ff8347867713e098ea81fd601df7 (patch)
treedfcedf30dd25be910012bc0e6e2c320fb9aeeb55 /ui/events/ozone
parent4ec68d9ad2d3e0c74967a17946c8bf7ed4450f73 (diff)
downloadchromium_src-51d2e327f7a4ff8347867713e098ea81fd601df7.zip
chromium_src-51d2e327f7a4ff8347867713e098ea81fd601df7.tar.gz
chromium_src-51d2e327f7a4ff8347867713e098ea81fd601df7.tar.bz2
Revise ui::DomKey to unify character and non-character codes.
DomKey becomes a single integer value corresponding to the DOM UI Events KeyboardEvent.key string; it can represent either a Unicode code point or one of the defined non-printable values from <https://w3c.github.io/DOM-Level-3-Events-key/>. In the previous representation, ui::DomKey enumerated only the non- printable values and had a sentinel to indicated that a character value was held separately. Much of this CL therefore merely replaces |key, character| pairs with a single |key| value. The most substantial changes are to ui/events/keycodes/dom/dom_key.h ui/events/keycodes/dom/keycode_converter.h ui/events/event.h and associated implementations. BUG=227231 Review URL: https://codereview.chromium.org/1284433002 Cr-Commit-Position: refs/heads/master@{#346152}
Diffstat (limited to 'ui/events/ozone')
-rw-r--r--ui/events/ozone/BUILD.gn2
-rw-r--r--ui/events/ozone/evdev/keyboard_evdev.cc5
-rw-r--r--ui/events/ozone/events_ozone.gyp2
-rw-r--r--ui/events/ozone/layout/keyboard_layout_engine.h3
-rw-r--r--ui/events/ozone/layout/layout_util.h3
-rw-r--r--ui/events/ozone/layout/no/no_keyboard_layout_engine.cc1
-rw-r--r--ui/events/ozone/layout/no/no_keyboard_layout_engine.h1
-rw-r--r--ui/events/ozone/layout/stub/stub_keyboard_layout_engine.cc4
-rw-r--r--ui/events/ozone/layout/stub/stub_keyboard_layout_engine.h1
-rw-r--r--ui/events/ozone/layout/xkb/xkb_keyboard_code_conversion.cc84
-rw-r--r--ui/events/ozone/layout/xkb/xkb_keyboard_code_conversion.h27
-rw-r--r--ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc39
-rw-r--r--ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.h6
-rw-r--r--ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc12
14 files changed, 28 insertions, 162 deletions
diff --git a/ui/events/ozone/BUILD.gn b/ui/events/ozone/BUILD.gn
index ce41de9..4bb3ad2 100644
--- a/ui/events/ozone/BUILD.gn
+++ b/ui/events/ozone/BUILD.gn
@@ -194,8 +194,6 @@ component("events_ozone_layout") {
"layout/xkb/xkb_evdev_codes.cc",
"layout/xkb/xkb_evdev_codes.h",
"layout/xkb/xkb_key_code_converter.h",
- "layout/xkb/xkb_keyboard_code_conversion.cc",
- "layout/xkb/xkb_keyboard_code_conversion.h",
"layout/xkb/xkb_keyboard_layout_engine.cc",
"layout/xkb/xkb_keyboard_layout_engine.h",
"layout/xkb/xkb_keysym.h",
diff --git a/ui/events/ozone/evdev/keyboard_evdev.cc b/ui/events/ozone/evdev/keyboard_evdev.cc
index 58be1c5..95a726d 100644
--- a/ui/events/ozone/evdev/keyboard_evdev.cc
+++ b/ui/events/ozone/evdev/keyboard_evdev.cc
@@ -212,9 +212,8 @@ void KeyboardEvdev::DispatchKey(unsigned int key,
int flags = modifiers_->GetModifierFlags();
DomKey dom_key;
KeyboardCode key_code;
- uint16 character;
uint32 platform_keycode = 0;
- if (!keyboard_layout_engine_->Lookup(dom_code, flags, &dom_key, &character,
+ if (!keyboard_layout_engine_->Lookup(dom_code, flags, &dom_key,
&key_code, &platform_keycode)) {
return;
}
@@ -224,7 +223,7 @@ void KeyboardEvdev::DispatchKey(unsigned int key,
}
KeyEvent event(down ? ET_KEY_PRESSED : ET_KEY_RELEASED, key_code, dom_code,
- modifiers_->GetModifierFlags(), dom_key, character, timestamp);
+ modifiers_->GetModifierFlags(), dom_key, timestamp);
event.set_source_device_id(device_id);
if (platform_keycode)
event.set_platform_keycode(platform_keycode);
diff --git a/ui/events/ozone/events_ozone.gyp b/ui/events/ozone/events_ozone.gyp
index 37a3923..3562651 100644
--- a/ui/events/ozone/events_ozone.gyp
+++ b/ui/events/ozone/events_ozone.gyp
@@ -193,8 +193,6 @@
'layout/xkb/xkb_evdev_codes.cc',
'layout/xkb/xkb_evdev_codes.h',
'layout/xkb/xkb_key_code_converter.h',
- 'layout/xkb/xkb_keyboard_code_conversion.cc',
- 'layout/xkb/xkb_keyboard_code_conversion.h',
'layout/xkb/xkb_keyboard_layout_engine.cc',
'layout/xkb/xkb_keyboard_layout_engine.h',
'layout/xkb/xkb_keysym.h',
diff --git a/ui/events/ozone/layout/keyboard_layout_engine.h b/ui/events/ozone/layout/keyboard_layout_engine.h
index c4a96d4..1e15dfa 100644
--- a/ui/events/ozone/layout/keyboard_layout_engine.h
+++ b/ui/events/ozone/layout/keyboard_layout_engine.h
@@ -8,13 +8,13 @@
#include <string>
#include "base/strings/string16.h"
+#include "ui/events/keycodes/dom/dom_key.h"
#include "ui/events/keycodes/keyboard_codes.h"
#include "ui/events/ozone/layout/events_ozone_layout_export.h"
namespace ui {
enum class DomCode;
-enum class DomKey;
// A KeyboardLayoutEngine provides a platform-independent interface to
// key mapping. Key mapping provides a meaning (DomKey and character,
@@ -66,7 +66,6 @@ class EVENTS_OZONE_LAYOUT_EXPORT KeyboardLayoutEngine {
virtual bool Lookup(DomCode dom_code,
int event_flags,
DomKey* dom_key,
- base::char16* character,
KeyboardCode* key_code,
uint32* platform_keycode) const = 0;
};
diff --git a/ui/events/ozone/layout/layout_util.h b/ui/events/ozone/layout/layout_util.h
index 84d9d1d..5a2ba52 100644
--- a/ui/events/ozone/layout/layout_util.h
+++ b/ui/events/ozone/layout/layout_util.h
@@ -8,13 +8,12 @@
// TODO(kpschoedel): consider moving this out of Ozone.
#include "base/strings/string16.h"
+#include "ui/events/keycodes/dom/dom_key.h"
#include "ui/events/keycodes/keyboard_codes.h"
#include "ui/events/ozone/layout/events_ozone_layout_export.h"
namespace ui {
-enum class DomKey;
-
// Returns the ui::EventFlags value associated with a modifier key,
// or 0 (EF_NONE) if the key is not a modifier.
EVENTS_OZONE_LAYOUT_EXPORT int ModifierDomKeyToEventFlag(DomKey key);
diff --git a/ui/events/ozone/layout/no/no_keyboard_layout_engine.cc b/ui/events/ozone/layout/no/no_keyboard_layout_engine.cc
index 74721a1..aad89ad 100644
--- a/ui/events/ozone/layout/no/no_keyboard_layout_engine.cc
+++ b/ui/events/ozone/layout/no/no_keyboard_layout_engine.cc
@@ -26,7 +26,6 @@ bool NoKeyboardLayoutEngine::UsesAltGr() const {
bool NoKeyboardLayoutEngine::Lookup(DomCode dom_code,
int flags,
DomKey* dom_key,
- base::char16* character,
KeyboardCode* key_code,
uint32* platform_keycode) const {
return false;
diff --git a/ui/events/ozone/layout/no/no_keyboard_layout_engine.h b/ui/events/ozone/layout/no/no_keyboard_layout_engine.h
index 00cbda9..8b6a627 100644
--- a/ui/events/ozone/layout/no/no_keyboard_layout_engine.h
+++ b/ui/events/ozone/layout/no/no_keyboard_layout_engine.h
@@ -24,7 +24,6 @@ class EVENTS_OZONE_LAYOUT_EXPORT NoKeyboardLayoutEngine
bool Lookup(DomCode dom_code,
int flags,
DomKey* dom_key,
- base::char16* character,
KeyboardCode* key_code,
uint32* platform_keycode) const override;
};
diff --git a/ui/events/ozone/layout/stub/stub_keyboard_layout_engine.cc b/ui/events/ozone/layout/stub/stub_keyboard_layout_engine.cc
index 83310a7..a1e898b 100644
--- a/ui/events/ozone/layout/stub/stub_keyboard_layout_engine.cc
+++ b/ui/events/ozone/layout/stub/stub_keyboard_layout_engine.cc
@@ -41,11 +41,9 @@ bool StubKeyboardLayoutEngine::UsesAltGr() const {
bool StubKeyboardLayoutEngine::Lookup(DomCode dom_code,
int flags,
DomKey* out_dom_key,
- base::char16* out_character,
KeyboardCode* out_key_code,
uint32* platform_keycode) const {
- return DomCodeToUsLayoutMeaning(dom_code, flags, out_dom_key, out_character,
- out_key_code);
+ return DomCodeToUsLayoutDomKey(dom_code, flags, out_dom_key, out_key_code);
}
} // namespace ui
diff --git a/ui/events/ozone/layout/stub/stub_keyboard_layout_engine.h b/ui/events/ozone/layout/stub/stub_keyboard_layout_engine.h
index a2d4912..0aa532f 100644
--- a/ui/events/ozone/layout/stub/stub_keyboard_layout_engine.h
+++ b/ui/events/ozone/layout/stub/stub_keyboard_layout_engine.h
@@ -24,7 +24,6 @@ class EVENTS_OZONE_LAYOUT_EXPORT StubKeyboardLayoutEngine
bool Lookup(DomCode dom_code,
int flags,
DomKey* dom_key,
- base::char16* character,
KeyboardCode* key_code,
uint32* platform_keycode) const override;
};
diff --git a/ui/events/ozone/layout/xkb/xkb_keyboard_code_conversion.cc b/ui/events/ozone/layout/xkb/xkb_keyboard_code_conversion.cc
deleted file mode 100644
index 69571c3..0000000
--- a/ui/events/ozone/layout/xkb/xkb_keyboard_code_conversion.cc
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright 2014 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 "ui/events/ozone/layout/xkb/xkb_keyboard_code_conversion.h"
-
-#include "ui/events/keycodes/dom/dom_key.h"
-
-namespace ui {
-
-base::char16 DeadXkbKeySymToCombiningCharacter(xkb_keysym_t keysym) {
- switch (keysym) {
- case XKB_KEY_dead_grave:
- return 0x0300; // combining grave accent
- case XKB_KEY_dead_acute:
- return 0x0301; // combining acute accent
- case XKB_KEY_dead_circumflex:
- return 0x0302; // combining circumflex accent
- case XKB_KEY_dead_tilde:
- return 0x0303; // combining tilde
- case XKB_KEY_dead_macron:
- return 0x0304; // combining macron
- case XKB_KEY_dead_breve:
- return 0x0306; // combining breve
- case XKB_KEY_dead_abovedot:
- return 0x0307; // combining dot above
- case XKB_KEY_dead_diaeresis:
- return 0x0308; // combining diaeresis
- case XKB_KEY_dead_abovering:
- return 0x030A; // combining ring above
- case XKB_KEY_dead_doubleacute:
- return 0x030B; // combining double acute accent
- case XKB_KEY_dead_caron:
- return 0x030C; // combining caron
- case XKB_KEY_dead_cedilla:
- return 0x0327; // combining cedilla
- case XKB_KEY_dead_ogonek:
- return 0x0328; // combining ogonek
- case XKB_KEY_dead_iota:
- return 0x0345; // combining greek ypogegrammeni
- case XKB_KEY_dead_voiced_sound:
- return 0x3099; // combining katakana-hiragana voiced sound mark
- case XKB_KEY_dead_semivoiced_sound:
- return 0x309A; // combining katakana-hiragana semi-voiced sound mark
- case XKB_KEY_dead_belowdot:
- return 0x0323; // combining dot below
- case XKB_KEY_dead_hook:
- return 0x0309; // combining hook above
- case XKB_KEY_dead_horn:
- return 0x031B; // combining horn
- case XKB_KEY_dead_stroke:
- return 0x0338; // combining long solidus overlay
- case XKB_KEY_dead_abovecomma:
- return 0x0313; // combining comma above
- case XKB_KEY_dead_abovereversedcomma:
- return 0x0314; // combining reversed comma above
- case XKB_KEY_dead_doublegrave:
- return 0x030F; // combining double grave accent
- case XKB_KEY_dead_belowring:
- return 0x0325; // combining ring below
- case XKB_KEY_dead_belowmacron:
- return 0x0331; // combining macron below
- case XKB_KEY_dead_belowcircumflex:
- return 0x032D; // combining circumflex accent below
- case XKB_KEY_dead_belowtilde:
- return 0x0330; // combining tilde below
- case XKB_KEY_dead_belowbreve:
- return 0x032E; // combining breve below
- case XKB_KEY_dead_belowdiaeresis:
- return 0x0324; // combining diaeresis below
- case XKB_KEY_dead_invertedbreve:
- return 0x0311; // combining inverted breve
- case XKB_KEY_dead_belowcomma:
- return 0x0326; // combining comma below
- case XKB_KEY_dead_currency:
- return 0x00A4; // currency sign
- case XKB_KEY_dead_greek:
- return 0x037E; // greek question mark
- default:
- return 0;
- }
-}
-
-} // namespace ui
diff --git a/ui/events/ozone/layout/xkb/xkb_keyboard_code_conversion.h b/ui/events/ozone/layout/xkb/xkb_keyboard_code_conversion.h
deleted file mode 100644
index 0fd5252..0000000
--- a/ui/events/ozone/layout/xkb/xkb_keyboard_code_conversion.h
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2014 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.
-
-#ifndef UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEYBOARD_CODE_CONVERSION_H_
-#define UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEYBOARD_CODE_CONVERSION_H_
-
-// TODO(kpschoedel): move this file out of Ozone so that it can be used to
-// determine DomKey for desktop X11, OR switch desktop X11 to use the Ozone
-// keyboard layout interface.
-
-#include <xkbcommon/xkbcommon.h>
-
-#include "base/strings/string16.h"
-#include "ui/events/keycodes/keyboard_codes.h"
-
-namespace ui {
-
-enum class DomKey;
-
-// Returns the dead key combining character associated with an xkb_keysym_t,
-// or 0 if the keysym is not recognized.
-base::char16 DeadXkbKeySymToCombiningCharacter(xkb_keysym_t keysym);
-
-} // namespace ui
-
-#endif // UI_EVENTS_OZONE_LAYOUT_XKB_XKB_KEYBOARD_CODE_CONVERSION_H_
diff --git a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc
index 3e393dc8..5307f73 100644
--- a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc
+++ b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc
@@ -19,7 +19,6 @@
#include "ui/events/keycodes/dom/keycode_converter.h"
#include "ui/events/keycodes/keyboard_code_conversion.h"
#include "ui/events/keycodes/keyboard_code_conversion_xkb.h"
-#include "ui/events/ozone/layout/xkb/xkb_keyboard_code_conversion.h"
namespace ui {
@@ -716,9 +715,8 @@ bool XkbKeyboardLayoutEngine::UsesAltGr() const {
bool XkbKeyboardLayoutEngine::Lookup(DomCode dom_code,
int flags,
DomKey* dom_key,
- base::char16* character,
KeyboardCode* key_code,
- uint32* platform_keycode) const {
+ uint32_t* platform_keycode) const {
if (dom_code == DomCode::NONE)
return false;
// Convert DOM physical key to XKB representation.
@@ -732,30 +730,26 @@ bool XkbKeyboardLayoutEngine::Lookup(DomCode dom_code,
xkb_mod_mask_t xkb_flags = EventFlagsToXkbFlags(flags);
// Obtain keysym and character.
xkb_keysym_t xkb_keysym;
- if (!XkbLookup(xkb_keycode, xkb_flags, &xkb_keysym, character))
+ uint32_t character = 0;
+ if (!XkbLookup(xkb_keycode, xkb_flags, &xkb_keysym, &character))
return false;
*platform_keycode = xkb_keysym;
// Classify the keysym and convert to DOM and VKEY representations.
*dom_key = NonPrintableXKeySymToDomKey(xkb_keysym);
if (*dom_key == DomKey::NONE) {
- *dom_key = CharacterToDomKey(*character);
- *key_code = AlphanumericKeyboardCode(*character);
+ *dom_key = DomKey::FromCharacter(character);
+ *key_code = AlphanumericKeyboardCode(character);
if (*key_code == VKEY_UNKNOWN) {
*key_code = DifficultKeyboardCode(dom_code, flags, xkb_keycode, xkb_flags,
- xkb_keysym, *dom_key, *character);
- if (*key_code == VKEY_UNKNOWN) {
+ xkb_keysym, character);
+ if (*key_code == VKEY_UNKNOWN)
*key_code = LocatedToNonLocatedKeyboardCode(
DomCodeToUsLayoutKeyboardCode(dom_code));
- }
}
// If the Control key is down, only allow ASCII control characters to be
// returned, regardless of the key layout. crbug.com/450849
- if ((flags & EF_CONTROL_DOWN) && (*character >= 0x20))
- *character = 0;
- } else if (*dom_key == DomKey::DEAD) {
- *character = DeadXkbKeySymToCombiningCharacter(xkb_keysym);
- *key_code = LocatedToNonLocatedKeyboardCode(
- DomCodeToUsLayoutKeyboardCode(dom_code));
+ if ((flags & EF_CONTROL_DOWN) && (character >= 0x20))
+ *dom_key = DomKey::UNIDENTIFIED;
} else {
*key_code = NonPrintableDomKeyToKeyboardCode(*dom_key);
if (*key_code == VKEY_UNKNOWN) {
@@ -815,7 +809,7 @@ xkb_mod_mask_t XkbKeyboardLayoutEngine::EventFlagsToXkbFlags(
bool XkbKeyboardLayoutEngine::XkbLookup(xkb_keycode_t xkb_keycode,
xkb_mod_mask_t xkb_flags,
xkb_keysym_t* xkb_keysym,
- base::char16* character) const {
+ uint32_t* character) const {
if (!xkb_state_) {
LOG(ERROR) << "No current XKB state";
return false;
@@ -824,9 +818,9 @@ bool XkbKeyboardLayoutEngine::XkbLookup(xkb_keycode_t xkb_keycode,
*xkb_keysym = xkb_state_key_get_one_sym(xkb_state_.get(), xkb_keycode);
if (*xkb_keysym == XKB_KEY_NoSymbol)
return false;
- uint32_t c = xkb_state_key_get_utf32(xkb_state_.get(), xkb_keycode);
- DLOG_IF(ERROR, c != (c & 0xFFFF)) << "Non-BMP character:" << c;
- *character = static_cast<base::char16>(c);
+ *character = xkb_state_key_get_utf32(xkb_state_.get(), xkb_keycode);
+ DLOG_IF(ERROR, *character != (*character & 0xFFFF))
+ << "Non-BMP character:" << *character;
return true;
}
@@ -836,19 +830,18 @@ KeyboardCode XkbKeyboardLayoutEngine::DifficultKeyboardCode(
xkb_keycode_t xkb_keycode,
xkb_mod_mask_t xkb_flags,
xkb_keysym_t xkb_keysym,
- DomKey dom_key,
base::char16 character) const {
// Get the layout interpretation without modifiers, so that
// e.g. Ctrl+D correctly generates VKEY_D.
xkb_keysym_t plain_keysym;
- base::char16 plain_character;
+ uint32_t plain_character;
if (!XkbLookup(xkb_keycode, 0, &plain_keysym, &plain_character))
return VKEY_UNKNOWN;
// If the plain key is non-printable, that determines the VKEY.
DomKey plain_key = NonPrintableXKeySymToDomKey(plain_keysym);
if (plain_key != ui::DomKey::NONE)
- return NonPrintableDomKeyToKeyboardCode(dom_key);
+ return NonPrintableDomKeyToKeyboardCode(plain_key);
// Plain ASCII letters and digits map directly to VKEY values.
KeyboardCode key_code = AlphanumericKeyboardCode(plain_character);
@@ -911,7 +904,7 @@ base::char16 XkbKeyboardLayoutEngine::XkbSubCharacter(
if (flags == base_flags)
return base_character;
xkb_keysym_t keysym;
- base::char16 character = 0;
+ uint32_t character = 0;
if (!XkbLookup(xkb_keycode, flags, &keysym, &character))
character = kNone;
return character;
diff --git a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.h b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.h
index 89729a0..ccc8d65 100644
--- a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.h
+++ b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.h
@@ -37,7 +37,6 @@ class EVENTS_OZONE_LAYOUT_EXPORT XkbKeyboardLayoutEngine
bool Lookup(DomCode dom_code,
int flags,
DomKey* dom_key,
- base::char16* character,
KeyboardCode* key_code,
uint32* platform_keycode) const override;
@@ -59,13 +58,12 @@ class EVENTS_OZONE_LAYOUT_EXPORT XkbKeyboardLayoutEngine
// Determines the Windows-based KeyboardCode (VKEY) for a character key,
// accounting for non-US layouts. May return VKEY_UNKNOWN, in which case the
// caller should, as a last resort, obtain a KeyboardCode using
- // |DomCodeToUsLayoutMeaning()|.
+ // |DomCodeToUsLayoutDomKey()|.
KeyboardCode DifficultKeyboardCode(DomCode dom_code,
int ui_flags,
xkb_keycode_t xkb_keycode,
xkb_mod_mask_t xkb_flags,
xkb_keysym_t xkb_keysym,
- DomKey dom_key,
base::char16 character) const;
// Maps DomCode to xkb_keycode_t.
@@ -89,7 +87,7 @@ class EVENTS_OZONE_LAYOUT_EXPORT XkbKeyboardLayoutEngine
virtual bool XkbLookup(xkb_keycode_t xkb_keycode,
xkb_mod_mask_t xkb_flags,
xkb_keysym_t* xkb_keysym,
- base::char16* character) const;
+ uint32_t* character) const;
// Helper for difficult VKEY lookup. If |ui_flags| matches |base_flags|,
// returns |base_character|; otherwise returns the XKB character for
diff --git a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc
index 6701beb..17ae1d8 100644
--- a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc
+++ b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc
@@ -85,13 +85,12 @@ class VkTestXkbKeyboardLayoutEngine : public XkbKeyboardLayoutEngine {
base::char16 character) const {
KeyboardCode key_code = DifficultKeyboardCode(
dom_code, flags, key_code_converter_.DomCodeToXkbKeyCode(dom_code),
- flags, CharacterToKeySym(character), DomKey::CHARACTER, character);
+ flags, CharacterToKeySym(character), character);
if (key_code == VKEY_UNKNOWN) {
DomKey dummy_dom_key;
- base::char16 dummy_character;
// If this fails, key_code remains VKEY_UNKNOWN.
- ignore_result(DomCodeToUsLayoutMeaning(dom_code, EF_NONE, &dummy_dom_key,
- &dummy_character, &key_code));
+ ignore_result(DomCodeToUsLayoutDomKey(dom_code, EF_NONE, &dummy_dom_key,
+ &key_code));
}
return key_code;
}
@@ -100,7 +99,7 @@ class VkTestXkbKeyboardLayoutEngine : public XkbKeyboardLayoutEngine {
bool XkbLookup(xkb_keycode_t xkb_keycode,
xkb_mod_mask_t xkb_flags,
xkb_keysym_t* xkb_keysym,
- base::char16* character) const override {
+ uint32_t* character) const override {
switch (entry_type_) {
case EntryType::NONE:
break;
@@ -817,11 +816,10 @@ TEST_F(XkbLayoutEngineVkTest, KeyboardCodeForNonPrintable) {
SCOPED_TRACE(static_cast<int>(e.test.dom_code));
layout_engine_->SetEntry(&e.test);
DomKey dom_key = DomKey::NONE;
- base::char16 character = 0;
KeyboardCode key_code = VKEY_UNKNOWN;
uint32_t keysym;
EXPECT_TRUE(layout_engine_->Lookup(e.test.dom_code, EF_NONE, &dom_key,
- &character, &key_code, &keysym));
+ &key_code, &keysym));
EXPECT_EQ(e.test.keysym, keysym);
EXPECT_EQ(e.key_code, key_code);
}