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

Side by Side Diff: ui/events/ozone/evdev/event_modifiers_evdev.cc

Issue 971753006: ozone: evdev: Sync caps lock LED state to evdev (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: s/PLOG/LOG/ for short write. errno is not set in this case Created 5 years, 9 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/events/ozone/evdev/event_modifiers_evdev.h" 5 #include "ui/events/ozone/evdev/event_modifiers_evdev.h"
6 6
7 #include <linux/input.h> 7 #include <linux/input.h>
8 8
9 #include "ui/events/event.h" 9 #include "ui/events/event.h"
10 10
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 48
49 UpdateFlags(modifier); 49 UpdateFlags(modifier);
50 } 50 }
51 51
52 void EventModifiersEvdev::UpdateModifierLock(unsigned int modifier, bool down) { 52 void EventModifiersEvdev::UpdateModifierLock(unsigned int modifier, bool down) {
53 DCHECK_LT(modifier, EVDEV_NUM_MODIFIERS); 53 DCHECK_LT(modifier, EVDEV_NUM_MODIFIERS);
54 54
55 if (down) 55 if (down)
56 modifier_flags_locked_ ^= kEventFlagFromModifiers[modifier]; 56 modifier_flags_locked_ ^= kEventFlagFromModifiers[modifier];
57 57
58 // TODO(spang): Synchronize with the CapsLock LED.
59
60 UpdateFlags(modifier); 58 UpdateFlags(modifier);
61 } 59 }
62 60
63 void EventModifiersEvdev::SetModifierLock(unsigned int modifier, bool locked) { 61 void EventModifiersEvdev::SetModifierLock(unsigned int modifier, bool locked) {
64 DCHECK_LT(modifier, EVDEV_NUM_MODIFIERS); 62 DCHECK_LT(modifier, EVDEV_NUM_MODIFIERS);
65 63
66 if (locked) 64 if (locked)
67 modifier_flags_locked_ |= kEventFlagFromModifiers[modifier]; 65 modifier_flags_locked_ |= kEventFlagFromModifiers[modifier];
68 else 66 else
69 modifier_flags_locked_ &= ~kEventFlagFromModifiers[modifier]; 67 modifier_flags_locked_ &= ~kEventFlagFromModifiers[modifier];
70 68
71 // TODO(spang): Synchronize with the CapsLock LED.
72
73 UpdateFlags(modifier); 69 UpdateFlags(modifier);
74 } 70 }
75 71
76 void EventModifiersEvdev::UpdateFlags(unsigned int modifier) { 72 void EventModifiersEvdev::UpdateFlags(unsigned int modifier) {
77 int mask = kEventFlagFromModifiers[modifier]; 73 int mask = kEventFlagFromModifiers[modifier];
78 bool down = modifiers_down_[modifier]; 74 bool down = modifiers_down_[modifier];
79 bool locked = (modifier_flags_locked_ & mask); 75 bool locked = (modifier_flags_locked_ & mask);
80 if (down != locked) 76 if (down != locked)
81 modifier_flags_ |= mask; 77 modifier_flags_ |= mask;
82 else 78 else
83 modifier_flags_ &= ~mask; 79 modifier_flags_ &= ~mask;
84 } 80 }
85 81
86 int EventModifiersEvdev::GetModifierFlags() { return modifier_flags_; } 82 int EventModifiersEvdev::GetModifierFlags() { return modifier_flags_; }
87 83
88 // static 84 // static
89 int EventModifiersEvdev::GetEventFlagFromModifier(unsigned int modifier) { 85 int EventModifiersEvdev::GetEventFlagFromModifier(unsigned int modifier) {
90 return kEventFlagFromModifiers[modifier]; 86 return kEventFlagFromModifiers[modifier];
91 } 87 }
92 88
93 } // namespace ui 89 } // namespace ui
OLDNEW
« no previous file with comments | « ui/events/ozone/evdev/event_converter_evdev_impl.cc ('k') | ui/events/ozone/evdev/input_controller_evdev.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698