blob: e0a469dac8d4b3aee43a6f07e585727d8d48d74d [file] [log] [blame]
// Copyright (c) 2012 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.
// Protocol for event messages.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package remoting.protocol;
// Defines a keyboard event.
message KeyEvent {
// The Windows Virtual Key code.
optional int32 keycode = 1;
optional bool pressed = 2;
// The USB key code.
// The upper 16-bits are the USB Page (0x07 for key events).
// The lower 16-bits are the USB Usage ID (which identifies the actual key).
optional uint32 usb_keycode = 3;
}
// Defines a mouse event message on the event channel.
message MouseEvent {
enum MouseButton {
BUTTON_UNDEFINED = 0;
BUTTON_LEFT = 1;
BUTTON_MIDDLE = 2;
BUTTON_RIGHT = 3;
BUTTON_MAX = 4;
}
// Mouse position information.
optional int32 x = 1;
optional int32 y = 2;
// Mouse wheel information.
// These values encode the number of wheel 'ticks' (sometimes called
// 'clicks' although 'ticks' is the most common cross-platform term).
// Additional fields may be added later to support high-resolution devices.
optional int32 wheel_offset_x = 3;
optional int32 wheel_offset_y = 4;
// Mouse button event.
optional MouseButton button = 5;
optional bool button_down = 6;
}
// Defines an event that sends clipboard data between peers.
message ClipboardEvent {
// The MIME type of the data being sent.
optional string mime_type = 1;
// The data being sent.
optional bytes data = 2;
}