From a27410992405e11b68e44e6275c9f059c1d30eab Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 2 Mar 2023 02:19:35 +0200 Subject: [PATCH] Update mouse drivers --- Input/VMwareMouse/VMwareMouseDriver.cpp | 9 ++++----- Input/VirtualBoxMouse/VirtualBoxMouseDriver.cpp | 2 ++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Input/VMwareMouse/VMwareMouseDriver.cpp b/Input/VMwareMouse/VMwareMouseDriver.cpp index 9b6e996..4dcf986 100644 --- a/Input/VMwareMouse/VMwareMouseDriver.cpp +++ b/Input/VMwareMouse/VMwareMouseDriver.cpp @@ -15,6 +15,8 @@ __attribute__((section(".extended"))) FexExtended ExtendedHeader = { .Driver = { .Name = "VMware Virtual Mouse Driver", .Type = FexDriverType_Input, + .TypeFlags = FexDriverInputTypes_Mouse, + .OverrideOnConflict = true, .Callback = CallbackHandler, .Bind = { .Type = BIND_INTERRUPT, @@ -89,9 +91,6 @@ bool IsVMwareBackdoorAvailable(void) int DriverEntry(void *Data) { - /* There's a bug somewhere in driver or kernel and it's just crashing. */ - return NOT_IMPLEMENTED; - if (!Data) return INVALID_KERNEL_API; KAPI = (KernelAPI *)Data; @@ -217,8 +216,8 @@ int CallbackHandler(KernelCallback *Data) } case FetchReason: { - Data->InputCallback.Mouse.X = MouseX; - Data->InputCallback.Mouse.Y = MouseY; + Data->InputCallback.Mouse.X = (MouseX * KAPI->Display.GetWidth()) / 0xFFFF; + Data->InputCallback.Mouse.Y = (MouseY * KAPI->Display.GetHeight()) / 0xFFFF; Data->InputCallback.Mouse.Z = MouseZ; Data->InputCallback.Mouse.Buttons.Left = MouseButton & 0x20; Data->InputCallback.Mouse.Buttons.Right = MouseButton & 0x10; diff --git a/Input/VirtualBoxMouse/VirtualBoxMouseDriver.cpp b/Input/VirtualBoxMouse/VirtualBoxMouseDriver.cpp index 2af5e17..7e8df3b 100644 --- a/Input/VirtualBoxMouse/VirtualBoxMouseDriver.cpp +++ b/Input/VirtualBoxMouse/VirtualBoxMouseDriver.cpp @@ -15,6 +15,8 @@ __attribute__((section(".extended"))) FexExtended ExtendedHeader = { .Driver = { .Name = "VMware Virtual Mouse Driver", .Type = FexDriverType_Input, + .TypeFlags = FexDriverInputTypes_Mouse, + .OverrideOnConflict = true, .Callback = CallbackHandler, .Bind = { .Type = BIND_PCI,