Author Topic: Автоматизация при зажатии одной клавишы  (Read 4119 times)

0 Members and 1 Guest are viewing this topic.

ricc

  • Зашел в гости
  • *
  • Posts: 11
    • View Profile
Доброго времени суток! Помогите с автоматизацией. Мне нужно, чтобы при зажатии допустим клавиши LShift происходила комбинация поочередных двойных зажатий клавиш AW на 1сек, потом сразу же WD на 1сек и так до бесконечности пока зажата клавиша LShift . И обычный автоклик при зажатии левой кнопки мыши, чтобы происходил клик с задержкой по 10мс подскажите, и чтобы он начинал работать при нажатии клавиши CapsLock и переставал соответственно. За ранее спасибо!
« Last Edit: February 26, 2017, 09:49:21 PM by ricc »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Автоматизация при зажатии одной клавишы
« Reply #1 on: February 27, 2017, 10:57:15 AM »
Первая половина
Code: (clickermann) [Select]
THREAD(LS, 0)
    WAITMS(10)     // антибаг
    KEYDOWN(#W)
    WAITMS(10)
    WHILE(1)
        KEYDOWN(#A)
        WAITMS(1000)
        KEYUP(#A)
        WAITMS(10)
        KEYDOWN(#D)
        WAITMS(1000)
        KEYUP(#D)
        WAITMS(10)
    END_CYC
END_THREAD

IF(ISKEYDOWN(160) = 1)  // или 16
    IF($ls = 0)
        $ls = 1
        SETTHREAD(LS, 1)
    END_IF
ELSE
    IF($ls = 1)
        $ls = 0
        SETTHREAD(LS, 2)
        WAITMS(100)
        KEYUP(#A)
        WAITMS(10)
        KEYUP(#D)
        WAITMS(10)
        KEYUP(#W)
    END_IF
END_IF
WAITMS(50)

По второй - нельзя делать ЛКМ при зажатой ЛКМ. Или управление по другой кнопке или по клавише.
« Last Edit: February 27, 2017, 03:14:33 PM by Vint »


ricc

  • Зашел в гости
  • *
  • Posts: 11
    • View Profile
Re: Автоматизация при зажатии одной клавишы
« Reply #2 on: February 27, 2017, 02:33:02 PM »
После запуска начинает сразу работать без зажатия LShift и нажимает такую комбинацию (в начале WA на 1сек, потом D на 1сек, A на 1сек и так поочередно только D и A до бесконечности).

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Автоматизация при зажатии одной клавишы
« Reply #3 on: February 27, 2017, 03:05:02 PM »
Возможно разделение на левый/правый шифт и не работает. Найденный в сети код 160 для LShift, заменить на 16 - просто SHIFT.

И опечатка с изначально запущенным потоком
THREAD(LS, 0)

и задержка после стопа.


По поводу W. W то не отжимается. Какой смысл? Она остаётся зажатой до бросания шифта.
Или нужно обязательно бросать?
Я думал это движение "по кругу" в одном, потом другом направлении.
Проверял в реале или на блокноте? Блокнот покажет одну букву, так и должно быть.

Код исправил.
« Last Edit: February 27, 2017, 03:20:20 PM by Vint »


ricc

  • Зашел в гости
  • *
  • Posts: 11
    • View Profile
Re: Автоматизация при зажатии одной клавишы
« Reply #4 on: February 27, 2017, 03:52:34 PM »
Теперь работает при зажатии  LShift, а по поводу AW и WD нужно обязательно бросать, потому как я планирую сюда добавить еще пару комбинаций.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Автоматизация при зажатии одной клавишы
« Reply #5 on: February 27, 2017, 04:01:40 PM »
Ну ты тогда сначала всё распланируй.
« Last Edit: February 27, 2017, 04:07:47 PM by Vint »


ricc

  • Зашел в гости
  • *
  • Posts: 11
    • View Profile
Re: Автоматизация при зажатии одной клавишы
« Reply #6 on: February 27, 2017, 04:36:55 PM »
Вот распланировал, только чтоб все бросалось: A+Space, D+Space, D+Alt, A+Alt.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Автоматизация при зажатии одной клавишы
« Reply #7 on: February 27, 2017, 06:30:03 PM »
A+Alt по умолчанию ставит скрипт на паузу.


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Автоматизация при зажатии одной клавишы
« Reply #8 on: February 27, 2017, 06:35:02 PM »
Определяйся до конца и вписывай
Code: (clickermann) [Select]
THREAD(LS, 0)
    WAITMS(10)     // антибаг
    // нажимаем WA
    KEYDOWN(#W)
    WAITMS(10)
    KEYDOWN(#A)
    WAITMS(1000)
    //отпускаем WA
    KEYUP(#W)
    WAITMS(10)
    KEYUP(#A)
    WAITMS(10)
   
    // нажимаем WD
    KEYDOWN(#W)
    WAITMS(10)
    KEYDOWN(#D)
    WAITMS(1000)
    //отпускаем WD
    KEYUP(#W)
    WAITMS(10)
    KEYUP(#D)
    WAITMS(10)
   
    // и так далее...
END_THREAD

IF(ISKEYDOWN(160) = 1)  // или 16
    IF($ls = 0)
        $ls = 1
        SETTHREAD(LS, 1)
    END_IF
ELSE
    IF($ls = 1)
        $ls = 0
        SETTHREAD(LS, 2)
        WAITMS(100)
        KEYUP(#A)
        WAITMS(10)
        KEYUP(#D)
        WAITMS(10)
        KEYUP(#W)
        // отпускаем всё,что могло остаться нажатым
    END_IF
END_IF
WAITMS(50)


ricc

  • Зашел в гости
  • *
  • Posts: 11
    • View Profile
Re: Автоматизация при зажатии одной клавишы
« Reply #9 on: February 27, 2017, 06:52:56 PM »
Благодарствую!!! :)