Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1232)

Unified Diff: chrome/browser/ui/ash/event_rewriter.h

Issue 11417144: Use rewriting to make ChromeOS keyboard F<number> keys produce extended keycodes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: chromeboxkeyboard Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/ash/event_rewriter.h
diff --git a/chrome/browser/ui/ash/event_rewriter.h b/chrome/browser/ui/ash/event_rewriter.h
index f35276df188009a5ecdf3480343aa082ec014695..dd49704ac12f8f114e1781fe23b110fe7420e6b6 100644
--- a/chrome/browser/ui/ash/event_rewriter.h
+++ b/chrome/browser/ui/ash/event_rewriter.h
@@ -42,6 +42,7 @@ class EventRewriter : public ash::EventRewriterDelegate,
enum DeviceType {
kDeviceUnknown = 0,
kDeviceAppleKeyboard,
+ kDeviceChromebookKeyboard,
};
EventRewriter();
@@ -66,6 +67,9 @@ class EventRewriter : public ash::EventRewriterDelegate,
void set_xkeyboard_for_testing(chromeos::input_method::XKeyboard* xkeyboard) {
xkeyboard_ = xkeyboard;
}
+ void set_force_external_keyboard_for_testing(bool external_keyboard) {
+ force_external_keyboard_for_testing_ = external_keyboard;
+ }
#endif
// Gets DeviceType from the |device_name|.
@@ -88,6 +92,8 @@ class EventRewriter : public ash::EventRewriterDelegate,
virtual void DeviceRemoved(int device_id) OVERRIDE;
virtual void DeviceKeyPressedOrReleased(int device_id) OVERRIDE;
+ bool EventSourceIsChromebookKeyboard(ui::KeyEvent* event);
Daniel Erat 2012/11/28 22:23:03 nit: const argument and method
danakj 2012/11/29 01:50:54 Done. The argument ends up unusued anyhow, so I re
+
// Updates |*_xkeycode_| in response to a keyboard map change.
void RefreshKeycodes();
// Converts an X key symbol like XK_Control_L to a key code.
@@ -125,6 +131,11 @@ class EventRewriter : public ash::EventRewriterDelegate,
// Returns true when the |event| is rewritten.
bool RewriteBackspaceAndArrowKeys(ui::KeyEvent* event);
+ // When the Search key acts as a function key, it remaps Search+1
+ // through Search+= to F1 through F12. Returns true when the |event| is
+ // rewritten.
+ bool RewriteFunctionKeys(ui::KeyEvent* event);
+
// Rewrites the located |event|.
void RewriteLocatedEvent(ui::LocatedEvent* event);
@@ -153,6 +164,8 @@ class EventRewriter : public ash::EventRewriterDelegate,
int last_device_id_;
#if defined(OS_CHROMEOS)
+ bool force_external_keyboard_for_testing_;
+
// X keycodes corresponding to various keysyms.
unsigned int control_l_xkeycode_;
unsigned int control_r_xkeycode_;
@@ -179,6 +192,41 @@ class EventRewriter : public ash::EventRewriterDelegate,
unsigned int kp_8_xkeycode_;
unsigned int kp_9_xkeycode_;
unsigned int kp_decimal_xkeycode_;
+ unsigned int f1_xkeycode_;
Daniel Erat 2012/11/28 22:23:03 yikes. can this be switched to a single keysym-to
danakj 2012/11/29 01:50:54 Done.
+ unsigned int f2_xkeycode_;
+ unsigned int f3_xkeycode_;
+ unsigned int f4_xkeycode_;
+ unsigned int f5_xkeycode_;
+ unsigned int f6_xkeycode_;
+ unsigned int f7_xkeycode_;
+ unsigned int f8_xkeycode_;
+ unsigned int f9_xkeycode_;
+ unsigned int f10_xkeycode_;
+ unsigned int f11_xkeycode_;
+ unsigned int f12_xkeycode_;
+ unsigned int number1_xkeycode_;
+ unsigned int number2_xkeycode_;
+ unsigned int number3_xkeycode_;
+ unsigned int number4_xkeycode_;
+ unsigned int number5_xkeycode_;
+ unsigned int number6_xkeycode_;
+ unsigned int number7_xkeycode_;
+ unsigned int number8_xkeycode_;
+ unsigned int number9_xkeycode_;
+ unsigned int number0_xkeycode_;
+ unsigned int minus_xkeycode_;
+ unsigned int equal_xkeycode_;
+ unsigned int browser_back_xkeycode_;
+ unsigned int browser_forward_xkeycode_;
+ unsigned int browser_refresh_xkeycode_;
+ unsigned int media_launch_app1_xkeycode_;
+ unsigned int media_launch_app2_xkeycode_;
+ unsigned int brightness_down_xkeycode_;
+ unsigned int brightness_up_xkeycode_;
+ unsigned int volume_mute_xkeycode_;
+ unsigned int volume_down_xkeycode_;
+ unsigned int volume_up_xkeycode_;
+ unsigned int power_xkeycode_;
chromeos::input_method::XKeyboard* xkeyboard_; // for testing.
#endif

Powered by Google App Engine
This is Rietveld 408576698