1303980Sngie/* $NetBSD: hid_test_data.c,v 1.2 2016/01/07 15:58:23 jakllsch Exp $ */ 2303980Sngie 3303980Sngie/* 4303980Sngie * Copyright (c) 2016 Jonathan A. Kollasch 5303980Sngie * All rights reserved. 6303980Sngie * 7303980Sngie * Redistribution and use in source and binary forms, with or without 8303980Sngie * modification, are permitted provided that the following conditions 9303980Sngie * are met: 10303980Sngie * 1. Redistributions of source code must retain the above copyright 11303980Sngie * notice, this list of conditions and the following disclaimer. 12303980Sngie * 2. Redistributions in binary form must reproduce the above copyright 13303980Sngie * notice, this list of conditions and the following disclaimer in the 14303980Sngie * documentation and/or other materials provided with the distribution. 15303980Sngie * 16303980Sngie * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17303980Sngie * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 18303980Sngie * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19303980Sngie * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 20303980Sngie * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21303980Sngie * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22303980Sngie * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 23303980Sngie * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24303980Sngie * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 25303980Sngie * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 26303980Sngie * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27303980Sngie */ 28303980Sngie 29303980Sngiestatic const uint8_t range_test_report_descriptor[] = { 30303980Sngie 0x0b, 0x03, 0x00, 0x00, 0xff, // Usage 31303980Sngie 0x75, 0x20, // Report Size 32303980Sngie 0x95, 0x01, // Report Count 33303980Sngie 0x17, 0x00, 0x00, 0x00, 0x80, // Logical Minimum 34303980Sngie 0x27, 0xff, 0xff, 0xff, 0x7f, // Logical Maximum 35303980Sngie 0x37, 0x00, 0x00, 0x00, 0x80, // Physical Minimum 36303980Sngie 0x47, 0xff, 0xff, 0xff, 0x7f, // Physical Maximum 37303980Sngie 0x81, 0x00, // Input 38303980Sngie 39303980Sngie 0x0b, 0x02, 0x00, 0x00, 0xff, // Usage 40303980Sngie 0x75, 0x10, // Report Size 41303980Sngie 0x95, 0x01, // Report Count 42303980Sngie 0x16, 0x00, 0x80, // Logical Minimum 43303980Sngie 0x26, 0xff, 0x7f, // Logical Maximum 44303980Sngie 0x36, 0x00, 0x80, // Physical Minimum 45303980Sngie 0x46, 0xff, 0x7f, // Physical Maximum 46303980Sngie 0x81, 0x00, // Input 47303980Sngie 48303980Sngie 0x0b, 0x01, 0x00, 0x00, 0xff, // Usage 49303980Sngie 0x75, 0x08, // Report Size 50303980Sngie 0x95, 0x01, // Report Count 51303980Sngie 0x15, 0x80, // Logical Minimum 52303980Sngie 0x25, 0x7f, // Logical Maximum 53303980Sngie 0x35, 0x80, // Physical Minimum 54303980Sngie 0x45, 0x7f, // Physical Maximum 55303980Sngie 0x81, 0x00, // Input 56303980Sngie}; 57303980Sngie 58303980Sngiestatic const uint8_t range_test_minimum_report[7] = { 59303980Sngie 0x00, 0x00, 0x00, 0x80, 60303980Sngie 0x00, 0x80, 61303980Sngie 0x80, 62303980Sngie}; 63303980Sngie 64303980Sngiestatic const uint8_t range_test_negative_one_report[7] = { 65303980Sngie 0xff, 0xff, 0xff, 0xff, 66303980Sngie 0xff, 0xff, 67303980Sngie 0xff, 68303980Sngie}; 69303980Sngie 70303980Sngiestatic const uint8_t range_test_positive_one_report[7] = { 71303980Sngie 0x01, 0x00, 0x00, 0x00, 72303980Sngie 0x01, 0x00, 73303980Sngie 0x01, 74303980Sngie}; 75303980Sngie 76303980Sngiestatic const uint8_t range_test_maximum_report[7] = { 77303980Sngie 0xff, 0xff, 0xff, 0x7f, 78303980Sngie 0xff, 0x7f, 79303980Sngie 0x7f, 80303980Sngie}; 81303980Sngie 82303980Sngiestatic const uint8_t unsigned_range_test_report_descriptor[] = { 83303980Sngie 0x0b, 0x13, 0x00, 0x00, 0xff, // Usage 84303980Sngie 0x75, 0x20, // Report Size 85303980Sngie 0x95, 0x01, // Report Count 86303980Sngie 0x17, 0x00, 0x00, 0x00, 0x00, // Logical Minimum 87303980Sngie 0x27, 0xff, 0xff, 0xff, 0xff, // Logical Maximum 88303980Sngie 0x37, 0x00, 0x00, 0x00, 0x00, // Physical Minimum 89303980Sngie 0x47, 0xff, 0xff, 0xff, 0xff, // Physical Maximum 90303980Sngie 0x81, 0x00, // Input 91303980Sngie 92303980Sngie 0x0b, 0x12, 0x00, 0x00, 0xff, // Usage 93303980Sngie 0x75, 0x10, // Report Size 94303980Sngie 0x95, 0x01, // Report Count 95303980Sngie 0x16, 0x00, 0x00, // Logical Minimum 96303980Sngie 0x26, 0xff, 0xff, // Logical Maximum 97303980Sngie 0x36, 0x00, 0x00, // Physical Minimum 98303980Sngie 0x46, 0xff, 0xff, // Physical Maximum 99303980Sngie 0x81, 0x00, // Input 100303980Sngie 101303980Sngie 0x0b, 0x11, 0x00, 0x00, 0xff, // Usage 102303980Sngie 0x75, 0x08, // Report Size 103303980Sngie 0x95, 0x01, // Report Count 104303980Sngie 0x15, 0x00, // Logical Minimum 105303980Sngie 0x25, 0xff, // Logical Maximum 106303980Sngie 0x35, 0x00, // Physical Minimum 107303980Sngie 0x45, 0xff, // Physical Maximum 108303980Sngie 0x81, 0x00, // Input 109303980Sngie}; 110303980Sngie 111303980Sngiestatic const uint8_t unsigned_range_test_minimum_report[7] = { 112303980Sngie 0x00, 0x00, 0x00, 0x00, 113303980Sngie 0x00, 0x00, 114303980Sngie 0x00, 115303980Sngie}; 116303980Sngie 117303980Sngiestatic const uint8_t unsigned_range_test_positive_one_report[7] = { 118303980Sngie 0x01, 0x00, 0x00, 0x00, 119303980Sngie 0x01, 0x00, 120303980Sngie 0x01, 121303980Sngie}; 122303980Sngie 123303980Sngiestatic const uint8_t unsigned_range_test_negative_one_report[7] = { 124303980Sngie 0xfe, 0xff, 0xff, 0xff, 125303980Sngie 0xfe, 0xff, 126303980Sngie 0xfe, 127303980Sngie}; 128303980Sngie 129303980Sngiestatic const uint8_t unsigned_range_test_maximum_report[7] = { 130303980Sngie 0xff, 0xff, 0xff, 0xff, 131303980Sngie 0xff, 0xff, 132303980Sngie 0xff, 133303980Sngie}; 134303980Sngie 135303980Sngiestatic const uint8_t just_pop_report_descriptor[] = { 136303980Sngie 0xb4, 137303980Sngie}; 138