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)#ifndef CHROME_TEST_REMOTING_KEY_CODE_CONV_H_
64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#define CHROME_TEST_REMOTING_KEY_CODE_CONV_H_
768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#include "ui/events/keycodes/keyboard_codes.h"
968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
1068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)namespace remoting {
1168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
1268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// Find out the key(s) that need to be pressed to type the desired character.
1368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// The information can be used to simulate a key press event.
1468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// The information returned includes:
1568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)//   1. The UIEvents (aka: DOM4Events) |code| value as defined in:
1668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)//      http://www.w3.org/TR/uievents/
1768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)//   2. The virtual key code (ui::KeyboardCode)
1868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)//   3. The shift state.
1968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// This function assumes US keyboard layout.
2068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)void GetKeyValuesFromChar(
2168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)    char c, const char** code, ui::KeyboardCode* vkey_code, bool* shift);
2268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
2368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)}  // namespace remoting
2468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#endif  // CHROME_TEST_REMOTING_KEY_CODE_CONV_H_
26