Coder Social home page Coder Social logo

absolutetouchex's People

Contributors

apsun avatar hizkifw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

absolutetouchex's Issues

Can't save calibration settings

Whenever I go to save the calibration settings nothing shows in command line. Then when i try to load it it still remains on the original settings.

Please help.

[patch] DLL injection

This isn't really an issue, but I thought I'd leave my patch here, since it may be helpful to some other people. It changes atloader.exe to enumerate the running processes and find the given executable, then injects the library using CreateRemoteThread. (I've only tested in osu, and it hasn't triggered any kind of anti cheat. I can't say the same for other apps.) The DLL has also been updated to patch windows after-the-fact and hook raw input devices.

Here's the patch for anyone that's interested:
absolutetouchex-injection.patch

I didn't make a pull request since it didn't seem appropriate to add this functionality to the main project, and it's more of a special-case use I suppose.

Unreachable region near edges of screen

I tried using it with MS-Paint and it does not work.

Note: I have precision touchpad and the program did work with osu!, however the mapping was wrong. Is there a way to change the input to screen mapping?

osu! 2015 client as workaround and potential solutions for ELAN

I have a similar issue to many (#5, #8, #12, #20) where the absolute positioning freezes the cursor with an ELAN touchpad, but it seems to work in the 2015 client. My best guess is that peppy implemented some kind of anti-cheat/update that prevents the touchpad raw input header from being passed properly in some devices.

There are two problems that I ran into:

if (hdr.dwType == RIM_TYPEMOUSE) { return true; }
interpreted the touchpad as a mouse and stopped AT_HandleRawInput from being handled properly resulting in a frozen cursor in absolute touch mode. Commenting this section of the code out solved the frozen cursor in absolute mode, but did not inject absolute input from the touchpad. This version might work for others.

image

It also seems that the raw input header was not being reported properly due to limitations of winapi with hdr.hDevice reporting 00000000. I'm working on a solution that uses WM_Pointer instead of WM_input since "classic Win32 API is not suitable for touch input at all" and it could also be helpful in preventing unintentional additional inputs from affecting gameplay.

Sources: 1----, 2----, 3----

Parameters on app launch

Hello!

I'm trying to use absolutetouchex on a different app (scrcpy) which seems to work (it starts), but the shift-f6 doesn't enable it and shift-7 didn't start the calibration.

I checked all the requirements: precision touchpad, visual c++ 2019.. the only thing I seem to miss is the raw input.

Apparently it's supported by scrcpy, launching it with the following parameter:
scrcpy --raw-key-events
(Which I don't even know if it applies just to the keys or also to the mouse/touchpad)

But when launching scrcpy from the absolutetouchex, it seems it doesn't accept the parameters of the other app, is there a way to make it happen?

Thanks

Cursor Stuck

Hello
I'm having this issue with my new laptop I got and I was expecting it not gonna lie
So on my old laptop it gave 5 contact devices for the trackpad at the top when I run the program. Absolutetouch worked flawlessly and had no issues. [acer aspire v15 nitro]

Contact for device 00020049: link=1, touchArea={0,0,1030,748}
Contact for device 00020049: link=2, touchArea={0,0,1030,748}
Contact for device 00020049: link=3, touchArea={0,0,1030,748}
Contact for device 00020049: link=4, touchArea={0,0,1030,748}
Contact for device 00020049: link=5, touchArea={0,0,1030,748}
Detected touchpad with handle 00020049
CreateWindowExW() -> hWnd=000308DA
RegisterRawInputDevices(mouse)

On my new laptop [ge66 raider], it only gives 1 contact device for the trackpad.
Here is what shows up on the attest

Contact for device 00020055: link=1, touchArea={0,0,402,244}
Detected touchpad with handle 00020055
CreateWindowExW() -> hWnd=000606A6
RegisterRawInputDevices(mouse)

and as I expected when I did it with the actual program and osu! and went into absolute mode the cursor didn't move. It started clicking a bunch of things (mostly exit) or scrolling on the song selection nonstop. Is there any way I could fix this with a driver/software update? Or any other way?
If not any other way?

or am I shit outta luck with this.

Doesn't work?

So I got my precision drivers working on my Synaptics touchpad
When I turn it on, it doesn't work? (osu says 0 reports per second)

It goes something like this:
CreateWindowExW() -> hWnd=some hex RegisterRawInputDevices(other) RegisterRawInputDevices(mouse) GetRawInputData(handle=some hex, command=some hex)

Not working with osu! on Lenovo Y540

Cmd log:

Contact for device 00010064: link=1, touchArea={0,0,384,188}
Detected touchpad with handle 00010064
CreateWindowExW() -> hWnd=000715C4
CreateWindowExW() -> hWnd=00041840
CreateWindowExW() -> hWnd=0003183A
CreateWindowExW() -> hWnd=00031834
CreateWindowExW() -> hWnd=0003170C
CreateWindowExW() -> hWnd=000416A6
CreateWindowExW() -> hWnd=00310670
CreateWindowExW() -> hWnd=000316AA
CreateWindowExW() -> hWnd=000617CA
CreateWindowExW() -> hWnd=00320670
CreateWindowExW() -> hWnd=000416AA
CreateWindowExW() -> hWnd=00041708
RegisterRawInputDevices(other)
RegisterRawInputDevices(mouse)
CreateWindowExW() -> hWnd=00330670
CreateWindowExW() -> hWnd=000516AA
CreateWindowExW() -> hWnd=000717CA
CreateWindowExW() -> hWnd=000806C2
Absolute touch mode -> ON

Nothing shows in the console after enabling absolute touch mode. Cursor doesn't move, clicking and scrolling still works.

image

cant make it work

i dont have the programing skills, i cant make it work... im i doing something wrong?

windows 10 pro, want to put it to work on onenote, to move as touch.

Fix for the 'atloader.exe %LocalAppData%\[Application]\[Application].exe' Problem

When pasting in atloader.exe %LocalAppData%\osu!\osu!.exe or start atloader.exe %LocalAppData%\osu!\osu!.exe in shell or cmd prompt, you might have experienced an error message. I have found a fix:
Paste your bitness version in the folder in osu! folder.
Go to CMD or Shell, type start ,space, then drag atloader.exe into cmd or Shell. Then add another space and drag osu!.exe into cmd or shell. Click run and viola! I am currently in the process of setting it up but if I get it to work I will update this as soon as I can.

Binary please :>

12Gb of VS download for building this program... ๐Ÿ‘Ž
A prebuilt release would be great... ๐Ÿ‘

Other programs except osu!

I really like to use my touchpad in absolute mode with other programs than osu!
Using it inside the browser for example with different drawing apps would be huge for me.

Are there any plans to implement such a thing in the future or are there other possible pathways to achieve something like that on windows or linux?

Does not work

Windows 10, Synaptics touchpad (Lenovo Ideapad 110-15ACL), AbsoluteTouchEx 1.0.0 (from releases). Old AbsoluteTouch works perfectly. This one does not work at all.

I use this .bat file to run the program:

atloader.exe %LocalAppData%\osu!\osu!.exe

As soon as I enable Raw Input in osu and press Shift+Fn+F6, my cursor stops responding. I also have a mouse connected (I have tried unplugging the mouse, no difference) and it stops responding too. I have also tried running atloader as administrator, no difference.

Before I press Shift+Fn+F6, the console output is like this:

GetRawInputData(handle=023E026D, command=0x10000005)
GetRawInputData(handle=023E026D, command=0x10000003)
GetRawInputData(handle=01BA05D7, command=0x10000005)
GetRawInputData(handle=01BA05D7, command=0x10000003)

After I enable absolute touch mode, it's like this:

Absolute touch mode -> ON
GetRawInputData(handle=00D2045D, command=0x10000005)
AT_WndProcHook: handled WM_INPUT
GetRawInputData(handle=00D3045D, command=0x10000005)
AT_WndProcHook: handled WM_INPUT

Here's the console output at startup:

CreateWindowExW() -> hWnd=00180638
CreateWindowExW() -> hWnd=001B046E
CreateWindowExW() -> hWnd=00120562
CreateWindowExW() -> hWnd=00250234
CreateWindowExW() -> hWnd=003F01F0
CreateWindowExW() -> hWnd=000B02C4
CreateWindowExW() -> hWnd=002C0434
CreateWindowExW() -> hWnd=002E0464
CreateWindowExW() -> hWnd=000E0262
CreateWindowExW() -> hWnd=001B027C
CreateWindowExW() -> hWnd=002A0420
CreateWindowExW() -> hWnd=00220250
CreateWindowExW() -> hWnd=000B027A
CreateWindowExW() -> hWnd=001C03D4
CreateWindowExW() -> hWnd=000902BE
CreateWindowExW() -> hWnd=000C0252
CreateWindowExW() -> hWnd=001D03D4
CreateWindowExW() -> hWnd=000A02BE
CreateWindowExW() -> hWnd=0016014A
RegisterRawInputDevices(other)
RegisterRawInputDevices(mouse)
CreateWindowExW() -> hWnd=001E03D4
CreateWindowExW() -> hWnd=000B02BE
CreateWindowExW() -> hWnd=00260234
CreateWindowExW() -> hWnd=000E04EC

Also, if I try to run atloader.exe attest.exe (is that how it's supposed to be used?), the startup log does not register the "other" input device:

CreateWindowExW() -> hWnd=001304B6
RegisterRawInputDevices(mouse)

Also, with absolute touch mode, the log is different too:

GetRawInputData(handle=009B0701, command=0x10000005)
GetRawInputData(handle=009B0701, command=0x10000003)
GetRawInputData(handle=005805FB, command=0x10000005)
GetRawInputData(handle=005805FB, command=0x10000003)
Absolute touch mode -> ON
AT_WndProcHook: handled WM_INPUT
AT_WndProcHook: handled WM_INPUT
AT_WndProcHook: handled WM_INPUT
AT_WndProcHook: handled WM_INPUT

Program detects where I touch touchpad, but doesn't move cursor

I have notebook Lenovo Legion Y530.
I've downloaded every driver/program what I needed to install.
When I launch program, press Shift+F6, program detects all the touches on touchpad, but cursor isn't moving anywhere...
Ask any questions. I really want to have touchscreen. :O

Won't start "Failed to create process: 0x2"

Fairly certain I'm punching in my directories and commands correctly, but I get a "Failed to create process: 0x2" error and neither program will start.

Definitely have the x86 c++ distributable, and even restarted my pc (the horror)

I've tried typing the directory as absolute or with the %appdata% format

C:\WINDOWS\system32>cd C:\Users\User\Desktop\AbsoluteTouch-1.1.0\x86\

C:\Users\User\Desktop\AbsoluteTouch-1.1.0\x86>atloader.exe C:\Users\User\appdata\local\osu!\osu!.exe
Failed to create process: 0x2

C:\Users\User\Desktop\AbsoluteTouch-1.1.0\x86>atloader.exe %LocalAppData%\osu!\osu!.exe
Failed to create process: 0x2

C:\Users\User\Desktop\AbsoluteTouch-1.1.0\x86>\

This is what the window looks like when i run atloader.exe directly

Contact for device 00020059: link=1, touchArea={0,0,1030,748}
Contact for device 00020059: link=2, touchArea={0,0,1030,748}
Contact for device 00020059: link=3, touchArea={0,0,1030,748}
Contact for device 00020059: link=4, touchArea={0,0,1030,748}
Contact for device 00020059: link=5, touchArea={0,0,1030,748}
Detected touchpad with handle 00020059
CreateWindowExW() -> hWnd=00050336
RegisterRawInputDevices(mouse)

AbsoluteTouchEx project stuck, no issues solved

I would love to use this piece of software, but as it is right now is (for most people) unusable, and even if it worked it works like a cheat, I'm not a dev but would it be possible to make a separate driver (like virtual tablet does) that acts like how a tablet registers movement, without translating it to HID events, this would solve lots of problems but it also would require development to be done

not working on ELAN touchpad driver

it works on the tester, but when I use on osu, it doesn't work at all when i activate it. (yes, i am using raw input.)

sometimes it randomly scrolls or tries to exit, but thats not my concern. my concern is actually getting this thing to work.

Running with tester gives values, but doesn't in osu!

Exactly what the title says. I'm running an ELAN touchpad, which windows says is a precision touchpad in the settings. The tester log gives coordinate values, but it doesn't when launched with osu. Cursor also doesn't move when absolute mode is enabled in osu.

Will not work with osu!lazer

I know that this project is inactive, but the switch to osu!lazer will be made in the coming weeks, and this program does not work with it. There are other issues describing this but support for lazer is yet to be implemented. I am dependent on this project to play osu! currently, so I hope somebody is able to fix the program for lazer
thanks

Infinite recursion stack overflow when opening file dialog in MelonDS

When I launch MelonDS using AbsoluteTouchEx x64/atloader.exe, opening the file dialog makes the program crash.

Debugging

  • I built AbsoluteTouchEx master 63244df myself, using the debug x64 configuration.
  • I launched MelonDS using the debug binary. atloader injected into MelonDS and closed.
  • I attached Visual Studio to MelonDS.
  • Then I opened the file dialog to trigger the crash.
 	atdll.dll!std::_Compressed_pair<std::hash<HWND__ *>,std::_Compressed_pair<std::equal_to<HWND__ *>,float,1>,1>::_Get_first() Line 1339	C++
 	atdll.dll!std::_Uhash_compare<HWND__ *,std::hash<HWND__ *>,std::equal_to<HWND__ *>>::operator()<HWND__ *>(HWND__ * const & _Keyval) Line 174	C++
 	atdll.dll!std::unordered_map<HWND__ *,__int64 (__cdecl*)(HWND__ *,unsigned int,unsigned __int64,__int64),std::hash<HWND__ *>,std::equal_to<HWND__ *>,std::allocator<std::pair<HWND__ * const,__int64 (__cdecl*)(HWND__ *,unsigned int,unsigned __int64,__int64)>>>::at(HWND__ * const & _Keyval) Line 405	C++
>	atdll.dll!AT_WndProcHook(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 927	C++
 	user32.dll!UserCallWinProcCheckWow()	Unknown
 	user32.dll!CallWindowProcW()	Unknown
 	duser.dll!ExtraInfoWndProc()	Unknown
 	user32.dll!UserCallWinProcCheckWow()	Unknown
 	user32.dll!CallWindowProcW()	Unknown
 	atdll.dll!AT_WndProcHook(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 928	C++
 	user32.dll!UserCallWinProcCheckWow()	Unknown
 	user32.dll!CallWindowProcW()	Unknown
 	duser.dll!ExtraInfoWndProc()	Unknown
 	user32.dll!UserCallWinProcCheckWow()	Unknown
 	user32.dll!CallWindowProcW()	Unknown
...snipped...
 	atdll.dll!AT_WndProcHook(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 928	C++
 	user32.dll!UserCallWinProcCheckWow()	Unknown
 	user32.dll!CallWindowProcW()	Unknown
 	duser.dll!ExtraInfoWndProc()	Unknown
 	user32.dll!UserCallWinProcCheckWow()	Unknown
 	The maximum number of stack frames supported by Visual Studio has been exceeded.	

I recall message was 124 or something, definitely not 0xFF or above.

I have several Windows Explorer addons installed though. I'm not sure if this can be reproduced on stock Windows 10.

melonDS 0.8.3 JIT beta for x64 Windows:

Windows 10 1909 x64.

Seems not working with osu!lazer version.

osu!lazer still allows the use of Raw Input, however it seems that AbsoluteTouchEx doesn't work well with it.
Have tried both x86 and x64 executables (as osu!lazer seems to be x64 from task manager)
Also tried both the shortcut location (C:\Users_\AppData\Local\osulazer\osu!.exe) and the actual game executable (C:\Users_\AppData\Local\osulazer\app-2019.530.0\osu!.exe) they both does not work out like what is like in osu! stable one.

global absolute touch?

i'd like to use it like your original AbsoluteTouch
what do i have to hook?
maybe a list of commands?
idk im confused plz help qwq

Does not work with osu!lazer

I am aware there has already been an issue created, but since that was back in 2019 I decided to create another, tried both x64 and x86 loaders, but neither work. This will soon be a huge issue since osu! will move to using osu!lazer as the main client which will make this program (and using touchpads for osu) practically useless

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.