Author Topic: (Решено) Как отключить режим ps/2  (Read 7561 times)

0 Members and 1 Guest are viewing this topic.

zopapa

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
(Решено) Как отключить режим ps/2
« on: December 19, 2013, 09:37:07 AM »
В общем дело такое. Есть виртуальный рабочий стол. На который нет возможности что либо установить. В этом раб. ст. при загрузке сразу открывается программа и в ней человеки работают. Там есть иерархическое меню с чекбоксами которые не выделяются все автоматически а  выделяется только 1 элемент на котором стоит фокус если кликнуть на него либо пробелом.
Так вот проблема: Этих элементов там около 1000 и руками выделять все уходит много времени. Работает такой код :
Code: [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "some2.bmp")
  // //print("Íàéäåí â êîîðäèíàòàõ X=", $_return1, ", Y=", $_return2)
   LCLICK($_return1+10, $_return2+5)
   WAITMS(500)
   //move($_return1-20, $_return2-20)
   $schet = 1
   $schet2 = $schet2 +1
Else
   KEYDOWN(39)
   KEYUP(39)
   KEYDOWN(40)
   KEYUP(40)
   $schet = $schet + 1
   $schet2 = 1
END_IF
IF($schet = 25)
   HALt
END_IF
IF($schet2  > 7)
   KEYDOWN(39)
   KEYUP(39)
   KEYDOWN(40)
   KEYUP(40)
END_IF
Работает то работает но очень уж долго.  KEYDOWN(32) keypress(#space)  и другие не дают эффекта по этому делал с поиском картинки пустого чекбокса и кликом мышки по нему.

Так вот собственно и сам вопрос keypress(#space) при #ps2_keyboard работает и выделяет чекбоксы но перестают работать KEYDOWN(39) KEYUP(39)KEYDOWN(40) KEYUP(40) ну и keypress(#left) нажимает не клавишу вправо а пишет цифру 6 и #down цифру 2.

Можно ли отключить в теле кода #ps2_keyboard или помогите как решить вопрос другим способом

P. S. ps/2 клавиатуры или мышки у меня нет. Запуск идет с ноутбука lenovo z560.
« Last Edit: December 20, 2013, 10:47:30 AM by Johnny »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Как отключить режим ps/2
« Reply #1 on: December 19, 2013, 02:39:09 PM »
А TABом между ними не переключает?

Нельзя уменьшить задержку в первом варианте? Пол секунды многовато. И область ограничить, неужели они по всему экрану.


zopapa

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Как отключить режим ps/2
« Reply #2 on: December 19, 2013, 02:52:23 PM »
Табом бегает по элементам формы, за 400 млс 1 из 10 чекбоксов не успевает кликнуть. Про область попробую но я думаю особого прироста это не даст.

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: Как отключить режим ps/2
« Reply #3 on: December 19, 2013, 03:09:26 PM »
что за анальное рабство. очередная "зарабатывалка" чтоль?

без обновления никак, пометил себе неработающие стрелки в режиме пс/2

но чтоб ты не унывал могу дать тебе совет.
замени IF_PICTURE_IN на SCANPICTURE, в данном случае (когда нужно найти больше одной картинки на экране) это существенно ускорит процесс. инфа и примеры есть в теме про массивы.
« Last Edit: December 19, 2013, 03:12:12 PM by Johnny »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Как отключить режим ps/2
« Reply #4 on: December 19, 2013, 03:41:55 PM »
Попробуй вот такой скрипт:
Code: (clickermann) [Select]
GETSCREEN
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "some2.bmp", -1, 100)

$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
   $X = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   $Y = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   LCLICK($X+10, $Y+5)
   WAITMS(50)
END_CYC
UNDEFINE($ARR_SCAN)

HALT

А зачем
Code: (clickermann) [Select]
   KEYDOWN(39)
   KEYUP(39)
   KEYDOWN(40)
   KEYUP(40)

zopapa

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Как отключить режим ps/2
« Reply #5 on: December 20, 2013, 08:52:19 AM »
Меню иерархическое. Чтобы открылось подменю с элементами надо нажать вправо, затем вниз и пробел или клик мышкой для выделения самого чекбокса. чтото типа
 
« Last Edit: December 20, 2013, 08:56:57 AM by zopapa »

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: Как отключить режим ps/2
« Reply #6 on: December 20, 2013, 09:33:56 AM »
с нампадом кстати пробовал? там тоже стрелки есть.
еще вариант если твой стол под виндой, запустит на нем виртуальную клаву из стандартных винды

zopapa

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Как отключить режим ps/2
« Reply #7 on: December 20, 2013, 10:24:47 AM »
с нампадом кстати пробовал? там тоже стрелки есть.
еще вариант если твой стол под виндой, запустит на нем виртуальную клаву из стандартных винды
Балин все работает в режиме ps/2 при отключении нумлока на вирт столе. Мог бы и сам догадаться  когда он мне печатал цифры вместо нажатия на стрелки.
Спасибо всем за помощь!

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: Как отключить режим ps/2
« Reply #8 on: December 20, 2013, 10:46:53 AM »
Ну ок. Не забудь о нашем маленьком проекте, когда заработаешь первый миллион.