Форум программистов, компьютерный форум, киберфорум
Наши страницы

Lua

Войти
Регистрация
Восстановить пароль
 
CalgarMA
0 / 0 / 0
Регистрация: 06.01.2015
Сообщений: 2
#1

Засечь время удерживания кнопки мыши - Lua

06.01.2015, 19:23. Просмотров 1020. Ответов 1
Метки нет (Все метки)

Здравствуйте! Решил сегодня написать макрос на мышь (Logitech G700s):

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
EnablePrimaryMouseButtonEvents(true);
local t=0;
function OnEvent(event, arg, family)
   OutputLogMessage("event = %s, arg = %s\n", event, arg)
   if(family == "mouse")then
      if(event == "MOUSE_BUTTON_PRESSED" and arg == 1)then
         PressKey(0x05);
      
         while(event == "MOUSE_BUTTON_PRESSED" and arg == 1)do
            if(event == "MOUSE_BUTTON_RELEASED" and arg == 1)then break end
            Sleep(100)
            t=t+1;
         end
      end
 
      if(event == "MOUSE_BUTTON_RELEASED" and arg == 1)then
         ReleaseKey(0x05);
       
         if(t<12)then
            PressKey(0x06);
            Sleep(25);
            ReleaseKey(0x06);
         end
         t=0;
      end
   end
end
Хочу получить: чтобы при нажатии на кнопку мыши нажималась клавиша 4 и включался таймер, который отчитывает время удержания кнопки мыши. Затем при отпускании кнопки мыши должна отжаться клавиша 4 и ЕСЛИ таймер не перевалил за 1200мс, то нажаться клавиша 5. Т.е. таймер прекращает отчет при отпускании кнопки мыши.

Проблема в том, что нормально не работает таймер, а именно после нажатия кнопки мыши - бесконечно залипает клавиша 4. Помогает только перезагрузка ПК. Как прервать цикл? Или как сделать нормальный таймер, а не "костыль" как у меня? Прошу помочь разобраться в данном вопросе! Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2015, 19:23
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Засечь время удерживания кнопки мыши (Lua):

функция удерживания кнопки - Delphi
Народ, необходимо реализовать функцию удерживания кнопки.Виполнялась процедура по удержанию кнопки на 1секунду на 2с и на 3с.Возможноли...

Обработка удерживания кнопки - C++ Qt
пытался на pressed() повесить слот типа такого: while (1) { if (!ui-&gt;rotateButton-&gt;isDown()) break; Sleep(50) ...

Время зажатия кнопки мыши - Java
Необходимо реализовать такую систему:при нажатии на левую кнопку мыши начинается отсчет времени, после того как отпустим, отсчет времени...

Обработка удерживания кнопки нажатой - Программирование Android
Выручайте, так и не смог правильный вопрос гуглу задать, мне нужно чтобы зажатая кнопка приводила к итерации события, но в поиске под...

Засечь время - C++ Builder
Как засечь время за которое выполняется процедура, или время выполнения алгоритма?

Засечь время с точностью в миллисекунду - Delphi
Необходимо отметить две временные точки и вычислить разницу между ними в миллисекундах. Разница может быть от 20 мс и выше, так что...

1
old believer
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 5
29.01.2018, 13:10 #2
Есть вопрос.
А как отработать именно нажатие и удержание кнопки?
т.е., например, я хочу выполнять какие-то действия по нажатию кнопки и переставать по отпусканию.

MOUSE_BUTTON_PRESSED - нажата и отпущена
MOUSE_BUTTON_RELEASED - отпущена
??????????????????????? - нажата и НЕотпущена
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2018, 13:10
Привет! Вот еще темы с ответами:

Засечь время выполнения поиска - C++
Создается массив случайных чисел, сортируется, и затем проводится поиск по этому массиву. Для определения время сортировки использовал...

Засечь время работы метода - Mathematica
Сделал метод в wolphram matematica 8.0 теперь преподаватель попросил сделать так чтобы выводилось время просчета, как сделать не знаю...

Засечь время выполнения пирамидальной сортировки - C++
мне нужно засечь время выполнения алгоритма сортировок, и у меня не выходит только с одной - с пиромидальной. программа на c++ код ниже....

Как засечь время выполнения функции? - C (СИ)
Упражнение 3.1 K&amp;R как новичку без серьезных описаний и дополнений кода засечь время выполнения функции? работаю в QT


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru