Long press left button > View file in Lister
Long press middle button > Edit file
Double click middle button > Select files with same ext.
Download executable & source:
https://www.dropbox.com/s/jm0wmz1w751t5st/TotalMouseEX.7z
Source (AutoHotkey_L v1.1.1.00 Unicode):
Code: Select all
#Persistent
#SingleInstance force
SetKeyDelay, -1
SetWinDelay, -1
SetBatchLines, -1
Prj := "TotalMouseEX v0.7 by zL"
Tray:
Menu, Tray, NoStandard
Menu, Tray, DeleteAll
Menu, Tray, Tip, % Prj
IfEqual, A_IsCompiled,, Menu, Tray, Icon, % (FileExist(A_ScriptDir "\TotalMouseEX.ico") ? A_ScriptDir "\TotalMouseEX.ico" : "main.cpl")
RegRead, Startup, HKCU, Software\Microsoft\Windows\CurrentVersion\Run, TotalMouseEX
Menu, Tray, Add, &About, About
Menu, Tray, Add, &Start with Windows, Startup
Menu, Tray, % (Startup ? "" : "Un") "Check", &Start with Windows
Menu, Tray, Add
Menu, Tray, Add, E&xit, Quit
Menu, Tray, Default, &About
Return
About:
MsgBox 8256, % Prj,
(LTrim
Additional mouse functions for Total Commander:
- Long press left button > View file in Lister
- Long press middle button > Edit file
- Double click middle button > Select files with same ext.
)
Return
Startup:
IfEqual, Startup,, RegWrite, REG_SZ, HKCU, Software\Microsoft\Windows\CurrentVersion\Run, TotalMouseEX, % A_ScriptFullPath
Else, RegDelete, HKCU, Software\Microsoft\Windows\CurrentVersion\Run, TotalMouseEX
Gosub, Tray
Return
Quit:
ExitApp
#If WinActive("ahk_class TTOTAL_CMD") and MouseUnder("(TMy|LCL)ListBox[123]")
~LButton::
MButton::
StringReplace, Button, A_ThisHotkey, ~
If %Button%Press
{ %Button%Press += 1
Return
}
%Button%Press = 1
SetTimer, %Button%Press, -250
Return
LButtonPress:
IfEqual, LButtonPress, 1
{ MouseGetPos, x0, y0
KeyWait, LButton, T0.4
MouseGetPos, x1, y1
If (ErrorLevel && WinActive("ahk_class TTOTAL_CMD") && (x0 = x1 && y0 = y1))
Send, {Click}{F3}
}
LButtonPress = 0
Return
MButtonPress:
IfEqual, MButtonPress, 1
{ MouseGetPos, x0, y0
KeyWait, MButton, T0.4
MouseGetPos, x1, y1
If (ErrorLevel && WinActive("ahk_class TTOTAL_CMD") && (x0 = x1 && y0 = y1))
Send, {Click}{F4}
Else, Send, {MButton}
}
Else, IfEqual, MButtonPress, 2, Send, {Click}!{NumpadAdd}
MButtonPress = 0
Return
MouseUnder(Controls) {
MouseGetPos,,,, Control
If RegExMatch(Control, Controls)
Return, True
}