Commit 11b8617a authored by kpschoedel's avatar kpschoedel Committed by Commit bot

ozone: evdev: Add DOM3 code string to Ozone evdev key events.

Have ui::KeycodeConverter::NativeKeycode use evdev codes when
compiled appropriately.

TEST=Manually tested on link_freon.
BUG=362698

Review URL: https://codereview.chromium.org/488123004

Cr-Commit-Position: refs/heads/master@{#292251}
parent 8b28f696
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "base/message_loop/message_loop.h" #include "base/message_loop/message_loop.h"
#include "ui/events/event.h" #include "ui/events/event.h"
#include "ui/events/keycodes/dom4/keycode_converter.h"
#include "ui/events/keycodes/keyboard_codes.h" #include "ui/events/keycodes/keyboard_codes.h"
#include "ui/events/ozone/evdev/event_modifiers_evdev.h" #include "ui/events/ozone/evdev/event_modifiers_evdev.h"
...@@ -16,6 +17,8 @@ namespace ui { ...@@ -16,6 +17,8 @@ namespace ui {
namespace { namespace {
const int kXkbKeycodeOffset = 8;
ui::KeyboardCode KeyboardCodeFromButton(unsigned int code) { ui::KeyboardCode KeyboardCodeFromButton(unsigned int code) {
static const ui::KeyboardCode kLinuxBaseKeyMap[] = { static const ui::KeyboardCode kLinuxBaseKeyMap[] = {
ui::VKEY_UNKNOWN, // KEY_RESERVED ui::VKEY_UNKNOWN, // KEY_RESERVED
...@@ -262,7 +265,11 @@ void KeyEventConverterEvdev::ConvertKeyEvent(int key, int value) { ...@@ -262,7 +265,11 @@ void KeyEventConverterEvdev::ConvertKeyEvent(int key, int value) {
int flags = modifiers_->GetModifierFlags(); int flags = modifiers_->GetModifierFlags();
KeyEvent key_event(down ? ET_KEY_PRESSED : ET_KEY_RELEASED, code, flags); KeyEvent key_event(
down ? ET_KEY_PRESSED : ET_KEY_RELEASED,
code,
KeycodeConverter::NativeKeycodeToCode(key + kXkbKeycodeOffset),
flags);
DispatchEventToCallback(&key_event); DispatchEventToCallback(&key_event);
} }
......
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
'../../../base/base.gyp:base', '../../../base/base.gyp:base',
'../../gfx/gfx.gyp:gfx', '../../gfx/gfx.gyp:gfx',
'../../ozone/ozone.gyp:ozone_base', '../../ozone/ozone.gyp:ozone_base',
'../events.gyp:dom4_keycode_converter',
'../platform/events_platform.gyp:events_platform', '../platform/events_platform.gyp:events_platform',
'events_ozone', 'events_ozone',
], ],
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment