노트북에서 무언가를 열심히 쓸 때 터치패드를 건드려 마우스 커서가 안드로메다로 날아가면서 엉뚱한 곳에 타이핑 했던 경험이 다들 있으실 텐데요. TouchPadPal은 키보드 입력 시에만 터치패드를 잠깐씩 비활성화 해줘서 쾌적한 타이핑을 도와주는 유틸리티입니다.
몇몇 브랜드의 노트북에서는 이런 종류의 프로그램이 기본적으로 포함되어 있기도 하지만 아직까지 없는 노트북이 더 많고 또 운영체제를 업데이트 하면서 못쓰게 되는 경우도 많으니 TouchPadPal 같은 프로그램이 도움이 되겠네요. TouchPadPal은 윈도우 전용이며 비슷한 프로그램으로 TouchFreeze가 있고 AutoHotkey 스크립트로도 비슷한 효과를 볼 수 있습니다.
; v1.0 2010-02-23 Original Release ; v1.1 2010-02-25 Added user configuration section ; Added option to block mouse clicks ; Added option to omit blocking for shift, ctrl, alt, win keys #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. ;user configuration DisableTime := 500 ;in milliseconds BlockMouseMove := True BlockLeftClick := True BlockMiddleClick := True BlockRightClick := True AllowShift := True AllowCtrl := True AllowAlt := True AllowWin :=True ;keyboard hook code credit: http://www.autohotkey.com/forum/post-127490.html#127490 #Persistent OnExit, Unhook ;initialize hHookKeybd := SetWindowsHookEx(WH_KEYBOARD_LL := 13, RegisterCallback("Keyboard", "Fast")) Hotkey, LButton, DoNothing, Off Hotkey, MButton, DoNothing, Off Hotkey, RButton, DoNothing, Off Return DisableTrackpad: ShiftActive := AllowShift && GetKeyState("Shift") CtrlActive := AllowCtrl && GetKeyState("Ctrl") AltActive := AllowAlt && GetKeyState("Alt") LWinActive := AllowWin && GetKeyState("LWin") RWinActive := AllowWin && GetKeyState("RWin") if (!ShiftActive && !CtrlActive && !AltActive && !LWinActive && !RWinActive) { if (BlockMouseMove) BlockInput, MouseMove if (BlockLeftClick) Hotkey, LButton, DoNothing, On if (BlockMiddleClick) Hotkey, MButton, DoNothing, On if (BlockLeftClick) Hotkey, RButton, DoNothing, On } Return ReenableTrackpad: if (BlockMouseMove) BlockInput, MouseMoveOff if (BlockLeftClick) Hotkey, LButton, Off if (BlockMiddleClick) Hotkey, MButton, Off if (BlockLeftClick) Hotkey, RButton, Off Return DoNothing: Return Unhook: UnhookWindowsHookEx(hHookKeybd) ExitApp Keyboard(nCode, wParam, lParam) { Critical If !nCode { Gosub, DisableTrackpad SetTimer, ReenableTrackpad, %DisableTime% } Return CallNextHookEx(nCode, wParam, lParam) } SetWindowsHookEx(idHook, pfn) { Return DllCall("SetWindowsHookEx", "int", idHook, "Uint", pfn, "Uint", DllCall("GetModuleHandle", "Uint", 0), "Uint", 0) } UnhookWindowsHookEx(hHook) { Return DllCall("UnhookWindowsHookEx", "Uint", hHook) } CallNextHookEx(nCode, wParam, lParam, hHook = 0) { Return DllCall("CallNextHookEx", "Uint", hHook, "int", nCode, "Uint", wParam, "Uint", lParam) }