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

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 Вск 10:02:17 1980496  
950b50a94fbd9ff[...].jpg (12Кб, 390x260)
Призываю на помощь Анонов использующих AutoHotkey. Раньше тут был тред, но теперь его нет.
Вообщем, мне нужно, что бы когда я зажимаю колесо мыши отправлялась команда зажать пробел и левую кнопку мыши.
Эти две кнопки остаются зажатыми пока я держу колесо и когда я отпускаю колесо пробел и левая кнопка так же отпускаются.
Собственно всё.

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

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


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


В принципе скрипт работает как надо, зажимает, держит всё в порядке. НО я не могу отпустить клавиши. То есть у меня я зажимаю колесо, всё как надо, зажимаются лкм и пробел. Но после того как я отпускаю колесо кнопки не разжимаются остаются зажатыми вечно. И у меня нет ни малейшей идеи как их можно разжать.
Ответы: >>1981316 >>1981461
Аноним (Microsoft Windows 8: Firefox based) 05/03/17 Вск 14: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

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

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

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


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

>>1981203
>Но я даже не думал, что задача уровня "когда зажато - зажать. когда отпущено - отпустить" окажется такой геморрой
Да ты что-то сам огород нагородил.
Ответы: >>1981399
Аноним (Microsoft Windows 8: Chromium based) 06/03/17 Пнд 06:34:06 1981399
>>1981316
Спасибо, Анон. Зажимается отлично как надо, но зажимается навечно. Без down вообще не работает (ну оно просто одиночные клики делает и всё).
>Да ты что-то сам огород нагородил
С одной стороны да, с другой стороны нет. Задача на самом деле почти примитивная по сравнению с тем на что AHK способен. Зажать две кнопки пока зажата одна.
Ответы: >>1981591
Аноним (Microsoft Windows 7: Firefox based) 06/03/17 Пнд 08: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 Пнд 10:51:54 1981591
>>1981399
>но зажимается навечно
Return 0 в конце написал? А то я забыл, и может поэтому она из функции не возвращается.
Ответы: >>1981644 >>1981866
Аноним (Microsoft Windows 10: Firefox based) 06/03/17 Пнд 11:44:30 1981644
>>1981591
>Return 0
Просто Return в конце. И да, проверил, всё работает.

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

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

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

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

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

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

Топ тредов
Избранное
Подписывайся на официальный канал Двача в Телеграме и узнавай обо всех новостях и мемах первым! https://tlg.wtf/dvachannel[X]