This is the specific script that I use.The mouse middle button actions:
press: Paste
press and hold: Copy text and show clipboard (or just show clipboard when there's no selection)
gesture left: Paste previous clipboard
gesture right: Show part of the clipboard and part of the previous clipboard as a tooltip
gesture down: Copy selection and starts WordWeb dictionary (*)
gesture up: Google search of highlighted word
gesture top/right diagonal: Paste clipboard with a semicolon in front
gesture top/left diagonal: Paste previous clipboard with a semicolon in front
(*) WordWeb dictionary has problems with text recognition (OCR) in Opera
ClipNew := clipboard
OnClipboardChange:
ClipOld := ClipNew
ClipNew := clipboard
LWin & LCtrl:: SendInput %ClipOld%
^b:: SendInput %ClipOld%
LAlt & Space:: Gosub, Show_Clipboard
MButton::
MouseGetPos, X1, Y1
Keywait MButton
MouseGetPos, X2, Y2
if(A_TimeSinceThisHotkey>200 AND X2-X1>0 AND Y2-Y1<0 AND Abs(X2-X1) >= 20 AND Abs(Y2-Y1) >= 20) {
SendInput `;{Space}%clipboard%{Space}
} ; gesture top/right
else if(A_TimeSinceThisHotkey>200 AND X2-X1>0 AND Y2-Y1>0 AND Abs(X2-X1) >= 20 AND Abs(Y2-Y1) >= 20) {
MsgBox,,,Gesture down/right diagonal,1
} ; gesture down/right
else if(A_TimeSinceThisHotkey>200 AND X2-X1<0 AND Y2-Y1<0 AND Abs(X2-X1) >= 20 AND Abs(Y2-Y1) >= 20) {
SendInput `; %ClipOld%
} ; gesture top/left
else if(A_TimeSinceThisHotkey>200 AND X2-X1<0 AND Y2-Y1>0 AND Abs(X2-X1) >= 20 AND Abs(Y2-Y1) >= 20) {
MsgBox,,,Gesture down/left diagonal,1
} ; gesture down/left
else if(A_TimeSinceThisHotkey>200 AND Y2-Y1< 0 AND Abs(Y2-Y1) >= 20 AND Abs(X2-X1) < 20) {
Gosub, Google_search
} ; gesture up
else if(A_TimeSinceThisHotkey>200 AND Y2-Y1>0 AND Abs(Y2-Y1) >= 20 AND Abs(X2-X1) < 20) {
Gosub, Go_dict
} ; gesture down
else if(A_TimeSinceThisHotkey>200 AND X2-X1<0 AND Abs(X2-X1) >= 20 AND Abs(Y2-Y1) < 20) {
SendInput %ClipOld%
} ; gesture left
else if(A_TimeSinceThisHotkey>200 AND X2-X1>0 AND Abs(X2-X1) >= 20 AND Abs(Y2-Y1) < 20) {
Gosub, Show_Clipboard
} ; gesture right
else if (A_TimeSinceThisHotkey>400) ; press and hold
{
Gosub, Close_Context_Menu
Send, ^c
Clip2 := SubStr(clipboard, 1, 70) ;"`n"SubStr(clipboard, 71, 71)
Clip3 := SubStr(ClipOld, 1, 70) ;"`n"SubStr(ClipOld, 71, 71)
CoordMode,ToolTip,Screen
ToolTip %Clip2% `n ----------- `n %Clip3% ,600,300
Sleep 1500
ToolTip
return
} else {
Send, ^v
}
return
Show_Clipboard:
Clip2 := SubStr(clipboard, 1, 70) "`n"SubStr(clipboard, 71, 71)
Clip3 := SubStr(ClipOld, 1, 70)"`n"SubStr(ClipOld, 71, 71)
CoordMode,ToolTip,Screen
ToolTip %Clip2% `n ----------- `n %Clip3% ,600,450
Sleep 2000
ToolTip
return
Get_high_text:
clipboard_backup := clipboard
Send,^c
high_text:= clipboard
Send,^c
clipboard := clipboard_backup
return
ToolTip_Copy:
ToolTip Copy
Sleep 250
ToolTip
return
Go_dict:
Gosub, Close_Context_Menu
Send ^c
Run, C:\Program Files\WordWeb\wwnotray.exe
return
Close_Context_Menu:
Send {Ctrl down}{Alt down}{Alt UP}{Ctrl UP}
return
Google_search:
Gosub, Close_Context_Menu
Gosub, Get_high_text
high_text := RegExReplace(high_text, "\s","+")
Run, C:\Program Files\Opera\opera.exe http://www.google.com/search?q=%high_text%
return