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 |