Форум программистов, компьютерный форум, киберфорум
Lua
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 06.01.2015
Сообщений: 2

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

06.01.2015, 19:23. Показов 2866. Ответов 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
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.01.2015, 19:23
Ответы с готовыми решениями:

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

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

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

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

MOUSE_BUTTON_PRESSED - нажата и отпущена
MOUSE_BUTTON_RELEASED - отпущена
??????????????????????? - нажата и НЕотпущена
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.01.2018, 13:10
Помогаю со студенческими работами здесь

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

Обработка удерживания кнопки нажатой WPF
Решил самостоятельно сделать NumericUpDown (ну не доверяю я уже готовым вариантам, лучше самому написать). Сделал текстовое поле, две...

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

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru