XKeys — скрипт для замены одноимённого плагина

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
Smitis
Posts: 1732
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 25 times
Been thanked: 58 times

XKeys — скрипт для замены одноимённого плагина

Post by Smitis »

Скрипт для замены плагина XKeys
Позволяет использовать в ФАРе (в том числе и для макросов) клавиатурные сочетания AltTab, AltEsc, AltSpace, AltEnter, AltPrntScrn, CtrlEsc и кнопку PrntScrn (она же PrtScr, она же PrintScreen) обычно зарезервированные Windows под системные нужды.

Очень краткая инструкция к очень короткому скрипту:
Перехватываемые клавиши перечисляются в строке с "local KEYS". После внесения изменений следует перезагрузить макросы или перезапустить ФАР.
Установка: Поместить скрипт в папку %farprofile%\macros\scripts или в любую подпапку там же.
Attachments
XKeys.1.00.7z
XKeys 1.00
(509 Bytes) Downloaded 661 times
User avatar
Zeroes
Мультикопипастер Броадкастер
Posts: 659
Joined: Wed 16 Mar, 2005 20:53
Location: Gomel \ Belarus
Has thanked: 4 times
Been thanked: 15 times

XKeys — скрипт для замены одноимённого плагина

Post by Zeroes »

Latest post of the previous page:

HaRT,
HaRT wrote: Thu 20 Jul, 2023 00:44 Знает ли кто-то способ перехватить в Фаре под десяткой прокрутку колёсиком с Ctrl и с CtrlShift (не откатываясь на «прежнюю версию консоли»)?
Хочу задействовать их на более востребованные действия, чем изменение размера шрифта и прозрачности (!) соответственно.
нужен Autohotkey v2.x [как вариант скачать последнюю портативную версию https://www.autohotkey.com/download/ahk-v2.zip в каталоге создать AutoHotkey64.ahk туда добавить скрипт, ярлык на AutoHotkey64.exe поместить в автозагрузку].

Шаблон1:

Code: Select all

HotIfWinActive "ahk_class ConsoleWindowClass"          
Hotkey "^WheelUp", Cmd1
Hotkey "^+WheelUp", Cmd2
Cmd1(HotkeyName)
{
MsgBox "1"
}
Cmd2(HotkeyName)
{
MsgBox "2"
}
Шаблон2:

Code: Select all

#HotIf MouseIsOverConsole("ahk_class ConsoleWindowClass")
^WheelUp::Send "{Volume_Up}"
^WheelDown::Send "{Volume_Down}"
^+WheelUp::Send "{Ctrl Down}{Shift Down}{Volume_Up}{Ctrl Up}{Shift Up}"
^+WheelDown::Send "{Ctrl Down}{Shift Down}{Volume_Down}{Ctrl Up}{Shift Up}"

MouseIsOverConsole(WinTitle) 
 {
    MouseGetPos ,, &Win
    return WinExist(WinTitle " ahk_id " Win)
 }
#HotIf
на CtrlShift+колесо применена защита против эффекта переключения языка [если в Windows это переключение на CtrlShift]

примеры выше для любого процесса запущенного под Conhost, но можно сделать чтобы срабатывало только для Far:
вместо "ahk_class ConsoleWindowClass" указываем "ahk_exe Far.exe"


если нужна помощь можно в личку обратится.
Last edited by Zeroes on Fri 16 Aug, 2024 13:32, edited 5 times in total.
--- Zeroes & Ones ---
User avatar
HaRT
Moderator
Posts: 11458
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 417 times

XKeys — скрипт для замены одноимённого плагина

Post by HaRT »

Zeroes wrote: Fri 16 Aug, 2024 13:18 примеры выше для любого процесса запущенного под Conhost, но можно сделать чтобы срабатывало только для Far:
вместо "ahk_class ConsoleWindowClass" указываем "ahk_exe Far.exe"
Спасибо, конечно, но я говорил не о переопределении действий на уровне системы (для этого я до сих пор с горем пополам использую Keyboard Maniac), а о том, чтобы именно внутри Фара назначить на кручение колеса с нажатыми модификаторами какие-то полезные действия. Да, я могу тем же KeyMan'ом заменить для Фара эти сочетания на какие-то другие (например, с физически отсутствующими функциональными клавишами) и на них навесить скрипты, но хотелось узнать, нет ли более прямого решения.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Полезные макросы и скрипты”