1

Тема: AHK:скорость движения указателя

Доброго времени суток.Есть скрипт на изменение скорости движения указателя. Задаёт скорость указателя по  клавише "space" (нажал 1 раз скорость "6" ; нажал 2 раз скорость "15") . А как бы сделать чтобы при нажатии  "SpaceDown" -скорость"15" ; при отпускании "SpaceUp" -скорость"6".

~vk20::MouseSwitch(6, 15)  ; Space

MouseSwitch(speed1, speed2) ; min 1, max 20 [1,2,4,6,8, 10, 12,14,16,18,20]
{
  DllCall("SystemParametersInfo", Int,112, UInt,0, UIntP,curSpeed, UInt,0) ; SPI_GETMOUSESPEED
  speed := curSpeed = speed1 ? speed2 : speed1
  DllCall("SystemParametersInfo", Int,113, UInt,0, UInt,speed, UInt,2) ; SPI_SETMOUSESPEED, SPIF_SENDCHANGE=2
}
OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

2

Re: AHK:скорость движения указателя

Всем спасибо сам разобрался . Вот решение , может кому пригодится .

~vk20 Down:: 
{
  DllCall("SystemParametersInfo", Int,112, UInt,0, UIntP,curSpeed) 
  speed := 15
  curSpeed := 15
  DllCall("SystemParametersInfo", Int,113, UInt,0, UInt,speed) 
}

return

~vk20 Up:: 
{
  DllCall("SystemParametersInfo", Int,112, UInt,0, UIntP,curSpeed) 
  speed := 6
  curSpeed := 6
  DllCall("SystemParametersInfo", Int,113, UInt,0, UInt,speed) 
}

return

~vk60::ExitApp
OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).