blob: dd150942b771df1fab75e72512bac3d28ded5a6b [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 keyboard (Caps/Num) lock states.
enum LockStates {
LOCK_STATES_CAPSLOCK = 1;
LOCK_STATES_NUMLOCK = 2;
}
// True for key press events, and false for key release.
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;
// The keyboard lock states.
optional uint32 lock_states = 4 [default = 0];
}
// Text input event for input method different from physical keyboards,
// including software keyboard, gesture typing, voice input, etc.
message TextEvent {
// Unicode sequence for the event in UTF-8.
optional string text = 1;
}
// 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 button event.
optional MouseButton button = 5;
optional bool button_down = 6;
// Mouse wheel information.
// These values encode the number of pixels and 'ticks' of movement that
// would result from the wheel event on the client system.
optional float wheel_delta_x = 7;
optional float wheel_delta_y = 8;
optional float wheel_ticks_x = 9;
optional float wheel_ticks_y = 10;
// Mouse movement information. Provided only when mouse lock is engaged.
optional int32 delta_x = 11;
optional int32 delta_y = 12;
}
// 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;
}