Chromium Code Reviews| Index: remoting/client/input/keyboard_input_strategy.h |
| diff --git a/remoting/client/input/keyboard_input_strategy.h b/remoting/client/input/keyboard_input_strategy.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..9f91c06023ce8a9c757175decd75406fd3dc5c6f |
| --- /dev/null |
| +++ b/remoting/client/input/keyboard_input_strategy.h |
| @@ -0,0 +1,39 @@ |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef REMOTING_CLIENT_INPUT_KEYBOARD_INPUT_STRATEGY_H_ |
| +#define REMOTING_CLIENT_INPUT_KEYBOARD_INPUT_STRATEGY_H_ |
| + |
| +#include <queue> |
| +#include <string> |
| + |
| +namespace remoting { |
| + |
| +#define ALT_RIGHT 0x01 |
|
nicholss
2017/05/12 18:54:16
These are not used yet.
joedow
2017/05/12 19:13:17
drive-by: other native code uses ui::DomCode::ALT_
nicholss
2017/05/12 20:45:58
those are not what I want. I am making a bit mask
|
| +#define ALT_LEFT 0x02 |
| +#define SHIFT 0x04 |
| +#define CTRL 0x08 |
| +#define CMD 0x10 |
| + |
| +struct KeyEvent { |
|
joedow
2017/05/12 19:13:17
Could you use the KeyEvent struct in the protobuf
nicholss
2017/05/12 20:45:57
Maybe. the side-effects of the fields in the prot
|
| + int keycode; |
| + bool keydown; |
| +}; |
| + |
| +// This is an interface used by |KeyboardInterpreter| to customize how keyboard |
| +// input is handled. |
| +class KeyboardInputStrategy { |
| + public: |
| + virtual ~KeyboardInputStrategy() {} |
| + |
| + // Convert a string to a |KeyEventList|. |
| + virtual std::queue<KeyEvent> ConvertTextEvent(const std::string& text, |
| + uint8_t modifiers) = 0; |
| + |
| + // Convert a delete to a |KeyEventList|. |
| + virtual std::queue<KeyEvent> ConvertDeleteEvent(uint8_t modifiers) = 0; |
| +}; |
| + |
| +} // namespace remoting |
| +#endif // REMOTING_CLIENT_INPUT_KEYBOARD_INPUT_STRATEGY_H_ |