Обсуждаем программу, нажимаем кнопки, постим сниппеты, дымим от скриптового языка.Для тех, кто не в курсе. AutoHotkey - это программа для Windows, позволяющая назначить одно сочетание клавиш на любое другое. Можно нажимать отдельные кнопки, сочетать их, отправлять последовательности и строки, делать все сорта автозамен. Мощный скриптовый язык позволит управлять окнами, запускать другие программы, генерировать инфу, отслеживать контент, пилить пользовательские интерфейсы, программировать кофеварку и писать макросы на другие случаи жизни, вешая всё на одну кнопку. Тред не взлетит, но да здравствует AutoHotkey-тред!
Поскольку переназначение клавиш довольно примитивно (x::y), вкину несколько макросов.Например, как хоткеем делать какое-либо окно всегда поверх других. В данном случае это будет контрол+пробел:http://pastebin.com/9qpeUp5Z
Просто вызываем калькулятор. На многих клавах есть бесполезная кнопка под это действие. При нажатии Вин+капслок откроется виндовый калькулятор:http://pastebin.com/R3crCNQy
Пример с проверкой на окно. Название окна или программы можно отследить через Window Spy, встроенный в программу.На Лисе многие пользуются кейвордами, можно запилить шорткаты для поисковых операторов, чтобы искать по конкретным файлам или на определенных сайтах:http://pastebin.com/SM4KnApz
Годная тема, сейчас уже сложно было бы без нее. Я напердолил переключение рабочих столов на alt+1,2 перебиндил доп. кнопки мыши, пара сочетания для запуска приложений и то ради чего все изначально затевалось, регулировка громкости системы роликом мыши у левого края экрана и активного приложения у правого, еще когда-то для удалённого управления пекой с помощью беспроводного геймпада использовал, но потом пересел на отдельную письку.
Многие программы хочется закрывать нажатием эскейпа, а кнопку назначить негде. Через АХК можно управлять окнами напрямую. Вот так можно закрывать Суматру ПДФ эскейпом:http://pastebin.com/eTAZ6vptПустая директива в конце нужна, чтобы правило прекращало своё действие, иначе оно будет действовать до конца скрипта. Скриптовый язык АХК не очень изящен, и я его плоховато знаю, поэтому каких-то особых тонкостей подсказать не могу. Надеюсь, тут есть люди более сведущие, насилующие Автохоткей более изощренными методами.
А вот пример таймера с коллбэком (я не погроммист, если что, не бейте). Закрывает попап Сублим Текста, назойливо предлагающий его купить.http://pastebin.com/yAeSJJSv
Удобно обходить анальные ограничения программ на хоткеи. Назначил в программе что-то типа Ctrl+Alt+Shift+F12, а автохоткей настроил на какой-нибудь Ctrl+L, K, который и отправляет этот пальцелом.В начало скрипта я предпочитаю помещать подсказку, так как никак не могу запомнить модификаторы:http://pastebin.com/t2zt0HQrВсё остальное у меня - мелочёвка типа автоматической замены кейвордов при неправильной раскладке, какие-то совсем уж конкретные и бесполезные остальным текстовые сниппеты для программ и повторение вышеперечисленных операций для других типов окон при чуть других условиях. В принципе, можно делать куда более крутые вещи, но мне пока без надобности, и я вдобавок туповат, поэтому пользуюсь лишь малой частью возможностей программы.
>>1823308>регулировка громкости системы роликом мыши у левого края экранаКруто! Поделись скриптом.
Кстати, ещё один полезный макрос, чисто служебный. Он перезагружает скрипт. Когда АХК начинает тупить (или мы думаем, что он начал тупить), не лазя в трей релоадим скрипт с клавиатуры:http://pastebin.com/CnH4C2e9Также очень удобно повесить подчеркивание на шифт+пробел (типа, "пробел с большой буквы"), экономит массу телодвижений, если часто пользуешься подчеркиванием. Это совсем просто:http://pastebin.com/5t3SdLuv
Раз уж такой годный тред, вкину кое-что чем сам пользуюсь.Ctrl + Пробел - текущее активное окно закрепляется поверх всех, бывает люто удобно, например калькулятор или терминал используешь.http://pastebin.com/0NAQ2puRВот еще годный скрипт. Блокирует клавиатуру, полезно когда ноутбук. Едешь в электричке, блокируешь клавиатуру, смело кладешь тетраду и пишешь. http://www.howtogeek.com/wp-content/uploads/gg/up/Keyboard%20Locker.zip
Еще вброшу для бесполезных долбоебов которые любят схоронять картинки, таких как я.AHK скрипт для хрома. Схороняет картинку на которую наведен курсор мыши. Попробуешь раз, никогда больше не станешь сохранять иначе.http://pastebin.com/NTN6SrtH
>>1823408>Схороняет картинку на которую наведен курсор мыши. Поясню, наводишь и нажимаешь Win
>>1823411Бля, не Win а Left Shift конечно.
>>1823408Есть такое для огнелиса? И как он вообще работает?
>>1823419> как он вообще работает? Как и большинство других скриптов, просто быстро прожимая необходимые действия.> Есть такое для огнелисаПеределать то минутное дело, но мне лень.>>1823328Там все на таких костылях что мне стыдно.
>>1823419>Есть такое для огнелиса? Замени chrome.exe на firefox.exe, а Save As на Save Image, будет работать
>>1823430А прожимает он, используя координаты экрана или имя/ID кликабельного объекта?
>>1823502Конкретно этот скрипт симулирует клик правой кнопкой мыши если текущее окно это процесс chrome.exe, по клику появляется контекстное меню, затем сразу жмет 'v' - это шорткат браузера к пункту меню "сохранить картинку". Затем ждет появления окна с заголовком "Save As"(это диалог сохранения) и тут же жмет Enter. Все это происходит очень быстро, пукнуть не успеешь.
>>1823298Что мешает без мокрописек поставить стандартный CTRL+ALT+HUI?
>>1823292 (OP)Помню этот костыль для слоупоков. Примитивный трёхстрочечный макрос 300 мс обрабатывает.
>>1823560Бывает приходится сохранять не-картинки в другие папки, значит пикча будет сохранятся в последнюю папку, которая использовалась для сохранения чего-либо. Не торт.
>>1823408>>1823419Вот для Лисы. Заменил Shift на Alt+PageDown, так как заметил, что он при печати сообщения иногда пробует сохранить картинку.http://pastebin.com/DyVwghGmЖмёт ПКМ, нажимает v на клаве (это акселератор пункта Save Image As...), в открывшемся окне нажимает энтер или ничего не делает, если окно не появилось. Если изображение уже существует, оно остановится на диалоге перезаписи.>>1823665Первую сохраняешь по нужному адресу, далее кнопкой. Можешь допилить, чтобы вставлял нужный тебе каталог в строку адреса. Для лисы есть аддон SaveImages, кстати, так что не нужно велосипедить.
>>1823573Ты о чем?
>>1823619Джва чаю этому адеквату.Шкальникам подсунули мокрую писю, теперь они с ней как с писаной торбой носятся.
>>1823619>>1823781Два голословных пиздобола.
>>1823430>Там все на таких костылях что мне стыдно.http://pastebin.com/eyDSjB4GЗамутил свой велосипед, раз ты стесняешься. Регулирует громкость по 5 системных громкостных попугаев. Работает в десятипиксельной зоне с правого края экрана. Пока не знаю, будет ли мешать при скролле окон.
>>1823784>ВРЁТИ!!11Да кому ты нужен, вконтактодаун.
>>1823809>вконтактодаунЕбать ты горишь.
>>1823795> будет ли мешать при скролле оконБудет, я два ставил.
>>1823838За день ни разу не задел громкость, пытаясь что-то прокрутить. Мне пока не мешает. От индивидуальных привычек зависит.Кстати, колесо в винде из коробки работает, если кликнуть по иконке звука на таскбаре. Но по ощущениям это не то же самое, что слепо дёрнуть мышью и крутануть колесо пару раз. Ещё бы окошечко всплывало при этом, как если бы кликнул по иконке звука.
>>1823292 (OP)Сап, ребятки. Есть такой скриптик http://pastebin.com/EdmfybF2Почему-то в игре иногда вводит не "dota_force_right_click_attack" а, например, "ta_force_right_click_attack" или еще больше букв проглатывает. Подскажите, в чем проблема, и как это исправить.
>>1823873Предположу, что нужен небольшой дилэй. Твой макрос просто отправляет весь инпут последовательно. Он может это сделать за одну миллисекунду. Игре же нужно некоторое время, чтобы покрутить шестернями там внутри. Если ты открываешь консоль, в движке происходит масса вещей.https://autohotkey.com/docs/commands/SetKeyDelay.htmВозможно, придется заменить сэндинпут на сэнд, так как пишут, что оно не затрагивает его. Или не придется, и дилэя для нажатия ф12 хватит. Либо проблема в другом.
>>1823877Да, поставил Sleep, 100 после f12, вроде нормально работает. Как-то сразу и не догадался, спасибо.
>>1823292 (OP)годная прога, много лет пользуюсь для самых разных целей.
>>1823560в лисе есть дополнение Save File to если что. сохраняет в нужное место в два клика.
А можно тут сделать чтобы при клике скм по заголовку окна, в приложении нажималась определенная кнопка? Сам пытаюсь нагуглить, но чет нифига не понимаю.
>>1823818>у тибя брутхрут я тибя зотралел ну скажи ему мам!Ебать ты дурачок. Съеби уже обратно в социалочки, ребёнок.
>>1824137Таки запилил http://pastebin.com/gVFTAqxQ есть только две проблемы, не удается назначить на скм, он почемуто на его нажатие просто не реагирует и лиса себя неадекватно ведет если при фокусе на нее, нажать на плеер.
>>1824206лису пофиксил поставив задержку.
Самая полезная хуйня, которую я на нем делал, и то, из-за того, что autoit не умеет в маус4/5 без дополнительного шаманства с ручной обработкой нажатий через user32.dll.setkeydelay, -1settimer, Upd, 500pause::suspend!pause::exitappxbutton1::IfWinActive, ahk_pid%pid_kmp% {send {esc}return}IfWinNotActive, ahk_pid%pid_kmp% {send {xbutton1} }returnxbutton2:: IfWinActive, ahk_pid%pid_kmp% {send {space}}IfWinnotActive, ahk_pid%pid_kmp%{winactivate , ahk_pid%pid_kmp%}returnUpd:process, wait, kmplayer.exe, 5pid_kmp = %errorlevel%Return
>>1824201У тебя попросили пруфы того, что утверждаешь, а ты сразу переходишь на личности. Кто же здесь ребенок из соцсетей, м?
>>1824206По первому - в чистом скрипте пробовал? Возможно, у тебя уже глобально обрабатывается нажатие на колесо (MButton).
>>1824469Ты. Уёбывай давай, любитель адекватных бесед.
>>1826040>Можно как-то разделить скрипты на отдельные текстовые файлы, но запущено чтобы было несколько сразу? Немного пердольно все это, язык макросов странный. Но прикольно. Кто-нибудь тестил на замедление работы системы?Так это дефолтное поведение. Сколько запустишь скриптов, столько и будет запущено. Чтобы было наоборот можно делать инклюды. Ни разу не пердольно, если не пишешь макросы, а просто используешь хоткеи и автореплейсы (как я). Язык поганенький, да. На замедление я не тестил. Однако каких-либо даже еле различимых задержек я не заметил. Разумеется, если ты крузис напишешь и повесишь на хоткей, то будет медленно. Крузисом могут оказаться и какие-нибудь системные вызовы.
Так ребятки, а как указать программе выполнять нажатие комбинации шифт+альт. У меня на шындоус это переключение языка и очень часто это переключение лагает и я сижу как идиот и по 10 раз жму шифт+альт. Пробовал перемапить на инсерт путём Ins:: +! но при запуске пишет мол не понимаю что ты там написал. Через + & ! и через Send пробовал (хотя это нажатие шифт потом отпускание шифта и после нажатие альт как я понял. А мне нужно зажатие сразу двух)Гуглил, но в интернете предлагают какие-то безумные скрипты на 2 страницы, хотя по сути нужно просто зажать 2 клавиши.
>>1826059Вроде так.http://pastebin.com/zxn9WDi5Назначает на Инсерт комбинацию альт+шифт. У меня так язык меняется, поэтому могу подтвердить, что работает: при нажатии инсерта меняется язык.
ОП, с вин-актив понятно, а как отследить, например, нахождение мыши на верхней полосе рамки активного окна, нажатие/отпускание мыши в этой области, факт перетаскивания окна за эту область?
>>1826076Спасибо, работает
>>1826082https://autohotkey.com/board/topic/56528-detect-when-you-drag-a-window/
>>1826099Сложна нипанятна чет, я стартовый ман прочитал, но тут мне большая часть команд незнакома...
>>1826158Для меня это тоже оверкилл. Видимо, специфики изрядно, раз там регэксы с какими-то флагами пошли.Начни с малого - получение координат мыши в переменные. По дефолту координаты относительные (от вернего левого угла), значит, при перетаскивании за тайтлбар координата Y будет иметь небольшое значение что-то типа 12 (в пикселях). Можно, наверное, получить размеры окна или даже размеры окна без тайтлбара, чем вычислить диапазон. Ну или это велосипед, и есть конкретные функции.
>>1823328Volume2 же есть, зачем такой пердолинг?
>>1826297Чому пердолинг. Самое милое дело для сабжа. И уже выше лежит готовый код.
Вопрос абсолютно нюфажий: на клаве отказали некоторые клавиши. Если ремапить простым Numpad2::L, то независимо от раскладки будет слаться 'L'. Собственно, как сделать учёт раскладки?
>>1826668https://autohotkey.com/board/topic/21105-crazy-scripting-scriptlet-to-find-scancode-of-a-key/Scan Code попробуй вместо клавиши. Хотя могли бы уж запилить какую-нибудь директиву типа "#IgnoreLayout".Разбери и помой с мылом, чухан.
>>1826715>Scan Code попробуй вместо клавиши.Благодарю, теперь шлёт что надо.Мне почему-то сильно лень разбирать клавы ноутбуков
Ребята, почему f1:: delete работает через раз и не везде?
>>1827202У меня работает. В каких случаях не работает у тебя? На чистом скрипте проверяешь? У АХК не наивысший приоритет в системе, но я пока не сталкивался с особыми трудностями. Не работали кнопки при окне установщика винды в фокусе.Ну и я бы рекомендовал не беспредельничать и писать скрипты и имена точно, как в хелпе:F1::Delete
>>1827217Судя по всему XYplorer перехватывал клавишу и включал справку. Переназначил в нём удаление на f1 тоже. Пока вроде всё в порядке.
>>1823795Пользуюсь уже почти неделю, брат жив. Рикаминдую.
>>1823292 (OP)Можно ли в этой прожке запердолить хоткей, по нажатию на который в открытый текстовый документ вставлялась бы какая-то фраза + текущая дата?
>>1829429Можно хоткей, а можно хотстринг. Сниппеты удобней активировать их каким-нибудь словом, а не хоткеем. Например: http://pastebin.com/v65UAD40Если наберёшь shitpost, он автоматически заменит его на:>2016>не юзать автохоткей
>>1826668-анонВозник ещё вопрос - когда зажимаю шифт, то он отправляется вместе с клавишей один раз, а дальше отправляются только нажатия переназначенной клавиши, т.е. AHK не смотрит, нажаты ли какие-то другие клавиши при отправке? Т.е. если я зажму шифт и пять раз нажму кнопку, на которую я ремапнул "O", то вывод будет "Ooooo". То есть нужно отдельно прописывать, чтобы при зажатом шифте он отправлялся со всеми кнопками?
>>1823781Удваиваю мокрую писю.Есть же более мощный аутоит
>>1831391a::bb::cПробую, получаю BBBBB. ЧЯДНТ? Запиливайте сразу нерабочий кусок на пастебин.>>1831599Запили аутитных аналогов скриптов в треде. В частности: >>1823303>>1823316>>1823795
>>1831696>a::bРемапаю, зажимаю шифт, нажимаю "a", получаю "b", всё время нижний регистр. WTF?То, что я ремапаю: http://pastebin.com/7XTDAb3k
>>1831852Пока не знаю чем помочь, но для обычных кнопок работает. Позже ещё попробую что-нибудь.Кстати, если открыть окно скрипта, то в меню View можно включить лог нажатых клавиш (Ctrl+K). Там показываются скан- и виртуалкоды нажатых клавиш.И медиакнопки клавы, в теории, тоже должны показываться.
Для обычных, в смысле:; Maps a to b.SC01E::bБудет отправлять BBBBB, а не Bbbbb как в случае с нампадом.
>>1823292 (OP)чем оно лучше AutoIt ?
>>1832533Свободная лицензия, открыты исходники
>>1832569Ну это вообще плюс. Алсо, ты ошибся, там анальная GPL.
>>1832589>анальная GPLАнальная лицензия это когда есть анальный господин упроприетировавший свое поделие (см. AutoIt)
>>1823316нахуя?вот тебе можешь не ебатьсяhttps://gist.github.com/rockdrigo/9ae723dc5bdaf1f49288
>>1833642Пример же.Алсо:190 форков.257 звёзд.Пиздос.
>>1823296Модифицированная версия, которая также устанавливает прозрачность окна в дополнение к установке его поверх других окон.http://pastebin.com/uiqBbhnC
>>1823781>>1823619Неистово поддвачиваю: коммьюнити далекого от совершенства автохоткея строго дифференцировано на две группы: опытных автоматизаторов и скриптеров и пустоголовых личей-копипастеров не владеющих банальным поиском по форуму. ОП-пост прямым текстом говорит о том, что тред для второй категории.И не поймите меня не правильно - автохоткей это суперское решение для биндов-без-напрягов и быстрого прототипирования интерфейсов. Но как только вы, углубившись в автохоткей, столкнетесь с задачей за пределами объективно костыльных архитектурных решений разрабов (например, вам понадобится отрисовать на экране прямоугольник слайдеры не в счет), перед вами встанет выбор: цеплять в свой скрипт тонны чужих, избыточных, глючных и возможно устаревших сниппетов (API автохоткея имеет свойство меняться как погода), или учить взрослые решения для автоматизации - PowerShell, Tcl, вызовы к апи вашего шелла, дай вам бог мозгов, чтобы вы выбрали второе.
>>1838697К чему ты вообще накатал свой высер, кому он был адресован?
Бамп что ли.
>>1838697>PowerShell, Tclгавно, гавно.CS-Script же есть.
>>1852754Штоэта? При чем тут автохоткея тред?
>>1852769>ШтоэтаПолноценный скриптинг для виндоус.
Как можно напердолить скрипт, чтобы при перемещении окна к краю экрана оно прилипало к нему? Про Snap знаю, но это не то, оно вместе с прилипанием еще и ресайзит. Или может есть какое другое решение?
https://gist.github.com/anonymous/60add6953de632fc7520245fc673a9f4Аналог Ctrl+Shift+N (создаёт папку, запускает процесс переименования), но для файлов. Создаёт файл, вводит его имя в проводнике, чтобы он выделился, и нажимает F2. Малость костыльно и не слишком стабильно, но вполне работает.
>>1823292 (OP)>AutoHotkey - это программа для Windows, позволяющая назначить одно сочетание клавиш на любое другоеКостыль для шиндошс ты подразумевал?
>>1863816Ну ты-то гордо выберешь соснуть хуйцов.
Анон, подскажи как детектить переключение языка? Не вручную же проверять какой был и какой сейчас?
>>1864258https://gist.github.com/anonymous/6b33ef5f6185ee4f483df31a574cac9fФункция CurrentLayout отсюда, например. Смотря что именно тебе нужно и в какой момент.
>>1864286Ага, то есть вручную проверять.
Есть реализация портативного DropBox на этой приблуде: http://nionsoftware.com/dbpahk
>>1864569Чё только нет.
https://gist.github.com/anonymous/9628fd44b27e66883f360372c26257dfЗапилил себе небольшой стражик для предотвращения свопов при работе с ресурсоёмким ПО, не слишком осторожно работающим с памятью. При достижении опасного лимита приостанавливает указанные мною процессы и оповещает меня об этом. Процесс можно продолжить или прибить. Настройки в шапке скрипта капсом. Пару дней пользуюсь, вроде даже работает.
Кто запилит скрипт ctrl + c, + ctrl +f1например на ctrl + z
>>1871462С чем сложности? Несколькими Send-ами шлёшь свои кнопки, return в конце не забудь.
Бессмысленный бамп.