[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!

Check this out!

Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 23 | 2 | 7
Назад Вниз Каталог Обновить

Призываю на помощь Анонов использующих AutoHotkey. Аноним (Microsoft Windows 8: Chromium based) 05/03/17 Вск 13:02:17  1980496  
950b50a94fbd9ff[...].jpg (12Кб, 390x260)
Призываю на помощь Анонов использующих AutoHotkey. Раньше тут был тред, но теперь его нет.
Вообщем, мне нужно, что бы когда я зажимаю колесо мыши отправлялась команда зажать пробел и левую кнопку мыши.
Эти две кнопки остаются зажатыми пока я держу колесо и когда я отпускаю колесо пробел и левая кнопка так же отпускаются.
Собственно всё.

Сутра я пытался реализовать это самостоятельно, но нихуя не получилось. Моя срака сгорела дотла, будто там высадились американские пехотинцы и освободили там Кувейт.

Я перерыл пол мануала и гугла, но нихуя не работает так как надо. Я не думал что сделать это так сложно или решение такое не очевидное.
До чего я пока дошёл:


#IfWinActive ahk_class Photoshop
MButton::
Send {Space down}{LButton down}
#IfWinActive


В принципе скрипт работает как надо, зажимает, держит всё в порядке. НО я не могу отпустить клавиши. То есть у меня я зажимаю колесо, всё как надо, зажимаются лкм и пробел. Но после того как я отпускаю колесо кнопки не разжимаются остаются зажатыми вечно. И у меня нет ни малейшей идеи как их можно разжать.
Аноним (Microsoft Windows 8: Firefox based) 05/03/17 Вск 17:01:13  1980741
Лол, так ты и написал, чтобы они зажимались. {%имя_кнопки% down} значит зажатие.

Вроде как должно работать:
#IfWinActive ahk_class Photoshop
MButton::
{
toggle:=!toggle
if (toggle)
{
sendinput, {Space down}{LButton down}
}
else
{
Send {Space up}{LButton up}
}
}
return

Аноним (Microsoft Windows 8: Firefox based) 05/03/17 Вск 17:02:21  1980743
>>1980741
Ебаная макаба.
http://pastebin.com/JCE4HK6E
Аноним (Microsoft Windows 8: Chromium based) 05/03/17 Вск 17:35:05  1980787
>>1980743
Спасибо, Анон. Очень близко, но не совсем оно.
Всё работает так как надо, но что бы комбинация перестала работать приходиться снова нажимать среднюю кнопку, а нужно что бы прекращалось нажатие лкм + пробел когда колесо отпускается (оно же release).
Зажал колесо - срабатывает зажатие лкм+пробел
Отпустил колесо - отпускается лкм+пробел

Алсо, тильду возможно забиндить? Я пробовал, но срабатывает как-то раз в 10 нажатий. Читал на оф. форуме что на английских раскладках всё в порядке, но на других могут быть проблемы. Или я что-то не так делал и проблем нет?
Аноним (Microsoft Windows 8: Firefox based) 05/03/17 Вск 17:51:51  1980812
>>1980787
http://pastebin.com/HxqA3Dbu
Тести, не проверял.
>тильду возможно забиндить
Геморно, так как у нас, русскоговорящих, в основном на компах минимум две раскладки, которые мы постоянно меняем. А скрипт на AHK при запуске назначает хоткеи, ЧСХ, только в той раскладке, в которой он запущен. Можно нагородить костылей, чтобы работало, например, переназначить на тильду в реестре медиакнопку, потом написать скрипт на AHK, который будет детектить раскладку, и вставлять тильду или Ё в зависимости от неё, и работать как хоткей в нужном софте. Но оно тебе надо? Забинди на несуществующие комбинации же.
Аноним (Microsoft Windows 8: Chromium based) 06/03/17 Пнд 00:31:17  1981203
>>1980812
В принципе работает, но перетягивает (эта комбинация отвечает за перетягивание изображения) рывками. Они не сильные но заметные будто интерфейс тормозит, это скорее всего из-за лупа.
Но я не хочу тебя больше утруждать. Спасибо тебе за помощь.
Если не получается никак нормально это реализовать, то имеет смысл зарегистрироваться на официальном форуме и уже спрашивать уже там или вообще забить на это.
Но я даже не думал, что задача уровня "когда зажато - зажать. когда отпущено - отпустить" окажется такой геморрой.
Так же спасибо за ответ по тильде.
Добра!
Аноним (Microsoft Windows 8: Firefox based) 06/03/17 Пнд 00:39:39  1981207
>>1981203
>скорее всего из-за лупа.
Возможно, я не супер-спец по AHK, шарю больше по скрэпингу в нём, чем по хоткеям.
Попробуй добавить после Send {Space down}{LButton down} Sleep, %время% и поиграться с интервалом, порой причина в этом. Или юзай тогда предыдущую версию, забиндив её на малоиспользуемую клавишу. Альзо, официальный форум охуенный, там могут помочь.
Добра!
Аноним (Arch Linux: Chromium based) 06/03/17 Пнд 04:58:09  1981316
>>1980496 (OP)
~MButton::

While GetKeyState("MButton", "d")
{
Send {Space down}{LButton down}
}


Комп с виндой грузить лень, так что посмотришь, может "down" придётся убрать.

>>1981203
>Но я даже не думал, что задача уровня "когда зажато - зажать. когда отпущено - отпустить" окажется такой геморрой
Да ты что-то сам огород нагородил.
Аноним (Microsoft Windows 8: Chromium based) 06/03/17 Пнд 09:34:06  1981399
>>1981316
Спасибо, Анон. Зажимается отлично как надо, но зажимается навечно. Без down вообще не работает (ну оно просто одиночные клики делает и всё).
>Да ты что-то сам огород нагородил
С одной стороны да, с другой стороны нет. Задача на самом деле почти примитивная по сравнению с тем на что AHK способен. Зажать две кнопки пока зажата одна.
Аноним (Microsoft Windows 7: Firefox based) 06/03/17 Пнд 11:28:14  1981461
>>1980496 (OP)
https://www.autoitscript.com/forum/topic/106402-mouse-as-a-hotkeyset/
5 секунд в гугле
юзай _IsPressed
дальше сам
Аноним (Arch Linux: Chromium based) 06/03/17 Пнд 13:51:54  1981591
>>1981399
>но зажимается навечно
Return 0 в конце написал? А то я забыл, и может поэтому она из функции не возвращается.
Аноним (Microsoft Windows 10: Firefox based) 06/03/17 Пнд 14:44:30  1981644
>>1981591
>Return 0
Просто Return в конце. И да, проверил, всё работает.

>>1980812
>скрипт на AHK при запуске назначает хоткеи, ЧСХ, только в той раскладке, в которой он запущен
Потому что надо скан-коды использовать, а не буковки.
Аноним (Microsoft Windows 8: Firefox based) 06/03/17 Пнд 16:32:38  1981762
>>1981644
И ты знаешь скан-коды для qwerty? Я знаю некоторые для медиа-клавиш, но чтобы весь qwerty, увольте.
Аноним (Microsoft Windows 10: Firefox based) 06/03/17 Пнд 16:53:48  1981782
ahk-open-key-hi[...].jpg (92Кб, 506x593)
>>1981762
>знаешь
В смысле "помнишь и можешь назвать"? Нет конечно. Я знаю, что они есть и их несложно нагуглить http://www.computer-engineering.org/ps2keyboard/scancodes1.html
Или с помощью самого ахк посмотреть, если интернета нет.
Аноним (Microsoft Windows 8: Firefox based) 06/03/17 Пнд 17:04:24  1981788
>>1981782
О, благодарю. А может ты ещё знаешь, как перехватывать кнопки подсветки для ASUS? А то уебаны-инженегры сделали подсветку+ на клаве на fn+F4, а alt от fn всего на кнопку правее. В Key History не нажатия не появляются, до установки утилиты от ASUS винда эти нажатия не чувствует.
Аноним (Microsoft Windows 10: Firefox based) 06/03/17 Пнд 17:20:57  1981811
>>1981788
>как перехватывать кнопки подсветки для ASUS?
Попробуй задать директиву #InstallKeybdHook в начале скрипта. Тогда появляются? Если нет, то можно попробовать махнуть местами Ctrl и Fn. Изменяется от этого сочетание для изменения подсветки?
Аноним (Microsoft Windows 8: Chromium based) 06/03/17 Пнд 18:25:13  1981866
>>1981591
Добавил Return эффект тот же, вечное зажатие.
ОП

#IfWinActive ahk_class Photoshop
~MButton::
While GetKeyState("MButton", "d")
{
Send {Space down}{LButton down}
}
Return
#IfWinActive
Аноним (Arch Linux: Chromium based) 06/03/17 Пнд 18:56:07  1981894
>>1981866
Это довольно странно, у меня отпускает, может какие-то особенности десяточки или пс2 клавиатуры. Попробуй между
}
и
Return

Вписать
Send {Space up}{LButton up}

Аноним (Arch Linux: Chromium based) 06/03/17 Пнд 18:58:01  1981896
>>1981866
А, ещё можено директиву #SendMode Input можно попробовать добавить
Аноним (Microsoft Windows 8: Firefox based) 06/03/17 Пнд 21:03:22  1981996
>>1981811
>Попробуй задать директиву #InstallKeybdHook в начале скрипта. Тогда появляются?
Ноуп
>Если нет, то можно попробовать махнуть местами Ctrl и Fn.
А вот тут самое говно: SharpKeys не детектит ни Fn, ни Fn + F4 (детектит только Fn +F10-F12 как медиакнопки)
Аноним (Arch Linux: Chromium based) 06/03/17 Пнд 21:17:20  1982010
>>1981996
Ну, значит их асусовский драйвер клаввиатуры обрабатывает, а ахк уже над драйверами работает. Есть способы и с этим совладать, но уже ничего такого простого, как ахк.

Можешь попробовать какой-нибудь f.lux или другие программные способы изменения яркости.
Аноним (Microsoft Windows 8: Firefox based) 06/03/17 Пнд 21:24:41  1982017
>>1982010
Не-не-не, ты не понял, подсветка клавиатуры, да и основная проблема - близость к Alt+F4. Впрочем, спасибо и на этом.
Аноним (Arch Linux: Chromium based) 06/03/17 Пнд 21:35:48  1982032
>>1982017
Ну, так-то ты можешь Alt+F4 отключить, если это тебя устроит
#NoTrayIcon
!F4::Return
Аноним (Microsoft Windows 8: Firefox based) 07/03/17 Втр 04:19:43  1982251
>>1982032
Могу, но я-то пользуюсь им порой, лол. Мне бы свопнуть F4 и fn+F4, но, сук, никаких идей кроме как ковырять уродское асусоговно.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 23 | 2 | 7
Назад Вверх Каталог Обновить

Топ тредов
Избранное