1*f80ad8b4SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2*f80ad8b4SAndroid Build Coastguard Worker /* 3*f80ad8b4SAndroid Build Coastguard Worker * Copyright (c) 1999 Andreas Gal 4*f80ad8b4SAndroid Build Coastguard Worker * Copyright (c) 2000-2001 Vojtech Pavlik 5*f80ad8b4SAndroid Build Coastguard Worker * Copyright (c) 2006-2007 Jiri Kosina 6*f80ad8b4SAndroid Build Coastguard Worker */ 7*f80ad8b4SAndroid Build Coastguard Worker /* 8*f80ad8b4SAndroid Build Coastguard Worker * This program is free software; you can redistribute it and/or modify 9*f80ad8b4SAndroid Build Coastguard Worker * it under the terms of the GNU General Public License as published by 10*f80ad8b4SAndroid Build Coastguard Worker * the Free Software Foundation; either version 2 of the License, or 11*f80ad8b4SAndroid Build Coastguard Worker * (at your option) any later version. 12*f80ad8b4SAndroid Build Coastguard Worker * 13*f80ad8b4SAndroid Build Coastguard Worker * This program is distributed in the hope that it will be useful, 14*f80ad8b4SAndroid Build Coastguard Worker * but WITHOUT ANY WARRANTY; without even the implied warranty of 15*f80ad8b4SAndroid Build Coastguard Worker * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16*f80ad8b4SAndroid Build Coastguard Worker * GNU General Public License for more details. 17*f80ad8b4SAndroid Build Coastguard Worker * 18*f80ad8b4SAndroid Build Coastguard Worker * You should have received a copy of the GNU General Public License 19*f80ad8b4SAndroid Build Coastguard Worker * along with this program; if not, write to the Free Software 20*f80ad8b4SAndroid Build Coastguard Worker * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21*f80ad8b4SAndroid Build Coastguard Worker * 22*f80ad8b4SAndroid Build Coastguard Worker * Should you need to contact me, the author, you can do so either by 23*f80ad8b4SAndroid Build Coastguard Worker * e-mail - mail your message to <[email protected]>, or by paper mail: 24*f80ad8b4SAndroid Build Coastguard Worker * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic 25*f80ad8b4SAndroid Build Coastguard Worker */ 26*f80ad8b4SAndroid Build Coastguard Worker #ifndef _UAPI__HID_H 27*f80ad8b4SAndroid Build Coastguard Worker #define _UAPI__HID_H 28*f80ad8b4SAndroid Build Coastguard Worker 29*f80ad8b4SAndroid Build Coastguard Worker 30*f80ad8b4SAndroid Build Coastguard Worker 31*f80ad8b4SAndroid Build Coastguard Worker /* 32*f80ad8b4SAndroid Build Coastguard Worker * USB HID (Human Interface Device) interface class code 33*f80ad8b4SAndroid Build Coastguard Worker */ 34*f80ad8b4SAndroid Build Coastguard Worker 35*f80ad8b4SAndroid Build Coastguard Worker #define USB_INTERFACE_CLASS_HID 3 36*f80ad8b4SAndroid Build Coastguard Worker 37*f80ad8b4SAndroid Build Coastguard Worker /* 38*f80ad8b4SAndroid Build Coastguard Worker * USB HID interface subclass and protocol codes 39*f80ad8b4SAndroid Build Coastguard Worker */ 40*f80ad8b4SAndroid Build Coastguard Worker 41*f80ad8b4SAndroid Build Coastguard Worker #define USB_INTERFACE_SUBCLASS_BOOT 1 42*f80ad8b4SAndroid Build Coastguard Worker #define USB_INTERFACE_PROTOCOL_KEYBOARD 1 43*f80ad8b4SAndroid Build Coastguard Worker #define USB_INTERFACE_PROTOCOL_MOUSE 2 44*f80ad8b4SAndroid Build Coastguard Worker 45*f80ad8b4SAndroid Build Coastguard Worker /* 46*f80ad8b4SAndroid Build Coastguard Worker * HID report types --- Ouch! HID spec says 1 2 3! 47*f80ad8b4SAndroid Build Coastguard Worker */ 48*f80ad8b4SAndroid Build Coastguard Worker 49*f80ad8b4SAndroid Build Coastguard Worker enum hid_report_type { 50*f80ad8b4SAndroid Build Coastguard Worker HID_INPUT_REPORT = 0, 51*f80ad8b4SAndroid Build Coastguard Worker HID_OUTPUT_REPORT = 1, 52*f80ad8b4SAndroid Build Coastguard Worker HID_FEATURE_REPORT = 2, 53*f80ad8b4SAndroid Build Coastguard Worker 54*f80ad8b4SAndroid Build Coastguard Worker HID_REPORT_TYPES, 55*f80ad8b4SAndroid Build Coastguard Worker }; 56*f80ad8b4SAndroid Build Coastguard Worker 57*f80ad8b4SAndroid Build Coastguard Worker /* 58*f80ad8b4SAndroid Build Coastguard Worker * HID class requests 59*f80ad8b4SAndroid Build Coastguard Worker */ 60*f80ad8b4SAndroid Build Coastguard Worker 61*f80ad8b4SAndroid Build Coastguard Worker enum hid_class_request { 62*f80ad8b4SAndroid Build Coastguard Worker HID_REQ_GET_REPORT = 0x01, 63*f80ad8b4SAndroid Build Coastguard Worker HID_REQ_GET_IDLE = 0x02, 64*f80ad8b4SAndroid Build Coastguard Worker HID_REQ_GET_PROTOCOL = 0x03, 65*f80ad8b4SAndroid Build Coastguard Worker HID_REQ_SET_REPORT = 0x09, 66*f80ad8b4SAndroid Build Coastguard Worker HID_REQ_SET_IDLE = 0x0A, 67*f80ad8b4SAndroid Build Coastguard Worker HID_REQ_SET_PROTOCOL = 0x0B, 68*f80ad8b4SAndroid Build Coastguard Worker }; 69*f80ad8b4SAndroid Build Coastguard Worker 70*f80ad8b4SAndroid Build Coastguard Worker /* 71*f80ad8b4SAndroid Build Coastguard Worker * HID class descriptor types 72*f80ad8b4SAndroid Build Coastguard Worker */ 73*f80ad8b4SAndroid Build Coastguard Worker 74*f80ad8b4SAndroid Build Coastguard Worker #define HID_DT_HID (USB_TYPE_CLASS | 0x01) 75*f80ad8b4SAndroid Build Coastguard Worker #define HID_DT_REPORT (USB_TYPE_CLASS | 0x02) 76*f80ad8b4SAndroid Build Coastguard Worker #define HID_DT_PHYSICAL (USB_TYPE_CLASS | 0x03) 77*f80ad8b4SAndroid Build Coastguard Worker 78*f80ad8b4SAndroid Build Coastguard Worker #define HID_MAX_DESCRIPTOR_SIZE 4096 79*f80ad8b4SAndroid Build Coastguard Worker 80*f80ad8b4SAndroid Build Coastguard Worker 81*f80ad8b4SAndroid Build Coastguard Worker #endif /* _UAPI__HID_H */ 82