Автоматическое нажатие F3-F4

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
sergeich
Сообщения: 185
Зарегистрирован: Вт апр 25, 2006 22:36
Откуда: Москва

Сообщение sergeich »

Новая версия 1.4
Добавлено: переключение режимов средней кнопкой мыши, автозагрузка программы...
Аватара пользователя
funduk
Сообщения: 1515
Зарегистрирован: Вт авг 16, 2005 16:00
Откуда: Санкт-Петербург

Сообщение funduk »

Кстати, ты бы завёл себе профиль в вике, чтобы народ знал, кто из аддонописателей сам в список свои аддоны добавляет.
Аватара пользователя
sergeich
Сообщения: 185
Зарегистрирован: Вт апр 25, 2006 22:36
Откуда: Москва

Сообщение sergeich »

funduk писал(а):Кстати, ты бы завёл себе профиль в вике, чтобы народ знал, кто из аддонописателей сам в список свои аддоны добавляет.
завел. надеюсь, народ теперь все знает :-)
JKT
Сообщения: 116
Зарегистрирован: Вт сен 22, 2009 23:01
Откуда: Харьков

Сообщение JKT »

Киньте плиз куданить на обменку - ссылка умерла
Аватара пользователя
Bomm
Сообщения: 245
Зарегистрирован: Сб янв 15, 2005 14:39
Откуда: Москва

Сообщение Bomm »

Юрий Бомштейн
JKT
Сообщения: 116
Зарегистрирован: Вт сен 22, 2009 23:01
Откуда: Харьков

Сообщение JKT »

Спасибо
Эх, жаль, что там ненастраивается время этого удержания кнопки, частенько ложно срабатывает при перетаскивании, видать надо попривыкнуть, но всеравно удобно (любителям мышей)
Mailk
Сообщения: 251
Зарегистрирован: Сб янв 16, 2010 20:19

Сообщение Mailk »

Где сама прога ? все ссылки битые .
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Добавил в лист.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
mf-zl
Сообщения: 71
Зарегистрирован: Вс авг 21, 2005 03:30
Откуда: BLR
Контактная информация:

Сообщение mf-zl »

TotalMouseEX v0.1a by zL
AutoHotkey_L v1.1.1.00 Unicode

Зажатие левой кнопки - F3
Клик средней - F4

Код: Выделить всё

#SingleInstance force

#If WinActive("ahk_class TTOTAL_CMD") and MouseUnder("TMyListBox[12]")

~LButton::
  If LPress {
    LPress += 1
    Return
  } LPress = 1
  SetTimer, LPress, On
Return

MButton::
  Click
  Send, {F4}
Return

LPress:
  SetTimer, LPress, Off
  If (LPress = 1)
	{ KeyWait, LButton, T0.4
    If (ErrorLevel && WinActive("ahk_class TTOTAL_CMD"))
    { Click
      Send, {F3}
    }
	} LPress = 0
Return

MouseUnder(Controls) {
  MouseGetPos,,,, Control
  If RegExMatch(Control, Controls)
    Return, True
}
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

mf-zl
Интересное решение. Кстати, более удобно работает со средней кнопкой, чем утилита: там использование для других целей средней кнопки блокировалось в окне TC везде, здесь — только в файловых панелях.
А можно ли сделать вариант, где для средней кнопки — не клик, а зажатие, причём только при статичном положении мыши, без перетаскивания? Это позволило бы, например, также включать в файловых панелях TC функционал автоскроллинга или использовать прямоугольное выделение в стиле TWinKey.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
mf-zl
Сообщения: 71
Зарегистрирован: Вс авг 21, 2005 03:30
Откуда: BLR
Контактная информация:

Сообщение mf-zl »

Avada, можно :wink:

Прилепил статику и на левую кнопку.
Также добавил пример двойного клика средней кнопкой - выделяет расширения под курсором

Код: Выделить всё

; TotalMouseEX v0.3 by zL
; AutoHotkey_L v1.1.1.00 Unicode

#SingleInstance force

#If WinActive("ahk_class TTOTAL_CMD") and MouseUnder("TMyListBox[12]")

~LButton::
  If LPress {
    LPress += 1
    Return
  } LPress = 1
  SetTimer, LPress, On
Return

~MButton::
  If MPress {
    MPress += 1
    Return
  } MPress = 1
  SetTimer, MPress, On
Return

LPress:
  SetTimer, LPress, Off
  MouseGetPos, x0, y0
  If (LPress = 1)
  { KeyWait, LButton, T0.4
    MouseGetPos, x1, y1
    If (ErrorLevel && WinActive("ahk_class TTOTAL_CMD") && (x0 = x1 && y0 = y1))
    { Click
      Send, {F3}
    }
  } LPress = 0
Return

MPress:
  SetTimer, MPress, Off
  MouseGetPos, x0, y0
  If (MPress = 1)
  { KeyWait, MButton, T0.4
    MouseGetPos, x1, y1
    If (ErrorLevel && WinActive("ahk_class TTOTAL_CMD") && (x0 = x1 && y0 = y1))
    { Click
      Send, {F4}
    }
  } Else, If (MPress = 2)
  { Click
    Send, !{NumpadAdd}
  } MPress = 0
Return

MouseUnder(Controls) {
  MouseGetPos,,,, Control
  If RegExMatch(Control, Controls)
    Return, True
}
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

mf-zl
Спасибо. Сообщаю результаты тестирования.
С левой кнопкой всё OK, изменение со статикой подтверждаю.
Со средней — хуже. В чистом TC работа скрипта зависит от возможности автоскроллинга в текущей файловой панели (то есть есть ли куда крутить). Если прокрутка невозможна — срабатывают и одинарный, и двойной клик. Если возможна — средний клик сразу же включает режим автоскроллинга (появляется маркер), далее скрипт не срабатывает.
Одиночный длинный клик средней кнопкой в настроенном TC с включённым TWinKey (это мой штатный режим) в новой версии скрипта F4 не обрабатывает, только выделяется файл под курсором. Двойной щелчок (выделение по расширению) срабатывает, но почему-то со второго раза. Проверил настройки TWinKey, при отключении там опции, позволяющей средней кнопкой выставлять рамочное выделение, F4 начинает обрабатываться.
С отключённым (выгруженным по cm_UnloadPlugins) — TWinKey средняя кнопка работает ровно по тем же правилам, что в чистом TC.
То есть автоскроллинг работу скрипта явно блокирует. И "рамочная" фича TWinKey, похоже, тоже. Но её на крайний случай отключить можно, а автоскроллинг — нет. Такие дела.
P.S. И не надо было весь мой пост цитировать.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
mf-zl
Сообщения: 71
Зарегистрирован: Вс авг 21, 2005 03:30
Откуда: BLR
Контактная информация:

Сообщение mf-zl »

Код: Выделить всё

#Persistent
#SingleInstance force

Prj = TotalMouseEX v0.5 by zL

Tray:
  Menu Tray, Tip, % Prj
  Menu Tray, Icon, main.cpl
  Menu Tray, NoStandard
  Menu Tray, Add, &About, About
  Menu Tray, Add
  Menu Tray, Add, E&xit, Quit
  Menu Tray, Default, &About
Return

About:
  MsgBox 8256, % Prj,
  (LTrim
    Long press left mouse button to view file in lister
    Long press middle mouse button to edit file
    Double click middle mouse button to select files with same extension
  )
Return

Quit:
ExitApp

#If WinActive("ahk_class TTOTAL_CMD") and MouseUnder("TMyListBox[12]")

~LButton::
  If LPress {
    LPress += 1
    Return
  } LPress = 1
  SetTimer, LPress, On
Return

MButton::
  If MPress {
    MPress += 1
    Return
  } MPress = 1
  SetTimer, MPress, On
Return

LPress:
  SetTimer, LPress, Off
  MouseGetPos, x0, y0
  If (LPress = 1)
  { KeyWait, LButton, T0.4
    MouseGetPos, x1, y1
    If (ErrorLevel && WinActive("ahk_class TTOTAL_CMD") && (x0 = x1 && y0 = y1))
    { Click
      Send, {F3}
    }
  } LPress = 0
Return

MPress:
  SetTimer, MPress, Off
  MouseGetPos, x0, y0
  If (MPress = 1)
  { KeyWait, MButton, T0.4
    MouseGetPos, x1, y1
    If (ErrorLevel && WinActive("ahk_class TTOTAL_CMD") && (x0 = x1 && y0 = y1))
    { Click
      Send, {F4}
    } Else, Send, {MButton}
  } Else, If (MPress = 2)
  { Click
    Send, !{NumpadAdd}
  } MPress = 0
Return

MouseUnder(Controls) {
  MouseGetPos,,,, Control
  If RegExMatch(Control, Controls)
    Return, True
}
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

mf-zl
Прогресс есть. В TC, где не включено рамочное выделение TWinKey, длинный средний щелчок срабатывает нормально, автоскроллинг по короткому щелчку тоже работает. Конфликта нет. Двойной средний клик срабатывает почему-то со второго либо третьего раза (первый раз включается автосроллинг).
При включённом рамочном выделении теперь работает только скрипт. Он блокирует создание рамочного выделения (средняя кнопка при перетаскивании), а включённая — пусть и неработающая — фича TWinKey блокирует автоскроллинг (но последнее — отдельный вопрос не для этой темы). Двойной средний щелчок срабатывает всегда по второму разу.
Добавление мини-справки — это тоже хорошо. :)
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
mf-zl
Сообщения: 71
Зарегистрирован: Вс авг 21, 2005 03:30
Откуда: BLR
Контактная информация:

Сообщение mf-zl »

Avada
странно! у меня всё срабатывает с первого раза, на чистом и не очень тк! :shock:
давай разбираться с TWinKey - скинь свой конфиг...

Обновления будут тут:
http://ghisler.ch/board/viewtopic.php?p=267739#267739
Ответить