I'm using XP so not sure if this applies to Vista/Win7, but in my experience ^c is a slow and unreliable method to grab file paths. Why not forgo the clipboard altogether, and instead use vista/win7 equivalents of:
Code:
ControlGet, selected, List, Selected Col1, SysListView321, A
ControlGet,focused,List,Focused Col1,SysListView321,A
And to detect double-clicks I'd just use double-keywaits. e.g.
Code:
#IfWinActive, ahk_class CabinetWClass
~LButton::
KeyWait,LButton
KeyWait, LButton, d T0.2
If ! Errorlevel
{
ControlGet, selected, List, Selected Col1, SysListView321, A
ControlGet,focused,List,Focused Col1,SysListView321,A
ToolTip, Focused file:`n%focused%`n`nSelected files:`n%selected%
}
Return
In XP, double-clicking on empty deselects folders/files, but it does not remove the focus from the previously focused item, so not sure if that's any help to you. But I missed the point of your code anyway. On my system !{Up} does nothing, whereas !{Left} enters focused folder, but then again, so does double-clicking on it... And a single-click is enough to deselect files/folders, so again I don't see why anyone would double-click empty spaces for that purpose...