Создать триггер

Обсуждение программ nnCron и nnCron LITE

Создать триггер

Postby Pash0k » Mon, 03 Dec 2012, 11:56

Задача при нажатии кнопки "PGDN" - выполнять эмуляцию нажатия кнопки "Q", при повторном нажатии "PGDN" эмулируем другую кнопку "1". И так по очереди. Спасибо!

Code: Select all
#( key_board
WatchHotKey: "{PGDN}"
Action:
SEND-KEYS: "Q"
???? чего-то здесь
SEND-KEYS: "1"
)#
Pash0k
 
Posts: 35
Joined: Thu, 16 Mar 2006, 13:23

Re: Создать триггер

Postby VoidVolker » Mon, 03 Dec 2012, 13:37

Code: Select all
#( key_board
WatchHotKey: "{PGDN}"
VARIABLE KeyFlag
Action:
KeyFlag @ IF
  SEND-KEYS: "1"
ELSE
  SEND-KEYS: "Q"
THEN
KeyFlag @ NOT KeyFlag !
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Создать триггер

Postby Pash0k » Mon, 03 Dec 2012, 13:50

Спасибо! все просто, все работает!

А можно как-то отслеживать отжатие кнопки?
Домустим при нажатии и удержании кнопки - выполнить что-то. При отпускании кнопки выполнить другое?
Pash0k
 
Posts: 35
Joined: Thu, 16 Mar 2006, 13:23

Re: Создать триггер

Postby VoidVolker » Mon, 03 Dec 2012, 21:14

95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Создать триггер

Postby Pash0k » Mon, 03 Dec 2012, 22:25

VoidVolker wrote:http://www.nncron.ru/forums/viewtopic.php?f=23&t=9477#p21479


Синтаксис такой?
Code: Select all
#( str
Action:
WAIT-KUP  (VK_DOWN)
THINT: "пум" 1
)#


или WAIT-KUP (VK 40)

не срабатывает не так, не так
Pash0k
 
Posts: 35
Joined: Thu, 16 Mar 2006, 13:23

Re: Создать триггер

Postby VoidVolker » Mon, 03 Dec 2012, 22:46

Code: Select all
VK_DOWN WAIT-KUP

Только необходимо предварительно подключить плагин keystate.spf.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Создать триггер

Postby Pash0k » Mon, 03 Dec 2012, 23:04

Подключены оба плагина

Code: Select all
#( str
Action:
VK_DOWN WAIT-KUP
THINT: "пум" 1

)#

все равно ругается на синтаксис
Pash0k
 
Posts: 35
Joined: Thu, 16 Mar 2006, 13:23

Re: Создать триггер

Postby Pash0k » Mon, 03 Dec 2012, 23:10

Code: Select all
#( key_board
WatchHotKey: "{PGDN}"
VARIABLE KeyFlag
Action:
KeyFlag @ IF
  SEND-KEYS: "1"
ELSE
  SEND-KEYS: "Q"
THEN
KeyFlag @ NOT KeyFlag !
)#


По коду, хочу попробовать зациклить, что бы отсылалось последнее SEND-KEYS: раз в n секунд, пока не прибудет новый PGDN. Как-бы триггер с памятью.
PS безусловных переходов типа "go to" вроде нет ?
Pash0k
 
Posts: 35
Joined: Thu, 16 Mar 2006, 13:23

Re: Создать триггер

Postby VoidVolker » Tue, 04 Dec 2012, 07:28

Pash0k wrote:Подключены оба плагина

Подключать надо сначала keystate.spf, а уже после него extwords.spf.

Pash0k wrote:По коду, хочу попробовать зациклить, что бы отсылалось последнее SEND-KEYS: раз в n секунд, пока не прибудет новый PGDN.

Примерно так:
Code: Select all
#( Задача_083204122012
SingleInstance
VARIABLE Задача_083204122012_flag
VARIABLE KeyFlag
Action:
BEGIN
  Задача_083204122012_flag @ IF
    KeyFlag @ IF
      SEND-KEYS: "1"
    ELSE
      SEND-KEYS: "Q"
    THEN
  THEN
  10000 PAUSE
AGAIN
)#

#( Задача_083204122012_stop
WatchHotKey: "{PGUP"
SingleInstance
Action:
VARIABLE KeyFlag OFF
)#

#( key_board
WatchHotKey: "{PGDN}"
Action:
Задача_083204122012_flag ON
KeyFlag @ NOT KeyFlag !
)#


Pash0k wrote:безусловных переходов типа "go to" вроде нет ?

Нет. Они и не нужны. Впрочем, делается легко, но в таком случае сложность логики поведения программы возрастает и трудно будет отследить поток управления. Хотя, в форте можно рассматривать каждое слово как goto, только после выполнения слова происходит возврат в точку вызова, ведь возврат скомпилирован в конце каждого слова.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Создать триггер

Postby Pash0k » Wed, 05 Dec 2012, 01:01

Не сразу срабатывает. Надо кнопку подержать.
Сделал так
Code: Select all
#( key

WatchHotKey: "{PGDN}"
VARIABLE push
Action:
push @ NOT push !

)#

#( key_ans

Action:
BEGIN
push  @ IF
  SEND-KEYS: "1"
ELSE
  SEND-KEYS: "q"
THEN
3000 PAUSE
AGAIN
)#
Pash0k
 
Posts: 35
Joined: Thu, 16 Mar 2006, 13:23

Re: Создать триггер

Postby VoidVolker » Wed, 05 Dec 2012, 12:56

Ну или так.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: Bing [Bot] and 2 guests

cron