v0.1.0
This commit is contained in:
@@ -0,0 +1,245 @@
|
||||
syntax = "proto3";
|
||||
|
||||
option csharp_namespace = "WinIPC.Models";
|
||||
|
||||
enum CommandType {
|
||||
UNKNOWN_COMMAND_TYPE = 0;
|
||||
GET_WINDOWS_INFO = 1;
|
||||
GET_SCREENSHOT = 2;
|
||||
GET_PIXEL_COLOR = 3;
|
||||
INPUT_ACTION = 4;
|
||||
}
|
||||
|
||||
message Point {
|
||||
int32 X = 1;
|
||||
int32 Y = 2;
|
||||
}
|
||||
message AreaSize {
|
||||
int32 width = 1;
|
||||
int32 height = 2;
|
||||
}
|
||||
|
||||
message WindowInfo
|
||||
{
|
||||
int32 hwnd = 1;
|
||||
string title = 2;
|
||||
int32 pid = 3;
|
||||
int32 thread_id = 4;
|
||||
bool is_active = 5;
|
||||
Point cursor_position = 6;
|
||||
AreaSize content_size = 7;
|
||||
Point window_position = 8;
|
||||
AreaSize window_size = 9;
|
||||
}
|
||||
|
||||
message WindowsRequest {
|
||||
repeated int32 hwnds = 1;
|
||||
}
|
||||
|
||||
message WindowsResponse {
|
||||
repeated WindowInfo data = 1;
|
||||
}
|
||||
|
||||
message Request {
|
||||
uint32 id = 1;
|
||||
CommandType type = 2;
|
||||
bytes payload = 15;
|
||||
}
|
||||
|
||||
message Response {
|
||||
uint32 id = 1;
|
||||
bool success = 2;
|
||||
string message = 3;
|
||||
bytes payload = 15;
|
||||
}
|
||||
|
||||
message ScreenshotRequest {
|
||||
int32 hwnd = 1;
|
||||
Point crop_position = 2;
|
||||
AreaSize crop_size = 3;
|
||||
}
|
||||
|
||||
message ScreenshotResponse {
|
||||
AreaSize size = 1;
|
||||
bytes data = 2;
|
||||
}
|
||||
|
||||
message PixelRequest {
|
||||
int32 hwnd = 1;
|
||||
Point pixel_position = 2;
|
||||
}
|
||||
|
||||
message PixelResponse {
|
||||
uint32 rgb_color = 1;
|
||||
}
|
||||
|
||||
enum InputType {
|
||||
UNKNOWN_INPUT_TYPE = 0;
|
||||
KEY_UP = 1;
|
||||
KEY_DOWN = 2;
|
||||
MOUSE_SCROLL = 3;
|
||||
MOUSE_MOVE_TO = 4;
|
||||
}
|
||||
|
||||
message InputAction {
|
||||
InputType type = 1;
|
||||
uint32 delay_ms = 2;
|
||||
bytes payload = 15;
|
||||
}
|
||||
|
||||
message ButtonInput {
|
||||
Button button = 1;
|
||||
}
|
||||
|
||||
message ScrollInput {
|
||||
int32 offset = 1;
|
||||
}
|
||||
|
||||
message MouseMoveInput {
|
||||
Point position = 1;
|
||||
}
|
||||
|
||||
message InputRequest {
|
||||
int32 hwnd = 1;
|
||||
repeated InputAction actions = 2;
|
||||
}
|
||||
|
||||
message InputResponse {
|
||||
int32 count = 1;
|
||||
}
|
||||
|
||||
enum Button {
|
||||
UNKNOWN_BUTTON = 0;
|
||||
|
||||
EXTENDED_KEY_FLAG = 32768; // 0x8000
|
||||
MOUSE_EXTRA_FLAG = 128; // 0x0080
|
||||
MOUSE_KEY_FLAG = 16384; // 0x4000
|
||||
|
||||
MOUSE_LEFT = 16386; // MOUSE_KEY_FLAG | 0x0002
|
||||
MOUSE_RIGHT = 16392; // MOUSE_KEY_FLAG | 0x0008
|
||||
MOUSE_MIDDLE = 16416; // MOUSE_KEY_FLAG | 0x0020
|
||||
MOUSE_EXTRA1 = 16513; // MOUSE_KEY_FLAG | MOUSE_EXTRA_FLAG | 0x01
|
||||
MOUSE_EXTRA2 = 16514; // MOUSE_KEY_FLAG | MOUSE_EXTRA_FLAG | 0x02
|
||||
|
||||
// --- Toggle Keys ---
|
||||
CAPS_LOCK = 20; // 0x14
|
||||
NUM_LOCK = 144; // 0x90
|
||||
SCROLL_LOCK = 145; // 0x91
|
||||
|
||||
// --- Main Control Keys ---
|
||||
BACKSPACE = 8; // 0x08
|
||||
TAB = 9; // 0x09
|
||||
ENTER = 13; // 0x0D
|
||||
PAUSE = 19; // 0x13
|
||||
ESCAPE = 27; // 0x1B
|
||||
SPACE = 32; // 0x20
|
||||
|
||||
// --- Navigation and Editing Keys ---
|
||||
PAGE_UP = 32793; // EXTENDED_KEY_FLAG | 0x21
|
||||
PAGE_DOWN = 32794; // EXTENDED_KEY_FLAG | 0x22
|
||||
END = 32795; // EXTENDED_KEY_FLAG | 0x23
|
||||
HOME = 32796; // EXTENDED_KEY_FLAG | 0x24
|
||||
LEFT = 32797; // EXTENDED_KEY_FLAG | 0x25
|
||||
UP = 32798; // EXTENDED_KEY_FLAG | 0x26
|
||||
RIGHT = 32799; // EXTENDED_KEY_FLAG | 0x27
|
||||
DOWN = 32800; // EXTENDED_KEY_FLAG | 0x28
|
||||
PRINT_SCREEN = 32808; // EXTENDED_KEY_FLAG | 0x2C
|
||||
INSERT = 32813; // EXTENDED_KEY_FLAG | 0x2D
|
||||
DELETE = 32814; // EXTENDED_KEY_FLAG | 0x2E
|
||||
|
||||
// --- Main Alphanumeric Keys ---
|
||||
KEY_0 = 48; // 0x30
|
||||
KEY_1 = 49; // 0x31
|
||||
KEY_2 = 50; // 0x32
|
||||
KEY_3 = 51; // 0x33
|
||||
KEY_4 = 52; // 0x34
|
||||
KEY_5 = 53; // 0x35
|
||||
KEY_6 = 54; // 0x36
|
||||
KEY_7 = 55; // 0x37
|
||||
KEY_8 = 56; // 0x38
|
||||
KEY_9 = 57; // 0x39
|
||||
KEY_A = 65; // 0x41
|
||||
KEY_B = 66; // 0x42
|
||||
KEY_C = 67; // 0x43
|
||||
KEY_D = 68; // 0x44
|
||||
KEY_E = 69; // 0x45
|
||||
KEY_F = 70; // 0x46
|
||||
KEY_G = 71; // 0x47
|
||||
KEY_H = 72; // 0x48
|
||||
KEY_I = 73; // 0x49
|
||||
KEY_J = 74; // 0x4A
|
||||
KEY_K = 75; // 0x4B
|
||||
KEY_L = 76; // 0x4C
|
||||
KEY_M = 77; // 0x4D
|
||||
KEY_N = 78; // 0x4E
|
||||
KEY_O = 79; // 0x4F
|
||||
KEY_P = 80; // 0x50
|
||||
KEY_Q = 81; // 0x51
|
||||
KEY_R = 82; // 0x52
|
||||
KEY_S = 83; // 0x53
|
||||
KEY_T = 84; // 0x54
|
||||
KEY_U = 85; // 0x55
|
||||
KEY_V = 86; // 0x56
|
||||
KEY_W = 87; // 0x57
|
||||
KEY_X = 88; // 0x58
|
||||
KEY_Y = 89; // 0x59
|
||||
KEY_Z = 90; // 0x5A
|
||||
|
||||
// --- Windows Keys ---
|
||||
L_WIN = 32859; // EXTENDED_KEY_FLAG | 0x5B
|
||||
R_WIN = 32860; // EXTENDED_KEY_FLAG | 0x5C
|
||||
APPS = 32861; // EXTENDED_KEY_FLAG | 0x5D
|
||||
|
||||
// --- Numeric Keypad (NumPad) ---
|
||||
NUM_0 = 32864; // EXTENDED_KEY_FLAG | 0x60
|
||||
NUM_1 = 32865; // EXTENDED_KEY_FLAG | 0x61
|
||||
NUM_2 = 32866; // EXTENDED_KEY_FLAG | 0x62
|
||||
NUM_3 = 32867; // EXTENDED_KEY_FLAG | 0x63
|
||||
NUM_4 = 32868; // EXTENDED_KEY_FLAG | 0x64
|
||||
NUM_5 = 32869; // EXTENDED_KEY_FLAG | 0x65
|
||||
NUM_6 = 32870; // EXTENDED_KEY_FLAG | 0x66
|
||||
NUM_7 = 32871; // EXTENDED_KEY_FLAG | 0x67
|
||||
NUM_8 = 32872; // EXTENDED_KEY_FLAG | 0x68
|
||||
NUM_9 = 32873; // EXTENDED_KEY_FLAG | 0x69
|
||||
NUM_MUL = 106; // 0x6A
|
||||
NUM_ADD = 107; // 0x6B
|
||||
NUM_SUB = 109; // 0x6D
|
||||
NUM_DEC = 32878; // EXTENDED_KEY_FLAG | 0x6E
|
||||
NUM_DIV = 32879; // EXTENDED_KEY_FLAG | 0x6F
|
||||
NUM_ENTER = 32781; // EXTENDED_KEY_FLAG | ENTER
|
||||
|
||||
// --- Function Keys ---
|
||||
F1 = 112; // 0x70
|
||||
F2 = 113; // 0x71
|
||||
F3 = 114; // 0x72
|
||||
F4 = 115; // 0x73
|
||||
F5 = 116; // 0x74
|
||||
F6 = 117; // 0x75
|
||||
F7 = 118; // 0x76
|
||||
F8 = 119; // 0x77
|
||||
F9 = 120; // 0x78
|
||||
F10 = 121; // 0x79
|
||||
F11 = 122; // 0x7A
|
||||
F12 = 123; // 0x7B
|
||||
|
||||
// --- Modifier Keys ---
|
||||
L_SHIFT = 160; // 0xA0
|
||||
R_SHIFT = 161; // 0xA1
|
||||
L_CTRL = 162; // 0xA2
|
||||
R_CTRL = 32875; // EXTENDED_KEY_FLAG | 0xA3
|
||||
L_ALT = 164; // 0xA4
|
||||
R_ALT = 32877; // EXTENDED_KEY_FLAG | 0xA5
|
||||
|
||||
// --- OEM Keys ---
|
||||
SUB = 189; // 0xBD
|
||||
ADD = 187; // 0xBB
|
||||
TILDE = 192; // 0xC0
|
||||
L_BRACKET = 219; // 0xDB
|
||||
R_BRACKET = 221; // 0xDD
|
||||
COMMA = 188; // 0xBC
|
||||
PERIOD = 190; // 0xBE
|
||||
QUOTE = 222; // 0xDE
|
||||
COLON = 186; // 0xBA
|
||||
SOL = 191; // 0xBF
|
||||
B_SOL = 220; // 0xDC
|
||||
}
|
||||
Reference in New Issue
Block a user