노트북에서 키보드 입력 시 터치패드를 비활성화 하는 TouchPadPal

노트북에서 키보드 입력 시 터치패드를 비활성화 하는 TouchPadPal

tpp


노트북에서 무언가를 열심히 쓸 때 터치패드를 건드려 마우스 커서가 안드로메다로 날아가면서 엉뚱한 곳에 타이핑 했던 경험이 다들 있으실 텐데요. TouchPadPal은 키보드 입력 시에만 터치패드를 잠깐씩 비활성화 해줘서 쾌적한 타이핑을 도와주는 유틸리티입니다.

다운로드 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)
}


태그
의견 0 신규등록      목록