• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1syntax = "proto3";
2
3package pandora;
4
5option java_outer_classname = "HidProto";
6
7import "google/protobuf/empty.proto";
8
9service HID {
10  // Register service
11  rpc RegisterService(ServiceRequest) returns (google.protobuf.Empty);
12  // Connect HID Host
13  rpc ConnectHost(google.protobuf.Empty) returns (google.protobuf.Empty);
14  // Disconnect HID Host
15  rpc DisconnectHost(google.protobuf.Empty) returns (google.protobuf.Empty);
16  // Virtual Cable Unplug HID Host
17  rpc VirtualCableUnplugHost(google.protobuf.Empty) returns (google.protobuf.Empty);
18  // Send a SET_REPORT command, acting as a HID host, to a connected HID device
19  rpc SendHostReport(SendHostReportRequest) returns (SendHostReportResponse);
20  // receive Protocol Mode Event
21  rpc OnSetProtocolMode(google.protobuf.Empty) returns (stream ProtocolModeEvent);
22  // receive Report Event
23  rpc OnSetReport(google.protobuf.Empty) returns (stream ReportEvent);
24}
25// Enum values match those in BluetoothHidHost.java
26enum HidReportType {
27  HID_REPORT_TYPE_UNSPECIFIED = 0;
28  HID_REPORT_TYPE_INPUT = 1;
29  HID_REPORT_TYPE_OUTPUT = 2;
30  HID_REPORT_TYPE_FEATURE = 3;
31}
32// Enum values match those in BluetoothHidHost.java
33enum ProtocolMode {
34  PROTOCOL_REPORT_MODE = 0;
35  PROTOCOL_BOOT_MODE = 1;
36  PROTOCOL_UNSUPPORTED_MODE = 255;
37}
38enum HidReportId {
39  HID_KEYBD_RPT_ID = 0;
40  HID_MOUSE_RPT_ID = 1;
41  HID_INVALID_RPT_ID = 3;
42}
43
44enum HidServiceType {
45  SERVICE_TYPE_HID = 0;
46  SERVICE_TYPE_HOGP = 1;
47  SERVICE_TYPE_BOTH = 2;
48}
49
50message ServiceRequest {
51  HidServiceType service_type = 1;
52}
53
54message SendHostReportRequest {
55  bytes address = 1;
56  HidReportType report_type = 2;
57  string report = 3;
58}
59
60message SendHostReportResponse {
61
62}
63
64message ProtocolModeEvent {
65  ProtocolMode protocol_mode = 1;
66}
67
68message ReportEvent {
69  HidReportType report_type = 1;
70  HidReportId report_id = 2;
71  string report_data = 3;
72}
73