key_code_conv.cc revision 4e180b6a0b4720a9b8e9e959a882386f690f08ff
168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// found in the LICENSE file. 468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "chrome/test/remoting/key_code_conv.h" 668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "chrome/test/remoting/key_code_map.h" 868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)namespace remoting { 1068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 1168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)ui::KeyboardCode InvalidKeyboardCode() { 1268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) return key_code_map[0].vkey_code; 1368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)} 1468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 1568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)void GetKeyValuesFromChar( 1668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) char c, const char** code, ui::KeyboardCode* vkey_code, bool* shift) { 1768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) *code = NULL; 1868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) *vkey_code = InvalidKeyboardCode(); 1968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 2068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) for (size_t i = 0; i < arraysize(key_code_map); ++i) { 2168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) if (key_code_map[i].lower_char == c) { 2268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) *code = key_code_map[i].code; 2368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) *vkey_code = key_code_map[i].vkey_code; 2468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) *shift = false; 2568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) return; 2668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) } 2768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 2868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) if (key_code_map[i].upper_char == c) { 2968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) *code = key_code_map[i].code; 3068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) *vkey_code = key_code_map[i].vkey_code; 3168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) *shift = true; 3268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) } 3368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) } 3468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)} 3568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 3668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)} // namespace remoting 37