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

Side by Side Diff: ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc

Issue 1559163002: Clean up event flags a bit: (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Compile fix Created 4 years, 11 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/layout/xkb/xkb_keyboard_layout_engine.h" 5 #include "ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <xkbcommon/xkbcommon-names.h> 8 #include <xkbcommon/xkbcommon-names.h>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 782 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 if (keymap) 793 if (keymap)
794 SetKeymap(keymap); 794 SetKeymap(keymap);
795 } 795 }
796 796
797 void XkbKeyboardLayoutEngine::SetKeymap(xkb_keymap* keymap) { 797 void XkbKeyboardLayoutEngine::SetKeymap(xkb_keymap* keymap) {
798 xkb_state_.reset(xkb_state_new(keymap)); 798 xkb_state_.reset(xkb_state_new(keymap));
799 // Update flag map. 799 // Update flag map.
800 static const struct { 800 static const struct {
801 int ui_flag; 801 int ui_flag;
802 const char* xkb_name; 802 const char* xkb_name;
803 } flags[] = {{ui::EF_CONTROL_DOWN, XKB_MOD_NAME_CTRL}, 803 } flags[] = {{ui::EF_SHIFT_DOWN, XKB_MOD_NAME_SHIFT},
804 {ui::EF_SHIFT_DOWN, XKB_MOD_NAME_SHIFT}, 804 {ui::EF_CONTROL_DOWN, XKB_MOD_NAME_CTRL},
805 {ui::EF_ALT_DOWN, XKB_MOD_NAME_ALT}, 805 {ui::EF_ALT_DOWN, XKB_MOD_NAME_ALT},
806 {ui::EF_CAPS_LOCK_DOWN, XKB_MOD_NAME_CAPS},
807 {ui::EF_COMMAND_DOWN, XKB_MOD_NAME_LOGO}, 806 {ui::EF_COMMAND_DOWN, XKB_MOD_NAME_LOGO},
807 {ui::EF_ALTGR_DOWN, "Mod5"},
808 {ui::EF_MOD3_DOWN, "Mod3"}, 808 {ui::EF_MOD3_DOWN, "Mod3"},
809 {ui::EF_ALTGR_DOWN, "Mod5"}}; 809 {ui::EF_CAPS_LOCK_ON, XKB_MOD_NAME_CAPS}};
810 xkb_flag_map_.clear(); 810 xkb_flag_map_.clear();
811 xkb_flag_map_.resize(arraysize(flags)); 811 xkb_flag_map_.resize(arraysize(flags));
812 for (size_t i = 0; i < arraysize(flags); ++i) { 812 for (size_t i = 0; i < arraysize(flags); ++i) {
813 xkb_mod_index_t index = xkb_keymap_mod_get_index(keymap, flags[i].xkb_name); 813 xkb_mod_index_t index = xkb_keymap_mod_get_index(keymap, flags[i].xkb_name);
814 if (index == XKB_MOD_INVALID) { 814 if (index == XKB_MOD_INVALID) {
815 DVLOG(3) << "XKB keyboard layout does not contain " << flags[i].xkb_name; 815 DVLOG(3) << "XKB keyboard layout does not contain " << flags[i].xkb_name;
816 } else { 816 } else {
817 xkb_mod_mask_t flag = static_cast<xkb_mod_mask_t>(1) << index; 817 xkb_mod_mask_t flag = static_cast<xkb_mod_mask_t>(1) << index;
818 XkbFlagMapEntry e = {flags[i].ui_flag, flag}; 818 XkbFlagMapEntry e = {flags[i].ui_flag, flag};
819 xkb_flag_map_.push_back(e); 819 xkb_flag_map_.push_back(e);
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
956 close_index = layout_name.size(); 956 close_index = layout_name.size();
957 *layout_variant = layout_name.substr(parentheses_index + 1, 957 *layout_variant = layout_name.substr(parentheses_index + 1,
958 close_index - parentheses_index - 1); 958 close_index - parentheses_index - 1);
959 } else if (dash_index != std::string::npos) { 959 } else if (dash_index != std::string::npos) {
960 *layout_id = layout_name.substr(0, dash_index); 960 *layout_id = layout_name.substr(0, dash_index);
961 *layout_variant = layout_name.substr(dash_index + 1); 961 *layout_variant = layout_name.substr(dash_index + 1);
962 } 962 }
963 } 963 }
964 964
965 } // namespace ui 965 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698