Yoko, признаться честно, мне никогда не требовался режим PS/2. Поэтому я его никогда не применяла в скриптах и не ходила в магазин, чтобы поинтересоваться, о значении слов автора Clickermann из справки к программе: "Вы можете воспользоваться переходником USB-to-PS/2 если у вас нет PS/2 клавиатуры, но есть сам порт". Но поскольку вы так целеустремленно пытаетесь найти ответ на свой вопрос, то тоже стало интересно и решила протестировать свои мышку с клавиатурой.
Для начала накидала следующий код:
#name "Режим PS/2. Проверка."
// Author: Tochka
// Version: 1.0 (21.08.2016)
// For Clickermann v4.11 003
EXECUTE("notepad.exe")
WAIT(3)
WNDSIZE(WNDFIND("Блокнот"), 366,200)
WAITMS(500)
WNDPOS(WNDFIND("Блокнот"), 0,0)
WAITMS(500)
KEYSTRING("1 2 3 4 5 - клавиатура без ПС2 режима", 20)
KEYPRESS(#ENTER)
WAITMS(20)
KEYPRESS(#ENTER)
WAITMS(500)
#ps2_keyboard
KEYSTRING("6 7 8 9 0 - клавиатура в ПС2 режиме", 20)
WAITMS(500)
$start_x=10
$start_y=60
LCLICK($start_x,$start_y) // не работает, если ниже активна запись #ps2_mouse
WAITMS(500)
//#ps2_mouse
LDOWN($start_x,$start_y)
WAIT(1)
MOVE($start_x+300,$start_y+30)
WAIT(1)
LUP(-1,-1) // не выделяет текст с #ps2_mouse
WAIT(1)
LCLICK($start_x+318,$start_y-50) // закрыть блокнот; не работает с #ps2_mouse
HALT
Отключила присоединенную к ноутбуку мышку (вложение - Ноут).
Как я понимаю, у меня таким образом в наличии остается только TouchPad, что и есть PS/2. И, по идее, команды на переключение в PS/2 режим не логичны и не требуются. Хотя возможно я ошибаюсь.
Но тем не менее рассмотрим, что у меня получилось. Если команда #ps2_mouse переведена в режим комментария, то есть не активна, то всё работает отлично. Результат такой, как в одноименном вложении. Но если активировать команду, то все действия для мыши становятся не действующими. Причем нет реакции и на те команды, что находятся до #ps2_mouse. Забегу вперед, ровно такой же результат имею при подключении мышки. На клавиатуру аналогичная команда влияния не проявила, о ней говорить не буду.
Пока размышляла, написала ещё один тест PS/2 для мышки:
#name "Режим PS/2 для мыши."
// Author: Tochka
// Version: 1.0 (21.08.2016)
// For Clickermann v4.11 003
$X=450 // координата по X
$Y=200 // координата по Y
//#ps2_mouse
MOVE($X,$Y)
WAIT(1)
LDOWN($X,$Y)
MOVE($X+150,$Y+100)
WAIT(5) // длительная задержка, чтобы увидеть результат
LUP(-1,-1)
WAIT(5) // переход к варианту 2 с использованием WinAPI функций
// все пояснения к нижеследующему - http://crapware.aidf.org/forum/index.php?topic=33.msg562#msg562
$WM_LBUTTONDOWN=513 // 0x0201 левая кнопка мыши нажата
$WM_LBUTTONUP=514 // 0x0202 левая кнопка мыши отпущена
$MK_LBUTTON=1 // 0x0001 левая кнопка мыши находится в нажатом состоянии
$HWND=65806 // своё число испытуемого окна (рабочий стол, Paint и т.д.)
MOVE($X,$Y)
WAIT(1)
// сообщение окну о нажатой левой кнопке мыши
POSTMESSAGE($HWND, $WM_LBUTTONDOWN, $MK_LBUTTON, $x+($y*65536));
WAITMS(100)
MOVE($X+150,$Y+100)
WAIT(5)
// сообщение окну, что левую кнопку мыши отпустили
POSTMESSAGE($HWND, $WM_LBUTTONUP, $MK_LBUTTON, $_xmouse+($_ymouse*65536));
HALT
Результат тот же. При активации #ps2_mouse, мышка игнорит всё кроме перемещения. Но у меня ноутбук. Возможно он хоть так, хоть эдак в PS/2 режиме пашет (но почему то изменений нет и при подключении мышки)
Как это будет выглядеть на компе без PS/2 устройства и с его наличием, я не знаю и проверить нет возможности. Хотя очень интересно.
Yoko я не помогла, но быть может кто-нибудь найдет что-то полезное для себя, что сократит время размышлений. Напишите, если у вас другие результаты. Любопытно