// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_EVENTS_EVENT_MODIFIERS_H_ #define UI_EVENTS_EVENT_MODIFIERS_H_ #include "ui/events/events_export.h" namespace ui { enum { … }; // Modifier key state for Evdev. // // Chrome relies on the underlying OS to interpret modifier keys such as Shift, // Ctrl, and Alt. The Linux input subsystem does not assign any special meaning // to these keys, so this work must happen at a higher layer (normally X11 or // the console driver). When using evdev directly, we must do it ourselves. // // The modifier state is shared between all input devices connected to the // system. This is to support actions such as Shift-Clicking that use multiple // devices. // // Normally a modifier is set if any of the keys or buttons assigned to it are // currently pressed. However some keys toggle a persistent "lock" for the // modifier instead, such as CapsLock. If a modifier is "locked" then its state // is inverted until it is unlocked. class EVENTS_EXPORT EventModifiers { … }; } // namespace ui #endif // UI_EVENTS_EVENT_MODIFIERS_H_