]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Bus/Usb/UsbMouse/Dxe/mousehid.c
Retiring the ANT/JAVA build and removing the older EDK II packages that required...
[mirror_edk2.git] / EdkModulePkg / Bus / Usb / UsbMouse / Dxe / mousehid.c
diff --git a/EdkModulePkg/Bus/Usb/UsbMouse/Dxe/mousehid.c b/EdkModulePkg/Bus/Usb/UsbMouse/Dxe/mousehid.c
deleted file mode 100644 (file)
index cbe0970..0000000
+++ /dev/null
@@ -1,395 +0,0 @@
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation                                                         \r
-All rights reserved. This program and the accompanying materials                          \r
-are licensed and made available under the terms and conditions of the BSD License         \r
-which accompanies this distribution.  The full text of the license may be found at        \r
-http://opensource.org/licenses/bsd-license.php                                            \r
-                                                                                          \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
-\r
-Module Name:\r
-\r
-  Mousehid.c\r
-\r
-Abstract:\r
-  Parse mouse hid descriptor\r
-\r
---*/\r
-\r
-#include "usbmouse.h"\r
-#include "mousehid.h"\r
-\r
-//\r
-// Get an item from report descriptor\r
-//\r
-STATIC\r
-UINT8 *\r
-GetNextItem (\r
-  IN  UINT8    *StartPos,\r
-  IN  UINT8    *EndPos,\r
-  OUT HID_ITEM *HidItem\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Get Next Item\r
-\r
-Arguments:\r
-\r
-  StartPos  - Start Position\r
-  EndPos    - End Position\r
-  HidItem   - HidItem to return\r
-\r
-Returns:\r
-  Position\r
-\r
---*/\r
-{\r
-  UINT8 Temp;\r
-\r
-  if ((EndPos - StartPos) <= 0) {\r
-    return NULL;\r
-  }\r
-\r
-  Temp = *StartPos;\r
-  StartPos++;\r
-  //\r
-  // bit 2,3\r
-  //\r
-  HidItem->Type = (UINT8) ((Temp >> 2) & 0x03);\r
-  //\r
-  // bit 4-7\r
-  //\r
-  HidItem->Tag = (UINT8) ((Temp >> 4) & 0x0F);\r
-\r
-  if (HidItem->Tag == HID_ITEM_TAG_LONG) {\r
-    //\r
-    // Long Items are not supported by HID rev1.0,\r
-    // although we try to parse it.\r
-    //\r
-    HidItem->Format = HID_ITEM_FORMAT_LONG;\r
-\r
-    if ((EndPos - StartPos) >= 2) {\r
-      HidItem->Size = *StartPos++;\r
-      HidItem->Tag  = *StartPos++;\r
-\r
-      if ((EndPos - StartPos) >= HidItem->Size) {\r
-        HidItem->Data.LongData = StartPos;\r
-        StartPos += HidItem->Size;\r
-        return StartPos;\r
-      }\r
-    }\r
-  } else {\r
-    HidItem->Format = HID_ITEM_FORMAT_SHORT;\r
-    //\r
-    // bit 0, 1\r
-    //\r
-    HidItem->Size   = (UINT8) (Temp & 0x03);\r
-    switch (HidItem->Size) {\r
-\r
-    case 0:\r
-      //\r
-      // No data\r
-      //\r
-      return StartPos;\r
-\r
-    case 1:\r
-      //\r
-      // One byte data\r
-      //\r
-      if ((EndPos - StartPos) >= 1) {\r
-        HidItem->Data.U8 = *StartPos++;\r
-        return StartPos;\r
-      }\r
-\r
-    case 2:\r
-      //\r
-      // Two byte data\r
-      //\r
-      if ((EndPos - StartPos) >= 2) {\r
-        CopyMem (&HidItem->Data.U16, StartPos, sizeof (UINT16));\r
-        StartPos += 2;\r
-        return StartPos;\r
-      }\r
-\r
-    case 3:\r
-      //\r
-      // 4 byte data, adjust size\r
-      //\r
-      HidItem->Size++;\r
-      if ((EndPos - StartPos) >= 4) {\r
-        CopyMem (&HidItem->Data.U32, StartPos, sizeof (UINT32));\r
-        StartPos += 4;\r
-        return StartPos;\r
-      }\r
-    }\r
-  }\r
-\r
-  return NULL;\r
-}\r
-\r
-STATIC\r
-UINT32\r
-GetItemData (\r
-  IN  HID_ITEM *HidItem\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Get Item Data\r
-\r
-Arguments:\r
-\r
-  HidItem - HID_ITEM\r
-\r
-Returns:\r
-  HidItem Data\r
-  \r
-\r
---*/\r
-{\r
-  //\r
-  // Get Data from HID_ITEM structure\r
-  //\r
-  switch (HidItem->Size) {\r
-\r
-  case 1:\r
-    return HidItem->Data.U8;\r
-\r
-  case 2:\r
-    return HidItem->Data.U16;\r
-\r
-  case 4:\r
-    return HidItem->Data.U32;\r
-  }\r
-\r
-  return 0;\r
-}\r
-\r
-STATIC\r
-VOID\r
-ParseLocalItem (\r
-  IN  USB_MOUSE_DEV   *UsbMouse,\r
-  IN  HID_ITEM        *LocalItem\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Parse Local Item\r
-\r
-Arguments:\r
-\r
-  UsbMouse  - USB_MOUSE_DEV\r
-  LocalItem - Local Item\r
-\r
-Returns:\r
-\r
---*/\r
-{\r
-  UINT32  Data;\r
-\r
-  if (LocalItem->Size == 0) {\r
-    //\r
-    // No expected data for local item\r
-    //\r
-    return ;\r
-  }\r
-\r
-  Data = GetItemData (LocalItem);\r
-\r
-  switch (LocalItem->Tag) {\r
-\r
-  case HID_LOCAL_ITEM_TAG_DELIMITER:\r
-    //\r
-    // we don't support delimiter here\r
-    //\r
-    return ;\r
-\r
-  case HID_LOCAL_ITEM_TAG_USAGE:\r
-    return ;\r
-\r
-  case HID_LOCAL_ITEM_TAG_USAGE_MINIMUM:\r
-    if (UsbMouse->PrivateData.ButtonDetected) {\r
-      UsbMouse->PrivateData.ButtonMinIndex = (UINT8) Data;\r
-    }\r
-\r
-    return ;\r
-\r
-  case HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM:\r
-    {\r
-      if (UsbMouse->PrivateData.ButtonDetected) {\r
-        UsbMouse->PrivateData.ButtonMaxIndex = (UINT8) Data;\r
-      }\r
-\r
-      return ;\r
-    }\r
-  }\r
-}\r
-\r
-STATIC\r
-VOID\r
-ParseGlobalItem (\r
-  IN  USB_MOUSE_DEV   *UsbMouse,\r
-  IN  HID_ITEM        *GlobalItem\r
-  )\r
-{\r
-  UINT8 UsagePage;\r
-\r
-  switch (GlobalItem->Tag) {\r
-  case HID_GLOBAL_ITEM_TAG_USAGE_PAGE:\r
-    {\r
-      UsagePage = (UINT8) GetItemData (GlobalItem);\r
-\r
-      //\r
-      // We only care Button Page here\r
-      //\r
-      if (UsagePage == 0x09) {\r
-        //\r
-        // Button Page\r
-        //\r
-        UsbMouse->PrivateData.ButtonDetected = TRUE;\r
-        return ;\r
-      }\r
-      break;\r
-    }\r
-\r
-  }\r
-}\r
-\r
-\r
-STATIC\r
-VOID\r
-ParseMainItem (\r
-  IN  USB_MOUSE_DEV   *UsbMouse,\r
-  IN  HID_ITEM        *MainItem\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Parse Main Item\r
-\r
-Arguments:\r
-\r
-  UsbMouse  - TODO: add argument description\r
-  MainItem  - HID_ITEM to parse\r
-\r
-Returns:\r
-\r
-  VOID\r
-\r
---*/\r
-{\r
-  //\r
-  // we don't care any main items, just skip\r
-  //\r
-  return ;\r
-}\r
-\r
-STATIC\r
-VOID\r
-ParseHidItem (\r
-  IN  USB_MOUSE_DEV   *UsbMouse,\r
-  IN  HID_ITEM        *HidItem\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Parse Hid Item\r
-\r
-Arguments:\r
-\r
-  UsbMouse  - USB_MOUSE_DEV\r
-  HidItem   - HidItem to parse\r
-\r
-Returns:\r
-\r
-  VOID\r
-\r
---*/\r
-{\r
-  switch (HidItem->Type) {\r
-\r
-  case HID_ITEM_TYPE_MAIN:\r
-    //\r
-    // For Main Item, parse main item\r
-    //\r
-    ParseMainItem (UsbMouse, HidItem);\r
-    break;\r
-\r
-  case HID_ITEM_TYPE_GLOBAL:\r
-    //\r
-    // For global Item, parse global item\r
-    //\r
-    ParseGlobalItem (UsbMouse, HidItem);\r
-    break;\r
-\r
-  case HID_ITEM_TYPE_LOCAL:\r
-    //\r
-    // For Local Item, parse local item\r
-    //\r
-    ParseLocalItem (UsbMouse, HidItem);\r
-    break;\r
-  }\r
-}\r
-//\r
-// A simple parse just read some field we are interested in\r
-//\r
-EFI_STATUS\r
-ParseMouseReportDescriptor (\r
-  IN  USB_MOUSE_DEV   *UsbMouse,\r
-  IN  UINT8           *ReportDescriptor,\r
-  IN  UINTN           ReportSize\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Parse Mouse Report Descriptor\r
-\r
-Arguments:\r
-\r
-  UsbMouse          - USB_MOUSE_DEV\r
-  ReportDescriptor  - Report descriptor to parse\r
-  ReportSize        - Report descriptor size\r
-\r
-Returns:\r
-\r
-  EFI_DEVICE_ERROR - Report descriptor error\r
-  EFI_SUCCESS      - Success\r
-\r
---*/\r
-{\r
-  UINT8     *DescriptorEnd;\r
-  UINT8     *ptr;\r
-  HID_ITEM  HidItem;\r
-\r
-  DescriptorEnd = ReportDescriptor + ReportSize;\r
-\r
-  ptr           = GetNextItem (ReportDescriptor, DescriptorEnd, &HidItem);\r
-\r
-  while (ptr != NULL) {\r
-    if (HidItem.Format != HID_ITEM_FORMAT_SHORT) {\r
-      //\r
-      // Long Format Item is not supported at current HID revision\r
-      //\r
-      return EFI_DEVICE_ERROR;\r
-    }\r
-\r
-    ParseHidItem (UsbMouse, &HidItem);\r
-\r
-    ptr = GetNextItem (ptr, DescriptorEnd, &HidItem);\r
-  }\r
-\r
-  UsbMouse->NumberOfButtons                 = (UINT8) (UsbMouse->PrivateData.ButtonMaxIndex - UsbMouse->PrivateData.ButtonMinIndex + 1);\r
-  UsbMouse->XLogicMax                       = UsbMouse->YLogicMax = 127;\r
-  UsbMouse->XLogicMin                       = UsbMouse->YLogicMin = -127;\r
-\r
-  return EFI_SUCCESS;\r
-}\r