Jump to content

Search the Community

Showing results for tags 'touchscreen'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Announcements and Site News
    • Administration
  • AutoIt v3
    • AutoIt Help and Support
    • AutoIt Technical Discussion
    • AutoIt Example Scripts
  • Scripting and Development
    • Developer General Discussion
    • Language Specific Discussion
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Categories

  • AutoIt Team
    • Beta
    • MVP
  • AutoIt
    • Automation
    • Databases and web connections
    • Data compression
    • Encryption and hash
    • Games
    • GUI Additions
    • Hardware
    • Information gathering
    • Internet protocol suite
    • Maths
    • Media
    • PDF
    • Security
    • Social Media and other Website API
    • Windows
  • Scripting and Development
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Member Title


Location


WWW


Interests

Found 1 result

  1. Hello forums, My tablet's (T100TA) digitizer got broken and so the screen gets random phantom (haha) touch inputs. I can disable the whole touchscreen functionality but I can't because I really need to use the touchscreen. I can also have the digitizer replaced but unfortunately I don't have enough money to afford that now. As seen on the attached image, I'm able to detect the touchscreen inputs on the left side of the screen. (Those are the phantom touch inputs!) Problem is, is there a way to block those inputs (so instead of it sending a primary down, nothing is passed on the windows)? What I'm going to do is to block inputs only in areas where the phantom inputs usually are. I have done what I wanted with MrCreator's MouseOnEvent UDF with his "Restrict clicks in certain area" example but the downside is that both the touch AND mouse inputs are block. Thanks so much! Here's the WM_TOUCH code: #include <GUIConstantsEx.au3> #include <GuiButton.au3> #include <WindowsConstants.au3> #include <StructureConstants.au3> #include <GuiEdit.au3> #include <WinAPI.au3> #RequireAdmin Global $iMemo ;Global $WM_TOUCH = 0x240 Local $hGUI Global Const $tagTOUCHINPUT = "LONG x; LONG y; HANDLE hSource; DWORD dwID; DWORD dwFlags; DWORD dwMask; DWORD dwTime; ULONG_PTR dwExtraInfo; DWORD cxContact; DWORD cyContact" _Main() Func _Main() $hGUI = GUICreate("WM_TOUCH", 1080, 640) $iMemo = GUICtrlCreateEdit("", 10, 10, 300, 600, $WS_VSCROLL) _GUICtrlEdit_SetLimitText($iMemo, 0x80000000) GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New") DllCall("User32.dll", "BOOL", "RegisterTouchWindow", "HWND", $hGUI, "ULONG", 2) GUIRegisterMsg($WM_TOUCH, "WM_TOUCH") GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd Exit EndFunc ;==>_Main Func WM_TOUCH($hWnd, $Msg, $wParam, $lParam) Dim $arrayTouchInput[Int($wParam)] $Buffer = DllStructCreate("BYTE buffer[" & (Int($wParam)*40) & "]") ;GUICtrlSetData($iMemo, "BYTE buffer[" & (Int($wParam)*40) & "]" & @CRLF, 1) $TouchInfo = DllStructCreate($tagTOUCHINPUT, DllStructGetPtr($Buffer)) $pTouchInfo = DllStructGetPtr($TouchInfo) For $i = 0 To (Int($wParam)-1) Step 1 $arrayTouchInput[$i] = DllStructCreate($tagTOUCHINPUT, ($pTouchInfo+($i*40))) Next $aRet0 = DllCall("User32.dll", "BOOL", "GetTouchInputInfo", "HANDLE", $lParam, "UINT", $wParam, "ULONG_PTR", $pTouchInfo, "int", DllStructGetSize($TouchInfo)) ;GUICtrlSetData($iMemo, "@error: " & @error & @CRLF, 1) ;GUICtrlSetData($iMemo, "_WinAPI_GetLastError(): " & _WinAPI_GetLastError() & @CRLF, 1) ;GUICtrlSetData($iMemo, "Func0 Ret: " & $aRet0[0] & @CRLF, 1) GUICtrlSetData($iMemo, "************************************" & @CRLF, 1) GUICtrlSetData($iMemo, "Finger Numbers: " & Int($wParam) & @CRLF, 1) For $j = 0 To (Int($wParam)-1) Step 1 GUICtrlSetData($iMemo, "Points " & $j & " dwID: " & DllStructGetData($arrayTouchInput[$j], "dwID") & " ", 1) GUICtrlSetData($iMemo, " x: " & DllStructGetData($arrayTouchInput[$j], "x")/100 & " ", 1) GUICtrlSetData($iMemo, " y: " & DllStructGetData($arrayTouchInput[$j], "y")/100 & @CRLF, 1) Next ;GUICtrlSetData($iMemo, "TouchInfo Size: " & DllStructGetSize($TouchInfo) & @CRLF, 1) ;$aRet1 = DllCall("User32.dll", "BOOL", "CloseTouchInputHandle", "HANDLE", $lParam) ;GUICtrlSetData($iMemo, "Func1 Ret: " & $aRet1[0] & @CRLF, 1) ;$TouchInfo = 0 Return $GUI_RUNDEFMSG EndFunc ;==>WM_NOTIFY
×
×
  • Create New...