Jump to content

Details about the Smart Touchpad driver Features


EMlyDinEsH

Recommended Posts

10. ACCIDENTAL INPUT PREVENTION AND PALM DETECTION


 


ACCIDENTAL INPUT:


You can prevent accidental inputs that happen from the touchpad when you are typing by enabling the Option "Ignore accidental input" in Trackpad prefpane at System preferences. 


 


Customization:


You can configure accidental input with the following plist options. Located at IOKitPersonalities->Smart-Pad->Preferences->Keyboard in the plist.


  1. TriggerAccInputForKeyPressCount (Value 0 - 10) : Sets the number of key presses needed to trigger accidental input. 

  2. TimeOutEnablesTPadAfterAccInput (Value 0 - 5000) : Sets the timeout for enabling the touchpad back when it was disabled for accidental input.

  3. TapEnablesTPadFromAccInput (Yes/No) : Allows to enables touchpad back when it was disabled by accidental input using a single finger tap gesture instead of waiting for timeout.

PALM DETECTION:


You can also enable/disable Palm detection which can be customized for the pressure and width of the palm by editing plist options from "Others" section of the touchpad plist. Default its enabled and configured to the best values found by the testers in beta testing. If you have problem disable this and PM me for support.


 

Customization:

You can configure palm detection with the following plist options. Located at IOKitPersonalities->Smart-Pad->Preferences->Others in the plist.


  1. PalmDetection (Yes/No) : Enables/Disables palm detection.

  2. PalmCheckMinPressure (Value 0 - 255) : Sets the minimum pressure needed to identify the touch as palm. 

  3. PalmCheckMinWidth (Value 0 - 15) : Sets the minimum width needed to identify the touch as palm. 

  • Like 1
Link to comment
Share on other sites

11. APPLE TRACKPAD PREFPANE SUPPORT
Trackpad Settings at Apple Trackpad Pane in System preferences:

  • When using gestures to scroll or navigate, move content in the direction of the finger movement: Works
  • Tracking Speed: Change this value to your optimal level
  • Double clicking Speed: Works
  • Scrolling Speed: Must change this value once after installing driver for working scroll
     

Trackpad Gestures:

  • Horizontal Scrolling: Enable/Disables for horizontal scroll in two finger and edge scroll
  • Vertical Scrolling: Enables/Disables for vertical scroll in two finger and edge scroll
  • Zoom: OSX zoom works
  • Clicking : Enables/Disables Clicking and Tapping
  • Dragging :  Enables/Disables dragging
  • Two finger Tap for secondary click: Swaps the the Two and Three finger Tap functions
  • Ignore accidental input : 
    Working, you can tweak Accidental input Timeout value in the plist file for timeout of the accidental input.
  • Like 1
Link to comment
Share on other sites

12. CUSTOMIZATION OF FEATURES
 
We can customize the touchpad features by the editing "info.plist" file located inside the kext (ApplePS2SmpartTouchpad.kext/Contents/). In the plist, go to the section "IOKitPersonalities->Smart-Pad->Preferences" and edit the value of the feature like you want.
 
NOTE: You need to install the kext again after editing the plist. 
Values for boolean controlled features: Yes/No if you use Xcode/Plist editor (or)

true/false if you use Text editor for editing the plist.

 

  • SleepInitDelay: Sets the delay after sleep before enabling the touchpad. Its needed for some touchpads as they fail if we try to enable immediately after sleep because they might be not ready yet. Default value is 1500 ms.

BUTTONS:

Read here :             #2            

 

POINTER:

Read here :             #2            

 

DRAGGING:

Read here :             #4            

 

SCROLLING:

Read here :             #5            

 

SWIPING:

Read here :             #6            

 

TAPPING:

Read here :             #3            

 

FINGERS PRESS:

Read here :             #9            

 

MOUSE:

  • Resolution (Value 0 - 3) : Sets the mouse resolution for basic mouse mode (or useful in unsupported touchpad).
  • SampleRate (Value 10, 20, 40, 60, 80, 100, 200) : Sets the mouse sample for basic mouse mode (or useful in unsupported touchpad).
  • Scaling (Value 0 - x) : Sets the mouse scaling for basic mouse mode (or useful in unsupported touchpad).

 

OTHERS:

  • DisableTPadOnLIDClose (Yes/No) : Disable touchpad when laptop lid is closed ?
  • TPadStatusCheckPollRate (Value 0 - 60000): Sets the poll rate (in milli sec) for checking the status of the touchpad for Fn key disable in Asus. 
  • MaxTouchEndPressure (Value 0 - 255) : Sets the max pressure used to detect the end of the touch.
  • MaxTouchEndDelta (Value 0 - 200) : Sets the max delta used to detect the end of the touch.

Read more here :             #7            

Read more here :             #8            

Read more here :             #11            

 

KEYBOARD:

  • EnableAsusKBacklightSupport - Enable Asus Keyboard backlight support? Default: Disabled
  • AsusKBacklightHas16Levels - Asus keyboard backlight has 16 levels support? Default: Disabled
  • EnableAsusKBacklightAutoOff -  Enable Idle keyboard backlight on/off? Default: Disabled
  • AsusKBacklightAutoOffTimeOut - Idle Timeout value for keyboard backlight auto off. Default: 10 sec (10000 ms)
Link to comment
Share on other sites

14. Support for Asus Keyboard backlight with Idle Auto on/off:
My driver supports Asus keyboard backlight control using Fn keys mode in keyboard and Idle Auto on/off which can be enabled from touchpad plist keyboard section.
 
Following are the options that controls and enables Asus Keyboard backlight:
Set the entry "EnableAsusKBacklightSupport" to Yes for enabling keyboard backlight controls in F3 and F4 by default. 
Set the entry "AsusKBacklightHas16Levels" to Yes for enabling 16 keyboard backlight levels. 
Set the entry "EnableAsusKBacklightAutoOff" to Yes for enabling keyboard backlight Auto on/off after idle timeout .
Set the entry "AsusKBacklightAutoOffTimeOut" to your required timeout value in milli seconds for enabling keyboard backlight Auto off after idle timeout. Default timeout is 10 sec (10000ms).
 
You also need to use the following patches in DSDT:
 Add the following methods to your ATKD device section in DSDT (or) use the attached patch files in DSDT editor.

 

NOTE: Some systems may need additional tweaking depending on their DSDT.

NOTE 2: Some notebooks might have "SBRG" instead of "LPCB" or something different. So, try to check the method “SLKB” in your DSDT for the the following line values and modify â€œ^^PCI0.LPCB.EC0.WRAM (0xxxx, Local1)”.
 
4 Levels Keyboard backlight:


            Name (BOFF, Zero)
            Method (SKBL, 1, NotSerialized)
            {
                If (Or (LEqual (Arg0, 0xED), LEqual (Arg0, 0xFD)))
                {
                    If (And (LEqual (Arg0, 0xED), LEqual (BOFF, 0xEA)))
                    {
                        Store (Zero, Local0)
                        Store (Arg0, BOFF)
                    }
                    Else
                    {
                        If (And (LEqual (Arg0, 0xFD), LEqual (BOFF, 0xFA)))
                        {
                            Store (Zero, Local0)
                            Store (Arg0, BOFF)
                        }
                        Else
                        {
                            Return (BOFF)
                        }
                    }
                }
                Else
                {
                    If (Or (LEqual (Arg0, 0xEA), LEqual (Arg0, 0xFA)))
                    {
                        Store (KBLV, Local0)
                        Store (Arg0, BOFF)
                    }
                    Else
                    {
                        Store (Arg0, Local0)
                        Store (Arg0, KBLV)
                    }
                }
 
                Store (DerefOf (Index (PWKB, Local0)), Local1)
                ^^PCI0.LPCB.EC0.WRAM (0x04B1, Local1) // Haswell/Ivy
                ^^PCI0.LPCB.EC0.WRAM (0x044B, Local1) // Sandy/Ivy
                Return (Local0)
            }
 
            Method (GKBL, 1, NotSerialized)
            {
                If (LEqual (Arg0, 0xFF))
                {
                    Return (BOFF)
                }
 
                Return (KBLV)
            }

16 Levels Keyboard backlight:


            Name (BOFF, Zero)
            Method (SKBL, 1, NotSerialized)
            {
                If (Or (LEqual (Arg0, 0xED), LEqual (Arg0, 0xFD)))
                {
                    If (And (LEqual (Arg0, 0xED), LEqual (BOFF, 0xEA)))
                    {
                        Store (Zero, Local0)
                        Store (Arg0, BOFF)
                    }
                    Else
                    {
                        If (And (LEqual (Arg0, 0xFD), LEqual (BOFF, 0xFA)))
                        {
                            Store (Zero, Local0)
                            Store (Arg0, BOFF)
                        }
                        Else
                        {
                            Return (BOFF)
                        }
                    }
                }
                Else
                {
                    If (Or (LEqual (Arg0, 0xEA), LEqual (Arg0, 0xFA)))
                    {
                        Store (KBLV, Local0)
                        Store (Arg0, BOFF)
                    }
                    Else
                    {
                        Store (Arg0, Local0)
                        Store (Arg0, KBLV)
                    }
                }
 
                Store (DerefOf (Index (KBPW, Local0)), Local1)
                ^^PCI0.LPCB.EC0.WRAM (0x04B1, Local1) // Haswell/Ivy
                ^^PCI0.LPCB.EC0.WRAM (0x044B, Local1) // Sandy/Ivy
                Return (Local0)
            }
 
            Name (KBPW, Buffer (0x10)
            {
                /* 0000 */   0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
                /* 0008 */   0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF
            })
            Method (GKBL, 1, NotSerialized)
            {
                If (LEqual (Arg0, 0xFF))
                {
                    Return (BOFF)
                }
 
                Return (KBLV)
            }

KeyboardBacklight 16Levels Patch (Nehelem).txt

KeyboardBacklight 16Levels Patch (Haswell:Ivy).txt

KeyboardBacklight 16Levels Patch.txt

KeyboardBacklight Patch (Haswell:Ivy).txt

KeyboardBacklight Patch.txt

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...