diff --git a/README.md b/README.md index f69772e..008bf68 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,12 @@ Lots of code cleanups, refactoring. Clean up the IOLog. -## I don't know what I've done but the hung up after a key press was released. -## But --> you don't have any settings in systemsettings -> touchpad. +# SET QuietTimeAfterTyping to 0 than this stupid delay after releasing +# CTRL + ALT + SUPER (WinKey) + +## Settings are working sometimes .. I've raised the IOProbeScore to 8000 +## But maybe we should set it to 1500 like it's set in: +## https://github.com/acidanthera/VoodooPS2/blob/master/VoodooPS2Trackpad/VoodooPS2Trackpad-Info.plist#L32 +## for ALPS GlidePoint // 6000 seems to be for Synaptics.. # THANKS TO [1Revenger1](https://github.com/1Revenger1/VoodooPS2-Alps/) diff --git a/VoodooPS2Controller.xcodeproj/project.pbxproj b/VoodooPS2Controller.xcodeproj/project.pbxproj index c4fdac7..67c1b79 100644 --- a/VoodooPS2Controller.xcodeproj/project.pbxproj +++ b/VoodooPS2Controller.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 52; + objectVersion = 48; objects = { /* Begin PBXBuildFile section */ @@ -353,7 +353,7 @@ ORGANIZATIONNAME = rehabman; }; buildConfigurationList = 8416780B161B55B2002C60E6 /* Build configuration list for PBXProject "VoodooPS2Controller" */; - compatibilityVersion = "Xcode 11.0"; + compatibilityVersion = "Xcode 8.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -513,7 +513,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CURRENT_PROJECT_VERSION = 6.0.0; + CURRENT_PROJECT_VERSION = 6.2.0; DEBUG_INFORMATION_FORMAT = dwarf; DEPLOYMENT_LOCATION = NO; DEPLOYMENT_POSTPROCESSING = YES; @@ -538,7 +538,7 @@ LLVM_LTO = YES_THIN; "LLVM_LTO[arch=x86_64]" = YES_THIN; MACOSX_DEPLOYMENT_TARGET = 10.13; - MODULE_VERSION = 6.0.0; + MODULE_VERSION = 6.2.0; ONLY_ACTIVE_ARCH = YES; "OTHER_LDFLAGS[arch=x86_64]" = "-dead_strip"; PRODUCT_NAME = VoodooPS2Controller; @@ -569,7 +569,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CURRENT_PROJECT_VERSION = 6.0.0; + CURRENT_PROJECT_VERSION = 6.2.0; DEBUG_INFORMATION_FORMAT = dwarf; DEPLOYMENT_POSTPROCESSING = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -577,6 +577,10 @@ GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = fast; + GCC_PREPROCESSOR_DEFINITIONS = ( + "MACH_ASSERT=1", + "$(inherited)", + ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; @@ -587,7 +591,7 @@ LLVM_LTO = YES_THIN; "LLVM_LTO[arch=x86_64]" = YES_THIN; MACOSX_DEPLOYMENT_TARGET = 10.13; - MODULE_VERSION = 6.0.0; + MODULE_VERSION = 6.2.0; ONLY_ACTIVE_ARCH = YES; "OTHER_LDFLAGS[arch=x86_64]" = "-dead_strip"; PRODUCT_NAME = VoodooPS2Controller; @@ -601,12 +605,11 @@ CLANG_ENABLE_OBJC_WEAK = YES; CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 6.1.0; + CURRENT_PROJECT_VERSION = 6.2.0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "VoodooPS2Controller/VoodooPS2Controller-Prefix.pch"; INFOPLIST_FILE = "VoodooPS2Controller/VoodooPS2Controller-Info.plist"; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 6.1.0; + MARKETING_VERSION = 6.2.0; MODULE_NAME = com.rehabman.driver.VoodooPS2Controller; OTHER_CFLAGS = "-fno-stack-protector"; PRODUCT_BUNDLE_IDENTIFIER = org.rehabman.voodoo.driver.PS2Controller; @@ -623,12 +626,11 @@ CLANG_ENABLE_OBJC_WEAK = YES; CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 6.1.0; + CURRENT_PROJECT_VERSION = 6.2.0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "VoodooPS2Controller/VoodooPS2Controller-Prefix.pch"; INFOPLIST_FILE = "VoodooPS2Controller/VoodooPS2Controller-Info.plist"; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 6.1.0; + MARKETING_VERSION = 6.2.0; MODULE_NAME = com.rehabman.driver.VoodooPS2Controller; OTHER_CFLAGS = "-fno-stack-protector"; PRODUCT_BUNDLE_IDENTIFIER = org.rehabman.voodoo.driver.PS2Controller; @@ -643,12 +645,14 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_OBJC_WEAK = YES; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/VoodooPS2Controller.kext/Contents/PlugIns"; + CURRENT_PROJECT_VERSION = 6.2.0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "VoodooPS2Keyboard/VoodooPS2Keyboard-Prefix.pch"; INFOPLIST_FILE = "VoodooPS2Keyboard/VoodooPS2Keyboard-Info.plist"; + MARKETING_VERSION = 6.2.0; MODULE_NAME = com.rehabman.driver.VoodooPS2Keyboard; OTHER_CFLAGS = "-fno-stack-protector"; PRODUCT_BUNDLE_IDENTIFIER = org.rehabman.voodoo.driver.PS2Keyboard; @@ -662,12 +666,14 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_OBJC_WEAK = YES; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/VoodooPS2Controller.kext/Contents/PlugIns"; + CURRENT_PROJECT_VERSION = 6.2.0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "VoodooPS2Keyboard/VoodooPS2Keyboard-Prefix.pch"; INFOPLIST_FILE = "VoodooPS2Keyboard/VoodooPS2Keyboard-Info.plist"; + MARKETING_VERSION = 6.2.0; MODULE_NAME = com.rehabman.driver.VoodooPS2Keyboard; OTHER_CFLAGS = "-fno-stack-protector"; PRODUCT_BUNDLE_IDENTIFIER = org.rehabman.voodoo.driver.PS2Keyboard; @@ -681,12 +687,14 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_OBJC_WEAK = YES; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/VoodooPS2Controller.kext/Contents/PlugIns"; + CURRENT_PROJECT_VERSION = 6.2.0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "VoodooPS2Trackpad/VoodooPS2Trackpad-Prefix.pch"; INFOPLIST_FILE = "VoodooPS2Trackpad/VoodooPS2Trackpad-Info.plist"; + MARKETING_VERSION = 6.2.0; MODULE_NAME = com.rehabman.driver.VoodooPS2Trackpad; OTHER_CFLAGS = "-fno-stack-protector"; PRODUCT_BUNDLE_IDENTIFIER = org.rehabman.voodoo.driver.PS2Trackpad; @@ -700,12 +708,14 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_OBJC_WEAK = YES; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = ""; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/VoodooPS2Controller.kext/Contents/PlugIns"; + CURRENT_PROJECT_VERSION = 6.2.0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "VoodooPS2Trackpad/VoodooPS2Trackpad-Prefix.pch"; INFOPLIST_FILE = "VoodooPS2Trackpad/VoodooPS2Trackpad-Info.plist"; + MARKETING_VERSION = 6.2.0; MODULE_NAME = com.rehabman.driver.VoodooPS2Trackpad; OTHER_CFLAGS = "-fno-stack-protector"; PRODUCT_BUNDLE_IDENTIFIER = org.rehabman.voodoo.driver.PS2Trackpad; @@ -719,7 +729,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_OBJC_WEAK = YES; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = ""; GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; @@ -729,7 +739,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_OBJC_WEAK = YES; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = ""; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; diff --git a/VoodooPS2Keyboard/VoodooPS2Keyboard-Info.plist b/VoodooPS2Keyboard/VoodooPS2Keyboard-Info.plist index e51ae80..71b15d8 100644 --- a/VoodooPS2Keyboard/VoodooPS2Keyboard-Info.plist +++ b/VoodooPS2Keyboard/VoodooPS2Keyboard-Info.plist @@ -15,11 +15,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - ${MODULE_VERSION} + $(MARKETING_VERSION) CFBundleSignature ???? CFBundleVersion - ${MODULE_VERSION} + $(CURRENT_PROJECT_VERSION) IOKitPersonalities ApplePS2Keyboard diff --git a/VoodooPS2Trackpad/VoodooPS2Trackpad-Info.plist b/VoodooPS2Trackpad/VoodooPS2Trackpad-Info.plist index 53ad1dd..234c945 100644 --- a/VoodooPS2Trackpad/VoodooPS2Trackpad-Info.plist +++ b/VoodooPS2Trackpad/VoodooPS2Trackpad-Info.plist @@ -15,41 +15,31 @@ CFBundlePackageType KEXT CFBundleShortVersionString - ${MODULE_VERSION} + $(MARKETING_VERSION) CFBundleSignature ???? CFBundleVersion - ${MODULE_VERSION} + $(CURRENT_PROJECT_VERSION) IOKitPersonalities ALPS TouchPad - SupportsGestureScrolling - - TrackpadFourFingerGestures + ApplePreferenceCapability ApplePreferenceIdentifier com.apple.AppleMultitouchTrackpad - MTHIDDevice - - MT Built-in - - ApplePreferenceCapability - - TrackpadEmbedded - - TrackpadThreeFingerDrag - - TrackpadSecondaryClickCorners - CFBundleIdentifier org.rehabman.voodoo.driver.PS2Trackpad IOClass ALPS IOProbeScore - 6000 + 8000 IOProviderClass ApplePS2MouseDevice + MT Built-in + + MTHIDDevice + Platform Profile Default @@ -74,6 +64,8 @@ 5 DivisorY 5 + DoubleSmoothness + DoubleTapThresholdX 100 DoubleTapThresholdY @@ -82,8 +74,6 @@ 1000000000 DragLockTempMask 1048592 - DoubleSmoothness - EdgeBottom 500 EdgeLeft @@ -119,17 +109,17 @@ MultiFingerVerticalDivisor 5 QuietTimeAfterTyping - 500000000 + 0 Resolution 400 ScrollDeltaThreshX 0 ScrollDeltaThreshY 0 - ScrollResolution - 400 ScrollExitDelayTime 10000 + ScrollResolution + 400 SmoothInput StickyHorizontalScrolling @@ -149,7 +139,7 @@ TapThresholdY 50 USBMouseStopsTrackpad - 0 + 1 UnitsPerMMX 50 UnitsPerMMY @@ -174,6 +164,16 @@ ProductID 547 + SupportsGestureScrolling + + TrackpadEmbedded + + TrackpadFourFingerGestures + + TrackpadSecondaryClickCorners + + TrackpadThreeFingerDrag + VendorID 1452 diff --git a/VoodooPS2Trackpad/alps.cpp b/VoodooPS2Trackpad/alps.cpp index 69d7af3..99a59b8 100644 --- a/VoodooPS2Trackpad/alps.cpp +++ b/VoodooPS2Trackpad/alps.cpp @@ -23,7 +23,7 @@ #include "alps.h" enum { - kTapEnabled = 0x00 + kTapEnabled = 0x01 }; #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) @@ -112,7 +112,7 @@ static const struct alps_nibble_commands alps_v6_nibble_commands[] = { #define ALPS_BUTTONPAD 0x200 /* device is a clickpad */ #define ALPS_DUALPOINT_WITH_PRESSURE 0x400 /* device can report trackpoint pressure */ -// delete APLS_DUALPOINT here? + static const struct alps_model_info alps_model_data[] = { { { 0x32, 0x02, 0x14 }, 0x00, ALPS_PROTO_V2, 0xf8, 0xf8, ALPS_PASS | ALPS_DUALPOINT }, /* Toshiba Salellite Pro M10 */ @@ -145,6 +145,8 @@ static const struct alps_model_info alps_model_data[] = { ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED }, /* Toshiba Tecra A11-11L */ { { 0x73, 0x02, 0x64 }, 0x8a, ALPS_PROTO_V4, 0x8f, 0x8f, 0 }, + /* Dell Precision M4700 / Latitude E6450 */ + { { 0x73, 0x03, 0x0a }, 0x1d, ALPS_PROTO_V3_RUSHMORE, 0x00, 0x00, 0 }, }; // ============================================================================= @@ -237,7 +239,7 @@ bool ALPS::init(OSDictionary *dict) { dragging=true; scroll=true; hscroll=true; - momentumscroll=false; + momentumscroll=true; outzone_wt=palm=palm_wt=false; return true; @@ -2817,13 +2819,13 @@ void ALPS::dispatchEventsWithInfo(int xraw, int yraw, int z, int fingers, UInt32 } // deal with "OutsidezoneNoAction When Typing" - //if (outzone_wt && z > z_finger && now_ns - keytime < maxaftertyping && - // (x < zonel || x > zoner || y < zoneb || y > zonet)) { - // DEBUG_LOG("Ignore touch input after typing\n"); + if (outzone_wt && z > z_finger && now_ns - keytime < maxaftertyping && + (x < zonel || x > zoner || y < zoneb || y > zonet)) { + DEBUG_LOG("Ignore touch input after typing\n"); // touch input was shortly after typing and outside the "zone" // ignore it... - // return; - //} + return; + } // if trackpad input is supposed to be ignored, then don't do anything if (ignoreall) {