Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Ivankak

Pages: 1 [2] 3
16
Общие вопросы / Re: автоматизация в Давинчи
« on: September 24, 2021, 06:27:40 PM »
Quote
Лучше самому преобразовать для нужного диапазона символов. Вот цифры и буквы:
Код: Clickermann
Code: (clickermann) [Select]
$liters = "0123456789:::::::ABCDEFGHIJKLMNOPQRSTUVWXYZ"
$code = STRPOS($liters, "Z") + 47
print
($code).

можно реализовать эту формулу в табличном процессоре Open Office Calk или Exel. Там есть функция code, которая выдает код символа. Только этот код отличается на 49 от кода клавиш. и цифры сдвинуты. Но может это лучше, чем в исполняемый код вносить?
Если сделать еще одну строку в CSV с полным перечнем всех символов, в позициях, соответствующим номерам, то не будет ли это излишним расходом памяти?
Или после получения всех нужных кодов обнулить(очистить) массив? Как это сделать?


Quote
А так?

Code: (clickermann) [Select]
ISKEYDOWN(INT($arr[$n]))
если в csv заданы коды, то и без int работет. А если буквы, то не понятно, что делать.

Quote
Только в версии 4.14
Код: Clickermann
Code: (clickermann) [Select]
print(CODE("A"))
А если с переменной из массива, то как записать?

Работает ли мой код у вас?

Как лучше организовать ввод координат?
Полагаю, это должен быть отдельный скрипт.
Не понимаю пока, как быть с именами этих координат. Там в интерфейсе кроме тех 4 кругов, на которых я тренировался есть еще и другие панели на этом же месте, они немного отличаются, и есть переключения между ними. чтоб не запутаться надо дать им имена.
И надо, чтоб при выбранных  других панелях не было путаницы и не плодить кучу лишних шоткатов.







17
Общие вопросы / Re: автоматизация в Давинчи
« on: September 24, 2021, 06:02:34 AM »
вот этот код работает сносно.

Code: (clickermann) [Select]
SUB(Will)
   //подпрограмма установки мыши с зажатой лкм на нужную координату
   LOGCLEAR
LUP($_xmouse, $_ymouse)
   WAITMS(10)
   LDOWN($X[$N], $Y[$N])
   print("$Names=", $Names[$n])
print("координаты ", $X[$N],",", $Y[$N])
   
END_SUB

LOGCLEAR

$csv = "koorda.csv"          //задаем имя файла с координатиами
//читаем строки  файла в массивы
strseparate(TFREAD($csv, 2), ",", $Names)
strseparate(TFREAD($csv, 3), ",", $X)
strseparate(TFREAD($csv, 4), ",", $y)
strseparate(TFREAD($csv, 5), ",", $Keya)
//strseparate(TFREAD($csv, 6), ",", $Keyb)
//trseparate(TFREAD($csv, 7), ",", $Keyc)
print("массив создан")
print("$keya[1]=",$keya[1])



WHILE(1)                                    // начало бесконечного цикла
   
   FOR ($n=1, $n<ARRSIZE($Keya))
      if(ISKEYDOWN($keya[$n])=1)//если нажата одна из кнопок массива Keya то
         Will()                //исполнить подпрограмму
         WHILE(iskeydown($keya[$n]) = 1)  //если клавиша все еще нажата, то подвисаем тут пока не отпустит
            waitms(50)
         END_CYC
      end_if
      WAITMS(10)
   END_CYC
END_CYC             
 
koorda.csv
Code: [Select]
0,1,2,3,4,5,6
0,Whill,Y,R,G,B,Roll
x,90,34,75,109,146,85
y,854,944,944,944,944,960
Keya,81,87,69,82,84,89
Keyb,17,17,17,17,17,17
Keyc,0,0,0,0,0,0
0,q,w,e,r,t,y
есть ли функция, чтобы из буквы  получать ее код #A=> 65 ?
сейчас пришлось в табличке написать десятичные коды вместо символов, иначе iskeydown не работает с переменными.Это не очень удобно, хотя и терпимо.
Для красоты  кода хочется, чтобы чтение строк в массивы из файла происходило в цикле, а не как сейчас с 15 по21 строки. Но не понимаю, как это сделать.
Можно ли в strseparate имя массивов подставлять, как переменную? Не городить же для этого отдельный массив с именами.. На 5 массивов будет усложнение, а не упрощение.
Я где-то прочитал, что скрипт Кликермана может быть скомпилирован. Как это делается?

18
Общие вопросы / Re: автоматизация в Давинчи
« on: September 24, 2021, 04:42:58 AM »
Хочу попробовать  сделать с оператором ISKEYDOWN
не понимаю, почему вот этот код работает
если нажать "q" то печатает "опа"

Code: (clickermann) [Select]
LOGCLEAR
$csv = "koorda.csv"
strseparate(TFREAD($csv, 5), ",", $Key1)
WHILE(1)
   $key= $Key1[1]// 81 значение кнопки q
   if(ISKEYDOWN($key)=1)//нажата ли
      print("опа")
   end_if
   WAITMS(50)
END_CYC


а этот не работает - сообщение: ошибка в ISKEYDOWN($iskey)
и даже в сообщении об ошибке строку 34 не указывает, где этот оператор

Code: (clickermann) [Select]
SUB(Will)
   //подпрограмма установки мыши с зажатой лкм на нужную координату
   LUP($_xmouse, $_ymouse)
   WAITMS(10)
   LDOWN($X[$N], $Y[$N])
   print("координаты ", $X[$N],",", $Y[$N])
   
END_SUB

SUB(log_kvar)
   LOGCLEAR
   print($Names[n],"$key1[$n]=" $key1[$n])
END_SUB

LOGCLEAR

$csv = "koorda.csv"          //задаем имя файла с координатиами
//читаем строки  файла в массивы
//strseparate(TFREAD($csv, 2), ",", $Names)
strseparate(TFREAD($csv, 3), ",", $X)
strseparate(TFREAD($csv, 4), ",", $y)
strseparate(TFREAD($csv, 5), ",", $Key1)
//strseparate(TFREAD($csv, 6), ",", $Key2)
//trseparate(TFREAD($csv, 7), ",", $Key3)
print("массив создан")
print("$key1[1]=",$key1[1])



WHILE(1)                                    // начало бесконечного цикла
   
   FOR ($n=1, $n<ARRSIZE($Key1)+1)
      $iskey= $key1[$n]
      if(ISKEYDOWN($iskey)=1)//нажата ли
         log_kvar()
         Will()
      end_if
      WAITMS(50)
   END_CYC
END_CYC


upd разобрался. в 32-й строке счетчик вылетает за пределы массива.

19
Общие вопросы / Re: автоматизация в Давинчи
« on: September 24, 2021, 04:34:16 AM »
эта версия работает
долго подбирал задержки, чтоб четко срабатывали кнопки, но всё равно четкости нет.
пробовал сделать с ISKEYDOWN  вместо GETKEYSDOWN но не получилось.
ISKEYDOWN($arr[$n]) не срабатывает почему-то


Code: (clickermann) [Select]
SUB(Will)
   //подпрограмма установки мыши с зажатой лкм на нужную координату
   LUP($_xmouse, $_ymouse)
   WAITMS(10)
   LDOWN($X[$N], $Y[$N])
   LOGCLEAR
print("координаты ", $X[$N],",", $Y[$N])
print ("$kvar[0]=",$kvar[0]," ","$kvar[1]",$kvar[0])
   
END_SUB

SUB(log_kvar)
   
   FOR($i=0, $i < ARRSIZE($kvar))
      LOGWRITE("    ", $i, " : ", $kvar[$i])
   END_CYC
   LOGWRITE("$kvar0:",$kvar0,"$kvar1:",$kvar1   )
   print("$svitch=", $svitch)
   print("$keya[$n]=",$keya[$n])
    // WAITMS(50)
END_SUB

LOGCLEAR

$csv = "koorda.csv"          //задаем имя файла с координатиами
//strseparate(TFREAD($csv, 2), ",", $Names)   //читаем строку  файла в массив $Names
print ("$Names[3]=",$Names[3] )                //печатаем  элемент для проверки
strseparate(TFREAD($csv, 3), ",", $X)   //читаем строку  файла в массив  $ х
print ("$X[3]=",$X[3] )                         //печатаем  элемент для проверки
strseparate(TFREAD($csv, 4), ",", $y)   //читаем строку  файла в массив  $ y
print ("$y[3]=",$y[3] )                        //печатаем  элемент для проверки
strseparate(TFREAD($csv, 5), ",", $Keya)   //читаем строку  файла в массив  $Key1
//strseparate(TFREAD($csv, 6), ",", $Keyb)   //читаем строку  файла в массив  $Key2
//strseparate(TFREAD($csv, 7), ",", $Keyc)   //читаем строку  файла в массив  $Key3
print("массив создан")
print()



WHILE(1)                                    // начало бесконечного цикла
   
   GETKEYSDOWN($kvar) //определяем, какие кнопки нажаты
       WAITMS(10)
   $svitch=$kvar[0] //sitch - переменная для включения подпрограммы will
   if ($kvar[0]=1 & ARRSIZE($kvar)>1 ) //если нажата лкм, и что-то еще то брать второй элемент массива
      $svitch=$kvar[1]  //берем второй элемент массива в svitch
   end_if
     
   FOR ($n=1, $n<ARRSIZE($Keya))
           //print($n)
            //log_kvar()
            if($Keya[$n]= $svitch)
         Will()
      END_IF
   // WAITMS(20)
   END_CYC
END_CYC

содержимое файла koorda.csv
Code: [Select]
0,1,2,3,4,5,6
0,Whill,Y,R,G,B,all
x,90,34,75,109,146,85
y,854,944,944,944,944,960
Keya,81,87,69,82,84,89
Keyb,17,17,17,17,17,17
Keyc,0,0,0,0,0,0
,q,w,e,r,t,y

20
Общие вопросы / Re: автоматизация в Давинчи
« on: September 24, 2021, 04:03:49 AM »
https://youtu.be/t8411_z0Gwc
записал видео, как у меня работало - из него видно, что если нажата лкм, то после этого переменная $svitch=1 это событие лкм.
Поскольку кнопки в массив помещаются по порядку величины, то это означает, что 0-й элемент массива это лкм, поскольку он =1
Тогда я ввел проверку - если 0-й элемен= 1, то использовать 1-й


 
 


21
Общие вопросы / Re: автоматизация в Давинчи
« on: September 23, 2021, 07:11:57 PM »
Quote
Он у тебя застревает там же, только позже.
я отключал этот цикл, без него тоже не видит нажатий. Он вообще не обязательный изыск.
но я сегодня заменю этот кусок на другой, на основе твоего примера, со сравнением  первых трех элементов массива поэлементно.

22
Общие вопросы / Re: автоматизация в Давинчи
« on: September 23, 2021, 06:15:32 PM »
Quote
. Кстати, какая у тебя версия кликера?
У меня Clickermann v4.13 x64.
Quote
Приведённый код не может работать. По крайней мере на моей системе
Это очень интересно. А хоть что-то происходит?

может ли быть такое, что пока зажата лкм командой
Code: (clickermann) [Select]
LDOWN($X[$N], $Y[$N]) кликерман не видит новых нажатий клавиш?

Quote
Cкажи куда делось определение перемещения мыши? Ну и колеса, заодно.
Это нужно было, чтоб программа сама, без нажатия кнопки, определяла и переключалась между этими двумя координатами
Если нет возможность определять вращение колеса, то нет смысла и определять смещение мыши. Это вообще сомнительная плюшка в таком алгоритме работы. Если все переключется клавишами, то какой смысл одну единственную крутилку отлавливать с такими сложностями?

Code: (clickermann) [Select]
WHILE($kvar = $kvar1)В моем коде затея состоит в том, что когда клавиша нажата долго, то первые элементы массивов становятся равны и цикл начинает крутиться создавая задержку. Но в момент отпускания они сразу становятся не равны и программа идёт дальше.
Но, теперь я понимаю, как надо сделать. Спасибо за пример.

Quote
А разве у ардуино есть столько входов? Или там есть приблуды для расширения?
на Ардуино нет столько ног, но можно поставить сдвиговый регистр и добавить.
А еще можно подумать над дизайном и уменьшить количество энкодеров. На картинке же просто функциональная схема, без дизайна, что пришло в голову за 10 секунд, просто, чтоб меня было понятно.


Quote
Пока не дошло до железячной стадии, я тут смотрел на AutoIt есть функционал для определения вращения колеса мыши. Есть блокировка кликов, чтоб они не проходили к приложению и блокировка клавиатуры (это не тестил) - как раз можно при переключении на блок включать блокировку и простых хоткеев, не нужно будет монструозных A+B+C.
Если дойдет до железа, то есть варианты.
Использовать кнопку для переключения на координаты.
Использовать вместо колеса мыши энкодер на пульте.
Все можно запрограммировать там и не нужно будет никакого софта на винде. И мышь подключать прямо к ней по PS2.
А еще можно попросить кого-то написать dll, чтоб прикрутить доп события мыши.

Quote
Но нужно чётко определить в какие моменты ловить перемещения и кручение, а в какие нет. Ведь нормальное использование тоже крутит-перемещает. Из описания и блок-схемы эти моменты описаны неправильно, так пользоваться будет нельзя.
Да, это правда. Когда я рисовал схему, то полагал, что дополнительным условием для перемещения курсора по событиям мыши будет, какое из цветовых колес в интерфейсе было использовано последним. А когда эта часть работы будет выполнена, то вообще выключить использование этого скрипта. Может перевести в другой цикл, который только отслеживает свой шоткат, чтоб вернуться.

23
Общие вопросы / Re: автоматизация в Давинчи
« on: September 23, 2021, 06:13:13 PM »
Quote
. Кстати, какая у тебя версия кликера?
У меня Clickermann v4.13 x64.
Quote
Приведённый код не может работать. По крайней мере на моей системе
Это очень интересно. А хоть что-то происходит?

может ли быть такое, что пока зажата лкм командой
Code: (clickermann) [Select]
LDOWN($X[$N], $Y[$N]) кликерман не видит новых нажатий клавиш?

Quote
Cкажи куда делось определение перемещения мыши? Ну и колеса, заодно.
Это нужно было, чтоб программа сама, без нажатия кнопки, определяла и переключалась между этими двумя координатами
Если нет возможность определять вращение колеса, то нет смысла и определять смещение мыши.

Code: (clickermann) [Select]
WHILE($kvar = $kvar1)В моем коде затея состоит в том, что когда клавиша нажата долго, то первые элементы массивов становятся равны и цикл начинает крутиться создавая задержку. Но в момент отпускания они сразу становятся не равны и программа идёт дальше.
Но, теперь я понимаю, как надо сделать. Спасибо за пример.

Quote
А разве у ардуино есть столько входов? Или там есть приблуды для расширения?
на Ардуино нет столько ног, но можно поставить сдвиговый регистр и добавить.
А еще можно подумать над дизайном и уменьшить количество энкодеров. На картинке же просто функциональная схема, без дизайна, что пришло в голову за 10 секунд, просто, чтоб меня было понятно.


Quote
Пока не дошло до железячной стадии, я тут смотрел на AutoIt есть функционал для определения вращения колеса мыши. Есть блокировка кликов, чтоб они не проходили к приложению и блокировка клавиатуры (это не тестил) - как раз можно при переключении на блок включать блокировку и простых хоткеев, не нужно будет монструозных A+B+C.
Если дойдет до железа, то есть варианты.
Использовать кнопку для переключения на координаты.
Использовать вместо колеса мыши энкодер на пульте.
Все можно запрограммировать там и не нужно будет никакого софта на винде. И мышь подключать прямо к ней по PS2.
А еще можно попросить кого-то написать dll, чтоб прикрутить доп события мыши.

Quote
Но нужно чётко определить в какие моменты ловить перемещения и кручение, а в какие нет. Ведь нормальное использование тоже крутит-перемещает. Из описания и блок-схемы эти моменты описаны неправильно, так пользоваться будет нельзя.
Да, это правда. Когда я рисовал схему, то полагал, что дополнительным условием для перемещения курсора по событиям мыши будет, какое из цветовых колес в интерфейсе было использовано последним. А когда эта часть работы будет выполнена, то вообще выключить использование этого скрипта. Может перевести в другой цикл, который только отслеживает свой шоткат, чтоб вернуться.



24
Общие вопросы / Re: автоматизация в Давинчи
« on: September 23, 2021, 02:52:01 AM »
Возможно, лучше с крутилками делать пульт.
Однако, энкодеры дороже и в 3 раза больше ног на ардуино надо.
Идеально - начал крутить - мышь сама перепрыгнула, куда надо.
Похуже вариант - энкодеры с кнопкой нажал сверху, покрутил, следующий - нажал покрутил.
При такой стоимости разработки уже можно и трекбол туда засунуть....
Все равно дешевле в 10 раз чем самая дешевая панель от блекмэджик будет.

25
Общие вопросы / Re: автоматизация в Давинчи
« on: September 23, 2021, 01:45:42 AM »
Написал код. Почти все работает.
проблема в следующем: пока зажата лкм не реагирует на нажатия кнопок.

Нажимаю "1" (или другую назначенную клавишу) - курсор встает, куда надо и все работает.
Но после этого не реагирует на другие кнопки, пока не кликнешь лкм.



Code: (clickermann) [Select]
SUB(Will)                      //подпрограмма установки мыши с зажатой лкм на нужную координату
    LUP($_xmouse, $_ymouse)
    WAITMS(10)
    LDOWN($X[$N], $Y[$N])
     print("координаты ", $X[$N],",", $Y[$N])
 
END_SUB

LOGCLEAR

$csv = "koorda.csv"          //задаем имя файла с координатами
strseparate(TFREAD($csv, 2), ",", $Names)   //читаем строку  файла в массив $Names
print ("$Names[3]=",$Names[3] )                //печатаем  элемент для проверки
strseparate(TFREAD($csv, 3), ",", $X)   //читаем строку  файла в массив  $X
print ("$X[3]=",$X[3] )                         //печатаем  элемент для проверки
strseparate(TFREAD($csv, 4), ",", $y)   //читаем строку  файла в массив  $y
print ("$y[3]=",$y[3] )                        //печатаем  элемент для проверки
print("массив создан успешно")
print()



WHILE(1)                                    // начало бесконечного цикла
//нажатие клавиши и устранение дребезга
getkeysdown($kvar)      // задаем переменную - какая клавиша нажата
getkeysdown($kvar1)
WHILE($kvar= $kvar1) //если клавиша не отпущена, то подвисаем в цикле и ждем
getkeysdown($kvar1)
 waitms(15)
END_CYC

SWITCH($kvar)     // по условию, какая клавиша нажата - ветвим процесс
CASE(#1)
   print("нажата 1")
      $n=1          // задаем номер для координат из массива
      print("позиция мыши ",$Names[$N])
    Will()
CASE(#2)
   print("нажата 2")
   $n=2
print("позиция мыши ",$Names[$N])
      Will()
CASE(#3)
print("нажата 3")
   $n=3
   print("позиция мыши ",$Names[$N])
    Will()
CASE(#4)
   print("нажата 4")
   $n=4
   print("позиция мыши ",$Names[$N])
      Will()
CASE(#5)
   print("нажата 5")
   $n=5
   print("позиция мыши ",$Names[$N])
      Will()
CASE(#6)
   print("нажата 6")
   $n=6
   print("позиция мыши ",$Names[$N])
      Will()
END_SWITCH
waitms(15)   
END_CYC
haltt

потом опрос клавиш хочу убрать в цикл - для этого заготовлены строки в csv под коды клавиш Key code1-3

содержимое файла koorda.csv

Code: [Select]
0,1,2,3,4,5,6
0,Whill,Y,R,G,B,all
x,90,34,75,109,146,85
y,854,925,927,926,927,960
Key code1,0,0,0,0,0,0
Key code2,0,0,0,0,0,0
Key code3,0,0,0,0,0,0

26
Общие вопросы / Re: автоматизация в Давинчи
« on: September 23, 2021, 12:35:34 AM »


Думаю сделать какую-то такую клавиатуру на ардуино, чтоб не путаться в хоткеях.
желтые это N1-N4
сиреневая - колесо
 
Эту картинку набросал для ясности в разговоре. Ничего еще не проектировал.

Затея состоит в том, чтобы не пересекаться с шоткатами в давинчи.
Тогда можно будет назначить, чтоб эта клавиатура посылала коды нажатия любые. Например A+B+C.
Хочу выбрать какие-то несуразные сочетания, которых не может быть в нормальной жизни.

с определением одной клавиши нет вопросов- полно примеров.
Code: (clickermann) [Select]
//нажатие клавиши и устранение дребезга
getkeysdown($kvar)
getkeysdown($kvar1)
WHILE($kvar= $kvar1) //если клавиша не отпущена, то подвисаем в цикле и ждем
getkeysdown($kvar1)
 waitms(15)
END_CYC

SWITCH($kvar)
CASE(#q)
   print("Q")
CASE(#w)
   print("W")
CASE(#e)
   print("E")
CASE(#R)
   print("R")
END_SWITCH
Однако, не могу понять, как определять нажатие сочетания клавиш.
что-то типа ctr+sift+a+b

27
Общие вопросы / Re: автоматизация в Давинчи
« on: September 22, 2021, 08:21:14 PM »
Да, я сделал тесты. Еще в самом начале, В принципе работает. Есть небольшие странности. Когда мышью нажимаешь на центр цветового колеса, в Давинчи, то мышь начинает двигаться раза в 2 медленнее и за счет этого увеличивается точность выбора цвета.
но когда то же самое делаешь через кликерман, то при больших отклонениях мышь как бы "соскакивает" и цветовой курсор, белая точка, соскакивает к краю колеса.
 Но, возможно, что я тогда что-то нахомутал и причина не в кликермане.

Я очень медленно продвигаюсь каждый новый оператор требует много времени для понимания.

28
Общие вопросы / Re: автоматизация в Давинчи
« on: September 22, 2021, 04:52:28 AM »
Внезапно "нашел" оператор TFREAD. Это позволяет сделать файл с координатами более читаемым и подготавливать его в Экселе или Open office Calc.

тестовый файл с координатами имя файла koorda.csv, такой, как его сохраняет Open office Calc:
Code: [Select]
x,90,34,75,109,146,85
y,854,925,927,926,927,960
в начале нулевой элемент удобно обозначает координатную ось а первый элемент соответствует первому элементу управления.
Позже я сделаю в таблице строку с названиями элементов и строку с их номерами, но читать в массив их не буду. Использую только для ясности в таблице.

Code: (clickermann) [Select]
Print("test3----------------")
$filename = "koorda.csv"          //задаем имя файла с координатиами
$string = TFREAD($filename, 1)   //читаем первую строку
Print($string)                    //печатаем прочитаную строку для контроля
strseparate($string, ",", $arr)   //превращаем строку в массив
print ($arr[2]  )                  //печатаем второй элемент

Print("test4----------------")
strseparate(TFREAD("koorda.csv", 1), ",", $x)   //то же самое, но в одну строку
print ("X1=",$x[1] )                             //печатаем первый элемент
halt

Code: [Select]
9:00:06 test3----------------
9:00:06 x,90,34,75,109,146,85
9:00:06 34
9:00:06 test4----------------
9:00:06 X1=90

Запись в одну строку экономит память за счет того, что не объявляются переменные? Работает ли это быстрее чем длинная запись?

Возможно, стоит попробовать сделать отдельный скрипт для записи координат в файл, чтоб не вручную табличку делать, а потыкать мышью в интерфейс и по клавишам, и клавиши назначались, координаты сами собрались бы,  и записались в файл CSV, а его потом всегда можно открыть в Open office Calc и проверить и отредактировать.

29
Общие вопросы / Re: автоматизация в Давинчи
« on: September 18, 2021, 12:05:26 AM »
Да, вы правы, сегодня как раз думал о назначении клавиш.
У меня была такая же мысль.
Возможно, я назначу их на дополнительную клавиатуру, где кнопки будут расположены соответствующим образом.

Моя картинка про количество элементов в массиве для хранения координат. Чтобы было понятно, о каком количестве проверок на нажатие разных клавиш. Их примерно 35, но скорее всего немного больше.



30
Общие вопросы / Re: автоматизация в Давинчи
« on: September 17, 2021, 04:53:51 AM »
по поводу колеса мыши.
http://crapware.aidf.org/forum/index.php?topic=33.msg562#msg562
Quote
"Количество функций Clickermann`а неуклонно продолжает расти, но необходимо очень много времени, чтоб можно было сделать свои обертки на все функции Windows. А теперь, когда появилась эта функция мы можем на прямую работать с интерфейсами окошек. И использовать максимум функционала."
далее по ссылке говорится, что можно использовать напрямую коды winapi из windows для команды POSTMESSAGE

означает ли это, что можно для команды GETMESSAGE также использовать коды?
тут https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-mouse_event
код для события поворот колеса
MOUSEEVENTF_WHEEL
0x0800
Колесо было перемещено, если у мыши есть колесо. Величина движения указывается в dwData

аналогично для проверки движения мыши можно использовать событие
MOUSEEVENTF_MOVE
0x0001
Произошло движение.

Pages: 1 [2] 3