diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-02 19:54:58 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-02 19:54:58 +0000 |
commit | 0cc3dfe387313821853e658a6e2fb3b729eac9e5 (patch) | |
tree | 6bdf4d23c62ae78cafc6e7c5a2599cce70dfef22 /app/event_synthesis_gtk.cc | |
parent | 3c70591cc7d0d8cc162c10f7d3ac3b2ac15e4e69 (diff) | |
download | chromium_src-0cc3dfe387313821853e658a6e2fb3b729eac9e5.zip chromium_src-0cc3dfe387313821853e658a6e2fb3b729eac9e5.tar.gz chromium_src-0cc3dfe387313821853e658a6e2fb3b729eac9e5.tar.bz2 |
Revert 58388 - Revert 58215 - Revert 58186 - Move the keyboard files from base/ to app/.
Also moves the associated classes/enums from base:: to app::.
TEST=try bots compile
BUG=NONE
Review URL: http://codereview.chromium.org/3165064
TBR=bryeung@chromium.org
TBR=phajdan.jr@chromium.org
Review URL: http://codereview.chromium.org/3361003
TBR=bryeung@chromium.org
Review URL: http://codereview.chromium.org/3337006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58390 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'app/event_synthesis_gtk.cc')
-rw-r--r-- | app/event_synthesis_gtk.cc | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/app/event_synthesis_gtk.cc b/app/event_synthesis_gtk.cc deleted file mode 100644 index 9163fcc..0000000 --- a/app/event_synthesis_gtk.cc +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright (c) 2010 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 "app/event_synthesis_gtk.h" - -#include "app/keyboard_code_conversion_gtk.h" - -namespace app { - -GdkEvent* SynthesizeKeyEvent(GdkWindow* window, - bool press, guint gdk_key, guint state) { - GdkEvent* event = gdk_event_new(press ? GDK_KEY_PRESS : GDK_KEY_RELEASE); - - event->key.type = press ? GDK_KEY_PRESS : GDK_KEY_RELEASE; - event->key.window = window; - if (window) - g_object_ref(window); - event->key.send_event = false; - - struct timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - event->key.time = ts.tv_sec * 1000 + ts.tv_nsec / 1000000; - - event->key.state = state; - event->key.keyval = gdk_key; - - GdkKeymapKey* keys; - gint n_keys; - if (event->key.keyval != 0 && - gdk_keymap_get_entries_for_keyval(gdk_keymap_get_default(), - event->key.keyval, &keys, &n_keys)) { - event->key.hardware_keycode = keys[0].keycode; - event->key.group = keys[0].group; - g_free(keys); - } - - return event; -} - -void SynthesizeKeyPressEvents(GdkWindow* window, - app::KeyboardCode key, - bool control, bool shift, bool alt, - std::vector<GdkEvent*>* events) { - if (control) - events->push_back( - SynthesizeKeyEvent(window, true, GDK_Control_L, 0)); - - if (shift) { - events->push_back(SynthesizeKeyEvent(window, true, GDK_Shift_L, - control ? GDK_CONTROL_MASK : 0)); - } - - if (alt) { - guint state = (control ? GDK_CONTROL_MASK : 0) | - (shift ? GDK_SHIFT_MASK : 0); - events->push_back( - SynthesizeKeyEvent(window, true, GDK_Alt_L, state)); - } - - // TODO(estade): handle other state flags besides control, shift, alt? - // For example caps lock. - guint state = (control ? GDK_CONTROL_MASK : 0) | - (shift ? GDK_SHIFT_MASK : 0) | - (alt ? GDK_MOD1_MASK : 0); - - guint gdk_key = GdkKeyCodeForWindowsKeyCode(key, shift); - events->push_back(SynthesizeKeyEvent(window, true, gdk_key, state)); - events->push_back(SynthesizeKeyEvent(window, false, gdk_key, state)); - - if (alt) { - guint state = (control ? GDK_CONTROL_MASK : 0) | - (shift ? GDK_SHIFT_MASK : 0) | GDK_MOD1_MASK; - events->push_back( - SynthesizeKeyEvent(window, false, GDK_Alt_L, state)); - } - - if (shift) { - events->push_back( - SynthesizeKeyEvent(window, false, GDK_Shift_L, - (control ? GDK_CONTROL_MASK : 0) | GDK_SHIFT_MASK)); - } - - if (control) { - events->push_back( - SynthesizeKeyEvent(window, false, GDK_Control_L, GDK_CONTROL_MASK)); - } -} - -} // namespace app |