forum

Synaptic Absolution (Updated 1/30. Sorry about that.)

posted
Total Posts
63
show more
jeepmare
i repeatedly smashed my face upon the computer keyboard and it didnt work any advice?
danielkoala
6 years and no update. Any touch pad wizards here?
El Koko
why necro this i thought there was actually an update
xTheLaw
Can anyone re-upload this? The download link doesn't work :/
rev3rsor
^yeah, I for one would like to try using it :D
Arnold0
I still have this on my computer even if it never worked for me (windows 8), you are lucky :)
http://puu.sh/7yG9M.rar
DJAlex
First of all, do you guys know the pens sold for phones? Those work pretty well, you just got to detach the cable. Talking from personal experience.
Example here: http://www.ebay.com/itm/10x-Metal-Unive ... 20e10aaaa8

And this one, but I don't have the slightest idea if it works: http://www.ebay.com/itm/5X-STYLUS-BALLP ... 2c70dbaa2e

Also, as a second note, YOU NEED TO TURN RAW INPUT OFF for it to work in osu right now.
Ketsakura
I got an error on this.... Says something about synctrl.dl not correctly registered :(
Arnold0

OsuGod wrote:

I got an error on this.... Says something about synctrl.dl not correctly registered :(
This is realy old and as I said in my last post in this thread 'even if it never worked for me'.
This surely doesn't work with too new computers and dosn't work on windows 8 or greater.
ayoubleg
Just for the fun Another "Synaptic Absolution" kind program but basic :)
Virus free, i used Synaptics API. You need to "calibrate" the touchpad first by moving your finger at each corners ... Have fun :D
lib used
SYNCOMLib
SYNCTRLLib
Edit: If some people want to use it i can add graphical interface (like Wacom one to choose your area), some hotkey , and save for values :)
I have a Wacom tablet so i don't use my soft and im not used to play with my finger ^^"
28/08 Edit:
Don't need any soft/external lib except one from drivers that are installed with the touchpad :) HF
Added the source code as a PM request :
(C#) source
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.Threading;
using System.Windows.Forms;
using SYNCOMLib;
using SYNCTRLLib;

namespace ConsoleApplication11
{
    class Program
    {
        [DllImport("user32.dll")]
        static extern bool SetCursorPos(int X, int Y);
        static SynAPICtrl api = new SynAPICtrl();
        static SynDeviceCtrl device = new SynDeviceCtrl();
        static SynPacketCtrl packet = new SynPacketCtrl();
        static int deviceHandle;
        static public int x = Screen.PrimaryScreen.Bounds.Width;
        static public int y = Screen.PrimaryScreen.Bounds.Height;
        static public float Xmin, Xmax, Ymin, Ymax = 0;

        static void Main(string[] args)
        {
            try
            {
                api.Initialize();
            }
            catch (Exception e)
            {
                Console.WriteLine("Error calling API, you didn't have Synaptics hardware or driver (if you just installed it, you need to reboot)");
            loop:
                Console.WriteLine("Press enter to quit OR type \"info\"");
                if (Console.ReadLine().Contains("info"))
                {
                    Console.WriteLine("{0} Exception caught.", e);
                    goto loop;
                }
                return;
            }
            api.Activate();
            //select the first device found
            deviceHandle = api.FindDevice(SynConnectionType.SE_ConnectionAny, SynDeviceType.SE_DeviceTouchPad, -1);
            device.Select(deviceHandle);
            device.Activate();
            device.OnPacket += SynTP_Dev_OnPacket;
           //For console visual
            Console.Title = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
            Console.SetWindowSize(58, 9);
            Console.SetBufferSize(58, 9);
            Console.WriteLine("Move your finger to each corner to calibrate the software");
            Console.WriteLine("Raw Data from touchpad:");
            Console.WriteLine("X:0 Y:0");
            Console.WriteLine("Xmin:" + Xmin + " Ymin:" + Ymin);
            Console.WriteLine("Xmax:" + Xmax + " Ymax:" + Ymax);
            Console.WriteLine("Position on Screen (calculated):");
            Console.WriteLine("X:" + 0 + " Y:" + 0);
            Console.WriteLine("Press enter to quit");
            Console.ReadLine();
        }
        
        //Called at each change on touchpad, constantly calibrating values & moving cursor
        static void SynTP_Dev_OnPacket()
        {
            var result = device.LoadPacket(packet);
            if (packet.X > 1)
            {
                Console.SetCursorPosition(0, 2);
                Console.Write(new string(' ', Console.WindowWidth));
                Console.SetCursorPosition(0, 2);
                Console.WriteLine("X:" + packet.X + " Y:" + packet.Y);
                //Calibrate
                if (Xmin == 0 && Xmax == 0)
                {
                    Xmin = packet.X;
                    Xmax = packet.X;
                    Ymin = packet.Y;
                    Ymax = packet.Y;
                }
                if (packet.X > 1)
                {
                    if (Xmin > packet.X)
                        Xmin = packet.X;
                    if (Xmax < packet.X)
                        Xmax = packet.X;
                }
                if (packet.Y > 1)
                {
                    if (Ymin > packet.Y)
                        Ymin = packet.Y;
                    if (Ymax < packet.Y)
                        Ymax = packet.Y;
                }
                float targetx = (packet.X - Xmin) / (Xmax - Xmin) * x;
                float targety = ((Ymax - Ymin) - (packet.Y - Ymin)) / (Ymax - Ymin) * y;
                //move cursor using "calibrated" values
                SetCursorPos((int)targetx, (int)targety); ;
                //refresh output
                Console.WriteLine("Xmin:" + Xmin + " Ymin:" + Ymin);
                Console.WriteLine("Xmax:" + Xmax + " Ymax:" + Ymax);
                Console.SetCursorPosition(0, 6);
                Console.Write(new string(' ', Console.WindowWidth));
                Console.SetCursorPosition(0, 6);
                Console.WriteLine("X:" + targetx + " Y:" + targety);
            }
        }
    }
}
I did a calibration because i don't know if the values are the same on each touchpad (they were so random, so it can fit any synaptic touchpad with manual calibration (you can add an .ini to save values and more :)))
Was going to do a panel like Wacom one but no one look interested in the soft ^^'
2 month without update still working and no one sent an answer, anyone enjoyed it ? :x
Kovo

Arnold0 wrote:

I still have this on my computer even if it never worked for me (windows 8), you are lucky :)
http://puu.sh/7yG9M.rar
I'm quite a bit late to the party but Windows Defender blocked this from being download because it "found malware"
looking further into it, it says it detected Trojan:Win32/Spursint.F!cl

Whether or not this was intentional or something that happened to me and me only, I don't know; but be wary.
Neubse

ayoubleg wrote:

Just for the fun Another "Synaptic Absolution" kind program but basic :)
Virus free, i used Synaptics API. You need to "calibrate" the touchpad first by moving your finger at each corners ... Have fun :D
lib used
SYNCOMLib
SYNCTRLLib

Edit: If some people want to use it i can add graphical interface (like Wacom one to choose your area), some hotkey , and save for values :)
I have a Wacom tablet so i don't use my soft and im not used to play with my finger ^^"
28/08 Edit:
Don't need any soft/external lib except one from drivers that are installed with the touchpad :) HF
Added the source code as a PM request :
(C#) source
using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.Threading;
using System.Windows.Forms;
using SYNCOMLib;
using SYNCTRLLib;
namespace ConsoleApplication11
{
class Program
{
[DllImport("user32.dll")]
static extern bool SetCursorPos(int X, int Y);
static SynAPICtrl api = new SynAPICtrl();
static SynDeviceCtrl device = new SynDeviceCtrl();
static SynPacketCtrl packet = new SynPacketCtrl();
static int deviceHandle;
static public int x = Screen.PrimaryScreen.Bounds.Width;
static public int y = Screen.PrimaryScreen.Bounds.Height;
static public float Xmin, Xmax, Ymin, Ymax = 0;
static void Main(string[] args)
{
try
{
api.Initialize();
}
catch (Exception e)
{
Console.WriteLine("Error calling API, you didn't have Synaptics hardware or driver (if you just installed it, you need to reboot)");
loop:
Console.WriteLine("Press enter to quit OR type \"info\"");
if (Console.ReadLine().Contains("info"))
{
Console.WriteLine("{0} Exception caught.", e);
goto loop;
}
return;
}
api.Activate();
//select the first device found
deviceHandle = api.FindDevice(SynConnectionType.SE_ConnectionAny, SynDeviceType.SE_DeviceTouchPad, -1);
device.Select(deviceHandle);
device.Activate();
device.OnPacket += SynTP_Dev_OnPacket;
//For console visual
Console.Title = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
Console.SetWindowSize(58, 9);
Console.SetBufferSize(58, 9);
Console.WriteLine("Move your finger to each corner to calibrate the software");
Console.WriteLine("Raw Data from touchpad:");
Console.WriteLine("X:0 Y:0");
Console.WriteLine("Xmin:" + Xmin + " Ymin:" + Ymin);
Console.WriteLine("Xmax:" + Xmax + " Ymax:" + Ymax);
Console.WriteLine("Position on Screen (calculated):");
Console.WriteLine("X:" + 0 + " Y:" + 0);
Console.WriteLine("Press enter to quit");
Console.ReadLine();
}
//Called at each change on touchpad, constantly calibrating values & moving cursor
static void SynTP_Dev_OnPacket()
{
var result = device.LoadPacket(packet);
if (packet.X > 1)
{
Console.SetCursorPosition(0, 2);
Console.Write(new string(' ', Console.WindowWidth));
Console.SetCursorPosition(0, 2);
Console.WriteLine("X:" + packet.X + " Y:" + packet.Y);
//Calibrate
if (Xmin == 0 && Xmax == 0)
{
Xmin = packet.X;
Xmax = packet.X;
Ymin = packet.Y;
Ymax = packet.Y;
}
if (packet.X > 1)
{
if (Xmin > packet.X)
Xmin = packet.X;
if (Xmax < packet.X)
Xmax = packet.X;
}
if (packet.Y > 1)
{
if (Ymin > packet.Y)
Ymin = packet.Y;
if (Ymax < packet.Y)
Ymax = packet.Y;
}
float targetx = (packet.X - Xmin) / (Xmax - Xmin) * x;
float targety = ((Ymax - Ymin) - (packet.Y - Ymin)) / (Ymax - Ymin) * y;
//move cursor using "calibrated" values
SetCursorPos((int)targetx, (int)targety); ;
//refresh output
Console.WriteLine("Xmin:" + Xmin + " Ymin:" + Ymin);
Console.WriteLine("Xmax:" + Xmax + " Ymax:" + Ymax);
Console.SetCursorPosition(0, 6);
Console.Write(new string(' ', Console.WindowWidth));
Console.SetCursorPosition(0, 6);
Console.WriteLine("X:" + targetx + " Y:" + targety);
}
}
}
}

I did a calibration because i don't know if the values are the same on each touchpad (they were so random, so it can fit any synaptic touchpad with manual calibration (you can add an .ini to save values and more :)))
Was going to do a panel like Wacom one but no one look interested in the soft ^^'
2 month without update still working and no one sent an answer, anyone enjoyed it ? :x


Will try today, giving thoughts
ayoubleg
Have fun, it's easily modifiable if you need something you can try to make it, or ask me :)
Neubse

ayoubleg wrote:

Have fun, it's easily modifiable if you need something you can try to make it, or ask me :)

:O it isn't working for me? Windows 10 Synaptics
Arnold0

Gobbyghoosh wrote:

Arnold0 wrote:

I still have this on my computer even if it never worked for me (windows 8), you are lucky :)
http://puu.sh/7yG9M.rar
I'm quite a bit late to the party but Windows Defender blocked this from being download because it "found malware"
looking further into it, it says it detected Trojan:Win32/Spursint.F!cl

Whether or not this was intentional or something that happened to me and me only, I don't know; but be wary.
Well first i'm surpried a 3 years old puush link still works, and also I tryed to download it and it said the Windows Defender alert as well. Of corse it wasn't doing that when I uploaded it 3 years ago, and that's just a re-upload of what was in the OT. Also virus total says 0/54 detection so i'm guessing Windows Defender is just dumb as usual with the false positives.


But honestly I'm pretty sure there is something similar somewhere else in the forum that actualy does work (Cause as I said 3 years ago when I sent that link I never manager to make this working). Actualy I'm quite sure it's this, and I think this does work (But I never tested) t/429842
ayoubleg

Nellthan wrote:

ayoubleg wrote:

Have fun, it's easily modifiable if you need something you can try to make it, or ask me :)
:O it isn't working for me? Windows 10 Synaptics
I don't know, im on Windows 10 with Synaptics... are you sure you have a Synaptics touchpad ?
Check if you have this : https://puu.sh/tCl9S.mp4 if not, you don't have driver or a Synaptics touchpad :v
Hibiya-chan

ayoubleg wrote:

Just for the fun Another "Synaptic Absolution" kind program but basic :)
Virus free, i used Synaptics API. You need to "calibrate" the touchpad first by moving your finger at each corners ... Have fun :D
lib used
SYNCOMLib
SYNCTRLLib
Edit: If some people want to use it i can add graphical interface (like Wacom one to choose your area), some hotkey , and save for values :)
I have a Wacom tablet so i don't use my soft and im not used to play with my finger ^^"
28/08 Edit:
Don't need any soft/external lib except one from drivers that are installed with the touchpad :) HF
Added the source code as a PM request :
(C#) source
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.Threading;
using System.Windows.Forms;
using SYNCOMLib;
using SYNCTRLLib;

namespace ConsoleApplication11
{
class Program
{
[DllImport("user32.dll")]
static extern bool SetCursorPos(int X, int Y);
static SynAPICtrl api = new SynAPICtrl();
static SynDeviceCtrl device = new SynDeviceCtrl();
static SynPacketCtrl packet = new SynPacketCtrl();
static int deviceHandle;
static public int x = Screen.PrimaryScreen.Bounds.Width;
static public int y = Screen.PrimaryScreen.Bounds.Height;
static public float Xmin, Xmax, Ymin, Ymax = 0;

static void Main(string[] args)
{
try
{
api.Initialize();
}
catch (Exception e)
{
Console.WriteLine("Error calling API, you didn't have Synaptics hardware or driver (if you just installed it, you need to reboot)");
loop:
Console.WriteLine("Press enter to quit OR type \"info\"");
if (Console.ReadLine().Contains("info"))
{
Console.WriteLine("{0} Exception caught.", e);
goto loop;
}
return;
}
api.Activate();
//select the first device found
deviceHandle = api.FindDevice(SynConnectionType.SE_ConnectionAny, SynDeviceType.SE_DeviceTouchPad, -1);
device.Select(deviceHandle);
device.Activate();
device.OnPacket += SynTP_Dev_OnPacket;
//For console visual
Console.Title = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
Console.SetWindowSize(58, 9);
Console.SetBufferSize(58, 9);
Console.WriteLine("Move your finger to each corner to calibrate the software");
Console.WriteLine("Raw Data from touchpad:");
Console.WriteLine("X:0 Y:0");
Console.WriteLine("Xmin:" + Xmin + " Ymin:" + Ymin);
Console.WriteLine("Xmax:" + Xmax + " Ymax:" + Ymax);
Console.WriteLine("Position on Screen (calculated):");
Console.WriteLine("X:" + 0 + " Y:" + 0);
Console.WriteLine("Press enter to quit");
Console.ReadLine();
}

//Called at each change on touchpad, constantly calibrating values & moving cursor
static void SynTP_Dev_OnPacket()
{
var result = device.LoadPacket(packet);
if (packet.X > 1)
{
Console.SetCursorPosition(0, 2);
Console.Write(new string(' ', Console.WindowWidth));
Console.SetCursorPosition(0, 2);
Console.WriteLine("X:" + packet.X + " Y:" + packet.Y);
//Calibrate
if (Xmin == 0 && Xmax == 0)
{
Xmin = packet.X;
Xmax = packet.X;
Ymin = packet.Y;
Ymax = packet.Y;
}
if (packet.X > 1)
{
if (Xmin > packet.X)
Xmin = packet.X;
if (Xmax < packet.X)
Xmax = packet.X;
}
if (packet.Y > 1)
{
if (Ymin > packet.Y)
Ymin = packet.Y;
if (Ymax < packet.Y)
Ymax = packet.Y;
}
float targetx = (packet.X - Xmin) / (Xmax - Xmin) * x;
float targety = ((Ymax - Ymin) - (packet.Y - Ymin)) / (Ymax - Ymin) * y;
//move cursor using "calibrated" values
SetCursorPos((int)targetx, (int)targety); ;
//refresh output
Console.WriteLine("Xmin:" + Xmin + " Ymin:" + Ymin);
Console.WriteLine("Xmax:" + Xmax + " Ymax:" + Ymax);
Console.SetCursorPosition(0, 6);
Console.Write(new string(' ', Console.WindowWidth));
Console.SetCursorPosition(0, 6);
Console.WriteLine("X:" + targetx + " Y:" + targety);
}
}
}
}
I did a calibration because i don't know if the values are the same on each touchpad (they were so random, so it can fit any synaptic touchpad with manual calibration (you can add an .ini to save values and more :)))
Was going to do a panel like Wacom one but no one look interested in the soft ^^'
2 month without update still working and no one sent an answer, anyone enjoyed it ? :x
Umm do I have to do some tweaking in the codes for it to work coz when I click in the .exe file it doesn't work :/
ayoubleg
the .exe should work if you have synaptic ... you can try to compile it yourself ... ^^"
Sources : https://puu.sh/tTAGj.zip
Another .exe : https://puu.sh/tTAIh.zip
Gwansyhptra

ayoubleg wrote:

the .exe should work if you have synaptic ... you can try to compile it yourself ... ^^"
Sources : https://puu.sh/tTAGj.zip
Another .exe : https://puu.sh/tTAIh.zip
this great :D its worked for me on win10, but it doesn't work when i play osu! :(
ayoubleg

Gwansyhptra wrote:

ayoubleg wrote:

the .exe should work if you have synaptic ... you can try to compile it yourself ... ^^"
Sources : https://puu.sh/tTAGj.zip
Another .exe : https://puu.sh/tTAIh.zip
this great :D its worked for me on win10, but it doesn't work when i play osu! :(
Turn OFF Raw input in osu! and it will work ! :)
HF :p
Beidou
Really sorry for "y u bump"

The website is down?
Please sign in to reply.

New reply