From fed4aef039625e018c4a83b3987e43402c9ce917 Mon Sep 17 00:00:00 2001 From: Stan Verberkt Date: Thu, 30 Apr 2020 17:34:40 +0200 Subject: [PATCH 1/4] Check for kIOReturnError instead of Success --- WheelSupports.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WheelSupports.cpp b/WheelSupports.cpp index d60bcfd..1fb13fa 100644 --- a/WheelSupports.cpp +++ b/WheelSupports.cpp @@ -116,7 +116,7 @@ bool ConfigDevice(IOHIDDeviceRef hidDevice, DeviceID deviceID, const DeviceMode IOReturn OpenDevice(IOHIDDeviceRef hidDevice) { IOReturn result = IOHIDDeviceOpen(hidDevice, kIOHIDOptionsTypeSeizeDevice); - if(result != kIOReturnSuccess) + if(result == kIOReturnError) { printf("ERROR: OpenDevice failed with result: %x\n", result); return result; From 926050d9f02d1949f825f09c70282c2c8586eda8 Mon Sep 17 00:00:00 2001 From: verberktstan Date: Thu, 30 Apr 2020 20:19:02 +0200 Subject: [PATCH 2/4] Add some error messages --- FreeTheWheel | Bin 16044 -> 27780 bytes WheelSupports.cpp | 31 +++++++++++++++++++++++++------ 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/FreeTheWheel b/FreeTheWheel index 2894e5c4141685c5c2f3db1416dab1ab4183e75c..0d368a206631d5a4e74862363e745b576635dbf1 100755 GIT binary patch literal 27780 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 J9{(c1{tpgJzV`qC literal 16044 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 +#include #include "WheelSupports.h" //============================================================================= @@ -116,12 +117,30 @@ bool ConfigDevice(IOHIDDeviceRef hidDevice, DeviceID deviceID, const DeviceMode IOReturn OpenDevice(IOHIDDeviceRef hidDevice) { IOReturn result = IOHIDDeviceOpen(hidDevice, kIOHIDOptionsTypeSeizeDevice); - if(result == kIOReturnError) - { - printf("ERROR: OpenDevice failed with result: %x\n", result); - return result; - } - return kIOReturnSuccess; + std::string msg = ""; + + switch(result) { + case kIOReturnError: msg = "general error"; break; + case kIOReturnNoMemory: msg = "can't allocate memory"; break; + case kIOReturnNoResources: msg = "resource shortage"; break; + case kIOReturnIPCError: msg = "error during IPC"; break; + case kIOReturnNoDevice: msg = "no such device"; break; + case kIOReturnNotPrivileged: msg = "privilege violation"; break; + case kIOReturnBadArgument: msg = "invalid argument"; break; + case kIOReturnLockedRead: msg = "device read locked"; break; + case kIOReturnLockedWrite: msg = "device write locked"; break; + //case kIOReturnExclusiveAccess: msg = "exclusive access and device already open"; break; // Common error on macOS Catalina with DFGT + case kIOReturnBadMessageID: msg = "sent/received messages had different msg_id"; break; + case kIOReturnUnsupported: msg = "unsupported function"; break; + case kIOReturnVMError: msg = "misc. VM failure"; break; + } + + if(msg != "") { + printf("Error: OpenDevice failed - %s - (%x)\n", msg.c_str(), result); + return result; + + } + return kIOReturnSuccess; } From 030fd0835ea968cbdb6282a07b4bcfb362b1ddb0 Mon Sep 17 00:00:00 2001 From: Stan Verberkt Date: Thu, 14 May 2020 09:27:12 +0200 Subject: [PATCH 3/4] Update README.md --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 8293f4c..48688d1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,12 @@ +OS X Catalina +============ + +This is a fork of [jackhumbert's FreeTheWheel](https://github.com/jackhumbert/FreeTheWheel). +I just made it to work on OS X Catalina. As far is I know, it works for the following wheels. Please let me know if your wheel works! + +* G27 +* Driving Force GT + Free The Wheel for OS X ============ From 91faae5d7e8a95242f16f4049359470480042a49 Mon Sep 17 00:00:00 2001 From: Stan Verberkt Date: Thu, 14 May 2020 09:27:41 +0200 Subject: [PATCH 4/4] Update README.md --- README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 48688d1..2045a68 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,16 @@ -OS X Catalina +Free The Wheel for OS X ============ +Logitech driving wheel enabler based on [Feral Interactive's FreeTheWheel](http://support.feralinteractive.com/en/faqs/free_the_wheel/) + +## OS X Catalina + This is a fork of [jackhumbert's FreeTheWheel](https://github.com/jackhumbert/FreeTheWheel). I just made it to work on OS X Catalina. As far is I know, it works for the following wheels. Please let me know if your wheel works! * G27 * Driving Force GT -Free The Wheel for OS X -============ - -Logitech driving wheel enabler based on [Feral Interactive's FreeTheWheel](http://support.feralinteractive.com/en/faqs/free_the_wheel/) - ## Features for the G27 * Full 900˚ Rotation